aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* ipc_has_event_listeners: fix inverted check of subscribed_eventsLibravatar Daniel Eklöf2019-02-11
| | | | | subscribed_events is a bit mask, with each *set* bit representing an event the client has subscribed to.
* load_main_config: add realpath to config_chainLibravatar Brian Ashworth2019-02-11
| | | | | | Since `load_include_config` compares against the realpath of a config file when checking if a config has already been added, the main config's realpath has to be added to the config_chain.
* Fix close_popups for xdg-shellLibravatar emersion2019-02-11
| | | | | | wlr_xdg_popup_destroy will destroy popups, so we need to walk the tree carefully. It's enough to just destroy all direct children, since destroying the parent will also destroy all children.
* output_cmd_background: fix no file + valid modeLibravatar Brian Ashworth2019-02-11
| | | | | | | | | | | | | If output_cmd_background is given a valid mode as the first argument, then there is no file given and an error should be returned. join_args should not be called with an argc of zero since it sets the last character to the null terminator. With an argc of zero, the length is zero causing a heap buffer overflow when setting the byte before the start of argv to '\0'. This probably will not ever generate a segfault, but may cause data corruption to whatever is directly before it in memory. To make other such cases easier to detect, this also adds a sway_assert in join_args when argc is zero.
* Initialize server so input manager is available.Libravatar Connor E2019-02-11
|
* If validating the config, do it as early as possible.Libravatar Connor E2019-02-11
|
* cmd_workspace_gaps: fix double free on bad amountLibravatar Brian Ashworth2019-02-11
| | | | | | | | This fixes a double free in cmd_workspace_gaps when the amount given is invalid. The end pointer from strtol is part of the argument and should not be freed. Freeing the end pointer could result in a double free or bad free depending on whether or not the end pointer was at the start of the argument
* Set version in project fileLibravatar Michael Vetter2019-02-11
| | | | | | | | Let's set the version in the meson file instead of declaring it outside. In case git is installed we use the git hash as version. Instead it isn't (like on a clean build system), let's use the version defined in the project.
* IPC_COMMAND: split on newlineLibravatar Brian Ashworth2019-02-11
| | | | | This splits commands given in IPC_COMMAND on newline to match i3's behavior.
* Fix quote strippingLibravatar emersion2019-02-11
| | | | Let's not use !strcmp(…) anymore.
* execute_command: dont strip quotes for exec_alwaysLibravatar Brian Ashworth2019-02-11
| | | | | | | This removes quote stripping for `exec_always` in `execute_command`. Since `exec_always` commands will be deferred in the config and processed by `execute_command`, the quotes need to be left intact like they are for `exec`.
* swaynag: remove trailing newlines in configLibravatar Brian Ashworth2019-02-11
| | | | | Now that swaynag uses getline (instead of the old readline), the trailing newline characters have to be removed when reading the config
* load_include_configs: fix wordexp fail conditionLibravatar Brian Ashworth2019-02-11
| | | | | | | This fixes the failure condition for the wordexp call in load_include_configs. The only success value is zero. Since the error codes are positive, having the check be less than zero was causing segfaults on failure when accessing the words.
* seat_cmd_cursor: do not create non-existing seatLibravatar Brian Ashworth2019-02-11
| | | | | | | | If a seat does not exist in seat_cmd_cursor, do not create it. A seat without any attachments is useless since it will have no capabilities. This changes `input_manager_get_seat` to have an additional argument that dictates whether or not to create the seat if it does not exist.
* Focus ws inactive node with focus_follows_mouseLibravatar vilhalmer2019-02-11
|
* Merge pull request #3563 from ↵Libravatar Brian Ashworth2019-02-11
| | | | | vilhalmer/fix-wildcard-seat-constrain-crashes-during-reconfig Fix wildcard seat constrain crashes during reconfig
* Merge pull request #3551 from c-edw/RevertDoubleFrees1.0-rc1Libravatar Drew DeVault2019-02-03
|\ | | | | Revert double frees.
| * Revert "More frees."Libravatar Connor E2019-02-01
| | | | | | | | This reverts commit eda1bf769f239a9e8d5a9907255a330e3113a649.
| * Revert "Add some missing frees."Libravatar Connor E2019-02-01
| | | | | | | | This reverts commit b5d95f264d5b08f6228e05be680ee36fc06ca6d6.
* | Merge pull request #3554 from RedSoxFan/seat-current-aliasLibravatar Drew DeVault2019-02-03
|\ \ | | | | | | cmd_seat: allow - to be used as alias for current
| * | cmd_seat: allow - to be used as alias for currentLibravatar Brian Ashworth2019-02-02
|/ / | | | | | | | | | | This allows for `-` (hyphen) to be used as an alias for the current seat while sway is running. This alias was chosen since it is unlikely to interfere with any desirable seat identifier
* | seat_cmd_attach: defer while readingLibravatar Brian Ashworth2019-02-03
| | | | | | | | | | Since the seats and inputs are not yet available while the config is being read, defer seat attachment requests
* | Fix #3445: swaybar tray inerited thems not processedLibravatar Stefan Schick2019-02-01
|/
* Merge pull request #3543 from emersion/relative-pointer-usecLibravatar Drew DeVault2019-02-01
|\ | | | | relative-pointer-v1: time is in usec, not msec
| * relative-pointer-v1: time is in usec, not msecLibravatar emersion2019-01-30
| |
* | Merge pull request #3550 from RedSoxFan/seat-pointer-constraintLibravatar Drew DeVault2019-02-01
|\ \ | | | | | | pointer_constraint: change to a seat subcommand
| * | pointer_constraint: change to a seat subcommandLibravatar Brian Ashworth2019-01-31
|/ / | | | | | | | | | | | | | | | | | | | | | | This changes the `pointer_constraint` command to be a subcommand of seat to allow for per-seat settings. The current implementation that is not a seat subcommand will only operate on the current seat and will segfault in the config due to `config->handler_context.seat` only being set at runtime. This also allows for the wildcard identifier to be used to alter the pointer constraint settings on all seats and allows for the setting to be merged with the rest of the seat config.
* | Rebase #1636 against current masterLibravatar v44r2019-01-31
| |
* | readme: scdoc 1.8.1 is now requiredLibravatar emersion2019-01-31
| |
* | Updates for scdoc 1.8.1Libravatar Drew DeVault2019-01-31
| |
* | Add details on `--whole-window` for bindsymLibravatar Ashkan Kiani2019-01-30
|/ | | | | | | | | Updates sway.5 to include information on the usage of the `--whole-window` option in the context of the `bindsym` command, which modifies mouse bindings to allow them to operate over the whole window instead of just the titlebar. Also includes the disclaimer about mouse bindings only working over the title bar. Also fixes the escaping of the `BTN_LEFT` and `BTN_RIGHT` key mention. Add notes on --border and --exclude-titlebar Update the flags for bindcode command.
* Send pointer frames on tool eventsLibravatar Drew DeVault2019-01-30
|
* Missed a spot in pointer constraintsLibravatar Drew DeVault2019-01-30
|
* Add pointer_constraint commandLibravatar Drew DeVault2019-01-30
|
* Add relative pointerLibravatar absrd2019-01-30
|
* Implement pointer-constraints-unstable-v1Libravatar Las2019-01-30
|
* criteria & scratchpad verify if show in another workspace (#3522)Libravatar athrungithub2019-01-30
| | | check if scratchpad is show in another workspace
* Merge pull request #3535 from RedSoxFan/cleanup-log-on-config-failureLibravatar Drew DeVault2019-01-29
|\ | | | | Cleanup config reading failure error logs
| * Cleanup config reading failure error logsLibravatar Brian Ashworth2019-01-29
|/ | | | | | | | | | | | | | This cleans up the log when sway fails to read a config file. The following changes have been made: - A missing error message has been added to the log when the config file is a directory instead of a regular file - In main, `goto` statements have been added after the `sway_terminate` calls instead of wrapping every block in `if (!terminate_request)` - Unnecessary NULL-checks around calls to free in `main` have been removed - Deferred command execution has been extracted to a separate function and the `Running deferred commands` log message will not be shown when there are no deferred commands.
* Document cursor moving between adjacent outputsLibravatar Peter Grayson2019-01-28
| | | | | | | | | Add a sentence to sway-output.5.scd to highlight that the cursor can only be moved between immediately adjacent outputs. References issue #3529 Signed-off-by: Peter Grayson <pete@jpgrayson.net>
* Merge pull request #3530 from RyanDwyer/fix-assertionLibravatar Drew DeVault2019-01-28
|\ | | | | Remove bad assertion in container_handle_fullscreen_reparent
| * Remove bad assertion in container_handle_fullscreen_reparentLibravatar Ryan Dwyer2019-01-29
|/ | | | The assertion could trigger when called from workspace_wrap_children.
* Merge pull request #3528 from emersion/cleanup-log-envLibravatar Drew DeVault2019-01-28
|\ | | | | Cleanup log_env
| * Cleanup log_envLibravatar emersion2019-01-28
|/ | | | | SWAY_CURSOR_* are not used anymore. LD_PRELOAD_PATH doesn't exist and has been replaced with LD_PRELOAD.
* Check xdg_surface's role before using its toplevelLibravatar mwenzkowski2019-01-28
| | | | | | | | Don't access xdg_surface->toplevel if xdg_surface->role is equal to WLR_XDG_SURFACE_ROLE_NONE, since this could lead to crash. The same checks are added for xdg_surface_v6. Fixes #3311
* Introduce container_is_scratchpad_hiddenLibravatar Ryan Dwyer2019-01-28
| | | | | | | | | | | | Just a convenience function that improves readability of the code. Other things worth noting: * container_get_siblings and container_sibling_index no longer use the const keyword * container_handle_fullscreen_reparent is only ever called after attaching the container to a workspace, so its con->workspace check has been changed to an assertion
* Add note about required scdoc version to README.Libravatar Connor E2019-01-28
|
* Center surface inside container when it's too smallLibravatar Ryan Dwyer2019-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | The goal here is to center fullscreen views when they are both too small for the output and refuse to resize to the output's dimensions. It has the side effect of also centering the view when it's too small for its container. Example clients that have this behaviour are emersion's hello-wayland and weston. It works by introducing surface_{x,y,width,height} properties to the container struct. The x and y represent layout-local coordinates where the surface will be rendered. The width and height are only used to track the surface's previous dimensions so we can detect when the client has resized it and recenter and apply damage accordingly. The new surface properties are calculated when a transaction is applied, as well as when a view resizes itself unexpectedly. The latter is done in view_update_size. This function was previously restricted to views which are floating, but can now be called for any views. For views which refuse to resize *smaller* than a particular size, such as gnome-calculator, the surface is still anchored to the top left as per the current behaviour.
* Merge pull request #3423 from RyanDwyer/fullscreen-globalLibravatar Drew DeVault2019-01-27
|\ | | | | Implement fullscreen global
| * Implement fullscreen globalLibravatar Ryan Dwyer2019-01-25
| |