Alternatives to BBKEYS on Blackbox - Associate shortcuts to your X Window management command lines with a few tools and poorman’s workarounds.
Simulating BBKEYS with Xbindkeys on Blackbox 0.77 at 2023
xdotool
command-line X11 automation tool
xdo
Perform actions on windows
fbctrl
utility to switch fluxbox windows and desktops.
quicktile
window Tiling addon for X11-based desktops
| BBKEYS | ALTERNATIVES |
|---|---|
| execute | xdg-open *, gio launch *; gio open; gtk-launch *; gapplication launch *; bash -c ‘*’; sh -c ‘*’; exec * |
| iconify | xdotool getactivewindow windowminimize |
| raise | xdo raise |
| lower | xdo lower |
| close | xdotool getactivewindow windowquit |
| toggleShade | xdotool getactivewindow windowstate –toggle SHADED |
| toggleOmnipresent | quicktile all-desktops |
| toggleDecorations | quicktile bordered |
| moveWindowUp | ? |
| moveWindowDown | VAR=xdotool getactivewindow getwindowgeometry|grep -i ','|sed 's/,/ /g'|cut -d' ' -f5
&& echo $VAR && VAR2=cmdcalc $VAR + 10
&& echo $VAR \(VAR2 &&
wnckprop --window="\)(xdotool getactivewindow)”
–set-y=“$(echo $VAR2)” |
| moveWindowLeft | VAR=xdotool getactivewindow getwindowgeometry|grep -i ','|sed 's/,/ /g'|cut -d' ' -f4
&& echo $VAR && VAR2=cmdcalc $VAR - 10
&& echo $VAR \(VAR2 &&
wnckprop --window="\)(xdotool getactivewindow)”
–set-x=“\((echo +\)VAR2)” |
| moveWindowRight | ? |
| resizeWindowWidth | ↓ |
| resizeWindowWidthZoomIn | VAR=xdotool getactivewindow getwindowgeometry |
| resizeWindowHeight | ↓ |
| resizeWindowHeightZoomIn | VAR=xdotool getactivewindow getwindowgeometry|grep -i 'x'|sed 's/: /x/g'|cut -dx -f3
&& VAR2=cmdcalc $VAR + 10 && wnckprop
–window=“\((xdotool getactivewindow)"
--set-height="\)VAR2” |
| resizeWindowHeightDiminushes | |
| toggleMaximizeFull | quicktile maximize |
| toggleMaximizeVertical | xdotool getactivewindow windowstate –toggle MAXIMIZED_VERT |
| toggleMaximizeHorizontal | xdotool getactivewindow windowstate –toggle MAXIMIZED_HORZ |
| sendToWorkspace | xdotool getactivewindow set_desktop_for_window [#Number? 0-…] |
| nextWindow | fbctrl -n |
| prevWindow | fbctrl -p |
| nextWindowOnAllWorkspaces | ? |
| prevWindowOnAllWorkspaces | ? |
| nextWindowOnAllScreens | ? |
| nextWindowOfClass | VAR=xdotool getactivewindow getwindowclassname
&& xdotool search –any $VAR windowactivate “%1” |
| prevWindowOfClass | ? |
| nextWindowOfClassOnAllWorkspaces | ? |
| prevWindowOfClassOnAllWorkspaces | ? |
| changeWorkspace | xdotool getactivewindow set_desktop [#Number? 0-…] |
| nextWorkspace | fbctrl –next-desktop |
| prevWorkspace | fbctrl –prev-desktop |
| upWorkspace | quicktile workspace-go-up |
| downWorkspace | quicktile workspace-go-down |
| leftWorkspace | quicktile workspace-go-left |
| rightWorkspace | workspace-go-right |
| nextScreen | ? |
| prevScreen | ? |
| chain | ? |
| showRootMenu | xdotool click –window 1923 3 |
Other built-ins Blackbox features
| Fullscreen | xdotool getactivewindow windowstate –toggle FULLSCREEN |
| Always Visible | xdotool getactivewindow windowstate –toggle ABOVE |
| Always on Bottom | xdotool getactivewindow windowstate –toggle BELOW |
| Kill Client | xdotool getactivewindow windowkill |
Show Blackbox Menus (Workaraound)
| Show main menu | xdotool click –window 1923 3 |
| Show workspace menu | xdotool click –window 1923 2 |
| Show icons menu | xdotool click –window 1923 1 |
| Show frame menu | xdotool keydown Super ; xdotool click 3 ; sleep 0.2 && xdotool keyup Super |
More possible useful keybindings
| Send to Workspace and Change to the Workspace | “xdotool getactivewindow set_desktop_for_window 2 && xdotool set_desktop 2” |
| Close All Windows of Workspace | xdotool search –onlyvisible . windowquit “%@” |
| Close All Windows of Class | xdotool getactivewindow getwindowclassname windowquit “%@” |
| Simulate MS Windows Minimize / Disappear from Viewport, Restore the Window via [toggleMaximize] ou Unmaximize | xdotool getactivewindow windowmove –relative %3 \(3 -40| |Unmaximize/Restore|VAR=`xdotool getactivewindow` && wnckprop --unmaximize --window=\)VAR |
It’s possible to simulate a “Show Desktop” (Workaround)?
| Show Desktop (Simulation: add shaded to all windows of Workspace) = ADD SHADED TO ALL WINDOWS | xdotool search –onlyvisible . windowstate –add shaded “%@” |
| Unshow Desktop (Simulation: remove shaded to all windows of Workspace) = REMOVE SHADED TO ALL WINNDOWS | xdotool search –onlyvisible . windowstate –remove shaded “%@” |
| Toggle All Shaded (doesn’t work very well) | xdotool search –onlyvisible . windowstate –toggle shaded “%@” |
EASY TILING THE X WINDOWS
| Top | xdotool getactivewindow windowsize 100% 50% windowmove 0 0 |
| Bottom | xdotool getactivewindow windowsize 100% 50% windowmove 0 353 |
| Left | quicktile left |
| Right | quicktile right |
| TopLeft | quicktile top-left |
| TopRight | quicktile top-right |
| BottomLeft | quicktile bottom-left |
| BottomRight | quicktile bottom-right |
| tileCenter | xdotool getactivewindow windowsize 50% 50% windowmove 25% 25%-1 |
Function keys
pulseaudio-ctl
Control pulseaudio’s basic functions such as the master volume level and mute status from a mapped key.
xbrightness
xbrightness builds a brightness ramp for X11.
tlp
xset
user preference utility for X 1
| XF86AudioMute | pulseaudio-ctl mute |
| XF86AudioLower | pulseaudio-ctl down |
| XF86AudioRaiseVolume | pulseaudio-ctl up |
| XF86AudioMicMuteVolume | pulseaudio-ctl mute-input |
| XF86MonBrightnessDown | xbrightness -3276.75 |
| XF86MonBrightnessUp | xbrightness +3276.75 |
| XF86Tools | ? |
| XF86Display | xset dpms force suspend |
| XF86WLAN | bash -c ‘wifi toggle’ |
| XF86Bluetooth | bash -c ‘bluetooth toggle’ |
| XF86Favorites | ? |