Mod1-space
Space
has to be lowercase. Argh!
bbkeys 0.9.0 configuration ∞
bbkeys decided to break its configuration without telling anyone. It's especially amusing to note that their website points to bbconf
which has no idea how to work with this file. Thankfully, the README
actually talks about this. What sucks is I Googled for a while before turning to the obvious source for information.
It's also quite sad to note that their website doesn't make mention of this absolutely vitally important note.
Sigh.
On the plus side, changes to .bbkeysrc
are immediately used. Yay! In .bbkeysrc
that is:
[option] (autoConfig) {true} [option] (autoConfigCheckTimeout) {2}
my favourite .bbkeysrc ∞
This might get out of date as I experiment, but it'll get dumped here for reference:
# Mod1 - Control # Mod4 - The 'windows key', between the left-control and left-alt keys. [begin] (bbkeys configuration file) [config] [option] (stylefile) {~/.blackbox/style} [option] (honorModifiers) {false} [option] (raiseWhileCycling) {false} [option] (showCycleMenu) {true} [option] (menuTextJustify) {left} # If this is a bad idea, I wonder if we could configure a hotkey to reload the config file. [option] (autoConfig) {true} [option] (autoConfigCheckTimeout) {2} [option] (workspaceColumns) {4} [option] (workspaceRows) {1} # These settings probably aren't sane for people with lower-resolution screens. [option] (cycleMenuX) {700} [option] (cycleMenuY) {300} # [option] (cycleMenuX) {20} # [option] (cycleMenuY) {20} [end] [keybindings] (begin keybindings) [NextWindow] (Mod1-Tab) [NextWindowOnAllWorkspaces] (Mod1-Control-Tab) [PrevWindow] (Mod1-Shift-Tab) [changeWorkspace] (Mod1-1) {1} [changeWorkspace] (Mod1-2) {2} [changeWorkspace] (Mod1-3) {3} [changeWorkspace] (Mod1-4) {4} [sendToWorkspace] (Mod1-Shift-1) {1} [sendToWorkspace] (Mod1-Shift-2) {2} [sendToWorkspace] (Mod1-Shift-3) {3} [sendToWorkspace] (Mod1-Shift-4) {4} # Using the tilde seems to work anyways: # bbkeys: ERROR: Invalid key (~)! This may cause odd behavior. # [toggleOmnipresent] (Mod1-) [toggleMaximizeFull] (Mod1-F12) [toggleMaximizeHorizontal] (Mod1-F11) [toggleMaximizeVertical] (Mod1-F10) [toggleDecorations] (Mod1-Control-T) # Windows 3.1-style: [Lower] (Mod1-Escape) [Close] (Mod1-F4) [resizeWindowWidth] (Mod1-Control-Shift-Left) {-5} [resizeWindowWidth] (Mod1-Control-Shift-Right) {5} [resizeWindowHeight] (Mod1-Control-Shift-Up) {-5} [resizeWindowHeight] (Mod1-Control-Shift-Down) {5} [moveWindowUp] (Mod1-Control-Up) [moveWindowDown] (Mod1-Control-Down) [moveWindowLeft] (Mod1-Control-Left) [moveWindowRight] (Mod1-Control-Right) [Execute] (Mod1-F5) {xrefresh} [Execute] (Mod1-Control-S) {konsole --notabbar --noframe --nomenubar --noscrollbar --vt_sz 80x24} # rxvt +si +sb [Execute] (Mod1-Control-Escape) {xkill} [Execute] (Mod1-Control-R) {gmrun} # Show the time: # https://blog.spiralofhope.com/?p=33726 [Execute] (Mod1-Control-C) {xmessage "`date +%a\ %b\ %d,%l\:%M\ %p`"} [Execute] (Mod1-Control-L) {xscreensaver-command -lock} [Execute] (Mod1-Control-W) {mozilla-firefox} [Execute] (Mod1-Control-E) {mozilla-thunderbird} # Force a specific position and size: # wmctrl advanced usage # https://blog.spiralofhope.com/?p=2144 [Execute] (Mod1-Control-F) {xtoolwait file_manager & wmpid=$! && wait $wmpid && wmctrl -F -r "file_manager" -e 1,0,0,800,1148 && wmctrl -F -r "file_manager" -e 1,800,0,800,1148} # minimize all # https://blog.spiralofhope.com/?p=24633 [Execute] (Mod4-D) {~/bin/wmctrl_minimize_all.rb} [Execute] (Mod1-Control-D) {~/bin/wmctrl_minimize_all.rb} # Windows 3.1-style window menu. [chain] (Mod1-space) [toggleMaximizeFull] (x) [toggleMaximizeFull] (Mod1-x) # This isn't what I want though.. I want to minimize. [Iconify] (n) [toggleOmnipresent] (space) [toggleOmnipresent] (Mod1-space) [end] # xine-style volume control #[execute] (Mod1-Control-V) {aumix -v -5} #[execute] (Mod1-Control-Shift-V) {aumix -v +5} # Volume Control: [chain] (Mod1-Control-V) [execute] (1) {aumix -v 10} [execute] (2) {aumix -v 20} [execute] (3) {aumix -v 30} [execute] (4) {aumix -v 40} [execute] (5) {aumix -v 50} [execute] (6) {aumix -v 60} [execute] (7) {aumix -v 70} [execute] (8) {aumix -v 80} [execute] (9) {aumix -v 90} [execute] (0) {aumix -v 100} [end] [end] (end keybindings) [end] (end bbkeys configuration) # To do: # - Control the windows via another program - and then somehow implement `alt-escape` to both send the window down and bring the next window to front. # - Use an OSD to display the current volume? Do something pretty with volume control?
bbkeys 0.9.0 .bbkeysrc ∞
Taken straight from the README
file.
[begin] (bbkeys configuration file) [config] [option] (stylefile) {~/local/blackbox/share/blackbox/styles/Blue} [option] (honorModifiers) {false} [option] (raiseWhileCycling) {false} [option] (showCycleMenu) {true} [option] (menuTextJustify) {right} [option] (autoConfig) {true} [option] (autoConfigCheckTimeout) {2} [option] (workspaceColumns) {4} [option] (workspaceRows) {2} [option] (cycleMenuX) {20} [option] (cycleMenuY) {20} [end] [keybindings] (begin keybindings) [chain] (Mod1-Y) [execute] (1) {xmms} [execute] (2) {aumix -v +5} [execute] (3) {aumix -v -5} [end] [Lower] (Mod1-Down) [Raise] (Mod1-Up) [toggleShade] (Mod1-F9) [Close] (Mod1-F4) [Iconify] (Mod1-M) [toggleMaximizeFull] (Mod1-F12) [toggleMaximizeHorizontal] (Mod1-F11) [toggleMaximizeVertical] (Mod1-F10) [toggleOmnipresent] (Mod1-Control-S) [toggleDecorations] (Mod1-Control-T) [resizeWindowWidth] (Mod1-Control-Shift-Left) {-5} [resizeWindowWidth] (Mod1-Control-Shift-Right) {5} [resizeWindowHeight] (Mod1-Control-Shift-Up) {-5} [resizeWindowHeight] (Mod1-Control-Shift-Down) {5} [moveWindowUp] (Mod1-Control-Up) [moveWindowDown] (Mod1-Control-Down) [moveWindowLeft] (Mod1-Control-Left) [moveWindowRight] (Mod1-Control-Right) [NextWindow] (Mod1-Tab) [NextWindowOnAllWorkspaces] (Mod1-Control-Tab) [PrevWindow] (Mod1-Shift-Tab) [changeWorkspace] (Mod1-1) {1} [changeWorkspace] (Mod1-2) {2} [changeWorkspace] (Mod1-3) {3} [changeWorkspace] (Mod1-4) {4} [changeWorkspace] (Mod1-5) {5} [changeWorkspace] (Mod1-6) {6} [changeWorkspace] (Mod1-7) {7} [changeWorkspace] (Mod1-8) {8} [showRootMenu] (Mod1-Control-Escape) [Execute] (Mod1-F5) {xrefresh} [Execute] (Mod1-F1) {aterm -fn smoothansi -fg white -bg black -trsb -tr -sh 80 -tint steelblue -cr green -sl 5000} [end] (end keybindings) [end] (end bbkeys configuration)
OLD ∞
Basics ∞
KeyToGrab(Tab), WithModifier(Mod1), WithAction(NextWindow) KeyToGrab(Tab), WithModifier(Shift+Mod1), WithAction(PrevWindow) KeyToGrab(F4), WithModifier(Mod1), WithAction(Close) KeyToGrab(1), WithModifier(Mod1), WithAction(Workspace1) KeyToGrab(2), WithModifier(Mod1), WithAction(Workspace2)
Interesting things ∞
Seeing the date and time without bothering with a clock:
KeyToGrab(C), WithModifier(Control+Mod1), WithAction(ExecCommand), DoThis(rxvt -name "`date +%a\ %b\ %d,%l\:%M\ %p`" -fb vga -bg SteelBlue -fg SteelBlue -geometry 24x0+0+0) KeyToGrab(F11), WithModifier(Mod1), WithAction(Lower) KeyToGrab(Escape), WithModifier(Mod1), WithAction(Close) KeyToGrab(F12), WithModifier(Mod1), WithAction(MaximizeWindow) KeyToGrab(Tab), WithModifier(Mod1), WithAction(NextWindow) KeyToGrab(Tab), WithModifier(Mod1+Shift), WithAction(PrevWindow) KeyToGrab(F1), WithModifier(Mod1), WithAction(Workspace1) KeyToGrab(F2), WithModifier(Mod1), WithAction(Workspace2) KeyToGrab(F3), WithModifier(Mod1), WithAction(Workspace3) KeyToGrab(F4), WithModifier(Mod1), WithAction(Workspace4) KeyToGrab(C), WithModifier(Mod1+Control), WithAction(ExecCommand), DoThis(/usr/bin/X11/rxvt.bak -name "`date +%a\ %b\ %d,%l\:%M\ %p`" -fb vga -bg SteelBlue -fg SteelBlue -geometry 22x0+0+0
Last updated 2020-05-27 at 22:22:57
ported