Skip to content

Instantly share code, notes, and snippets.


Ag Ibragimov agzam

View GitHub Profile
agzam /
Last active October 7, 2022 15:21
Send browser URLs to Emacs EWW (Mac)

Instructions and the script for

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
View org-roam-refile-to-node.el
(defun outline-collapsed? ()
"Returns nil if the top outline heading is collapsed (hidden)"
(when (org-get-outline-path 'with-self?)
(ignore-errors (outline-up-heading 1))
(let* ((beg (point))
(end (+ 1 (line-end-position))))
agzam / log
Last active February 9, 2021 06:01
clojure-lsp GraalVM build failing
View log
clojure-lsp on  master via ☕ v11.0.10 at 23:00:01 ❯ ./graalvm/
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
agzam /
Last active April 27, 2023 04:39
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 / funcs.el
Created October 10, 2020 20:33
Find a message in a mailing list
View funcs.el
(defun mu4e-action-find-in-mailing-list (msg)
"Find message in mailing-list archives"
(let* ((mlist (mu4e-message-field msg :mailing-list))
(msg-id (mu4e-message-field msg :message-id))
(pcase mlist
((pred (lambda (x) (string-suffix-p "" x)))
agzam / toggle-frame-maximized-undecorated.el
Last active August 28, 2020 02:10
Emacs undecorated (title-less) frame in OSX
View toggle-frame-maximized-undecorated.el
(defun toggle-frame-maximized-undecorated ()
(let* ((frame (selected-frame))
(on? (and (frame-parameter frame 'undecorated)
(eq (frame-parameter frame 'fullscreen) 'maximized)))
(geom (frame-monitor-attribute 'geometry))
(x (nth 0 geom))
(y (nth 1 geom))
(display-height (nth 3 geom))
(display-width (nth 2 geom))
agzam / diff-last-two-kills.el
Last active July 27, 2020 15:46
Diff last couple of things in the kill ring
View diff-last-two-kills.el
(defun diff-last-two-kills (&optional ediff?)
"Diff last couple of things in the kill-ring. With prefix open ediff."
(interactive "P")
(let* ((old "/tmp/old-kill")
(new "/tmp/new-kill")
(prev-ediff-quit-hook ediff-quit-hook))
(cl-flet ((kill-temps
(dolist (f (list old new))
(kill-buffer (find-buffer-visiting f)))
agzam /
Last active June 30, 2020 23:29
Customize org-insert-link
agzam / ibuffer-unsaved-files.el
Last active March 27, 2020 00:10
Custom iBuffer filter for unsaved buffers
View ibuffer-unsaved-files.el
(define-ibuffer-filter unsaved-file-buffers
"Toggle current view to buffers whose file is unsaved."
(:description "file is unsaved")
(ignore qualifier)
(and (buffer-local-value 'buffer-file-name buf)
(buffer-modified-p buf)))
(define-key ibuffer-mode-map (kbd "/ u") #'ibuffer-filter-by-unsaved-file-buffers)
agzam / find-message.el
Last active June 30, 2020 23:30
Mu4e action to find a message in mailing list archives
View find-message.el
;; If you subscribed to mailing list(s) in or
;; and using mu4e as your mailing app, very often you need to
;; find a message in or
;; For example, when you don't have the context of a particular thread
;; and all prior messages got deleted locally.
;; This mu4e action allows you
;; to quickly find selected email post in the archive
;; and open in the browser