aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-17xwayland.c handle_map(): NULL out xsurface->data() to prevent crashing.A. M. Joseph
When changing a surface from managed to unmanaged in handle_map(), the call to handle_destroy(.., view) causes the sway_xwayland_view pointed to by the untyped wlr_xwayland_surface.data field to become invalid garbage, yet the untyped wlr_xwayland_surface.data continues to point at it. In particular: view_get_*(view_from_wlr_surface(..)), even with appropriate NULL checking, will crash sway when this codepath is exercised (reliable test case: drop-down menus in Google Earth).
2019-10-16Updates per wlroots layer shell changesDrew DeVault
2019-10-16Grimshot: a helper for screenshots within swayLauri
Usage: grimshot copy|save win|screen|area [FILE] Troubleshoot: grimshot check Requirements: - `grim`: screenshot utility for wayland - `slurp`: to select an area - `swaymsg`: to read properties of current window - `wl-copy`: clipboard utility - `jq`: json uliity to parse swaymsg output - `notify-send`: to show notifications Those are needed to be installed, if unsure, run `grimshot check` Examples: `grimshot copy win` - to copy current window `grimshot save area` - to select area and save it to default file (Pictures/Grimshot-$datetime.png) `grimshot save screen ~/screenshot.png` - to save screenshot under ~/screenshot.png `grimshot` - usage `grimshot check` - verify if tools are installed
2019-10-16build: always use the project versionSimon Ser
Don't use the latest tag, always use the project version for the version string. Because of version branches, getting the version from Git can be unreliable. Closes: https://github.com/swaywm/sway/issues/4631
2019-10-16sway(5): move workspace_layout to config onlyRouven Czerwinski
According to the source files, workspace_layout is a configuration only command, move it to the correct section within the man page.
2019-10-12Update version to 1.2Drew DeVault
2019-10-11Update .github/FUNDING.ymlDrew DeVault
2019-10-09sway(5): Highlight valid values in the description of tiling_dragWieland Hoffmann
2019-10-09sway(5): Add a missing verbWieland Hoffmann
2019-10-08build: bump wlroots version to 0.8.1Simon Ser
2019-10-02build: remove rootston from wlroots subprojectTadeo Kondrak
Fixes an invalid option warning from Meson.
2019-10-02Fix syntax in examples in sway-output(5)Arkadiusz Hiler
Some examples use comma to separate x and y for setting the output position which is wrong. Let's change it to spaces, as correctly demonstrated in the `output <name> position|pos <X> <Y>` section.
2019-09-29layer-shell: Fix damage tracking of nested popupsSebastian Krzyszkowiak
Popups are positioned relative to local surface coordinates of the parent surface. There's no need to consider values set with xdg_surface.set_window_geometry for parent surfaces.
2019-09-26Fix direct scan-out flickeringSimon Ser
Sometimes when using direct scan-out, some flickering between the fullscreen app and the regular desktop could be seen. This happened because we called wlr_output_attach_render and then wlr_output_attach_buffer for direct scan-out. wlr_output_attach_render makes the OpenGL context current but also attaches the OpenGL buffer to the primary plane apparently (all of this happens inside eglMakeCurrent). This patch moves the scan-out logic outside of output_render, before wlr_output_attach_render. This lines it up with rootston's implementation. This also makes more sense since no rendering is involved when using direct scan-out. Sorry about that, I should've tested this with more clients. The new code has been tested with mpv and a GLFW demo.
2019-09-25input: Add support for tablet protocol.John Chadwick
Sway has basic support for drawing tablets, but does not expose properties such as pressure sensitivity. This implements the wlr tablet v2 protocol, providing tablet events to Wayland clients.
2019-09-25Add support for fullscreen view direct scan-outSimon Ser
2019-09-25config.in: set default term to alacrittyDrew DeVault
2019-09-23build: update wlroots version, be more strictSimon Ser
wlroots versions are incompatible with each other. Often our users struggle with figuring out that their wlroots version is too old after a new release. Use a more strict version check to prevent building sway with incompatible wlroots versions.
2019-09-22view: create container before selecting workspaceRonan Pigott
2019-09-22Error out on unknown debug flagSimon Ser
Otehrwise it's pretty easy to misremember a flag and think damage=rerender is enabled when it's not.
2019-09-20view: always populate pidBrian Ashworth
If the view was mapped as fullscreen or the view was assigned either a workspace or output, the pid was not being populated since it was occurring as part of the pid mapping check in select_workspace. This extracts the pid population and makes it so it is always executed
2019-09-20swaybar: make status block text render in the same way as othersxdavidwu
Other components like workspace button, status line (error or plain text) already render text at integer coords. This make status block also render text at integer coords.
2019-09-19render: set surface as sampled for presentationIvan Molodetskikh
2019-09-12swaymsg.1: fix typosMartin Michlmayr
2019-09-11sway-output.5: fix variable nameMartin Michlmayr
__foo__ is verbatim in scdoc, but we want the variable foo in italic, i.e. _foo_.
2019-09-10swaymsg.1: fix description of --prettyMartin Michlmayr
2019-09-09Add Russian translation of the READMEIvan Molodetskikh
2019-09-07remove unused layer shell surface variableAleksis
2019-09-05sway.5: clarify that a marks are unqiueBrian Ashworth
This just clarifies that a mark can only be set for a single window since they are used as unique identifiers
2019-09-05Fix type (an -> and)Nils ANDRÉ-CHANG
2019-09-05Do not search for edges on subsurfaces, fix #4381Versus Void
Subsurfaces (in most cases popups) aren't decorated by sway and will never have any borders, but may be drawn beyond container boundaries producing false positive when searching for edge. So we want to skip edge search when handling mouse event on subsurface.
2019-09-04swaybar: complete barconfig_update event handlingBrian Ashworth
This adds complete support for the barconfig_update ipc event. This also changes the bar command and subcommand handlers to correctly emit the event. This makes it so all bar subcommands other than id and swaybar_command are dynamically changeable at runtime. sway-bar.5 has been updated accordingly
2019-09-04seatop_default: only focus container on pressBrian Ashworth
This matches i3's behavior of only focusing a container when pressed. This allows for `bindsym button1 nop`, `bindsym BTN_LEFT nop`, or `bindcode 272 nop` to be used to disable focusing when clicking on the title (or with additional flags to bind{code,sym} other portions of the container). Without this additional condition, the user would need both `bindsym button1 nop` and `bindsym --release button1 nop` to override both the pressed and released behavior.
2019-09-04Add icon_theme_path to find_icon() search if setBen Brown
find_icon() will search in theme appropriate subdirs.
2019-09-03Fix bar_state_update docsxPMo
2019-09-02Fix typo for the force/immediate option in xwayland_mode enumBen Brown
2019-09-02man: document how to specify multiple xkb layouts and optionsSimon Ser
This isn't described in xkeyboard-config(7).
2019-09-01layer-shell: don't give focus to unmapped layer surfacesSimon Ser
Focused layers are not cleared when destroyed, they are cleared on unmap. Giving focus to an unmapped layer surface is (1) incorrect and (2) triggers a use-after-free. Closes: https://github.com/swaywm/sway/issues/4517
2019-09-01Ensure that seat->focused_layer is cleared on unmapKenny Levinsen
The current seat may have changed between the last focus change and this unmap, so we need to scan through all seats to find our layer.
2019-08-31seat: set cursor image only if no pointer cap previouslyxdavidwu
This make seat_update_capabilities set cursor image only if there was no pointer cap before update. This avoid resetting cursor to left_ptr if an input device is removed.
2019-08-31seat: avoid unneeded reloading xcursor themexdavidwu
Load xcursor theme on configuring pointer or tablet tool only if there was no pointer cap before.
2019-08-31Fix markup syntax in man pagesMartin Michlmayr
2019-08-27cmd_mode: don't reset to default after subcommandBrian Ashworth
In cmd_mode, the mode is currently being reset to the default mode after a mode subcommand handler is executed. This stores and restores the mode instead
2019-08-27chmod +x contrib/_incr_versionDrew DeVault
2019-08-27Add _incr_version to contrib/Drew DeVault
2019-08-27A layer-shell will only be focused if it is non-nullasdfjkluiop
2019-08-25Fix formatting for title_format in man 5 swayMichael Aquilina
Use explicit linebreaks to make scdoc use a separate line for each entry listed
2019-08-24Update titlebar borders to match i3's current behavior.Dark
2019-08-23cmd_move: fix move to scratchpad hidden containerBrian Ashworth
When moving to a scratchpad hidden container (using `move [window|container] [to] mark <mark>`), this moves the container to the scratchpad (equivalent to `move [window|container] [to] scratchpad`). Previously, this would crash since the destination did not have a workspace.
2019-08-22ipc: collapse multi-container command resultsLaurent Bonnans
Match i3's behavior and only return one status response per command, even if it applies to several nodes. Also returns an error if the criteria returns an empty match. Closes #4483