<mousebind button="Left" action="Click">
<!-- Unsnap if snapped-->
<action name="if">
<maximizedvertical>yes</maximizedvertical>
<then>
<action name="Unmaximize"/>
<direction>vertical</direction>
<action name="MoveResizeTo">
<x>center</x>
<y>center</y>
<!-- if y axis is not centered there are problems with fullscreen unmaxi -->
</action>
</then>
</action>
</mousebind>
My suggestion is to use the above instead of the "Drag" snippets below. Instead of replacing the original
<mousebind button="Left" action="Drag"> ... </mousebind>
Just paste it right below. (you can keep other left click actions in your config file untouched, so unshadow, focus etc will still work for regular non-snapped windows as they should)
Yes, it's less convenient to click like this, but there are advantages to this. The big one is that accidentally dragging windows out of bounds will not happen anymore. Also you get to drag the maximized window from left to right like on IOS. Overall this will behave very predictably without jankyness, it's not bad.
Pinned Comments
E5ten commented on 2018-03-31 08:56 (UTC) (edited on 2018-03-31 15:06 (UTC) by E5ten)
To make unsnapping work replace
<mousebind button="Left" action="Drag">...</mousebind>
in<context name="Titlebar">
within
~/.config/openbox/rc.xml