aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2023-01-03Add missing includes & remove duplicatesCarl Smedstad
2023-01-03Remove duplicate declarationsCarl Smedstad
2022-12-22swaynag: drop swaynag_type.fontSimon Ser
It's too easy to have this go out of sync with font_description.
2022-12-09Add libinput RotationAngleLucas Zampieri
This patch adds the libinput option RotationAngle to sway. Signoff-by: Lucas Zampieri <lzampier@redhat.com>
2022-12-05Add `primary_selection` config optionAidan Dang
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>
2022-12-01sway/desktop/output: listen to output mode in commit handleSimon Zeni
2022-11-28Make session optionalSimon Ser
2022-11-26swaybar: Make hotspots block bar release bindingsJoan Bruguera
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>
2022-11-26launcher: export X startup ids and use them for workspace matchingRonan Pigott
2022-11-26launcher: export xdga tokens and use them for workspace matchingRonan Pigott
2022-11-26launcher: fudge the interface a bitRonan Pigott
We want to create a context before knowing the pid it will match with.
2022-11-26launcher: initialize launcher_ctxs once on startupRonan Pigott
2022-11-26view: associate launch contexts with viewsRonan Pigott
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.
2022-11-26launcher: rename pid_workspace to launcher_ctxRonan Pigott
Soon we will match views with more than just a pid.
2022-11-26launcher: track workspaces by nodeRonan Pigott
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.
2022-11-26root: move the workspace matching code to its own fileRonan Pigott
This removes the pid_workspace bits from tree/root before it gets too interesting. No functional change.
2022-11-15Update for wlroots!3814Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3814
2022-11-15ipc: add view content typeSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3599
2022-11-15Listen to the output request_state eventSimon Ser
References: https://github.com/swaywm/wlroots/pull/2693
2022-11-15input/seat: locally compute drag icon offsetSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3861
2022-11-11Use wlr_damage_ringKirill Primak
wlr_output_damage is to be replaced with wlr_damage_ring, so use that.
2022-10-30Support libinput's 1.21 new dwtp optionpudiva chip líquida
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
2022-10-28Rework session lock keyboard focus handlingDaniel De Graaf
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.
2022-10-23Fix keymap being NULL and segfaulting on dev addYaroslav de la Peña Smirnov
Moved `libinput_config` to the callers of `sway_input_configure_libinput_device` so that we send the event after the added event.
2022-10-14Add support for ext-idle-notify-v1Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753
2022-10-09Use keyboard_state.focused_surface directlyFerdinand Schober
2022-10-09allow pointer_constraints on layer_shell surfacesFerdinand Schober
2022-10-07sway/commands/output: Add command for unplugging non-physical outputsAndri Yngvason
2022-09-19sway: add non-desktop outputs to json when running `swaymsg -t get_outputs`Alex Maese
2022-09-19sway: Add non-desktop-output typeAlex Maese
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`
2022-07-04Remove internal references to DPMSSimon Ser
While at it, use an int for the config field, just like we do for all other fields.
2022-07-01Reuse parsed PangoFontDescriptionHugo Osvaldo Barrera
Avoids parsing the configured font each time text is rendered.
2022-07-01Reject font values that are invalid for pangoHugo Osvaldo Barrera
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
2022-06-23Rename dpms output command to powerSimon Ser
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".
2022-06-22Remove access to wlr_input_device unionSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3626 Closes: https://github.com/swaywm/sway/issues/7077
2022-06-03Refuse to start when SUID is detectedKenny Levinsen
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.
2022-05-30sway: add bindgesture commandFlorian Franzen
Co-authored-by: Michael Weiser <michael.weiser@gmx.de>
2022-05-27xdg-shell: schedule a configure on maximize requestKirill Primak
This commit reverts 03879290dbee26127f6867ef60bc2a7f9a6c8c5f and fc84bcb7fb0ffa29b1f9bed287762241a3473803.
2022-05-18realtime: request SCHED_RR using CAP_SYS_NICERouven Czerwinski
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
2022-05-11config: Remove unused mouse binding structureMichael Weiser
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>
2022-04-29Implement ext-session-lock-v1Daniel De Graaf
2022-03-17sway/input: follow up wlroots input device events renamingSimon Zeni
2022-03-15swaynag: allocate button_details with detailsNihal Jere
They are used together, so it doesn't make sense to allocate them separately.
2022-03-14swaybar: remove swaybar_output.input_regionSimon Ser
No need to keep the region around, we can immediately destroy it after the wl_surface.set_input_region request.
2022-03-12Replace pcre with pcre2ndren
Closes: https://github.com/swaywm/sway/issues/6838
2022-03-08Remove WLR_SWITCH_STATE_TOGGLE usageSimon Ser
Ref [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/4792446ee8f50104bd207d9ccd8558a7e4eb4514
2022-02-22Remove some erroneous apostrophes in commentsThomas Hebb
2022-02-07xdg-shell: use wlr_xdg_popup in sway_xdg_popupSimon Ser
Improved type safety.
2022-02-07xdg-shell: use wlr_xdg_toplevel in sway_viewSimon Ser
Improved type safety. Closes: https://github.com/swaywm/sway/issues/6813
2022-01-31xwayland: listen to `request_activate` eventTuomas Yrjölä
When REAPER submenu is closed `XCB_CLIENT_MESSAGE` with type `NET_ACTIVE_WINDOW` is sent to set focus to parent menu. Closes: https://github.com/swaywm/sway/issues/6324