aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAge
...
* Update surface fractional scale on output changeLibravatar Simon Ser2023-02-20
| | | | Closes: https://github.com/swaywm/sway/issues/7464
* Introduce surface_{enter,leave}_output()Libravatar Simon Ser2023-02-10
| | | | We can centralize all output-related surface events from there.
* launcher: support external launcher tokensLibravatar Ronan Pigott2023-02-05
|
* launcher: make launcher context seat awareLibravatar Ronan Pigott2023-02-05
|
* view: make request_activate take a seatLibravatar Ronan Pigott2023-02-05
| | | | | This way we can move focus on the same seat an activation token originates from.
* ipc: add support for output eventLibravatar Simon Ser2023-02-01
| | | | | | For compatibility with i3 [1]. [1]: https://i3wm.org/docs/ipc.html#_output_event
* input/tablet: handle focusing NULL surfaceLibravatar Kirill Primak2023-01-16
| | | | | Additionally, rename the function responsible for switching focus to match its behavior better.
* swaynag: call swaynag_destroy on clean exitLibravatar Manuel Stoeckl2023-01-16
| | | | | | | | | | | And fix the fallout of the swaynag_destroy having evolved without being tested: * wl_display_disconnect was called too early * `button_close` and `swaynag.details.button_details` needed to be heap allocated, since they are added to swaynag.buttons, and all entries of swaynag.buttons are freed in swaynag_destroy * To keep things simpler, disconnect the lifetime of the 'Toggle details' button text config setting from the button itself.
* Improve tablet tool button handling.Libravatar John Chadwick2023-01-07
| | | | | | | | | | | | | | This change allows the tablet tool button to be used for floating mod resize. In addition, it attempts to ensure that tablet tool events are consistent such that tablet v2 events and pointer events will never be interleaved, and such that the tool buttons count will never fall out of sync and cause tool button emulation to break. Some of this logic is similar to what is done for tablet tool tip, but not quite identical, because of the complication that we have to deal with multiple inputs that can overlap eachother. Fixes #7036.
* Make cmd_handler.command constLibravatar Carl Smedstad2023-01-03
|
* Add missing includes & remove duplicatesLibravatar Carl Smedstad2023-01-03
|
* Remove duplicate declarationsLibravatar Carl Smedstad2023-01-03
|
* swaynag: drop swaynag_type.fontLibravatar Simon Ser2022-12-22
| | | | It's too easy to have this go out of sync with font_description.
* Add libinput RotationAngleLibravatar Lucas Zampieri2022-12-09
| | | | | | This patch adds the libinput option RotationAngle to sway. Signoff-by: Lucas Zampieri <lzampier@redhat.com>
* Add `primary_selection` config optionLibravatar Aidan Dang2022-12-05
| | | | | | | | | | | | See: https://github.com/swaywm/sway/issues/4511 Adds a bool config option `primary_selection`, which explicitly enables/disables the primary selection clipboard. Defaults to enabled. This is implemented as a launch-only option which enables or disables the creation of the `zwp_primary_selection_device_manager_v1` global. Co-authored-by: Tilde Rose <t1lde@protonmail.com>
* sway/desktop/output: listen to output mode in commit handleLibravatar Simon Zeni2022-12-01
|
* Make session optionalLibravatar Simon Ser2022-11-28
|
* swaybar: Make hotspots block bar release bindingsLibravatar Joan Bruguera2022-11-26
| | | | | | | | | | | | | | | | | | | | | | The previous commit prioritized hotspots before bar bindings for press events, which matches i3's behaviour. However, since hotspots don't need to do any processing on release events, those were not handled, and simply fell through to `bindsym --release` bar bindings (if any). This is counter-intuitive, and doesn't match i3's behaviour. Instead in case a hotspot handles the press event, it should also handle the release event, doing nothing, but blocking the event from triggering a --release bar binding. E.g., in Sway, without this commit, this config. shows a text on tray clicks: bar { # ... bindsym --release button1 exec swaynag -m I_got_the_release_event. } But the same configuration in i3 (with i3-nagbar) doesn't show the text. Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
* launcher: export X startup ids and use them for workspace matchingLibravatar Ronan Pigott2022-11-26
|
* launcher: export xdga tokens and use them for workspace matchingLibravatar Ronan Pigott2022-11-26
|
* launcher: fudge the interface a bitLibravatar Ronan Pigott2022-11-26
| | | | We want to create a context before knowing the pid it will match with.
* launcher: initialize launcher_ctxs once on startupLibravatar Ronan Pigott2022-11-26
|
* view: associate launch contexts with viewsLibravatar Ronan Pigott2022-11-26
| | | | | | | Views now maintain a reference to a launch context which, as a last resort, is populated at map time with a context associated with its pid. This opens the possibility of populating it before map via another source, e.g. xdga-tokens or configuration.
* launcher: rename pid_workspace to launcher_ctxLibravatar Ronan Pigott2022-11-26
| | | | Soon we will match views with more than just a pid.
* launcher: track workspaces by nodeLibravatar Ronan Pigott2022-11-26
| | | | | | | | | | This removes the need to rename the pid_workspaces when a workspace is renamed. It also opens the possibility of tracking other node types. Tracking containers would allow application to be placed correctly in the container tree even if the user has moved their focus elsewhere since it was launched.
* root: move the workspace matching code to its own fileLibravatar Ronan Pigott2022-11-26
| | | | | | | This removes the pid_workspace bits from tree/root before it gets too interesting. No functional change.
* Update for wlroots!3814Libravatar Simon Ser2022-11-15
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3814
* ipc: add view content typeLibravatar Simon Ser2022-11-15
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3599
* Listen to the output request_state eventLibravatar Simon Ser2022-11-15
| | | | References: https://github.com/swaywm/wlroots/pull/2693
* input/seat: locally compute drag icon offsetLibravatar Simon Ser2022-11-15
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3861
* Use wlr_damage_ringLibravatar Kirill Primak2022-11-11
| | | wlr_output_damage is to be replaced with wlr_damage_ring, so use that.
* Support libinput's 1.21 new dwtp optionLibravatar pudiva chip líquida2022-10-30
| | | | | | | | | Support the new dwtp (disable while trackpointing) option introduced in libinput 1.21, allowing users to control whether the trackpoint (like those in Thinkpads, but not only) should be disabled while using the keyboard/touchpad. See: https://gitlab.freedesktop.org/libinput/libinput/-/issues/731
* Rework session lock keyboard focus handlingLibravatar Daniel De Graaf2022-10-28
| | | | | | | When removing outputs, it is possible to end up in a situation where none of the session lock client's surfaces have keyboard focus, resulting in it not receiving keyboard events. Track the focused surface and update it as needed on surface destroy.
* Fix keymap being NULL and segfaulting on dev addLibravatar Yaroslav de la Peña Smirnov2022-10-23
| | | | | | Moved `libinput_config` to the callers of `sway_input_configure_libinput_device` so that we send the event after the added event.
* Add support for ext-idle-notify-v1Libravatar Simon Ser2022-10-14
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753
* Use keyboard_state.focused_surface directlyLibravatar Ferdinand Schober2022-10-09
|
* allow pointer_constraints on layer_shell surfacesLibravatar Ferdinand Schober2022-10-09
|
* sway/commands/output: Add command for unplugging non-physical outputsLibravatar Andri Yngvason2022-10-07
|
* sway: add non-desktop outputs to json when running `swaymsg -t get_outputs`Libravatar Alex Maese2022-09-19
|
* sway: Add non-desktop-output typeLibravatar Alex Maese2022-09-19
| | | | | | | | | | Currently, when encountering a non-desktop display, sway offers the output for leasing and returns without storing it in a sway specific output type like `struct sway_output`. Additionally, running `swaymsg -t get_outputs` doesn't show non-desktop outputs. This commit stores the non-desktop outputs into a struct called `sway_output_non_desktop`, and adds them to a list on `sway_root`
* Remove internal references to DPMSLibravatar Simon Ser2022-07-04
| | | | | While at it, use an int for the config field, just like we do for all other fields.
* Reuse parsed PangoFontDescriptionLibravatar Hugo Osvaldo Barrera2022-07-01
| | | | Avoids parsing the configured font each time text is rendered.
* Reject font values that are invalid for pangoLibravatar Hugo Osvaldo Barrera2022-07-01
| | | | | | | | | Use pango to parse font configuration early, and reject the command as invalid if the value is invalid for pango. Since we're already parsing the font into a `PangoFontDescription`, keep that instance around and avoid re-parsing the font each time we render text. Fixes: https://github.com/swaywm/sway/issues/6805
* Rename dpms output command to powerLibravatar Simon Ser2022-06-23
| | | | | | | | The "dpms" command refers to VESA Display Power Management Signaling, a deprecated standard. It's superseded by VESA DPM. Instead of tying out command name to a particular standard, use the neutral term "power".
* Remove access to wlr_input_device unionLibravatar Simon Ser2022-06-22
| | | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3626 Closes: https://github.com/swaywm/sway/issues/7077
* Refuse to start when SUID is detectedLibravatar Kenny Levinsen2022-06-03
| | | | | | | This ensures that those surprised by the deprecation of SUID operation receive an error rather than accidentally having sway run as root. This detection will be removed in a future release.
* sway: add bindgesture commandLibravatar Florian Franzen2022-05-30
| | | | Co-authored-by: Michael Weiser <michael.weiser@gmx.de>
* xdg-shell: schedule a configure on maximize requestLibravatar Kirill Primak2022-05-27
| | | | | This commit reverts 03879290dbee26127f6867ef60bc2a7f9a6c8c5f and fc84bcb7fb0ffa29b1f9bed287762241a3473803.
* realtime: request SCHED_RR using CAP_SYS_NICELibravatar Rouven Czerwinski2022-05-18
| | | | | | | | | | | | | | | | | | | | Try to gain SCHED_RR (round-robin) realtime scheduling privileges before starting the server. This requires CAP_SYS_NICE on Linux systems. We additionally register a pthread_atfork callback which resets the scheduling class back to SCHED_OTHER (the Linux system default). Due to CAP_SYS_NICE, setting RLIMIT_RTPRIO has no effect on the process as documented within man 7 sched (from Linux): Privileged (CAP_SYS_NICE) threads ignore the RLIMIT_RTPRIO limit; as with older kernels, they can make arbitrary changes to scheduling policy and priority. See getrlimit(2) for further information on RLIMIT_RTPRIO Note that this requires the sway distribution packagers to set the CAP_SYS_NICE capability on the sway binary. Supersedes #6992
* config: Remove unused mouse binding structureLibravatar Michael Weiser2022-05-11
| | | | | | | Mouse bindings are handled alongside normal bindings. Remove the unused separate data structure definition to avoid confusion. Signed-off-by: Michael Weiser <michael.weiser@gmx.de>