swayfx/include/sway
Ryan Dwyer 0a9ff774ad Center surface inside container when it's too small
The goal here is to center fullscreen views when they are both too small
for the output and refuse to resize to the output's dimensions. It has
the side effect of also centering the view when it's too small for its
container.

Example clients that have this behaviour are emersion's hello-wayland
and weston.

It works by introducing surface_{x,y,width,height} properties to the
container struct. The x and y represent layout-local coordinates where
the surface will be rendered. The width and height are only used to
track the surface's previous dimensions so we can detect when the client
has resized it and recenter and apply damage accordingly.

The new surface properties are calculated when a transaction is applied,
as well as when a view resizes itself unexpectedly. The latter is done
in view_update_size. This function was previously restricted to views
which are floating, but can now be called for any views.

For views which refuse to resize *smaller* than a particular size, such
as gnome-calculator, the surface is still anchored to the top left as
per the current behaviour.
2019-01-28 01:17:21 -05:00
..
desktop Rebase the cursor after applying transactions 2018-10-25 23:37:40 +10:00
input Update for swaywm/wlroots#1503 2019-01-27 12:59:46 +01:00
tree Center surface inside container when it's too small 2019-01-28 01:17:21 -05:00
commands.h bar_cmd_tray_bind: Use mouse button helpers 2019-01-16 11:12:45 +01:00
config.h Better handle outputs without CRTC 2019-01-18 10:09:10 +01:00
criteria.h Use #if instead of #ifdef 2018-11-18 00:33:06 +01:00
debug.h Turn funcs() into funcs(void) 2018-09-30 14:09:05 +03:00
decoration.h Handle views created after decoration mode is sent for xdg-shell 2018-08-06 15:20:30 +01:00
desktop.h Store geometry in the view and handle any floating view resizing 2018-08-18 15:10:06 +10:00
ipc-json.h Make json-c include respect pkg-config --cflags 2019-01-23 21:50:06 -05:00
ipc-server.h swaybar: show hidden bar on key event 2018-10-14 13:33:12 +01:00
layers.h Update for swaywm/wlroots#1243 2018-09-14 19:21:44 +02:00
output.h Move sway-specific functions in common/util.c into sway/ 2019-01-21 12:39:16 -05:00
security.h Move get_feature_policy to sway/security.c 2017-04-16 17:09:53 +03:00
server.h Use noop output when there's no outputs connected 2019-01-22 09:55:13 +01:00
swaynag.h Remove swaynag_clone and use memcpy 2018-08-03 10:40:09 -04:00
xdg_decoration.h Improve CSD logic 2018-09-27 22:51:37 +10:00
xwayland.h Parse missing i3 window types 2018-10-21 15:59:04 +02:00