Skip to content

Instantly share code, notes, and snippets.

View agzam's full-sized avatar
⌨️

Ag Ibragimov agzam

⌨️
View GitHub Profile
@agzam
agzam / zathura-client.org
Last active March 10, 2025 11:13
Open pdf files with Zathura on Mac

Zathura on Mac

I want to open PDF files with Zathura on Mac. Problem is - Zathura does not have a proper App Bundle. So you cannot go in Finder to a pdf file, navigate to ‘Get Info’ and set pdf files to be opened with Zathura.

Luckily, you can create a custom App Bundle that wraps up a script that does that

But that is not as straightforward as you think it is, you can’t just execute a shell script. What if the file already opened with one of the instances of zathura process? Since Zathura is not a native OSX app, it will create a new process instance every time you open it.

The following script opens a file in Zathura, and if it was already opened, it would only activate the right window.

How to use it

@agzam
agzam / log
Last active February 9, 2021 06:01
clojure-lsp GraalVM build failing
clojure-lsp on  master via ☕ v11.0.10 at 23:00:01 ❯ ./graalvm/native-unix-compile.sh
Picked up JAVA_TOOL_OPTIONS: -Dapple.awt.UIElement=true
OpenJDK 64-Bit Server VM warning: forcing TieredStopAtLevel to full optimization because JVMCI is enabled
Picked up JAVA_TOOL_OPTIONS: -Dapple.awt.UIElement=true
Compiling 1 source files to /Users/ag/sandbox/clojure-lsp/target/classes
Picked up JAVA_TOOL_OPTIONS: -Dapple.awt.UIElement=true
Compiling clojure-lsp.clojure-core
Compiling clojure-lsp.crawler
Compiling clojure-lsp.db
Compiling clojure-lsp.feature.call-hierarchy
(defun outline-collapsed? ()
"Returns nil if the top outline heading is collapsed (hidden)"
(save-excursion
(when (org-get-outline-path 'with-self?)
(ignore-errors (outline-up-heading 1))
(let* ((beg (point))
(end (+ 1 (line-end-position))))
(not
(seq-empty-p
(seq-filter
@agzam
agzam / send-browser-urls-to-emacs-eww.org
Last active October 7, 2022 15:21
Send browser URLs to Emacs EWW (Mac)

Instructions and the script for https://www.youtube.com/watch?v=05wghiNzIj0

EWW - Emacs’ built-in browser is great for many things. Simple use cases include:

  • Opening any file on GitHub/GitLab without having to download it
  • Log investigation e.g., for GitHub Actions
  • Reading PDF - link to a pdf doc opens it in pdf-tools (if installed)
  • Bypassing a paywall
@agzam
agzam / update_kbd.js
Created January 28, 2024 02:21
Update Kinesis 360 ZMK helper
// OMG. This all so stupidly dirty and so needlessly tangled.
// I imagined this would be a tiny, simple thing, but it came out as this crap.
// Fuck Javascript, I should rewrite the whole thing in Clojurescript (but I'm lazy)
//
// This is a helper script to update Kinesis 360 firmware.
// When you put the keyboard in the bootloader mode it becomes unavailable, and you can't type
// but the mouse remains connected.
// This thing basically loads a tiny html page where you can click things to update and unblock your keyboard.
//
// Prerequisites:
@agzam
agzam / json2bb.sh
Last active December 13, 2024 02:50
shell helper for exploring JSON in babashka REPL
#!/usr/bin/env bash
json2bb() {
if [ $# -eq 0 ] && [ -t 0 ]; then
cat <<EOF
json2bb - JSON to Clojure data processor
Usage: <json-input> | json2bb [option]
Options: