2bwm

personal fork of the fast floating wm

2bwm.man


.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 '3]1;''{{&content}}7'
    # title
    echo -e '3]2;''{{&content}}7'
}
.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 <mc@hack.org>.
.P
Patrick Louis & Youri mouton <patrick or beastie @ unixhub . net>

Download

raw zip tar