README.org
changeset 0 5f04caa7212d
equal deleted inserted replaced
-1:000000000000 0:5f04caa7212d
       
     1 * goose
       
     2 
       
     3 *Status:* pre-alpha
       
     4 
       
     5 Goose is a wayland compositor written in c and tcl/tk.
       
     6 
       
     7 Aspired features include:
       
     8 - good use of wlroots (device detection, multi-monitor, screensharing, etc.)
       
     9 - control, configuration, hackability via tcl, json
       
    10 - gui hackability via tk
       
    11 - stacked windows by default
       
    12 - grouping (tabs, piles, concats)
       
    13 - tagging (workspace-like behavior)
       
    14 - marking (for quick focusing)
       
    15 - overview (mac's exposé, spaces, mosaic, etc.; an extended alt-tab; a graphical configuration tool)
       
    16 
       
    17 
       
    18 Terms:
       
    19 - input: mouse, keyboard, etc.
       
    20 - output: monitor, etc.
       
    21 - root: structure of all frames
       
    22 - view: visible space, contains subset of root
       
    23 - frame: contains windows
       
    24   - tab: laid out in tabs, front window totally visible, the rest totally hidden
       
    25   - pile: laid out in piles, front window totally visible, the rest partially/totally hidden
       
    26   - concat: laid out flat and adjoined, all windows totally visible
       
    27 - window: an application's immediate graphical representation
       
    28 - tag: an index on frames for visibility-toggling
       
    29 - mark: an index on frames for focus-toggling
       
    30 - get: state query (by a client)
       
    31 - set: state modification request (by a client)
       
    32 
       
    33 ** Build
       
    34 
       
    35 1. ~cd goose/~
       
    36 1. ~$EDITOR config.mk~ and ~make~
       
    37 1. ~./build/goose~
       
    38 
       
    39 
       
    40 ** Why
       
    41 
       
    42 - want some practice with c + tcl and shipping a complete program
       
    43 - tcl and tk are awesome
       
    44 - wayland seems to hold a bright future
       
    45 - yet to see a stacking wayland window manager (at least packaged for the distro that I use) that works intuitively, that works in a way that I like by default (cwm, openbox), and whose near-core behavior is easily customisable
       
    46 - want to experiment with seemingly cool ui, layout, ipc ideas
       
    47 - called "goose" because when you get tcl'd, you get goose-bumps
       
    48