Age | Commit message (Collapse) | Author |
|
Remove bad assertion in container_handle_fullscreen_reparent
|
|
The assertion could trigger when called from workspace_wrap_children.
|
|
Cleanup log_env
|
|
SWAY_CURSOR_* are not used anymore. LD_PRELOAD_PATH doesn't exist and has been
replaced with LD_PRELOAD.
|
|
Don't access xdg_surface->toplevel if xdg_surface->role is equal to
WLR_XDG_SURFACE_ROLE_NONE, since this could lead to crash. The same
checks are added for xdg_surface_v6.
Fixes #3311
|
|
Just a convenience function that improves readability of the code.
Other things worth noting:
* container_get_siblings and container_sibling_index no longer use the
const keyword
* container_handle_fullscreen_reparent is only ever called after
attaching the container to a workspace, so its con->workspace check has
been changed to an assertion
|
|
|
|
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.
|
|
Implement fullscreen global
|
|
Update for swaywm/wlroots#1503
|
|
|
|
|
|
|
|
Use sway_log_errno instead of strerror
|
|
|
|
|
|
json-c.pc contains `Cflags: -I${includedir}/json-c`, so `<json-c/json.h>`
won't be found unless the parent directory is searched by default.
|
|
Fix build failure in config.c
|
|
|
|
swaybar: fix crash with some tray icon pixmaps
|
|
Fix tray icon updates
|
|
Apparently, IconThemePath needs to be reread on NewIcon signal.
This fixes tray icon updates in electron apps with libappindicator-gtk3.
|
|
Discard pixmaps for icons where width and height are 0 or not equal.
Fixes #3487
|
|
This fixes a typo on the malloc line in ipc_send_workspace_command. The
plus one to the size for the null-terminator was outside of the malloc
call, which was causing the incorrect pointer to be freed later in the
function.
|
|
|
|
Escape quotes and backslashes, allowing switching to workspace names
like "1" (including quotes) and \
|
|
Fix dead stores found by scan-build
|
|
In addition to removing unused code, two minor problems are fixed:
(1) `resize set` and `resize adjust` did not error when given
too many arguments.
(2) `orientation` was incorrectly overridden to be 'U' for
scroll events in the swaybar tray `handle_click` function.
|
|
i3 command behaviour compatibility fixes
|
|
This removes the call to `root_scratchpad_show` from
`root_scratchpad_remove_container` and places it in the
`cmd_move_container`. This also moved the IPC `window::move` event to
`cmd_scratchpad`.
|
|
Its uses have been replaced by snprintf, which is more in line with its usage.
|
|
|
|
This also stops stickied containers from losing its sticky status when
it is tiled, allowing it to be immediately stickied when floated again.
|
|
|
|
|
|
|
|
|
|
Instead of having NULL workspace->output pointers, use a noop output.
This should be safer.
|
|
This sets the initial focus for all seats other than the first seat,
which gets it focus on launch. The ensures that all seats have something
focused.
|
|
|
|
Remove wlroots dependency for sway(bar|bg|msg|nag)
|
|
Also remove direct libm dependency where unused.
|
|
(Specifically, numlen when called with INT_MIN gave an incorrect
result, because abs(INT_MIN) == INT_MIN < 0.)
|
|
Modifier handling functions were moved into sway/input/keyboard.c;
opposite_direction for enum wlr_direction into sway/tree/output.c;
and get_parent_pid into sway/tree/root.c .
|
|
|
|
input_cmd_events: allow toggle modes to be listed
|
|
meson: set minimum systemd version
|
|
|
|
This commit mostly duplicates the wlr_log functions, although
with a sway_* prefix. (This is very similar to PR #2009.)
However, the logging function no longer needs to be replaceable,
so sway_log_init's second argument is used to set the exit
callback for sway_abort.
wlr_log_init is still invoked in sway/main.c
This commit makes it easier to remove the wlroots dependency for
the helper programs swaymsg, swaybg, swaybar, and swaynag.
|
|
sd_bus_slot_set_floating has been introduced in systemd 239.
|