On 15.09.2011 09:14, Teika Kazura wrote:
> Hi, Awesome list.
> 
> I think Awesome is one of window managers "extensible" by users, or
> programmable, offering the API and allowing users to override the
> core code, or freely define new behaviors, though I haven't tried
> Awesome actually yet.
> 
> I'm a former developer of Sawfish which is also of such kind of WMs,
> using a Lisp dialect. I'm interested in comparing them, and created a
> wiki page for it:
>  http://sawfish.wikia.com/wiki/Comparison_of_extensible_window_managers
> There Xmonad and StumpWM are also studied.
> 
> If someone is interested, please improve that article. Feel free to
> add any subjects. Or if you don't feel like editing wiki, you can
> comment here, and I'll do the actual edit.
> 
> Of course I'll be glad to answer any questions about Sawfish.
> 
> I've already posted a similar message to the Xmonad list.
> 
> With best regards,
> Teika (Teika kazura)

Hi,

thanks for starting such a comparison. Some input about awesome:


"Repl" is a weird word. :-P
So it means that you can execute new lua code even after awesome is started? We
do have awesome-client for this which uses dbus to talk to awesome and execute
lua code. E.g.: (The sleep is so that I can switch focus away from the terminal)

$ sleep 1 ; echo 'return client.focus.name' | awesome-client
   string "Comparison of extensible window managers - Sawfish -
http://sawfish.wikia.com/wi...";

One could also execute lua files through this via either 'awesome-client < file'
or lua's dofile() function.

So, is my understanding right and this counts as "repl"?


"Pager": Well, no, not really, but thanks to EWMH, any external pager should
(hopefully) work.


"Compositing": How come sawfish doesn't work with xcompmgr?


"XKB": Nope, xcb doesn't yet provide XKB bindings because it's such an ugly
protocol and they need some new magic in their code generator.

"Input event synthesis": Well, yes, but I don't know of anything actually using
this. We have key_press, key_release, button_press, button_release and
motion_notify. For keyboard events one needs the keycode which means that it
becomes ugly with keyboard layouts etc (26 is the keycode for 'e').

$ echo 'for k, v in ipairs({"key_press", "key_release"}) do root.fake_input(v,
26) end' | awesome-client
e

"Input translation per window": Hm, I never heard anyone asking for this. In
awesome, you can bind per-window keys. So you could make awesome "eat" the
ctrl-x keypress and use the above event synthesis to send some other keypress,
but I'm unsure what kind of problems this could cause... (E.g. what happens to
the event's timestamp)

"Extra mouse features": Uhm, this column is missing, just a description for what
it would do is provided?
For awesome, I'd say "partially" and I'd like to ask how sawfish implements this
feature. Does it poll the mouse position? Create 1px wide InputOnly windows at
the edge of the screen? Some other magic? Polling could be done from lua with
awesome, too, but an InputOnly window couldn't be done.

"Large desktop": I guess this is the EWMH-kind of large desktop? The WM
internally implements one big screen and the workspaces just show different
parts of this? So that, e.g. when you move a window partially outside of a
workspace, it would show up on the workspace next to it.
For awesome: "no, but could be tried to hack via lua" (= "No").


If you want ideas for new columns, when I mentioned "dbus" above, the following
came to my mine: "Event sources for scripting (TODO: needs a better name)"
With awesome, you can register timers, react to button / keyboard events, have
your own code execute when some property changes (e.g. a window changes its
window title or some other code changes a window's position, a tag is renamed
etc) and we have some rudimentary dbus bindings (which are used to implement the
notification-spec, so e.g. "notify-send" and kde apps send their notification to
awesome)


I tried editing your wiki, but the editor confuses me. Sorry.

Uli
-- 
- He made himself, me nothing, you nothing out of the dust
- Er machte sich mir nichts, dir nichts aus dem Staub

-- 
To unsubscribe, send mail to [email protected].

Reply via email to