mirror of
https://github.com/foo-dogsquared/dotfiles.git
synced 2025-01-31 04:57:57 +00:00
131 lines
3.9 KiB
Plaintext
Executable File
131 lines
3.9 KiB
Plaintext
Executable File
# Basic binds (inspired from the previous i3 config).
|
|
super + Return
|
|
$TERMINAL
|
|
|
|
# A dropdown terminal.
|
|
# Requires tmux and tdrop for this to work.
|
|
super + shift + Return
|
|
tdrop -ma -w -4 -y "$PANEL_HEIGHT" $TERMINAL
|
|
|
|
# A handy-dandy calculator as a quick dropdown terminal.
|
|
super + shift + c
|
|
tdrop -ma -w -4 -y "$PANEL_HEIGHT" $TERMINAL -e julia
|
|
|
|
# Quick toggling for screenkey.
|
|
# Useful for setting up a demo.
|
|
super + t
|
|
toggle-process screenkey
|
|
|
|
# Application launcher.
|
|
super + d
|
|
rofi -show drun -sidebar-mode -theme themes/fds-mini-sidebar
|
|
|
|
# User action shortcuts.
|
|
super + F10
|
|
user-prompt "Proceed to shutdown?" "sudo -A shutdown 0"
|
|
|
|
super + F11
|
|
user-prompt "Proceed to reboot?" "sudo -A reboot"
|
|
|
|
super + F12
|
|
user-prompt "Exit from X session?" "pkill bspwm"
|
|
|
|
# Screenshot and screencast launcher.
|
|
super + {_, shift + } Print
|
|
rofi-screenshot-menu {_, --stop && notify-send "All recording has stopped" || notify-send "There's no active recording process"}
|
|
|
|
# A bunch of miscellaneous scripts.
|
|
super + x ; {a, s, d}
|
|
set -o pipefail && \
|
|
{ocr | xclip -in -selection clipboard && notify-send "Image content has been copied on the clipboard.", \
|
|
parse-barcodes | xclip -selection clipboard && notify-send "Bar code content has been copied.", \
|
|
colorpicker | xclip -selection clipboard && notify-send "Color copied to clipboard."}
|
|
|
|
# Miscellaneous shortcuts.
|
|
super + shift + c
|
|
$HOME/.config/emacs/bin/org-capture
|
|
|
|
super + shift + e
|
|
choose-emoji-menu
|
|
|
|
super + shift + m
|
|
choose-manual-menu
|
|
|
|
super + shift + n
|
|
$TERMINAL -e newsboat
|
|
|
|
shift + super + r
|
|
pkill -USR1 sxhkd && notify-send "SXHKD config has successfully reloaded."
|
|
|
|
shift + super + b
|
|
ls $HOME/library/books/*.pdf | xargs -n1 basename | rofi -dmenu | sed "s/^/library\/books\//" | xargs zathura
|
|
|
|
|
|
# The usual application suite shortcuts.
|
|
# I'm separating them according to the keyboard row (in the QWERTY layout anyway).
|
|
super + a ; {z, x, c, v, b, n, m}
|
|
{ $TERMINAL -e nvim, code, inkscape, gimp, blender, kdenlive, lmms }
|
|
|
|
super + a ; {f, a, d}
|
|
{ firefox, $TERMINAL -e lf, krita }
|
|
|
|
super + a ; {t, r}
|
|
{ thunderbird, thunar }
|
|
|
|
|
|
|
|
# bspwm exclusive shortcuts.
|
|
# Feel free to replace these if you're working with another WM/DE.
|
|
# Over time, I may replace one of the usual shortcut
|
|
# with something more generally applied (with `xdotool` for example).
|
|
|
|
# Close/Kill the focused window.
|
|
# Difference between closing a window and killing a window is how the process is killed.
|
|
# Closing a window only terminates the process for that window while killing a window terminates all of the related process of that window.
|
|
# For example, try opening two Firefox instance and test how it differs.
|
|
super + {_, shift +} + q
|
|
bspc node --{close,kill}
|
|
|
|
# Move desktop/node view to the specified desktop.
|
|
super + {_,shift + }{1-9,0}
|
|
bspc {desktop --focus,node --to-desktop} '^{1-9,10}'
|
|
|
|
# Desktop and node movements.
|
|
super + {_, shift + } Tab
|
|
bspc desktop {next, prev} --focus
|
|
|
|
# less is <, greater is >
|
|
super + {less, greater}
|
|
bspc node --to-desktop {prev,next}
|
|
|
|
# Window state 'mode'
|
|
super + z ; {z,x,c,v}
|
|
bspc node --state {floating,fullscreen,tiled,pseudo_tiled}
|
|
|
|
# Window resize 'mode'
|
|
super + r : {h,j,k,l}
|
|
bspc node --resize {left -10 0,bottom 0 10,top 0 -10,right 10 0}
|
|
|
|
# Window rotation while keeping the layout
|
|
# Stole this from https://www.reddit.com/r/bspwm/comments/jwq6di/give_me_some_good_ideas_for_features_i_could_try/gctmst8?utm_source=share&utm_medium=web2x&context=3
|
|
super + {r,R}
|
|
bspc node @/ --circute {forward,backward}
|
|
|
|
# grave is `
|
|
super + grave
|
|
bspc desktop --focus last.occupied
|
|
|
|
super + {Up,Down,Left,Right}
|
|
bspc node {north,south,west,east} --focus
|
|
|
|
super + shift {Up,Down,Left,Right}
|
|
bspc node {north,south,west,east} --swap focused --follow
|
|
|
|
# The Vim keybindings.
|
|
super + {k,j,h,l}
|
|
bspc node {north,south,west,east} --focus
|
|
|
|
super + shift {k,j,h,l}
|
|
bspc node {north,south,west,east} --swap focused --follow
|
|
|