aboutsummaryrefslogtreecommitdiff
path: root/sway
AgeCommit message (Collapse)Author
2021-12-09Fixup headless output namesSimon Ser
We use the headless backend to create a special fallback output used when no other output is connected. However this messes up the "real" headless output names users have come to expect (e.g. currently the first headless output will be named "HEADLESS-2" instead of "HEADLESS-1"). Fix this by setting the output name with [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3395
2021-12-06output: remove surface buffer damage checkKirill Primak
A surface can have effective damage even without any buffer damage committed.
2021-11-25sway: replace noop_output by fallback_outputSimon Zeni
wlroots removed the support for the noop backend. Instead we rely on the headless backend to provide the fallback output.
2021-11-25Replace wlr_headless_backend_create_with_renderer callSimon Ser
Update for the wlroots breaking change in [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3367
2021-11-25ipc: make `bar <bar_id> mode|hidden_state` behave as documentedAleksei Bavshin
sway-bar(5) says: > For compatibility with i3, bar mode <mode> [<bar-id>] syntax is > supported along with the sway only bar <bar-id> mode <mode> syntax. while the actual behavior is that `bar_cmd_mode` ignores already selected `config->current_bar` and applies the change to all the configured bars.
2021-11-23Add 'output render_bit_depth [8|10]' commandManuel Stoeckl
This makes it possible to hint to the renderer and backends how many bits per channel the buffers that the compositor draws windows onto should have. Renderers and backends may deviate from this if they do not support the formats with higher bit depth.
2021-11-18sway: create wlr_renderer and wlr_allocatorSimon Zeni
wlroots now required the compositor to create its own wlr_renderer and wlr_allocator to initialize the wlr_output
2021-11-15container: fix surface_is_popup()Kirill Primak
2021-11-14sway: allow IPCs on proprietary driversEric Engestrom
Proprietary drivers require --unsupported-gpu to be allowed, and IPCs require no option to be passed. The only way to satisfy both is to run IPCs before checking for proprietary drivers.
2021-10-30Bump RLIMIT_NOFILESimon Ser
Wayland compositors handle many file descriptors: client connections, DMA-BUFs, sync_files, wl_data_device pipes, and so on. Bump the limit to the max. Closes: https://github.com/swaywm/sway/issues/6285
2021-10-29Add smart_gaps inverse_outer commandbR3iN
Add a subcommand for `smart_gaps` that enables outer gaps only on workspaces with exactly one visible child. Also add documentation for `smart_gaps toggle`.
2021-10-26fix cursor input for layer-shell surfacesRasmus Moorats
previously, fullscreen global containers would grab cursor input even if a shell-layer surface was on top of it related issue: https://github.com/swaywm/sway/issues/6501
2021-10-21view: add new container as a sibling of tiled viewsiikamiika
If the focused container is floating by itself, create a new container in tiling mode as a sibling of the inactive focused container instead of creating it as a sibling of everything that is in tiling mode in that workspace. This is the i3 behavior.
2021-10-21commands/focus: focus view inside containersiikamiika
seat_get_focus_inactive_floating and seat_get_focus_inactive_tiling do not always return a view, so get the previously focused view from the container with seat_get_focus_inactive_view. This is the i3 behavior.
2021-10-19xwayland: Clear wlr_xwayland_surface in handle_destroyDavid Rosca
If the destroyed xwayland view is in transaction, it won't be destroyed immediately. wlr_xwayland_surface then becomes dangling pointer. Closes #6605 Closes #5884
2021-10-19Remove --my-next-gpu-wont-be-nvidiaSimon Ser
Nvidia has historically been a bad actor in the open-source graphics ecosystem because they required a special EGLStreams code-path instead of exposing the de-facto standard GBM API. However, with their upcoming release they now support GBM as well. This is a push in the right direction for Nvidia, so there's no reason we should be more hostile to them than to any other proprietary driver. Let's remove the --my-next-gpu-wont-be-nvidia flag, and advise users to use --unsupported-gpu now. Note, proprietary Nvidia drivers are still unsupported by the Sway project (just like all other proprietary drivers).
2021-10-16Fix a couple of typosBirger Schacht
2021-10-15Handle present events with NULL timespec fieldSimon Ser
See [1]. [1]: https://github.com/swaywm/wlroots/pull/3245
2021-10-10use node_is_viewsiikamiika
2021-10-08Improve built-in touchscreen detectionJari Ronkainen
Adds detection code to handle pci-*-platform-* strings in ID_PATH References: https://github.com/swaywm/sway/issues/6590 Signed-off-by: Jari Ronkainen <ronchaine@gmail.com>
2021-10-07Fix compile after wlroots commit c3e54021f8bbf3ec1c1e5906459be0ae85f5fb8cTassilo Horn
2021-10-04idle_inhibit: Fix tree view after changes in commit 152a559eBartel Sielski
Commit 152a559e replaced the view pointer in the inhibitor struct with a pointer to the wlr_inhibitor for application inhibitors. But this was not changed in the sway_idle_inhibit_v1_application_inhibitor_for_view function. This caused a bug in the sway tree view where the application inhibitor is always "none".
2021-10-02sway-input.5.scd: Fix spelling errorsElyes HAOUAS
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
2021-10-01commands: Remove unused code after 1d3681f52135Evgeniy Khramtsov
Clang 13 reports: ../sway/commands.c:470:23: error: variable 'context' set but not used [-Werror,-Wunused-but-set-variable] enum command_context context = 0; ^ Last use of was removed in commit 1d3681f52135. Downstream PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258813
2021-10-01Chase wlr_xdg_surface breaking changesSimon Ser
See [1]. [1]: https://github.com/swaywm/wlroots/pull/3106
2021-09-28Add support for DRM panel orientationSimon Ser
References: https://github.com/swaywm/wlroots/pull/3205
2021-09-25layer-shell: fix commit handlerKirill Primak
This commit makes sure the extents are kept up-to-date, fixes not damaging the surface if its layer shell-specific state didn't change, and adds a check if the layer shell-specific state didn't change but the surface got mapped/unmapped, which could affect keyboard focus.
2021-09-24layer-shell: check `committed` bitmaskKirill Primak
This avoids infinite configure-ack_configure-commit loop.
2021-09-23layer-shell: chase wlr layer surface refactorKirill Primak
2021-09-21Revert "xdg_shell: schedule configure on maximize requests"Kirill Primak
This reverts commit 4dd46f06acc520449b980a5ea52be544cc5bfb6d, as the logic is now handled by wlroots.
2021-09-21xdg-shell: chase wlr xdg toplevel refactorKirill Primak
2021-09-20Add -Dnoscanout debug optionSimon Ser
This can help debugging direct scan-out issues, such as [1]. [1]: https://github.com/swaywm/wlroots/issues/3185
2021-09-20Drop hardcoded font metric valuesHugo Osvaldo Barrera
2021-09-20Avoid unecessary font metric calculationsHugo Osvaldo Barrera
Prior to 62d90a8e, titlebar's font height (and other related values) would change any time any titlebar's content changed, so these values were recalculated each time any titlebar's content changed (or a new titlebar was created). However, since the above was merge, these values no longer change so often and we only need to recalculate them when the configured font changes (and stop calling `config_update_font_height` each time titlebars are rendered). This commit removes all the unecessary calls to this function and avoids all those unecessary calculations. Whenever the font strays from the default value, the `font` command is called, and it calls `config_update_font_height`, which is enough to keep the value always up to date. I've also added a default value to the `font_baseline` config, since otherwise that's zero for setups that don't explicitly specify a font.
2021-09-19sway-ipc.7.scd: fix typoaajonusonline
2021-09-13Rename pango_printf to render_textSimon Ser
This avoids using the pango_ prefix, reserved for functions coming from the Pango library.
2021-09-09introduce wlr_drm_lease_v1Simon Zeni
This prevents sway from extending the desktop to i.e. VR headsets, and makes them available for DRM leasing. Non-desktop wlr_outputs will be offered through the wlr_drm_lease_v1_manager interface for client to lease.
2021-09-08view: fix child position calcKirill Primak
Previously, the position was calculated incorrectly for nested subsurfaces.
2021-09-07render: fix -Ddamage=rerenderKirill Primak
2021-09-06surface: chase wlr subsurface list/link changeKirill Primak
2021-09-05view: fix saved buffer orderKirill Primak
2021-09-04Fix overly-wide mark texturesDaniel De Graaf
The width of the texture needs to be calculated using the string that is actually displayed in the texture.
2021-09-04commands: update split none command for a047b5ee4Ronan Pigott
2021-09-03command: implement split noneRonan Pigott
2021-09-02seatop_down: End if surface is destroyed or other seatop startsSimon Plakolb
If the surface the pointer started to interact with is destroyed we also want the seatop_down to end. In case a drag is initiated we receive a call to handle_end.
2021-09-02input: Use seatop_down on layer surface clickSimon Plakolb
This solves an issue where layer-shell items would not receive a button release event when the pointer left them while being pressed. The default seatop changes focus immediately while seatop_down defers any focus changes until the pointer is released or seatop_down is destroyed.
2021-08-31Add `output modeline` commandDavid Rosca
Only works with DRM backend.
2021-08-28desktop/xwayland: restack surface upon activationTudor Brindus
This commit updates Sway for swaywm/wlroots#2915.
2021-08-27Deduplicate code for rendering titlebar textsHugo Osvaldo Barrera
The title itself and marks were being rendered by two very-similar yet different functions, and any changes made to one had to be reflected on the other. This mostly prevents such oversights from happening, and keeps makes sure we keep both consistent.
2021-08-26Use fixed titlebar heightsHugo Osvaldo Barrera
Use fixed titlebar heights. The default height is calculated based on font metrics for the configured font and current locale. Some testing with titles with emoji and CJK characters (which are substantially higher in my setup) shows that the titlebars retain their initial value, text does shift up or down, and all titlebars always remain aligned. Also drop some also now-unecessary title_height calculations. Makes also needed to be updated, since they should be positioned with the same rules.