summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* transactions: Amend pending transactionsLibravatar Kenny Levinsen2021-02-16
| | | | | | | | | | | | | | | | The transaction system contains a necessary optimization where a popped transaction is combined with later, similar transactions. This breaks the chronological order of states, and can lead to desynchronized geometries. To fix this, we replace the queue with only 2 transactions: current and pending. If a pending transaction exists, it is updated with new state instead of creating additional transactions. As we never have more than a single waiting transaction, we no longer need the queue optimization that is causing problems. Closes: https://github.com/swaywm/sway/issues/6012
* Align ordering of core node properties with i3Libravatar Jan Palus2021-02-15
| | | | | | | | | | Try to better mimic JSON node structure produced by i3 which might be relied on by already existing tools. In particular having "type" right after "id" is quite handy for streaming high-performance JSON parsers such as simdjson (which are handy for maintaining responsiveness on resource constrained systems). refer https://github.com/i3/i3/blob/ab2a22a78b25ad12fed2c177a34c44950795cf33/src/ipc.c#L338
* transaction: Only wait for ack from visible viewsLibravatar Kenny Levinsen2021-02-15
| | | | | | | | | | | | | Transactions currently wait for all configures to be acked, regardless fo what they were sent to. This includes views that are hidden in tabbed or stacked containers. If these views do not ack the configure in response to a single frame callback, they can cause transaction timeouts. Check if a container is hidden before registering the configure serial and saving any view buffers. Closes: https://github.com/swaywm/sway/issues/6023
* text_input: Only send surrounding_text and content_type if supportedLibravatar Tadeo Kondrak2021-02-15
|
* text_input: Ignore text_input disable from unfocused windowsLibravatar Tadeo Kondrak2021-02-15
| | | | | | | Before this commit, there would be cases where focus changes from one window to another, the new window activates text_input, then the old window sends a deactivate request, making text_input unfocused completely.
* input: Commit transactions in seatop_defaultLibravatar Kenny Levinsen2021-02-15
| | | | | This is needed for focus_follows_mouse, and was accidentally omitted in the previous transaction commit shuffle.
* input: Only commit transactions when necessaryLibravatar Kenny Levinsen2021-02-14
| | | | | | | | | | | There is no need to check for transactions at the end of every user input, as the vast majority of input will not issue transactions. This implementation can also hide where changes are made without an appropriate transaction commit, as a future unrelated input would issue the commit instead. Instead, commit transactions in places where changes are made or are likely to be made.
* readme: update French translationLibravatar Simon Ser2021-02-10
| | | | Update to latest English README and improve wording.
* view: Read geometry directly in view_update_sizeLibravatar Kenny Levinsen2021-02-09
|
* shells: Align geometry change commit handlingLibravatar Kenny Levinsen2021-02-09
| | | | | | xdg_shell and xwayland handled geometry changes differently despite needing mostly identical behavior. The xwayland implementation has been changed to match that of xdg_shell.
* shells: Only center tiled views on size changeLibravatar Kenny Levinsen2021-02-09
| | | | | | | The size of a tiled container cannot change in response to new buffer sizes, so there is no need to commit a new transaction. Instead, simply recenter the view with the new geometry, leaving the full transaction flow for floating containers.
* transaction: Move centering to view_center_surfaceLibravatar Kenny Levinsen2021-02-09
| | | | This will allow us to reuse it for centering elsewhere.
* view: Save surface x and y on saved buffersLibravatar Kenny Levinsen2021-02-09
| | | | | | | | | We need to use surface_x and surface_y when rendering and damaging saved buffers as these compensate for views that have been centered due to being smaller than their container. Add them to the surface positions on the saved buffer so we have the values from the time the buffer was saved.
* swaynag: Use position from wl_pointer.enterLibravatar Kenny Levinsen2021-02-07
| | | | | | | | | | Only wl_pointer.motion was used to update pointer position, which would cause issues if the pointer was not moved prior to wl_pointer.button. This also fixes touch input through wl_pointer emulation, which fires wl_pointer.button immediately after wl_pointer.enter. Closes: https://github.com/swaywm/sway/issues/5991
* Make command line option lists constLibravatar Manuel Stoeckl2021-02-04
|
* Make Wayland request listeners static const when possibleLibravatar Manuel Stoeckl2021-02-04
|
* Declare all struct cmd_handler arrays constLibravatar Manuel Stoeckl2021-02-04
| | | | And make the functions handling these arrays use const types.
* xdg-foreign: add v1 and v2 implementationsLibravatar Aleksei Bavshin2021-02-02
| | | | Co-authored-by: Jason Francis <cycl0ps@tuta.io>
* Check the output state for recorded workspacesLibravatar Konstantin Pospelov2021-01-30
| | | | | | | Sway records pid, workspace, and output for every new process. However, if the output gets disabled and the workspace disappears, the workspace is still re-created on the disabled output. This commit adds a check for the enabled flag, so that NULL will be passed to workspace_create() in this case.
* desktop/layer_shell: Fix allocation type mismatchLibravatar Manuel Stoeckl2021-01-30
|
* desktop/output: Disable head if mode is NULLLibravatar Kenny Levinsen2021-01-26
| | | | | | | | | | wlr_output_configuration_head_v1_create normally fills out the head "enabled" field to match the wlr_output state. We overwrite this to also set the head as enabled if it is only turned off with DPMS. However, in some cases we may not have a mode for this display, in which case setting it as enabled will lead to a segfault later on. Therefore, enabled conditional on the presence of a mode.
* Fix typo in bug reporting templateLibravatar Martin Michlmayr2021-01-26
|
* Implement foreign toplevel fullscreen output hintsLibravatar fwsmit2021-01-25
|
* Adhere to ICCCM focus specificationLibravatar BrassyPanache2021-01-20
| | | | | | | | For certain applications (e.g. JetBrains) the parent window controls input. We need to adhere to the ICCCM input focus specification to properly handle these cases. Relates to swaywm/wlroots#2604
* Log when config file is not foundLibravatar Simon Ser2021-01-17
| | | | | This happens when Sway is not installed on the system, so there's no default config in /etc.
* Raise verbosity of error message in load_main_configLibravatar Simon Ser2021-01-17
|
* Changed fprintf(stdout,...) to printf(...) for more readable codeLibravatar SpizzyCoder2021-01-16
|
* config/output: correct refresh rate rounding errorLibravatar Ronan Pigott2021-01-15
|
* swaymsg: use 3 digits for fractional part of the refresh rateLibravatar Ronan Pigott2021-01-15
| | | | | | | | The fractional part of the real number we want to represent never has more than 3 decimal digits, so use 3 decimal digits of precision. e.g. 'swaymsg -t get_outputs' would show a refresh rate of 59934 mHz as 59.933998 Hz, now correctly as 59.934 Hz.
* protocols: update layer-shell-unstable-v1 to v4Libravatar Simon Ser2021-01-12
| | | | | This is taken from wlr-protocols commit d1598e82240d ("layer-shell: add keyboard_interactivity.on_demand").
* Rename output_layer_for_each_surface_{toplevel,popup}Libravatar Simon Ser2021-01-12
| | | | Swap the "surface" part for consistency with wlroots' naming.
* Switch to wlr_xdg_surface_for_each_popup_surfaceLibravatar Simon Ser2021-01-12
| | | | | | | | Instead of calling wlr_xdg_surface_for_each_popup and then wlr_surface_for_each_surface, use the new for_each_popup_surface helper introduced in [1] that does it in one go. [1]: https://github.com/swaywm/wlroots/pull/2609
* Fix #5940Libravatar Mukundan3142021-01-11
| | | | Fallback to focused_statusline instead of statusline on focused output
* desktop/xwayland: use index constants for atom arrayLibravatar Simon Ser2021-01-08
| | | | This ensures we don't swap two atoms by mistake.
* man: update maintainerLibravatar Simon Ser2021-01-08
| | | | | Also remove the AUTHORS section from swaybar-protocol(7), for consistency with the rest of the man pages.
* readme: remove unused refLibravatar Simon Ser2021-01-08
|
* Remove call for action from WM enhancement issue templateLibravatar Simon Ser2021-01-04
| | | | | | | | | | | | i3 feature set is mostly frozen as well, so we shouldn't advise people to open feature requests there. Moreover, i3 will disregard feature requests from sway users (because it doesn't benefit the i3 project itself). There is now no good way to request new WM features, and this is by design. This aligns with [1]. [1]: https://github.com/swaywm/sway/commit/fc1148da7f9c7bfc81f29e2b8304ae4e1592d95d
* CONTRIBUTING.md: Add note on sway's scopeLibravatar Drew DeVault2021-01-04
|
* cmd_move: update container representation in sibling swapsLibravatar Ronan Pigott2021-01-04
|
* input/seat: Reset command handler context in seat_destroy()Libravatar Andri Yngvason2021-01-01
| | | | This fixes a dangling reference which causes a use-after-free.
* input/seat: Clean up focus_stack in seat_destroy()Libravatar Andri Yngvason2021-01-01
| | | | This fixes use-after-free when seat_destroy() has been called.
* input: Clean up input_method_relay in seat_destoy()Libravatar Andri Yngvason2021-01-01
| | | | | This fixes a crash that happens when input_method_new or text_method_new events are emitted after the seat has been freed.
* Remove create_renderer_func argumentLibravatar Simon Ser2020-12-30
| | | | | | It's removed upstream [1]. [1]: https://github.com/swaywm/wlroots/pull/2561
* ci: enable basu on freebsdLibravatar Jan Beich2020-12-29
|
* Remove Patreon links from README.*.mdLibravatar Drew DeVault2020-12-26
|
* Remove .github/FUNDING.ymlLibravatar Drew DeVault2020-12-26
| | | | | Since I'm no longer a maintainer of, or regular contributor to, this project, it doesn't make sense to solicit donations.
* grimshot: Fix man page issuesLibravatar William Culhane2020-12-26
| | | | | | | This fixes a few formatting errors in SYNOPSIS, moves the command options out of SYNOPSIS, swaps the labels on the SYNOPSIS and DESCRIPTION sections, creates an EXAMPLES section and slightly rewords parts of the OPTIONS, DESCRIPTION, EXAMPLES, and OUTPUT sections.
* container: set fullscreen mode before attempting focusLibravatar Ronan Pigott2020-12-24
|
* workspace: rework workspace prev|next like i3Libravatar Ronan Pigott2020-12-20
| | | | | Changes workspace prev|next commands to visit each numbered or named workspace first before considering workspace from the other category
* commands/move: reset geometry of promoted containersLibravatar Ronan Pigott2020-12-20
|