.TH 2bwm 1 "Apr 24, 2013" "" "" .SH NAME 2bwm \- A two borders fast floating window manager for X11. .SH DESCRIPTION .B 2bwm\fP is a fast floating, keyboard driven, window manager for the X Window System with the particularity of having 2 borders. .SH USE Nota bene: It is highly recommended to check the config.h file at least once. With the the default configuration, use 2bwm like this. .PP MOUSEMODKEY + mouse buttons (On a Window) : .RS .IP \(bu 2 .B 1 move .IP \(bu 2 .B 3 resize window .RE .PP MOUSEMODKEY + CTRL + mouse buttons : .RS .IP \(bu 2 .B 3 starts the menu (my_menu.sh) .RE .PP Note that the mouse cursor doesn't needs to be inside the window you want to move, raise/lower or resize, it just need to have the focus. .PP MODKEY + key on focused window: .RS .IP \(bu 2 .B arrows (+shift) Move the cursor (with shift fast). .IP \(bu 2 .B r raise or lower (toggles). .IP \(bu 2 .B x maximize (toggles). .IP \(bu 2 .B m maximize vertically (toggles). .IP \(bu 2 .B shift+m maximize horizontally (toggles). .IP \(bu 2 .B shift+H resize left. .IP \(bu 2 .B shift+J resize down. .IP \(bu 2 .B shift+K resize up. .IP \(bu 2 .B w start the menu (my_menu.sh) .IP \(bu 2 .B ctr+q ctrl+r quit or restart 2bwm .IP \(bu 2 .B shift+L resize right. .IP \(bu 2 .B shift+ctrl+H resize slow left. .IP \(bu 2 .B shift+ctrl+J resize slow down. .IP \(bu 2 .B shift+ctrl+K resize slow up. .IP \(bu 2 .B shift+ctrl+L resize slow right. .IP \(bu 2 .B Home Grow keeping aspect. .IP \(bu 2 .B End Shrink keeping aspect. .IP \(bu 2 .B shift+ctrl+b/n Fold or Unfold horizontally .IP \(bu 2 .B shift+ctrl+y/u Fold or Unfold vertically .IP \(bu 2 .B h move left. .IP \(bu 2 .B j move down. .IP \(bu 2 .B k move up. .IP \(bu 2 .B l move right. .IP \(bu 2 .B ctrl+h move left slow. .IP \(bu 2 .B ctrl+j move down slow. .IP \(bu 2 .B ctrl+k move up slow. .IP \(bu 2 .B ctrl+l move right slow. .IP \(bu 2 .B y move to upper left corner of monitor. .IP \(bu 2 .B u move to upper right corner of monitor. .IP \(bu 2 .B b move to lower left corner of monitor. .IP \(bu 2 .B n move to lower right corner of monitor. .IP \(bu 2 .B g move to the center of the monitor. .IP \(bu 2 .B shift+y/shift+u/shift+b/shift+n move to the left/right/bottom/top while maxvert/maxhor and half max horizontal/vertical .IP \(bu 2 .B Return start terminal .IP \(bu 2 .B Tab or shift+Tab go to next window in the current workspace window ring. .IP \(bu 2 .B f fix window so it is visible on all workspaces (toggles). .IP \(bu 2 .B a Make a window unkillable (toggles). .IP \(bu 2 .B t Make a window stay on top. .IP \(bu 2 .B i iconify (or hide) window from the display. .IP \(bu 2 .B 0\-9 go to workspace n, 0-9. .IP \(bu 2 .B shift+0\-9 Move window to workspace. .IP \(bu 2 .B c or v Go to next/previous workspace. .IP \(bu 2 .B Q close window. .IP \(bu 2 .B , move window to previous monitor. .IP \(bu 2 .B . move window to next monitor. .RE .PP Note that all functions activated from the keyboard work on the currently focused window regardless of the position of the mouse cursor. Of course, changing workspaces has nothing to do with the focused window. .PP If you don't like the default config you should change them in the config.h file and recompile. If you set up a bar don't forget to add the space at the bottom or at the top of the screen in the configs. Also, if you want to know the current workspace you can use `xprop -root _NET_CURRENT_DESKTOP| sed -e 's/_NET_CURRENT_DESKTOP(CARDINAL) = //'` .SH ENVIRONMENT .B 2bwm\fP obeys the $DISPLAY variable. .SH STARTING Warning you should not put "Urxvt.depth: 32" in your .Xressources if you are using urxvt, it will disable the borders. Typically the window manager is started from a script, either run by .B startx(1) or a login manager such as .B xdm(1). .PP If you start from the console, you need an .xinitrc file. Here's a complete example: .sp .in +4 .nf \&#! /bin/sh # Set nice background. xsetroot -bg \#282828 -fg \#121212 -mod 4 2 # Set nice pointer cursor. xsetroot \-cursor_name plus \-fg white \-bg black # Load resources. xrdb \-load ~/.Xresources # Start window manager in the background. If it dies, X still lives. 2bwm & # Start a terminal in the foreground. If this dies, X dies. exec urxvt .fi .in -4 .sp .SH SCRIPTS You may want to define a menu program for use with 2bwm (see config.h). In the source distribution you can find an example as my_menu.sh (the default menu program in config.h) in the scripts directory. .PP Inspired by Christian's work MC wrote a small program, hidden(1), which is included with 2bwm. You can use hidden(1) with the -c option together with 9menu. See my_menu.sh for an example. .PP You might also be interested in the following shell function that might come in handy to give your terminal emulators good titles before hiding them. .sp .in +4 .nf # Set the title and icon name of an xterm or clone. function title { # icon name echo -e '\\033]1;'$1'\\007' # title echo -e '\\033]2;'$1'\\007' } .fi .in -4 .sp Use it like this: .sp .in +4 .nf % title 'really descriptive title' .fi .in -4 .sp .SH SEE ALSO .B hidden(1) .SH AUTHOR Michael Cardell Widerkrantz . .P Patrick Louis & Youri mouton