<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <!-- 2020-05-26 mar. 08:39 --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>Simple X Hotkey Daemon</title> <meta name="generator" content="Org mode" /> <meta name="author" content="Dehaeze Thomas" /> <link rel="stylesheet" type="text/css" href="./css/htmlize.css"/> <link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/> <script type="text/javascript" src="./js/jquery.min.js"></script> <script type="text/javascript" src="./js/bootstrap.min.js"></script> <script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script> <script type="text/javascript" src="./js/readtheorg.js"></script> </head> <body> <div id="org-div-home-and-up"> <a accesskey="h" href="./index.html"> UP </a> | <a accesskey="H" href="./index.html"> HOME </a> </div><div id="content"> <h1 class="title">Simple X Hotkey Daemon</h1> <div id="table-of-contents"> <h2>Table of Contents</h2> <div id="text-table-of-contents"> <ul> <li><a href="#org2fb1fb3">Basic</a></li> <li><a href="#org09132ec">Set shut down, restart and locking features</a></li> <li><a href="#orgbf890ea">Start Applications</a></li> <li><a href="#orga722b3c">Multimedia keys</a> <ul> <li><a href="#orgd2c2b8e">Sound</a></li> <li><a href="#orgfbf581a">Backlight</a></li> <li><a href="#org52b748d">Change Tracks</a></li> <li><a href="#org4be15b6">Print Screen</a></li> <li><a href="#orga6c4085">Other</a></li> </ul> </li> <li><a href="#org3ba2ae2">Command Mode</a></li> <li><a href="#org592413b">Change Keyboard Layout</a></li> <li><a href="#org9d0a9b9">BSPWM related</a> <ul> <li><a href="#org97f0c44">BSPWM hotkeys</a></li> <li><a href="#org22b42d5">Monocle Layout</a></li> <li><a href="#org832c633">Set the window State</a></li> <li><a href="#org8464120">Sticky Window</a></li> <li><a href="#org33a7d86">Focus and Swap</a></li> <li><a href="#org64cc91f">Preselect</a></li> <li><a href="#org567d2ed">Resize</a></li> </ul> </li> <li><a href="#org177f7f6">I3 related</a> <ul> <li><a href="#org43a8bcb">Quit/Restart hotkeys</a></li> <li><a href="#org0592921">Set the window State</a></li> <li><a href="#orgd24232d">focus/swap</a></li> <li><a href="#org2ff4446">Preselect</a></li> <li><a href="#org1f53e51">Resize</a></li> </ul> </li> </ul> </div> </div> <div id="outline-container-org2fb1fb3" class="outline-2"> <h2 id="org2fb1fb3">Basic</h2> <div class="outline-text-2" id="text-org2fb1fb3"> <div class="org-src-container"> <pre class="src src-conf">super + ctrl + x xkill </pre> </div> <div class="org-src-container"> <pre class="src src-conf"># make sxhkd reload its configuration files: super + Escape pkill -USR1 -x sxhkd # Update Polybar super + r $HOME/.config/polybar/scripts/launch.sh </pre> </div> </div> </div> <div id="outline-container-org09132ec" class="outline-2"> <h2 id="org09132ec">Set shut down, restart and locking features</h2> <div class="outline-text-2" id="text-org09132ec"> <div class="org-src-container"> <pre class="src src-conf">XF86PowerOff i3exit super + 0 i3exit </pre> </div> </div> </div> <div id="outline-container-orgbf890ea" class="outline-2"> <h2 id="orgbf890ea">Start Applications</h2> <div class="outline-text-2" id="text-orgbf890ea"> <div class="org-src-container"> <pre class="src src-conf"># Start program launcher super + d rofi -show run # Launch categorized menu super + z rofi -show drun # Start network manager super + w $TERMINAL -e 'sudo nmtui' # Start Sound Manager super + shift + s pavucontrol # Start Bluetooth Manager super + shift + b blueman-manager # Windows Switch super + shift + w rofi -show window # Bookmarks # super + shift + f # $HOME/bin/bukurun # Passwords super + shift + p rofi-pass </pre> </div> <div class="org-src-container"> <pre class="src src-conf"># Start Terminal super + Return $TERMINAL # Tmux Terminal super + shift + Return $TERMINAL -e 'tmux' # Start Command line Calendar super + shift + c $TERMINAL -e "khal interactive" # File Manager super + o $TERMINAL -e "tmux new-session -A -s ranger ranger" # Browser super + i qutebrowser </pre> </div> </div> </div> <div id="outline-container-orga722b3c" class="outline-2"> <h2 id="orga722b3c">Multimedia keys</h2> <div class="outline-text-2" id="text-orga722b3c"> </div> <div id="outline-container-orgd2c2b8e" class="outline-3"> <h3 id="orgd2c2b8e">Sound</h3> <div class="outline-text-3" id="text-orgd2c2b8e"> <div class="org-src-container"> <pre class="src src-conf">XF86AudioMute amixer -D pulse sset Master toggle XF86AudioRaiseVolume amixer -D pulse sset Master 2%+ XF86AudioLowerVolume amixer -D pulse sset Master 2%- </pre> </div> </div> </div> <div id="outline-container-orgfbf581a" class="outline-3"> <h3 id="orgfbf581a">Backlight</h3> <div class="outline-text-3" id="text-orgfbf581a"> <div class="org-src-container"> <pre class="src src-conf">XF86MonBrightnessUp xbacklight -inc 10 XF86MonBrightnessDown xbacklight -dec 10 </pre> </div> </div> </div> <div id="outline-container-org52b748d" class="outline-3"> <h3 id="org52b748d">Change Tracks</h3> <div class="outline-text-3" id="text-org52b748d"> <div class="org-src-container"> <pre class="src src-conf">super + period mpc toggle super + {greater,less} mpc {next,prev} </pre> </div> <div class="org-src-container"> <pre class="src src-conf">XF86AudioPlay mpc toggle XF86AudioNext mpc next XF86AudioPrev mpc prev </pre> </div> </div> </div> <div id="outline-container-org4be15b6" class="outline-3"> <h3 id="org4be15b6">Print Screen</h3> <div class="outline-text-3" id="text-org4be15b6"> <div class="org-src-container"> <pre class="src src-conf">Print ~/.local/bin/screenshot XF86Display rofi -show window </pre> </div> </div> </div> <div id="outline-container-orga6c4085" class="outline-3"> <h3 id="orga6c4085">Other</h3> <div class="outline-text-3" id="text-orga6c4085"> <div class="org-src-container"> <pre class="src src-conf">XF86Search rofi -show run </pre> </div> </div> </div> </div> <div id="outline-container-org3ba2ae2" class="outline-2"> <h2 id="org3ba2ae2">Command Mode</h2> <div class="outline-text-2" id="text-org3ba2ae2"> <div class="org-src-container"> <pre class="src src-conf"># Command line Calendar Client (khal) super + space ; c $TERMINAL -e "khal interactive" # GUI Calendar (Google Calendar) super + space ; shift + c $BROWSER https://calendar.google.com/ # pcmanfm: GUI file manager super + space ; o pcmanfm; # Download with Aria2c super + space ; d $TERMINAL -e "tmux new-session -A -s aria2p aria2p" # Mails with neomutt super + space ; m $TERMINAL -e "tmux new-session -A -s neomutt neomutt" super + space ; shift + m $TERMINAL -e "neomutt -R" # Weechat super + space ; w $TERMINAL -e "tmux new-session -A -s weechat weechat" # News with newsboat super + space ; n $TERMINAL -e "tmux new-session -A -s newsboat newsboat" # Music with ncmpcpp super + space ; p $TERMINAL -e "tmux new-session -A -s ncmpcpp ncmpcpp" # Print Screen super + space ; shift + p $HOME/.local/bin/mopidy-restart # Default Browser super + space ; i $BROWSER; # Start Terminal Application super + space ; t $TERMINAL -e "tremc" # Alternative Browser super + space ; shift + i brave; # Emacs super + space ; e emacs; # Emacs Client super + space ; shift + e emacsclient -create-frame --alternate-editor="" # Weather super + space ; shift + w weather; </pre> </div> </div> </div> <div id="outline-container-org592413b" class="outline-2"> <h2 id="org592413b">Change Keyboard Layout</h2> <div class="outline-text-2" id="text-org592413b"> <div class="org-src-container"> <pre class="src src-conf">super + ctrl + d setxkbmap -layout us -variant intl -option caps:escape super + shift + d setxkbmap -layout us -option caps:escape </pre> </div> </div> </div> <div id="outline-container-org9d0a9b9" class="outline-2"> <h2 id="org9d0a9b9">BSPWM related</h2> <div class="outline-text-2" id="text-org9d0a9b9"> </div> <div id="outline-container-org97f0c44" class="outline-3"> <h3 id="org97f0c44">BSPWM hotkeys</h3> <div class="outline-text-3" id="text-org97f0c44"> <div class="org-src-container"> <pre class="src src-conf"># quit/restart bspwm super + alt + {q,r} bspc {quit,wm -r} # close and kill super + {_,shift + }q bspc node -{c,k} </pre> </div> </div> </div> <div id="outline-container-org22b42d5" class="outline-3"> <h3 id="org22b42d5">Monocle Layout</h3> <div class="outline-text-3" id="text-org22b42d5"> <div class="org-src-container"> <pre class="src src-conf"># alternate between the tiled and monocle layout super + m bspc desktop -l next # focus the next/previous node in the current desktop super + c bspc node -f next.local </pre> </div> </div> </div> <div id="outline-container-org832c633" class="outline-3"> <h3 id="org832c633">Set the window State</h3> <div class="outline-text-3" id="text-org832c633"> <div class="org-src-container"> <pre class="src src-conf"># Set the window state to tiled super + t bspc node -t tiled # Toggle Fullscreen State super + f if [ -z "$(bspc query -N -n focused.fullscreen)" ]; then \ bspc node focused -t fullscreen; \ else \ bspc node focused -t tiled; \ fi # Toggle Floating State super + s if [ -z "$(bspc query -N -n focused.floating)" ]; then \ bspc node focused -t floating; \ else \ bspc node focused -t tiled; \ fi </pre> </div> </div> </div> <div id="outline-container-org8464120" class="outline-3"> <h3 id="org8464120">Sticky Window</h3> <div class="outline-text-3" id="text-org8464120"> <div class="org-src-container"> <pre class="src src-conf"># set the node flags super + ctrl + y bspc node -g sticky </pre> </div> </div> </div> <div id="outline-container-org33a7d86" class="outline-3"> <h3 id="org33a7d86">Focus and Swap</h3> <div class="outline-text-3" id="text-org33a7d86"> <div class="org-src-container"> <pre class="src src-conf"># Focus/swap the node in the given direction super + {_,shift + }{h,j,k,l} bspc node -{f,s} {west,south,north,east} # focus the last Node super + Tab bspc node -f last </pre> </div> <div class="org-src-container"> <pre class="src src-conf"># Focus the next/previous desktop in the current monitor super + {p,n} bspc desktop -f {prev,next}.local # focus the last Desktop super + b bspc desktop -f last # focus or send to the given desktop super + {_,ctrl + }{1-9} bspc {desktop -f,node -d} '^{1-9}' # Send and Focus to the given desktop super + shift + {1-9} bspc node -d '^{1-9}' --follow </pre> </div> </div> </div> <div id="outline-container-org64cc91f" class="outline-3"> <h3 id="org64cc91f">Preselect</h3> <div class="outline-text-3" id="text-org64cc91f"> <div class="org-src-container"> <pre class="src src-conf"># preselect the direction super + ctrl + {h,j,k,l} bspc node -p {west,south,north,east} # preselect the ratio # super + ctrl + {1-9} # bspc node -o 0.{1-9} # cancel the preselection for the focused node super + ctrl + space bspc node -p cancel </pre> </div> </div> </div> <div id="outline-container-org567d2ed" class="outline-3"> <h3 id="org567d2ed">Resize</h3> <div class="outline-text-3" id="text-org567d2ed"> <div class="org-src-container"> <pre class="src src-conf"># expand a window by moving one of its side outward super + alt + {h,j,k,l} bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} # contract a window by moving one of its side inward super + alt + shift + {h,j,k,l} bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} </pre> </div> <div class="org-src-container"> <pre class="src src-conf"># move a floating window super + {Left,Down,Up,Right} bspc node -v {-20 0,0 20,0 -20,20 0} </pre> </div> </div> </div> </div> <div id="outline-container-org177f7f6" class="outline-2"> <h2 id="org177f7f6">I3 related</h2> <div class="outline-text-2" id="text-org177f7f6"> </div> <div id="outline-container-org43a8bcb" class="outline-3"> <h3 id="org43a8bcb">Quit/Restart hotkeys</h3> <div class="outline-text-3" id="text-org43a8bcb"> <div class="org-src-container"> <pre class="src src-conf"># quit/restart bspwm super + alt + {q,r} i3-msg {quit,restart} # close and kill super + {_,shift + }q i3-msg {kill,kill} </pre> </div> </div> </div> <div id="outline-container-org0592921" class="outline-3"> <h3 id="org0592921">Set the window State</h3> <div class="outline-text-3" id="text-org0592921"> <div class="org-src-container"> <pre class="src src-conf"># Set the window to full-screen super + f i3-msg fullscreen toggle # Set the window to floating super + s i3-msg floating toggle # Alternate between the tiled and normal layout super + t i3-msg layout toggle tabbed split # Change focus between tiling / floating windows super + c i3-msg focus mode_toggle # Sticky window super + y i3-msg sticky toggle </pre> </div> </div> </div> <div id="outline-container-orgd24232d" class="outline-3"> <h3 id="orgd24232d">focus/swap</h3> <div class="outline-text-3" id="text-orgd24232d"> <div class="org-src-container"> <pre class="src src-conf"># Focus/swap the node in the given direction super + {_,shift + }{h,Left} i3-msg {focus,move} left super + {_,shift + }{j,Down} i3-msg {focus,move} down super + {_,shift + }{k,Up} i3-msg {focus,move} up super + {_,shift + }{l,Right} i3-msg {focus,move} right </pre> </div> <div class="org-src-container"> <pre class="src src-conf"># Focus the next/previous desktop in the current monitor super + {p,n} i3-msg workspace {prev,next} # focus the last Desktop super + b i3-msg workspace back_and_forth # focus or send to the given desktop super + {1-9} i3-msg workspace '{1-9}' super + ctrl + {1-9} i3-msg move container to workspace '{1-9}' super + shift + {1-9} WP={1-9} && i3-msg move container to workspace $WP && i3-msg workspace $WP </pre> </div> </div> </div> <div id="outline-container-org2ff4446" class="outline-3"> <h3 id="org2ff4446">Preselect</h3> <div class="outline-text-3" id="text-org2ff4446"> <p> Preselect the direction </p> <div class="org-src-container"> <pre class="src src-conf">super + ctrl + {h,l,Left,Right} i3-msg split h super + ctrl + {j,k,Up,Down} i3-msg split v </pre> </div> </div> </div> <div id="outline-container-org1f53e51" class="outline-3"> <h3 id="org1f53e51">Resize</h3> <div class="outline-text-3" id="text-org1f53e51"> <p> Expand/Shrink a window </p> <div class="org-src-container"> <pre class="src src-conf">super + alt + h i3-msg resize shrink width 10 px or 10 ppt super + alt + j i3-msg resize grow height 10 px or 10 ppt super + alt + k i3-msg resize shrink height 10 px or 10 ppt super + alt + l i3-msg resize grow width 10 px or 10 ppt </pre> </div> </div> </div> </div> </div> <div id="postamble" class="status"> <p class="author">Author: Dehaeze Thomas</p> <p class="date">Created: 2020-05-26 mar. 08:39</p> </div> </body> </html>