[Samuraix_users] list of questions

Dieter Plaetinck dieter at plaetinck.be
Sun Dec 20 12:48:36 CET 2009


Hi guys,
/me blows the dust off this list.

I'm a guy who believes that all software on a system should just be
"building blocks", all tied together with scripts and plaintext
settings from the user.  And everything should be controllable :)  .
(unix philosophy)  I also like the suckless
philosophy (but not too extremely like dwm), and in particular I like
the uzbl web browser (www.uzbl.org) for (among others) its command and
events system.  Samurai-x has this too, and it gives the impression it
matches my visions quite well.

I have been thinking for a while about what the perfect WM would
mean for me, and I have come up with a list of wishes/questions.
Some of them I've answered already myself, but here is the list of
things I couldn't easily find.  I hope someone can give me
detailed and honest answers so that it would help me finding out how
well (or not) samurai-x suits me. 

for most of the questions goes: if it's not implemented, does it fit
with the design goals and/or how hard is it to implement myself?

== general ==
* XDG basedir spec.  I hate dotfiles/folders in my home. do you support
  the basedir spec? (~/.config/samuraix) or is it just a matter of
  using the '-c' flag?  do you automatically write out any
  files/directories? can i control where they go?
* is there a tabbed layout?
* different tiling arrangements? [like awesome]
* possible to have for example 5 cells in a tiling layout, with one
  cell being in tabbed layout?
* fine grained commands/api? when matching windows can i send windows to
  very specific cells/tabs or a tab in a cell?
  everything that can be done, can be done with an api/command?
* can i "query" everything? which desktops are there, which
  windows are in which position/cell? [resp floating/tiling layouts]
* the event reporting: anytime anything happens, events can be
  reported? even for subtle things like a window resize, and would that
  example also give me information such as the X id, orig and new size?
* ability to launch new windows unfocused and/or invisible?
* xinerama/multihead where you can losely couple tags/workspaces to
  physical screens. also clone support (display same tag on 2 screens?
  or even a subregion of a tag on one screen)
* how does your workspace thing work anyway? can i use a tag system
  like in most tiling wm's? (basically n:m relation between "viewport"
  and client)
* session saving/restoring? even with fancy layouts like a tabbed cell
in a tiling layout?

== samurai-x specific ==
* why the "all in python" design goal? isn't it taken a bit too
  extreme (see below)? what are the advantages?
* xpyb is the "standard" and well maintained (i guess) xcb
  implementation in python.  I read the goals about ooxcb and it's
  reasons of existence but I have to ask: looking back, do you still
  think it was the right choice?  Did the "all in python thing" justify
  the added work to maintain it? do you feel you can keep up with
  latest XCB developments?
* same question, but for pycairo. I believe you re-wrapped the C-api?
* why can't i see tickets @ http://samurai-x.org/report ? need login?
* using default config, i cannot type anything in urxvt
* default bindings: meta1=?? i tried alt,ctrl,shift, superkey
  left/right etc but nothing seems to have any effect.
* is there a bar to show the [clickable] desktops numbers and their
state (urgent flag etc) and misc stuff (current date, battery
status, ..) because of the commands/events stuff i can probably build
my own using something like dzen2? any examples/tutorials?
* are modal keybindings supported? (ie a command mode in which i can
  press single keys to execute arbitrary things, and once in insert
  mode, keys would be forwarded to clients)
* firefox url list is flickering/not shown when typing url.

Thanks in advance for the feedback!
Dieter

FYI:
here is a dump of my notes/thoughs about some other WM's I stopped
using (wmii, awesome) or need to further evaluate (i3, qtile, maybe
xmonad).

wmii: no tabbed mode, titles not together in stacked mode. spawned windows always have focus, not able to force float/tile a window by writing to it, no xdg basedir spec (but -c)
i3: no maximized, no sticky windows, no xdg basedir spec (but -c), has own inflexible bar (later: dzen or such)                                                                   
    still planned: events, querying, sending stuff to cell, launching new windows unfocused/invisible. not possible to send commands to unfocused window. not composoting so no clone unless using xrandr
                            no "layout toggling yet". maybe with saved layouts..                                                                                                                                                 
                            most 'core-ish' events (such as new windows) will be handled internally, but you get many finegrained events nonetheless
                            supports modal keybinds. you can even define your own modes and binds                                                   
qtile: tabbed mode should be easy to do ourself. has status menu but you can configure gap. should be very scriptable and such. you can retrieve much info.
                               to add: launch new windows unfocused/invisible. xinerama but no cloning. modal interface on it's way. granular interaction & layout switching should be easy to do
                                xdg compliant                                                                                                                                                    
xmonad&awesome: too many libraries to do all kinds of stuff, probably more minuses. xmonad has pretty good event reporting




More information about the samuraix_users mailing list