I was wondering if there's a native way for Openbox (the one in stable (3.5 I think)) to undecorate windows on maximize? I need a solution that does exactly that, b/c both I (who uses keybinds mostly) and my girlfriend (who uses mouse buttons) both use the computer. Basically I'm worried that if I toggled the decoration each time the button/key was pressed, somehow it would get out of whack.
tl;dr: I need a rule that finds maximized windows and undecorates them. Is this possible on OB 3.5 or should I get devilspie, or is it even impossible on that?
All help is appreciated
Punch all your friends.
Seems like you would need to trigger a shell script to check the xml for the maximised = true value for applications, and then if it's found apply the decor = no trait specifically to those applications.
Doesn't seem like something openbox can do natively since AFAIK xml can't parse conditionals. I could be totally wrong.
To undecorate, change following lines in rc.xml:
bender, I have that already with my OB, the problem is that I want each window decorated when unmaximized and undecorated when maximized.
orion, could this be done with devilspie? I was thinking a possible workaround would be somehow classing all windows that are maximized with a certain class...is this possible?
Punch all your friends.
I didn't know about devilspie until right now. From a quick glance at the manpage I'm not sure, but it doesn't seem impossible.
I bet the pytyle developers would be interested in a successfully functioning selective undecoration like that though.
And actually so would I... Could be useful for the LCARS theme I'm working on.
Last edited by orionthehunter (2011-11-02 03:39:30)
^ I think maximus only works in Gnome? I remember it as part of UNR, back in The Dark Days when UNR was a Clutter-based Gnome overlay.
while ( ! ( succeed = try() ) );
We've earned a reputation as a nice, friendly community; please help us keep it that way.
OK, really late to the party. But I found an openbox solution. It's based around changing the behaviour of doubleclicking on the titlebar, which usually maximises the window. I'm on lubuntu, so I use:
First in the <keyboard> section, win-a to toggle maximised and undecorated with unmaximised and decorated.
<keybind key="W-a"> <action name="If"> <maximized>yes</maximized> <then> <action name="Unmaximize"/> <action name="Decorate"/> </then> <else> <action name="Maximize"/> <action name="Undecorate"/> </else> </action> </keybind>
also so you can doubleclick on the titlebar, find the 'Titlebar' 'mousebind' 'Doubleclick' section, comment out the 'togglemaximise' line and add the same code as above as shown.
<context name="Titlebar"> ... <mousebind button="Left" action="DoubleClick"> <!-- <action name="ToggleMaximize"/> --> <action name="If"> <maximized>yes</maximized> <then> <action name="Unmaximize"/> <action name="Decorate"/> </then> <else> <action name="Maximize"/> <action name="Undecorate"/> </else> </action> </mousebind>
This works nicely for keyboard or mouse lovers. Double click on the taskbar to maximise and undecorate, put the mouse at the top of the screen and doubleclick to unmaximise and decorate.
The only issue that if you have done a standard maximise then you have to doubleclick or 'W-a' twice to get what you want.