aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* input/tablet: add seatop_down entry for tablet inputLibravatar Tudor Brindus2020-05-25
| | | | | | | | | | | | | | | | | | | | | | Currently, when tablet input exits a window during an implicit grab, it passes focus to another window. For instance, this is problematic when trying to drag a scrollbar, and exiting the window — the scrollbar motion stops. Additionally, without `focus_follows_mouse no`, the tablet passes focus to whatever surface it goes over regardless of if there is an active implicit. If the tablet is over a surface that does not bind tablet handlers, sway will fall back to pointer emulation, and all of this works fine. It probably should have consistent behavior between emulated and not-emulated input, though. This commit adds a condition for entering seatop_down when a tablet's tool tip goes down, and exiting when it goes up. Since events won't be routed through seatop_default, this prevents windows losing focus during implicit grabs. Closes #5302.
* common/log: use bright black rather than black for SWAY_DEBUGLibravatar Tudor Brindus2020-05-24
| | | | | | | On some terminals under default settings, black is truly rendered as `#000`, making it unreadable when the background is also black. Closes #5141.
* ipc: show marks of containers without view in treeLibravatar lbonn2020-05-22
|
* Remove code related to the security featuresLibravatar Érico Rolim2020-05-21
| | | | | | - Remove struct definitions - Remove struct members - Remove initializations and frees
* Fix typos in commentsLibravatar Martin Michlmayr2020-05-21
|
* input/pointer: only warp cursor when the confine region has changedLibravatar Tudor Brindus2020-05-21
| | | | Refs #5268.
* swaybar: add NULL check when listing workspacesLibravatar Milkey Mouse2020-05-20
| | | | | | | | | | | | For some reason my version of sway doesn't show workspace names: $ swaymsg -t get_outputs Output HDMI-A-1 '(null) (null) (null)' (inactive) Output HDMI-A-2 '(null) (null) (null)' (inactive) Which is weird, but it's no reason to crash swaybar. The field is totally missing from the JSON, so it ends up doing strcmp(NULL, name) which is undefined behavior.
* sway.5: make formatting more consistentLibravatar Martin Michlmayr2020-05-20
|
* input: fix reloading crash due to keyboard group configuringLibravatar Brian Ashworth2020-05-19
| | | | | | | | | | | | | | | | | | Keyboard group keyboards should not call sway_keyboard_configure. They do not have an input config and they derive their state from the keyboards within the group. For some reason, I got sway_keyboard_configure and seat_configure_keyboard mixed up and thought seat_reset_device called the latter. Calling sway_keyboard_configure with a keyboard group's keyboard is not supported and can cause issues. If any clients are listening to the ipc input event, a sigsegv will occur due to not every property - such as identifier - being wired up for keyboard group keyboard's. This also adds an assertion to sway_keyboard_configure to ensure that this does not occur in the future and any instances are quickly caught.
* bash completion: swaymsg accepts --version, not --verboseLibravatar Eric Engestrom2020-05-15
|
* input: reset keyboard groups keyboard on reset allLibravatar Brian Ashworth2020-05-14
| | | | | | | | | | | | | | | | | | | If the keyboard that triggers the reload binding is using the default keymap, default repeat delay, and default repeat rate, the associated keyboard group is never being destroyed on reload. This was causing the keyboard group's keyboard not to get disarmed and result in a use-after-free in handle_keyboard_repeat. If the keyboard was not using the defaults for all three settings, then it's associated keyboard would get destroyed during the reset - which did disarm the keyboard group's keyboard. In this case, the use-after-free would not occur. This adds a block to input_manager_reset_all_inputs that resets the keyboard for all keyboard groups in all seats, which will disarm them. Since the inputs are all being reset anyway, which will reset all individual keyboards, it is not necessary to be selective on which ones get reset.
* security.d: remove directoryLibravatar Érico Rolim2020-05-14
| | | | Remove the entries from meson.build as well.
* commands: Add per-view shortcuts_inhibitor commandLibravatar Michael Weiser2020-05-13
| | | | | | | | | | | | | | | | | | | | | Add a separate per-view shortcuts_inhibitor command that can be used with criteria to override the per-seat defaults. This allows to e.g. disable shortcuts inhibiting globally but enable it for specific, known-good virtualization and remote desktop software or, alternatively, to blacklist that one slightly broken piece of software that just doesn't seem to get it right but insists on trying. Add a flag to sway_view and handling logic in the input manager that respects that flag if configured but falls back to per-seat config otherwise. Add the actual command but with just enable and disable subcommands since there's no value in duplicating the per-seat activate/deactivate/toggle logic here. Split the inhibitor retrieval helper in two so we can use the backend half in the command to retrieve inhibitors for a specific surface and not just the currently focused one. Extend the manual page with documentation of the command and references to its per-seat sibling and usefulness with criteria. Signed-off-by: Michael Weiser <michael.weiser@gmx.de>
* Implement pointer simulation if client hasn't bound to touchLibravatar David962020-05-13
|
* Really fix floating window border resize problemsLibravatar Adam Kürthy2020-05-13
| | | | Fixes: https://github.com/swaywm/sway/pull/5250
* input/cursor: don't apply pointer constraint to emulated tablet inputLibravatar Tudor Brindus2020-05-13
| | | | Closes #5268.
* Simplify repaint scheduling documentationLibravatar Kenny Levinsen2020-05-11
| | | | | | | The current documentation for repaint scheduling is very technical and somewhat confusing. Closes: https://github.com/swaywm/sway/issues/4769
* Fix some mistakes in grimshot docsLibravatar Paul Ouellette2020-05-10
|
* input/tablet: simplify parameter plumbing for tablet referencesLibravatar Tudor Brindus2020-05-10
| | | | | | This is a small cleanup commit for removing `sway_tablet` parameters from functions that already accept `sway_tablet_tool`, since the tablet reference can be accessed through `tool->tablet`.
* input/keyboard: use wlr_keyboard_keymaps_match from wlrootsLibravatar Tudor Brindus2020-05-08
| | | | | Added in swaywm/wlroots#2172, so that sway doesn't need to maintain an independent copy of this function.
* grimshot: Skip creating a temp file when copyingLibravatar Hugo Osvaldo Barrera2020-05-05
|
* grimshot: Add a man pageLibravatar Hugo Osvaldo Barrera2020-05-05
|
* grimshot: Add a separate flag for notificationsLibravatar Hugo Osvaldo Barrera2020-05-05
| | | | | | | | | | | Make notifications a separate flag. Personally, I trigger grimshot myself most of the time (via sway bindsym) rather than by some external means, so I don't need to be notified of it happening. However, keep a flag with this functionality there for those scenarios there it's necessary to inform the user. Also print the file location when saving the screenshot.
* grimshot: Allow manually picking a windowLibravatar Hugo Osvaldo Barrera2020-05-05
| | | | (with slurp)
* grimshot: Show usage when on invalid commandLibravatar Hugo Osvaldo Barrera2020-05-05
| | | | | | | Show the usage output when an invalid command is received. Otherwise things like `grimshot --help` save a screenshot, which is really unexpected and hurts users trying to remember the right commands / arguments.
* grimshot: Avoid screenshots overwriting each otherLibravatar Hugo Osvaldo Barrera2020-05-05
| | | | | | | | | | Due to the date format used, if several screenshots are taken in succession, each one overwrote the other. This change set makes each one have a different name to avoid this. Also avoid using spaces, since many scripts and tools are unhappy with file names with spaces.
* grimshot: Allow configuring default directoryLibravatar Hugo Osvaldo Barrera2020-05-05
| | | | | | | | | | | | | | | | | | `$XDG_PICTURES_DIR` is a very loosely defined thing; it's a directory where "pictures" are stored, which no clearer definition. Some people use it for photographs they take, other use it for images they save from the internet, and others use it for screenshots. Having lots of tools save their output there (anything that's an image goes there) can easily make it a kitchen sink. To work around this, use `$XDG_SCREENSHOTS_DIR` as a target directory for screenshots by default. If not-so-standard variable is unset, fall back to the previous setting; `$XDG_PICTURES_DIR`. This also drops an external dependency, which was (a) an overkill (b) not flexible enough.
* Don't unhide cursor on touch eventsLibravatar David962020-05-05
| | | | | Touch events hide the cursor so unhiding it again only causes it to flicker.
* input/cursor: remove erroneous cast for tablet tool buttonLibravatar Tudor Brindus2020-05-02
| | | | | The type expected by wlroots is uint32_t, which `event->button` already is.
* input: rename pointer handlers to be unambiguousLibravatar Tudor Brindus2020-05-02
| | | | | | | This commit renames `motion` and `axis` handlers to `pointer_motion` and `pointer_axis`, respectively, to disambiguate them from their tablet (and future touch) handlers. `button` is left as-is, as it is generic across input devices.
* input: refactor tablet motion into seatop handlerLibravatar Tudor Brindus2020-05-02
| | | | | | | This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes #5232.
* input/cursor: disambiguate cursor functions from pointer functionsLibravatar Tudor Brindus2020-05-02
|
* input/cursor: make cursor rebasing cursor type-agnosticLibravatar Tudor Brindus2020-05-02
| | | | | | | | This commit refactors `cursor_rebase` into `cursor_update_image`, and moves sending pointer events to the two existing call sites. This will enable this code to be reused for tablets. Refs #5232
* Add a secondary headless backendLibravatar Simon Ser2020-05-01
| | | | This allows the create_output command to work on DRM too.
* Fix invisible cursor on startupLibravatar Simon Ser2020-05-01
|
* Don't assert the cursor theme loadsLibravatar Simon Ser2020-05-01
| | | | | If it doesn't load, it's a runtime error, so we shouldn't use an assertion.
* Add Korean README.mdLibravatar skip-yell2020-05-01
|
* input/cursor: release simulated tool tip button when over v2 surfaceLibravatar Tudor Brindus2020-05-01
| | | | | | | d88460f addressed sending v2 tool tip up when over a non-v2 surface. This commit addresses the other direction. Fixes #5230.
* input/seatop_default: properly notify pointer leaveLibravatar Nick Diego Yamane2020-05-01
| | | | | | | | | Currently, clients receive wl_data_device::leave events only when the pointer enters another surface, which leads to issues, such as #5220. This happens because wlr_seat_pointer_notify_enter() is called when handling motion events only for non-NULL surfaces. Fixes #5220
* build: improve feature summaryLibravatar Simon Ser2020-05-01
| | | | | | | Use the Meson summary() built-in instead of manually formatting a message. wlroots already depends on Meson 0.54.0.
* Fix typo in swaybar-protocol.7.scdLibravatar James Mills2020-04-30
|
* fix typos in sway-input.5.scdLibravatar jhalmen2020-04-29
|
* Correct typo in sway-output.5.scdLibravatar Ejez2020-04-29
|
* ISSUE_TEMPLATE: note debug logs should be from TTYLibravatar Brian Ashworth2020-04-29
| | | | | | | | | It is common for user to attach a debug log from the Wayland backend because they are running the command from inside of Sway. This just adds a note that the debug logs should be obtained from a TTY. Anyone who is actually using the Wayland or X11 backends and submitting an issue related to them likely is already familiar with how to obtain a debug log for the appropriate backend.
* Redirect questions to wiki/IRCLibravatar Simon Ser2020-04-29
| | | | | The issue tracker has already enough traffic with bug reports and feature requests.
* swaybar: Fix scrolling with precise trackpadsLibravatar Martin Dørum2020-04-28
|
* Add each view's shell to JSON descriptionLibravatar Thomas Hebb2020-04-27
| | | | | | | This is a criteria you can use to select windows since commit 484cc189e909 ("Add shell criteria token"), but there's no way to query it for an existing window. This exposes its value in the output of `swaymsg -t get_tree`.
* man: add note about sway-input and sway-output pagesLibravatar Simon Ser2020-04-27
|
* Add debug symbol stack trace note to ISSUE_TEMPLATE.mdLibravatar Tudor Brindus2020-04-27
|
* input/tablet: query tablet focused surface for cursor image checkLibravatar Tudor Brindus2020-04-26
| | | | | | | | `handle_tablet_tool_set_cursor` was copied from input/cursor.c's `handle_request_set_cursor`, but the focused surface check was not adjusted appropriately. Fixes #5257.