Commit dd87ff5467da

Vincent Demeester <vincent@sbr.pm>
2026-03-12 13:42:02
fix(raffi): conditionals on binaries and niri socket
Replaced ifenvset SWAYSOCK with NIRI_SOCKET for screenshot and clipboard entries. Added ifexist guards to script-based launchers (emacs, mpv, htop). Added obs-studio launcher entry.
1 parent c5e6b0b
Changed files (1)
dots
config
dots/config/raffi/raffi.yaml
@@ -224,6 +224,7 @@ launchers:
   mpv-clipboard:
     description: Play URL from clipboard (mpv)
     icon: mpv
+    ifexist: mpv
     script: |
       wl-paste | xargs mpv
   dino:
@@ -233,6 +234,7 @@ launchers:
   htop:
     description: System Monitor
     icon: htop
+    ifexist: htop
     script: |
       kitty --title "htop" htop
   emacs:
@@ -265,28 +267,28 @@ launchers:
     icon: accessories-clipboard
     script: |
       cliphist list | fuzzel -d | cliphist decode | wl-copy
-    ifenvset: SWAYSOCK
+    ifenvset: NIRI_SOCKET
   screenshot-clipboard:
     binary: shot
     args:
     - '%c'
     description: Screenshot to clipboard
     icon: applets-screenshooter
-    ifenvset: SWAYSOCK
+    ifenvset: NIRI_SOCKET
   screenshot-file:
     binary: shot
     args:
     - '%d'
     description: Screenshot to file
     icon: applets-screenshooter
-    ifenvset: SWAYSOCK
+    ifenvset: NIRI_SOCKET
   screenshot-fullscreen:
     binary: shotf
     args:
     - '%c'
     description: Screenshot fullscreen to clipboard
     icon: applets-screenshooter
-    ifenvset: SWAYSOCK
+    ifenvset: NIRI_SOCKET
   toggle-color-scheme:
     binary: toggle-color-scheme
     description: Toggle dark/light color scheme
@@ -294,28 +296,38 @@ launchers:
   org-agenda:
     description: Org Agenda
     icon: emacs
+    ifexist: emacsclient
     script: |
       emacsclient -c -a emacs --eval '(vde/agenda)'
   emacs-type:
     description: Type & Paste (Emacs)
     icon: emacs
+    ifexist: emacsclient
     script: |
       emacsclient -a emacs --eval '(vde/type)'
   journal-entry:
     description: Journal Entry
     icon: emacs
+    ifexist: emacsclient
     script: |
       emacsclient -n -c -F '((name . "capture") (width . 150) (height . 90) (vde/window-popup-frame . t))' -e '(org-capture nil "j")'
   mu4e:
     description: Email (mu4e)
     icon: mail-client
+    ifexist: emacsclient
     script: |
       emacsclient -c -a emacs --eval '(mu4e)'
   magit:
     description: Magit (Git)
     icon: git
+    ifexist: emacsclient
     script: |
       emacsclient -c -a emacs --eval '(magit-status)'
+  obs-studio:
+    binary: obs
+    description: OBS Studio
+    icon: obs
+    ifexist: obs
   pwvucontrol:
     binary: pwvucontrol
     description: Audio Settings