[dwm] awm - a personal window manager

From: Alpt <alpt_AT_freaknet.org>
Date: Mon, 24 Sep 2007 16:03:07 +0200

                            alpt-wm
                http://freaknet.org/alpt/src/alpt-wm
        svn co http://dev.hinezumi.org/svnroot/alpt-wm

alpt-wm - dynamic window manager
================================
This is my custom window manager. It's small, functional and fast.
It is based on dwm ( http://www.suckless.org/wiki/dwm ) and it is just ~1800
lines of code.

Keep in mind that awm is just my own wm, it isn't a fork.
(there isn't a single line of code I don't use).
If you want something, just hack the code and then send it to me!
If I find something interesting in your code I'll take it ;)
(Code exchange is wonderful)

- AlpT (@freaknet.org)

Features
========
[*] It is based on the workspace concept, but the space is two dimensional
[*] Each time you move on a new, non visited, workspace, a terminal window will be
    automatically launched. Thus emulating the TTYs behaviour.
[*] Proc-like interface: /tmp/proc_awm
[*] You can delete an entire workspace, killing all the window launched in it.
    You can even delete an entire dimension, deleting all the residing
    workspaces.
[*] When you drag a window, the window doesn't move, only the cursor
    does. This is faster.
    To resize the window, you just Alt+RightClick on any point of the screen,
    and the window will immediately resize to cover the space between the
    mouse cursor and the nearest window border. If you click inside the window
    you'll cover the negative space!

Usage
=====
I hope you're accustomed to virtual work spaces.
The system here is similar, but we have a second dimension:

           X 1 X 2 X 3 X 4 ...
          -----------------------------
           Y|1 Y|1 Y|1 Y|1
           Y|2 Y|2 Y|2 Y|2
           Y|3 Y|3 Y|3 Y|3
           Y|4 Y|4 Y|4 Y|4
            : : : :
            : : : :

[*]
This system is very fast and comfortable, because you can use each X for a
specific purpose. F.e, in X1 you execute only system programs, in X2 you work
on your C projects, in X3 you play with stupid things (firefox, mplayer,
gqview).

Using Ctrl+Alt+b, the bar will appear. It indicates your current coordinate.

With Ctrl+Alt+(Left or Right) you move on the Y of your current X.

With Shift+Alt+(Up or Down) you move on the X
 (the Y is set to your last visited Y on the selected X)

With Shit+Alt+Fn you go directly to the X `n'.
 (note, if you have only n Xs and you go to m > n, then you'll end up in n+1)
With Alt+Fn you go directly to the Y `n'.
 (note, the same previous note)

[*] Each time you move on a new, non visited, coordinate, a terminal window will be
automatically launched. This is very useful.

To launch a new terminal, use Ctrl+Alt+h
 (the various key bindings are in config.h).

[*] If you ever loose a window, take a look at /tmp/proc_dwm ;)

...

[*] And now, you can delete an entire Y, killing all the window launched in it, or
you can delete an entire X, deleting all its sub-Y!!! Be careful with this ;)
 delete Y -> Ctrl+Alt+d
 delete X -> Shift+Alt+d
  

Alt+Up maximize/minimize the current focused window.
 (a maximised window will cover the bar).

Alt+c kills the current focused window.

Alt+< and Alt+/ cycles the focus of the windows in the current Y.

[*]
To move a window, Alt+click+drag it.
  (note, the dragging of the window isn't continuous: only the mouse cursor is
   moved until you release the drag.)
To resize a window, Alt+righ_click on any point of the screen. The window will
immediately resize to cover the space between the mouse cursor and the nearest
window border. If you click inside the window you'll cover the negative space,
thus shrinking it! :)

Ctrl+Shift+Alt+(Left or Right) moves the current focused window on the
previous/next Y.
Ctrl+Shift+Alt+(Up or Down) moves the current focused window on the
previous/next X.

Shift+Alt+n moves the current focused window directly to X n.
 (note, if you have only n Xs and you go to m > n, then you'll end up in n+1)
Ctrl+Alt+n moves the current focused window directly to Y n.
 (note, the same previous note)

Tips: define your own key bindins in config.h. In this way, you don't need
to use xlock.

PS: you may be interested in closebracket:
http://www.freaknet.org/alpt/src/utils/closebracket

Installation
------------
Get the latest sources:
   svn co http://dev.hinezumi.org/svnroot/alpt-wm/ alpt-wm

In order to build dwm you need the Xlib header files.

Edit config.mk to match your local setup (dwm is installed into
the /usr/local namespace by default).

Edit (with care) config.h as you please.

Edit scripts/*

Afterwards enter the following command to build and install dwm (if
necessary as root):

    make clean install

Copy scripts/* somewhere in your $PATH.

If you want to use startx, then just do:
        echo exec dwm >> ~/.xinitrc
otherwise, manually launch:
        X& DISPLAY=":0" dwm&

-- 
:wq!
"I don't know nothing" The One Who reached the Thinking Matter   '.'
[ Alpt --- Freaknet Medialab ]
[ GPG Key ID 441CF0EE ]
[ Key fingerprint = 8B02 26E8 831A 7BB9 81A9  5277 BFF8 037E 441C F0EE ]
Received on Mon Sep 24 2007 - 16:03:10 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 14:55:15 UTC