Panel layout, default creation window and active ruby communication

Added by Michael lambp over 9 years ago

I am an old programmer and know little about Ruby but I find your Subtle project very interesting. Running on a 64 bit ArchLinux. Thank you for your work my favorite WM over night. Literally.

First: bug or feature request: My panel layout is
top [ :clock, :seperator, :title, :center, :views, :center, :spacer, :sublets, :seperator, :tray ]
I have a wide screen and this places the clock and title on the justified left, views justified center then the sublets and tray justified right. However if I remove the spacer everything is justified left except the centered :views. May I suggest that if no spacer is included to the right of a center property they justify left to the center property. But if a :spacer is included it begins justifying right. The same could be done before a centered property and justify right to the centered property.

Feature request: A toggle that would allow window creation to occur in the current desktop/view instead of the default desktop/view for clients that are not associated to a view. I need a terminal on every desktop/view!

Feature request: I am guessing there is an active Ruby instance behind the scenes. Since it is already active I would like to interact with it and not create a new instance. A Sublet on the panel that opens a dialog when you mouse over it...?

Some other nitpicking things: Icon(s) in the tray disappears sometimes (when a full screen client covers the panel on one of the views). And when I run a windows/wine client with extensive the keyboard input to that client fails.

I installed Subtle last night and it is already my most productive desktop.

Thanks again.

edit: Redimine was not happy with *: so I removed the : from :spacer when bold.

Replies (3)

RE: Panel layout, default creation window and active ruby communication - Added by Christoph Kappel over 9 years ago

Hello Michael,

glad that you like subtle. :)

1) Feature request

I bet this isn't in the docs yet. Basically, the :center item creates a new group from the items it encloses. This group is excluded from the normal alignment and therefore neither incluenced by e.g. :spacer nor does it influence other parts. When you customize the panel just ignore that it's there. The main reason for this behaviour was complexity, the alignment stuff for the panel is a bit difficult. Do you think it's enough to make this clear in the docs?

2) Feature request

This is a behaviour I really dislike, I hated it in e.g. awesome and I don't intend to change this in subtle. Apparently this is a really common question and I wrote a snippet that can probably help. The current-view snippet creates a tag for each view and assigns the current view name as to to clients that have just the default tag. This will effectively place the client on the current view. To use just copy it to the bottom of your config. If you still need something to toggle and don't know enough ruby just repost and I will add it for you.

3) Feature request

Yep there is a VM running inside of subtle, there are many ways to access it like using hooks or even sublets. Another way is to use subtlext, a ruby extension that can interact with the wm. In can you found out subtler it's based on subtlext. Sublets can act on mouse stuff, there is an event for mouse over, down and out. Just check the writing sublets page. Subtlext also includes a window class that can be used in many ways, one example the launcher in subtle-contrib.

4) Icons and fullscreen

I will check that, not sure why the icons aren't redrawn properly. Maybe I can send an expose event to them and force a redraw, but need to check this to be certain.

5) When this happens all grabs stop working? Can you reproduce it and can you tell me how to reproduce it?

Yeah, redmine is a bit picky about that. I usually end up with using the html entities for that.

RE: Panel layout, default creation window and active ruby communication - Added by Michael lambp over 9 years ago

Greetings Mr. Kappel,

Thanks for the info.

1) Yes I now understand, this is the sentence that crystallized it: This [:center] group is excluded from the normal alignment and therefore neither influenced by e.g. :spacer nor does it influence other parts.

2) I certainly don't know enough Ruby but I need to slog through it to get up to a crawl. Thanks for your kind offer I will try not to take you up on it.
I don't want to compromise the core of Subtle but I have many terminals open comparing their output to various editors/browsers. But my behavior is still adjusting to the paradigms that Subtle offers. Thanks for the snippet.

3) Ah, right there in front of me and I did not get it. Looking forward to playing with this.

4) The tray icon is missing as I type (Opera). I tested wine, latest version 1.3.6, running World of Warcraft -opengl in full screen native resolution.
Also I tried to reproduce the loss of keyboard input and I could not. Wine/WoW is quirky when it loses/gains focus. Originally, I hit NK_+ and NK_- rapidly and many times, including many other manual tiling key combinations to test what would fall through. As I was doing this I noticed I could not make the client regain keyboard focus. I will continue to test this and will get back to you if I have any actionable evidence.

5) No, it was the client (wine/wow) that stopped receiving keyboard input. I did test it again and it was not reproduced.

Thanks again and I hope this was at least in some small way helpful.

RE: Panel layout, default creation window and active ruby communication - Added by Christoph Kappel over 9 years ago

Hello again,

1) I updated the panel wikipage to make this more clearer, I really don't like writing docs at all. ;)

2) The easiest way to have a certain window on a view is to set it sticky, when I need to compare something I usually use that.

3) You are welcome, the rdoc of subtlext can be found here but still needs some ruby knowledge.

4) Hm, did you restart subtle in a way or does wine change the resolution? Maybe #150 causes this, I just will fix it and ask again.

5) Wine is a bit tricky, some windows use a rather aggressive way of waiting for keyboard input and override any method of propgating key events down to subtle. Virtualbox is known for this too. Haven't found a way yet to fix that I must admit.

All reports are helpful. If you have time and use IRC you can visit us in #subtle on Freenode. It's sometimes easier to explain stuff there.