aboutsummaryrefslogtreecommitdiffstats
path: root/sway
Commit message (Collapse)AuthorAge
...
* Fixes per wlroots#1441Libravatar Drew DeVault2018-12-22
|
* IPC_SUBSCRIBE ensure request object is an arrayLibravatar Aidan Harris2018-12-22
| | | | Fixes #3320
* Combine output_by_name and output_by_identifierLibravatar Brian Ashworth2018-12-20
| | | | | | | | 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.
* Terminate swaybg in output_disableLibravatar Brian Ashworth2018-12-19
| | | | | | | | 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.
* Return success when renaming a workspace to itselfLibravatar Ryan Dwyer2018-12-18
|
* Focus node before tiling drag if on titlebarLibravatar Brian Ashworth2018-12-17
| | | | | Before attempting to drag a tiling container by its titlebar, focus it. This fixes clicking on titlebars to focus a container.
* cmd_split: add null checks in do_splitLibravatar Brian Ashworth2018-12-17
| | | | Fixes a crash when running `split` commands with the workspace focused.
* Allow output ids and wildcard for workspace outputLibravatar Brian Ashworth2018-12-17
| | | | | | | | | This allows for output identifiers and to be used in the `workspace <workspace> output <outputs...>` command. Previously, only output names would be allowed. If an output identifier was given, it would never match an output. This also allows for the wildcard character (`*`) to be specified, which can be used to generate a list of workspace names that should be used when generating new workspaces
* Allow tiling views to be dragged by the titlebarLibravatar Brian Ashworth2018-12-17
| | | | | | Enables titling views to be dragged by the titlebar. This is in addition to using the modifier and dragging them from anywhere on the container surface. Floating views already allow this behavior.
* Update for swaywm/wlroots#1377Libravatar Rostislav Pehlivanov2018-12-16
| | | | -Werror is eͫ̐ͭ҉vi͆ͦ̏ͦlͥ̀͒̊͂͛
* Fix focusing on non-visible workspaceLibravatar Brian Ashworth2018-12-14
| | | | | | My previous attempt was not quite right. Changing the focus stack on a non-visible workspace should only be blocked if the focus would be set to the workspace itself
* Rework default output configsLibravatar Brian Ashworth2018-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | Default output configs were generated on reload to reset an output to its default settings. The idea was that anything that was removed from the config or changed at runtime and not in the config should be reset on reload. Originally, they were created using the output name. Recently, they were changed to use the output identifier. It turns out that there are issues of shadowing with that solution as well. This should fix those issues. Instead of generating the default output configs on reload and storing them in the output config list to merge on top of, they are now only generated when retrieving the output config for an output during a reload. This means that the default output configs are never stored anywhere and just used as a base to merge unaltered user configs on top of during a reload. Starting with a blank output config, merges get applied in the following order: 1. Default output config (only during a reload) 2. Wildcard config (only if neither output name or output identifier exist) 3. Output name config 4. Output identifier config
* Fix criteria execution in view_mapLibravatar mwenzkowski2018-12-12
| | | | | | | | | This patch moves view_execute_criteria(view) below the fullscreen code. Previously, if a view requested to be started in fullscreen, this was done after execution of criteria and hence it was impossible to disable fullscreen via criteria. Fixes #3285
* Keep focus when destroying containers on nonvis wsLibravatar Brian Ashworth2018-12-12
| | | | | | | | | | | | | | | | Changing the focus stack when destroying a container's node on a non-visible workspace (on an non-focused output) incorrectly causes the non-visible workspace to become visible. If the workspace is empty, it will not be destroyed since it is now visible. Additionally since there was no workspace::focus event, swaybar still shows the previous workspace as focus-inactive. It also makes no sense to change visible workspaces due to a container on a non-visible workspace being destroyed. Since the focus will either be set when switching to the non-visible workspace or the workspace will be destroyed due to being empty, there is no need to change the focus stack when destroying a container on a non-visible workspace.
* Call wlr_output_enable for disabled new outputsLibravatar Brian Ashworth2018-12-10
| | | | | | When a new output is detected and it is disabled by the output config, call `wlr_output_enable(output->wlr_output, false)` to DPMS off the output.
* list.c: rename free_flat_list to list_free_items_and_destroyLibravatar Ian Fan2018-12-09
|
* Cleanup list codeLibravatar Ian Fan2018-12-09
|
* list.c: Remove list_foreachLibravatar Ian Fan2018-12-09
| | | | | Most occurrences have been replaced by `free_flat_list` which has been moved from stringop.c to list.c. The rest have been replaced by for loops.
* cmd_split: flatten when possibleLibravatar Brian Ashworth2018-12-05
|
* Fix command list executionLibravatar mwenzkowski2018-12-05
| | | | | | | | | Determine the container/workspace a command is run on, each time when a command of the command list will be run. Previously the container/workspace was determined only once at the beginning of command list execution, which led to wrong behaviour because commands wouldn't take into account when a previous command changed the focused container.
* config: do not set $XDG_CONFIG_HOME if unset or emptyLibravatar Ian Fan2018-12-03
| | | | Instead redefine the config paths to use the default $HOME/.config
* config: set $XDG_CONFIG_HOME if emptyLibravatar Ian Fan2018-12-03
| | | | | Before, it was only set if it was not set, but it should also be done when empty.
* Fix identifier output configs on reloadLibravatar Brian Ashworth2018-12-03
| | | | | | | | | | | | | | | | | | | | | | When generating default output configs to reset the outputs to their default settings on reload, the output name was being used. Additionally when determining the output config to apply, if there was an output config with the output name, that was being used without checking for an identifier config. This caused sway to completely ignore the users specified output config. To fix this issue, the following changes have been made: 1. Default output configs as created for the identifier now instead of name. This actually makes more sense anyway since you could hotplug multiple different outputs to the same port. 2. In get_output_config, which is only used to determine which output config to apply, output configs for both the name and identifier are queried. If both are found, a new output config is generated with the identifier config merged on top of the name config. If just one is found, a copy of that config is returned. This change also requires that the result from get_output_config be freed after use to prevent memory leaks, which required some minor changes to logic in apply_output_config_to_outputs.
* cmd_focus: show scratchpad if hiddenLibravatar Brian Ashworth2018-12-03
| | | | | | | If a scratchpad container is hidden, it is still focusable using criteria and should be shown. This fixes a segfault when attempting to rebase the cursor since previously the scratchpad container would not be on any output.
* Add option to bindsym/bindcode to suppress warning on overrideLibravatar Alex Maese2018-12-02
|
* fix typoLibravatar bschacht2018-12-02
| | | tranform -> transform
* Merge pull request #3227 from emersion/swap-buffers-damage-coordsLibravatar Drew DeVault2018-12-02
|\ | | | | Update for swaywm/wlroots#1403
| * Update for swaywm/wlroots#1403Libravatar emersion2018-12-01
| |
* | sway.5: Improve documentationLibravatar mwenzkowski2018-11-30
| | | | | | | | Document the optional arguments of the fullscreen command.
* | Fix the error result of the fullscreen commandLibravatar mwenzkowski2018-11-29
|/ | | | | | Changes the error result from CMD_INVALID to CMD_FAILURE, since CMD_INVALID indicates an unknown command or parser error and neither occurs where CMD_INVALID was used.
* Fix json object ipc returnLibravatar John Axel Eriksson2018-11-29
|
* Merge pull request #3216 from RedSoxFan/fix-empty-titlebarsLibravatar emersion2018-11-28
|\ | | | | Fix titlebar when no title or marks
| * Fix titlebar when no title or marksLibravatar Brian Ashworth2018-11-28
| | | | | | | | This fixes the rendering of the titlebar when there is no title or marks.
* | Fix default_orientation autoLibravatar Brian Ashworth2018-11-28
|/ | | | | | | | Since the output config is no longer applied before creating the default workspace, the layout for default workspaces on an output may not be correct. Due to the ordering of calls in output_enable being changed in several bug fix PRs, this just fixes the layout after the call to apply_output_config.
* Merge pull request #3213 from RedSoxFan/fix-3203Libravatar emersion2018-11-28
|\ | | | | Fix scratchpad segfault - NULL focused workspace
| * Fix scratchpad segfault - NULL focused workspaceLibravatar Brian Ashworth2018-11-28
| | | | | | | | | | | | | | | | When adding a container to the scratchpad, it was possible for focus to be removed from the seat. This occurred when a single child was moved from it's parent to the scratchpad due to the focus_inactive for the parent being NULL. If the focus_inactive for the parent is NULL, the focus_inactive for the workspace should be focused.
* | Merge pull request #3206 from RedSoxFan/ipc-subscribeLibravatar emersion2018-11-28
|\ \ | | | | | | Implement support for swaymsg -t SUBSCRIBE [-m]
| * | Implement support for swaymsg -t SUBSCRIBE [-m]Libravatar Brian Ashworth2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In `i3 4.16`, `i3-msg` can be used with the message type `subscribe` and has the ability to monitor for responses until killed. This adds support for both to swaymsg. If the JSON array of event types is malformed or contains an invalid event, sway will send a response with `success` set to `false`. If swaymsg sees this, it will not display the failure and exit. If the `subscribe` event is successful, swaymsg will wait for the first response and display that instead of the success message. If `-m/--monitor` is given, swaymsg will continue monitor for responses until killed or a malformed response is received. For the `subscribe` event, the responses will always be printed as JSON. If `-r/--raw` is given, the JSON will not be pretty printed, which may be preferred when monitoring due to there being multiple responses. Example: `swaymsg -t SUBSCRIBE -m "['window']"`
* | | Implement bar gapsLibravatar Brian Ashworth2018-11-28
| |/ |/| | | | | | | | | | | | | | | Adds the bar subcommand `gaps <amount>|<horizontal> <vertical>|<top> <right> <bottom> <left>` to set gaps for swaybar. Due to restrictions on margins for a layer_surface, only the sides that are anchored to an edge of the screen can have gaps. Since there is support for per-side outer gaps for workspaces, those should be able to be used instead for the last side.
* | Merge pull request #3212 from martinetd/move_floatingLibravatar Brian Ashworth2018-11-28
|\ \ | | | | | | move to workspace: fix moving floating container to non-empty workspace
| * | move to workspace: fix moving floating container to non-empty workspaceLibravatar Dominique Martinet2018-11-29
| | | | | | | | | | | | | | | | | | moving a container to a non-empty workspace will find a container to move to in the destination workspace and call container_move_to_container, which must not just skip floating containers
* | | Introduce a way to show config warnings in swaynagLibravatar Brian Ashworth2018-11-28
| |/ |/| | | | | | | | | | | | | | | | | Adds the function `config_add_swaynag_warning(char *fmt, ...)` so that handlers can add warnings to the swaynag config log in a uniform way. The formatting is identical to errors and include the line number, line, and config path. This also alters the background file access warning to use the function and introduces a warning for duplicate bindings.
* | Fix segfault when destroying unmapped child viewLibravatar emersion2018-11-28
|/
* Merge pull request #3199 from emersion/handle-subsurface-destroyLibravatar Ryan Dwyer2018-11-28
|\ | | | | Handle destroyed subsurfaces
| * Damage view child when destroyedLibravatar emersion2018-11-27
| |
| * Handle destroyed subsurfacesLibravatar emersion2018-11-27
| | | | | | | | | | | | | | | | | | | | Damage subsurfaces when they are destroyed. Since subsurfaces don't have an unmap event we need to do that on destroy. We also don't want to keep a sway_view_child when the wlr_subsurface has been destroyed. Fixes https://github.com/swaywm/sway/issues/3197
* | Merge pull request #3204 from RedSoxFan/cmd-res-listLibravatar emersion2018-11-28
|\ \ | | | | | | Change execute_command to return a list of results
| * | Change execute_command to return a list of resultsLibravatar Brian Ashworth2018-11-27
| |/ | | | | | | | | | | This matches i3's behavior of returning a list of results that contain the result of each command that was executed. Additionally, the `parse_error` attribute has been added to the IPC JSON reply.
* / Do not strip quotes for cmd_modeLibravatar Brian Ashworth2018-11-28
|/ | | | | | Like with cmd_bindsym and cmd_bindcode, the quotes should not be stripped for cmd_mode. cmd_mode performs its own stripping for the mode name and the only valid subcommands are cmd_bindsym and cmd_bindcode.
* Merge pull request #3175 from emersion/rename-gtk-primary-selectionLibravatar Drew DeVault2018-11-26
|\ | | | | Update for swaywm/wlroots#1387