From ad764a2eead0824213c7c8b45b91226fc6b78a58 Mon Sep 17 00:00:00 2001 From: agryphus Date: Tue, 20 Feb 2024 21:11:54 -0500 Subject: [PATCH] Better hyprland swallower --- .config/lf/lfrc | 17 ++++++++++++----- .local/bin/swallow | 10 ++++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) create mode 100755 .local/bin/swallow diff --git a/.config/lf/lfrc b/.config/lf/lfrc index 5510cb6..e4bcd20 100644 --- a/.config/lf/lfrc +++ b/.config/lf/lfrc @@ -27,6 +27,10 @@ map reload map set hidden! map shell +# Spawn new terminal/lf windows +map $setsid -f $TERMINAL -e $SHELL >/dev/null 2>&1 & +map $setsid -f $TERMINAL -e $SHELL -c -i "lfcd && exec $SHELL" >/dev/null 2>&1 & + # Opening commands map l open map L open new_window @@ -122,7 +126,7 @@ cmd open ${{ [ ! -z $@ ] && [ "$@" = "new_window" ] && new_window=1 function launch { - [ -v WAYLAND_DISPLAY ] && swallower="gobble" || swallower="devour" + [ -v WAYLAND_DISPLAY ] && swallower="swallow" || swallower="devour" if [ ! -v new_window ]; then $swallower "$@" >/dev/null 2>&1 @@ -137,10 +141,13 @@ cmd open ${{ application/pgp-encrypted|\ inode/x-empty|\ text/*) - if [ "${f##*.}" = "org" ]; then - launch emacsclient -c "$fx" - exit - fi + case "${f##*.}" in + org|typ) + # Any "document" like file ought to be in emacs + launch emacsclient -c "$fx" + exit + ;; + esac [ -v new_window ] \ && ($TERMINAL -e $SHELL -c "$EDITOR \"$fx\"" >/dev/null 2>&1 &) \ || ($EDITOR "$fx") diff --git a/.local/bin/swallow b/.local/bin/swallow new file mode 100755 index 0000000..de49895 --- /dev/null +++ b/.local/bin/swallow @@ -0,0 +1,10 @@ +#!/usr/bin/env sh +# Window swallower for Hyprland + +pid=$(hyprctl activewindow -j | jq '.pid') +workspace=$(hyprctl activeworkspace -j | jq '.id') + +hyprctl dispatch movetoworkspacesilent special +cmd=$1; shift 1; $cmd "$@" +hyprctl dispatch movetoworkspacesilent "$workspace",pid:"$pid" +