[openbox] SwapGeometry (proposal)

Carlos Pita carlosjosepita at gmail.com
Mon Aug 11 10:51:41 EDT 2014


Hi all,

I would like to implement an updated version of this proposal as a
patch to openbox in case there is some logically possible world out
there in which Dana would consider adding it to the trunk :).
Otherwise, I will keep it at the ewmh scripting level to my eternal
shame. The proposal is the same in terms of functionality, but I've
changed some details in order to parallel some openbox patterns and
conventions, which leaves us with:

1) DefaultGeometry, AlternativeGeometry, ToggleGeometry actions,
similar to Maximize, Unmaximize, ToggleMaximize, etc.

2) An <alternativegeometry> condition, similar to <maximized>, etc.

The main idea is to provide the user with an easy mechanism to save
the preferred or default geometry before going into an alternative
geometry excursion. Alternatively, this could be seen from a more
symmetric viewpoint: there are two alternative geometries for the same
client and the user can swap back and forth between them.

Some use cases I see for this:

i) Aero Snap like functionality. See how the crunchbang guys had
scripted it in an admittedly hackish way [1].

ii) More complex manual tiling. I find the otherwise powerful manual
tiling facilities that openbox provides somewhat lacking in this area,
because there is no easy way to untile to a more sensible geometry
once you want to focus in the window itself again. The ability to
restore a previous geometry could be seen as a (limited) succedaneous
for dynamic tiling in a stacking world, just like the grow/shrink
family of actions could be seen as a succedaneous for manual tiling.

Dana, what do you think? I will gladly accept criticism.

Cheers
--
Carlos


[1] https://github.com/corenominal/cb-wmhacks

On Sat, May 24, 2014 at 1:25 AM, Ian Zimmerman <itz at buug.org> wrote:
> On Mon, 5 May 2014 13:57:05 -0300
> Carlos Pita <carlosjosepita at gmail.com> wrote:
>
>> So I would like to implement it as an action, say SwapGeometry, which
>> will work on the currently client simply saving some structured data
>> like { prev_x, prev_y, prev_w, prev_h, prev_maxh, prev_maxv } and
>> restoring the previously saved one, if any.
>
> +1
>
> --
> Please *no* private copies of mailing list or newsgroup messages.
> _______________________________________________
> openbox mailing list
> openbox at icculus.org
> http://icculus.org/mailman/listinfo/openbox


More information about the openbox mailing list