aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-01Fix fullscreen view rendering crashMack Straight
See issue #3359 for reproduction details. When a fullscreen view is unmapped and there's a preceding transaction waiting, there may be neither a saved buffer or a surface to render. This change matches the equivalent code in render_view.
2018-12-31bash: add completion for swaybarGaƫl PORTAY
2018-12-31Merge pull request #3249 from ianyfan/trayDrew DeVault
Swaybar tray
2018-12-31swaybar: use KDE's SNI IconThemePath propertyIan Fan
2018-12-31swaybar: handle new and lost StatusNotifierWatcherIan Fan
2018-12-31swaybar: draw a sad face if SNI has no iconIan Fan
2018-12-31swaybar: do not create tray if hiddenIan Fan
2018-12-31swaybar: set bar dirty on SNI eventIan Fan
2018-12-31swaybar: implement mouse events for trayIan Fan
2018-12-31swaybar: implement tray renderingIan Fan
2018-12-31swaybar: implement tray configIan Fan
2018-12-31swaybar: add StatusNotifierItem to trayIan Fan
2018-12-31swaybar: add StatusNotifierHost to trayIan Fan
2018-12-31swaybar: implement icon themes and lookup for trayIan Fan
2018-12-31swaybar: add StatusNotifierWatcher to trayIan Fan
2018-12-31swaybar: add skeleton dbus code to trayIan Fan
2018-12-31swaybar: add tray interfaceIan Fan
2018-12-31swaybar: remove old tray implementationIan Fan
2018-12-31Apply implicit fallback seat configBrian Ashworth
The implicit fallback seat config needs to be applied (if created). Otherwise, the input devices will still be removed from the implicit default seat on reload when there is any seat config.
2018-12-31Set font options when computing text width.John Chen
Fix #2869
2018-12-31swaybar: fix double freeMack Straight
status->text should not be freed here. There are two scenarios: * status->text has been set to an error by status_error. In this case the value shouldn't be freed because it's always a reference to a constant. * status->text has been set to status->buffer because the bar is in text protocol mode. In this case it's a double free because the buffer is already freed after.
2018-12-30Merge pull request #3352 from emersion/env-docsBrian Ashworth
Undocument SWAY_CURSOR_THEME and SWAY_CURSOR_SIZE
2018-12-31Undocument SWAY_CURSOR_THEME and SWAY_CURSOR_SIZEemersion
These are not yet implemented, and will be exposed as a configuration command rather than env variables when implemented. This also adds a reference to sway-input(5) in xkb env configuration. Maybe we should just un-document these instead.
2018-12-30hide_cursor: change to a seat subcommandBrian Ashworth
This makes hide_cursor a seat subcommand, which allows for seat specific timeouts.
2018-12-30Verify seat fallback settings on reloadBrian Ashworth
This fixes an issue where on reload, all input devices that were added via an implicit fallback to the default seat would be removed from the default seat and applications would crash due to the seat having no capabilities. On reload, there is a query for a seat config with the fallback setting set (it can either be true or false). If no such seat config exists, the default seat is created (if needed) and has the implicit fallback true applied to its seat config. This is the same procedure that occurs when a new input is detected.
2018-12-29Revamp seat configsBrian Ashworth
This makes seat configs work like output and input configs do. This also adds support for wildcard seat configs. A seat config is still created in the main seat command handler, but instead of creating a new one in the subcommands and destroying the main seat command's instance, the seat subcommands modify the main one. The seat config is then stored, where it is merged appropriately. The seat config returned from `store_seat_config` is then applied. When attempting to apply a wildcard seat config, a seat specific config is queried for and if found, that is used. Otherwise, the wildcard config is applied directly. Additionally, instead of adding input devices to the default seat directly when there is no seat configs, a seat config for the default seat is created with only fallback set to true, which is more explicit. It also fixes an issue where running a seat command at runtime (with no seat config in the sway config), would result in all input devices being removed from the default seat and leaving sway in an unusable state. Also, instead of checking for any seat config, the search is for a seat config with a fallback option seat. This makes it so if there are only seat configs with fallback set to -1, the default seat is still created since there is no explicit notion on what to do regarding fallbacks. However, if there is even a single fallback 0, then the default seat is not used as a fallback. This will be needed for seat subcommands like hide_cursor where the user may only want to set that property without effecting anything else.
2018-12-29sway-output(5): doc scaling consideration for posBrian Ashworth
This copies the information regarding positioning outputs when there is scaling involved from the wiki to sway-output(5).
2018-12-29Add failure reply on IPC_SYNCBrian Ashworth
Since it was decided that sway will not support IPC_SYNC, just return `{'success': false}` as a reply
2018-12-29Remove button from state on release during opBrian Ashworth
This fixes a bug in `dispatch_cursor_button` where if there was an operation occurring, the button would not be removed from the state on release. This resulted in the button appearing to be permanently pressed and caused mouse bindings to not match correctly.
2018-12-29Merge pull request #3346 from ermo/sway-bar_focused_statusline_colour-render-fixDrew DeVault
swaybar: fix focused_statusline color parsing.
2018-12-29swaybar: fix focused_statusline color parsing.Rune Morling
2018-12-28Merge pull request #3345 from RyanDwyer/fix-scratchpad-crashBrian Ashworth
Fix crash when scratchpad contains split containers
2018-12-29Fix crash when scratchpad contains split containersRyan Dwyer
To reproduce: * Launch two terminals in a workspace * `focus parent` to select both terminals * `move scratchpad` * `scratchpad show` to show the terminals * `scratchpad show` to hide the terminals * `scratchpad show` - crash When hiding the terminals, it should be moving focus to whatever is in the workspace, but this wasn't happening because the focus check didn't consider split containers. So the terminals were hidden in the scratchpad while still having focus. This confused the next invocation of scratchpad show, causing it to attempt to hide them instead of show them, and the hide-related code caused a crash when it tried to arrange the workspace which was NULL. This patch corrects the focus check.
2018-12-25added fullscreen_mode to get_tree outputNokiDev
Signed-off-by: NokiDev <noki.dev@gmail.com>
2018-12-25Split image_surface handling into own functionBrian Ashworth
2018-12-25Implement hide_cursor <timeout> commandBrian Ashworth
Allows the cursor to be hidden after a specified timeout in milliseconds
2018-12-25Change mouse buttons to x11 map and libevdev namesBrian Ashworth
This modifies the way mouse bindings are parsed. Instead of adding to BTN_LEFT, which results in button numbers that may not be expected, buttons will be parsed in one of the following ways: 1. `button[1-9]` will now map to their x11 equivalents. This is already the case for bar bindings. This adds support for binding to axis events, which was not possible in the previous approach. 2. Anything that starts with `BTN_` will be parsed as an event code name using `libevdev_event_code_from_name`. This allows for any button to be mapped to instead of limiting usage to the ones near BTN_LEFT. This also adds a dependency on libevdev, but since libevdev is already a dependency of libinput, this should be fine. If needed, this option can have dependency guards added. Binding changes: - button1: BTN_LEFT -> BTN_LEFT - button2: BTN_RIGHT -> BTN_MIDDLE - button3: BTN_MIDDLE -> BTN_RIGHT - button4: BTN_SIDE -> SWAY_SCROLL_UP - button5: BTN_EXTRA -> SWAY_SCROLL_DOWN - button6: BTN_FORWARD -> SWAY_SCROLL_LEFT - button7: BTN_BACK -> SWAY_SCROLL_RIGHT - button8: BTN_TASK -> BTN_SIDE - button9: BTN_JOYSTICK -> BTN_EXTRA Since the axis events need to be mapped to an event code, this uses the following mappings to avoid any conflicts: - SWAY_SCROLL_UP: KEY_MAX + 1 - SWAY_SCROLL_DOWN: KEY_MAX + 2 - SWAY_SCROLL_LEFT: KEY_MAX + 3 - SWAY_SCROLL_RIGHT: KEY_MAX + 4
2018-12-24sway(5): document tiling_dragBrian Ashworth
Adds documentation in sway(5) for the tiling_drag command
2018-12-23swaylock: Submit password on Ctrl-DMilkey Mouse
Ctrl-D functions as EOF in most cases on the terminal. login(1) & many other programs check the password on EOF, same as Enter. To make behavior consistent, have swaylock submit the password on Ctrl-D. This commit moves the handling for Enter into its own static function, which is now also called on Ctrl-D.
2018-12-23swaylock: Clear password buffer on Ctrl-CMilkey Mouse
I've got in the habit of using Ctrl-C with login(1) to restart password entry. If Sway does the same thing I don't have to retrain my login muscle memory ;)
2018-12-22Fix wlr_box_intersection args for wlroots 1441Brian Ashworth
The fix pushed to master missed wlr_box_intersection. This just fixes those lines so sway renders properly again
2018-12-22Fixes per wlroots#1441Drew DeVault
2018-12-22IPC_SUBSCRIBE ensure request object is an arrayAidan Harris
Fixes #3320
2018-12-20Combine output_by_name and output_by_identifierBrian Ashworth
This combines `output_by_name` and `output_by_identifier` into a single function called `output_by_name_or_id`. This allows for output identifiers to be used in all commands, simplifies the logic of the callers, and is more efficient since worst case is a single pass through the output list.
2018-12-19Terminate swaybg in output_disableBrian Ashworth
Moves the call to `terminate_swaybg` from inside `apply_output_config` to `output_disable`. The former was only called when an output was being disabled. The latter is called when an output is being disabled and when an output becomes disconnected. Without this, disconnecting an enabled output would result in a defunct swaybg process.
2018-12-18Return success when renaming a workspace to itselfRyan Dwyer
2018-12-17Merge pull request #3308 from RedSoxFan/fix-titlebar-clickDrew DeVault
Focus node before tiling drag if on titlebar
2018-12-17Focus node before tiling drag if on titlebarBrian Ashworth
Before attempting to drag a tiling container by its titlebar, focus it. This fixes clicking on titlebars to focus a container.
2018-12-17Merge pull request #3305 from emersion/isue-template-stack-traceBrian Ashworth
issue template: add instructions for stack traces
2018-12-17issue template: add instructions for stack tracesemersion