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 | ? |