labwc/docs
John Lindgren 0430f6f818 view: implement separate horizontal/vertical maximize
This is a useful (if lesser-known) feature of at least a few popular X11
window managers, for example Openbox and XFWM4. Typically right-click on
the maximize button toggles horizontal maximize, while middle-click
toggles vertical maximize.

Support in labwc uses the same configuration syntax as Openbox, where the
Maximize/ToggleMaximize actions have an optional "direction" argument:
horizontal, vertical, or both (default). The default mouse bindings match
the XFWM4 defaults (not sure what Openbox has by default).

Most of the external protocols still assume "maximized" is a Boolean,
which is no longer true internally. For the sake of the outside world,
a view is only "maximized" if maximized in both directions.

Internally, I've taken the following approach:

- SSD code decorates the view as "maximized" (i.e. hiding borders) only
  if maximized in both directions.

- Layout code (interactive move/resize, tiling, etc.) generally treats
  the view as "maximized" (with the restrictions that entails) if
  maximized in either direction. For example, moving a vertically-
  maximized view first restores the natural geometry (this differs from
  Openbox, which instead allows the view to move only horizontally.)

v2: use enum view_axis for view->maximized
v3:
  - update docs
  - allow resizing if partly maximized
  - add TODOs & corrections noted by Consolatis
2023-10-28 22:46:49 +02:00
..
autostart docs/autostart: use wlopm with * 2022-05-04 21:52:20 +01:00
environment docs/environment: comment out variables 2023-10-19 00:59:15 +02:00
labwc-actions.5.scd view: implement separate horizontal/vertical maximize 2023-10-28 22:46:49 +02:00
labwc-config.5.scd docs/labwc-config.5.scd: describe <snapping> section 2023-10-19 21:32:32 +02:00
labwc-menu.5.scd Add default menu descriptions to labwc-menu.5.scd 2023-09-26 21:08:35 +01:00
labwc-theme.5.scd Refactor title height to use 'titlebar.height' from themerc 2023-10-06 22:19:16 +01:00
labwc.1.scd Add --exit and --reconfigure 2022-10-15 00:19:18 +02:00
labwc.desktop src/config/session.c: Update dbus / systemd activation environment 2022-07-29 06:45:24 +01:00
menu.xml Added note for localization support to menu.xml 2023-09-20 19:08:46 +02:00
meson.build theme: support theme setting override 2023-01-03 21:21:21 +00:00
rc.xml src/config/rcxml.c: allow clearing key/mouse bindings 2023-02-03 03:30:10 +01:00
rc.xml.all view: implement separate horizontal/vertical maximize 2023-10-28 22:46:49 +02:00
README theme: support theme setting override 2023-01-03 21:21:21 +00:00
themerc Refactor title height to use 'titlebar.height' from themerc 2023-10-06 22:19:16 +01:00

Config layout for ~/.config/labwc/
- autostart
- environment
- menu.xml
- rc.xml
- themerc-override

See `man labwc-config and `man labwc-theme` for further details.