No description
Find a file
2012-09-11 13:12:53 +02:00
resources New logo 2012-08-21 19:10:26 +02:00
.bspwmrc events are caught 2012-08-01 23:16:07 +02:00
.gitignore Still filling map_request 2012-09-03 21:40:30 +02:00
bspc.c Dropping Lua for message parsing 2012-08-29 12:45:44 +02:00
bsps.c Don't create the FIFO 2012-09-10 23:17:59 +02:00
bsps.h Dzen2 output 2012-09-09 10:46:46 +02:00
bspwm.c Rules, XDG config & autostart 2012-09-11 13:12:53 +02:00
bspwm.h Rules, XDG config & autostart 2012-09-11 13:12:53 +02:00
common.h Dropping Lua for message parsing 2012-08-29 12:45:44 +02:00
events.c Locate window 2012-09-07 12:32:24 +02:00
events.h Final specifications 2012-08-25 15:24:35 +02:00
ewmh.c Timid EWMH incursion 2012-08-23 22:32:11 +02:00
ewmh.h Timid EWMH incursion 2012-08-23 22:32:11 +02:00
helpers.h Proper strings, drop non POSIX strdup 2012-09-10 13:47:51 +02:00
luautils.c Proper strings, drop non POSIX strdup 2012-09-10 13:47:51 +02:00
luautils.h Proper strings, drop non POSIX strdup 2012-09-10 13:47:51 +02:00
Makefile Rules, XDG config & autostart 2012-09-11 13:12:53 +02:00
messages.c Proper strings, drop non POSIX strdup 2012-09-10 13:47:51 +02:00
messages.h Dropping Lua for message parsing 2012-08-29 12:45:44 +02:00
README.mkd Dropping leaf related pointers 2012-09-04 11:14:01 +02:00
rules.c Rules, XDG config & autostart 2012-09-11 13:12:53 +02:00
rules.h Rules, XDG config & autostart 2012-09-11 13:12:53 +02:00
settings.c Rules, XDG config & autostart 2012-09-11 13:12:53 +02:00
settings.h Rules, XDG config & autostart 2012-09-11 13:12:53 +02:00
tree.c Handle vacant state in apply_layout 2012-09-07 14:24:03 +02:00
tree.h Handling of window gap 2012-09-06 14:43:59 +02:00
types.c Rules, XDG config & autostart 2012-09-11 13:12:53 +02:00
types.h Rules, XDG config & autostart 2012-09-11 13:12:53 +02:00
utils.c Rules, XDG config & autostart 2012-09-11 13:12:53 +02:00
utils.h Locate window 2012-09-07 12:32:24 +02:00

logo

Description

  • Windows are represented as the leaves of a binary tree.

  • To each leaf corresponds exactly one window.

  • The only nodes which can be focused are the leaves.

  • The leaves are called window nodes.

  • The other nodes are called container nodes.

  • Each container node is a split rectangle.

  • Only two methods of node insertion will be provided: replace and pair.

      Example: insertion of a new node (number 4) into the given tree with the
      *replace* method:
    
                   b                                   c
                  / \                                 / \
                 3   a              -->              4   b
                 ^  / \                              ^  / \
                   2   1                               3   a
                                                          / \
                                                         2   1
      +-------------------------+         +-------------------------+
      |            |            |         |            |            |
      |            |     2      |         |            |     3      |
      |            |            |         |            |            |
      |     3      |------------|   -->   |     4      |------------|
      |     ^      |            |         |     ^      |     |      |
      |            |     1      |         |            |  2  |  1   |
      |            |            |         |            |     |      |
      +-------------------------+         +-------------------------+
    
      And with the *pair* method:
    
                   b                                   b
                  / \                                 / \
                 3   a              -->              c   a
                 ^  / \                             / \ / \
                   2   1                           4  3 2  1
                                                   ^
      +-------------------------+         +-------------------------+
      |            |            |         |            |            |
      |            |     2      |         |     4      |     2      |
      |            |            |         |     ^      |            |
      |     3      |------------|   -->   |------------|------------|
      |     ^      |            |         |            |            |
      |            |     1      |         |     3      |     1      |
      |            |            |         |            |            |
      +-------------------------+         +-------------------------+
    

Features

  • Triple window borders. Rationale: with single borders, it might happen that the color of the window border is too close to the color of its inner or outer environment to be visible.
  • Directional pair splitting preselection (the feedback will be drawn in the window border pixman).
  • Set or get settings and call methods at runtime.
  • Configuration file in Lua.

Planned Features

  • Don't automatically give the focus to toolbar windows.
  • When a fullscreen window looses the focus, its fullscreen state will be set to false if the window to be focused is in the same desktop.
  • Close every window except the focused one.
  • Tree transformations: directional leaf swap, node pulling, rotation...
  • Rounded corners ? (cairo).