42 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			42 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
 |