43 lines
1 KiB
Bash
Executable file
43 lines
1 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
active=$(xdotool getwindowfocus getwindowname)
|
|
|
|
# Check to see if an emacsclient is running
|
|
if [ $(pgrep -c emacsclient) -gt 0 ]; then
|
|
|
|
if [ $XDG_SESSION_TYPE = "x11" ]; then
|
|
#X11
|
|
window=$(wmctrl -lx | rg org-agenda | awk '{print $1}')
|
|
# echo $emacsrg
|
|
|
|
if [ -z $window ]; then
|
|
emacsclient -e '(chris/org-agenda)' &
|
|
exit
|
|
else
|
|
if [ $window = $active ]; then
|
|
wmctrl -ir $window -b toggle,hidden
|
|
else
|
|
wmctrl -ia $window
|
|
exit
|
|
fi
|
|
fi
|
|
else
|
|
if [ $KDE_FULL_SESSION = "true" ]; then
|
|
ww -f emacs -c emacsclient
|
|
exit
|
|
else
|
|
# WAYLAND
|
|
emacsrg=$(wlrctl window list | rg 'emacs:\sorg-agenda' | rg 'emacs:')
|
|
|
|
emacswin=$(echo $emacsrg | sed 's/.*\: //')
|
|
# echo $emacswin
|
|
|
|
wlrctl toplevel focus title:"$emacswin"
|
|
exit
|
|
fi
|
|
fi
|
|
|
|
else
|
|
emacsclient -e '(chris/org-agenda)' &
|
|
fi
|