aboutsummaryrefslogtreecommitdiffstats
path: root/sway/commands
Commit message (Collapse)AuthorAge
* Use WLC v2 pointer interfaceLibravatar Scott Anderson2017-07-12
|
* fix use-after-free bugLibravatar Tobias Blass2017-07-10
|
* permit.c: check for NULL pointer dereferenceLibravatar Mykyta Holubakha2017-07-01
|
* Add the 'clipboard' command to set the clipboardLibravatar nyorain2017-07-01
|
* Implement Tray IconsLibravatar Calvin Lee2017-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements the StatusNotifierItem protocol, and enables swaybar to show tray icons. It also uses `xembedsniproxy` in order to communicate with xembed applications. The tray is completely optional, and can be disabled on compile time with the `enable-tray` option. Or on runtime with the bar config option `tray_output none`. Overview of changes: In swaybar very little is changed outside the tray subfolder except that all events are now polled in `event_loop.c`, this creates no functional difference. Six bar configuration options were added, these are detailed in sway-bar(5) The tray subfolder is where all protocol implementation takes place and is organised as follows: tray/sni_watcher.c: This file contains the StatusNotifierWatcher. It keeps track of items and hosts and reports when they come or go. tray/tray.c This file contains the StatusNotifierHost. It keeps track of sway's version of the items and represents the tray itself. tray/sni.c This file contains the StatusNotifierItem struct and all communication with individual items. tray/icon.c This file implements the icon theme protocol. It allows for finding icons by name, rather than by pixmap. tray/dbus.c This file allows for asynchronous DBus communication. See #986 #343
* FreeBSD fixesLibravatar johalun2017-06-06
| | | | | | | Increase _POSIX_SOURCE value where needed. Increase _XOPEN_SOURCE value where needed. Conditionally link to libcap (only on Linux). Possibly some trailing whitespace fixes (automatic).
* Add mouse button bindingsLibravatar Josip Janzic2017-05-04
| | | | | | | Adds support for bindings like: bindsym button3 floating toggle bindsym $mod+button3 floating toggle
* prevent crash when `layout auto` is missing argsLibravatar Zandr Martin2017-04-29
|
* Set child border to background if not specifiedLibravatar Drew DeVault2017-04-29
|
* Support specifying fewer than 5 colorsLibravatar Drew DeVault2017-04-29
| | | | | This doesn't work, I'm not sure why. The color structs definitely get changed but if you specify fewer than 5, it renders with the defaults.
* Implement no_focusLibravatar Drew DeVault2017-04-26
| | | | Ref #2
* Use i3's dimensions for initial scratchpad viewsLibravatar Vasilij Schneidermann2017-04-18
| | | | See https://github.com/i3/i3/blob/master/src/scratchpad.c#L196-L197
* Implement and document `move [to] scratchpad`Libravatar Vasilij Schneidermann2017-04-18
|
* Handle symlinks as IPC security targetsLibravatar Jerzi Kaminsky2017-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - When policies are allocated, the ipc target path goes through symlink resolution. The result is used as the canonical for matching pids to policies at runtime. In particular, this matches up with the target of the `/proc/<pid>/exe`. - There's a possible race condition if this isn't done correctly, read below. Originally, validate_ipc_target() always tried to resolve its argument for symlinks, and returned a parogram target string if it validates. This created a possible race condition with security implications. The problem is that get_feature_policy() first independently resolved the policy target in order to check whether a policy already exists. If it didn't find any, it called alloc_feature_policy() which called validate_ipc_target() which resolved the policy target again. In the time between the two checks, the symlink could be altered, and a lucky attacker could fool the program into thinking that a policy doesn't exist for a target, and then switch the symlink to point at another file. At the very least this could allow him to create two policies for the same program target, and possibly to bypass security by associating the permissions for one target with another, or force default permissions to apply to a target for which a more specific rule has been configured. So we don't that. Instead, the policy target is resolved once and that result is used for the rest of the lookup/creation process.
* Move get_feature_policy to sway/security.cLibravatar Jerzi Kaminsky2017-04-16
|
* Rename get_policy to get_feature_policyLibravatar Jerzi Kaminsky2017-04-16
|
* Add `-t get_marks` and use more i3-like marksLibravatar Calvin Lee2017-04-07
| | | | | | | | In i3 every mark is unique and one mark cannot be used in more than one window, sway behavior has been amended to match this. `swaymsg -t get_marks` will now return an array of all marks used in sway. See #98
* Improve criteria handlingLibravatar Calvin Lee2017-04-05
| | | | | | | | | | | | | | This commit changes how commands decide what container to act on. Commands get the current container though `current_container`, a global defined in sway/commands.c. If a criteria is given before a command, then the following command will be run once for every container the criteria matches with a reference to the matching container in 'current_container'. Commands should use this instead of `get_focused_container()` from now on. This commit also fixes a few (minor) mistakes made in implementing marks such as non-escaped arrows in sway(5) and calling the "mark" command "floating" by accident. It also cleans up `criteria.c` in a few places.
* Impliment i3-style marksLibravatar Calvin Lee2017-04-03
| | | | | | | | This commit adds three commands to sway: `show_marks`, `mark` and `unmark`. Marks are displayed right-aligned in the window border as i3 does. Marks may be found using criteria. Fixes #1007
* remove unnecessary todo itemLibravatar Zandr Martin2017-03-18
| | | | | | As best I can tell this todo was intended to add workspace movement to the given output with the `workspace <ws> output <op>` command, but i3 does not behave this way.
* Fix off-by-one error when checking workspace_layout argumentsLibravatar Jarkko Oranen2017-03-18
|
* Merge branch 'master' of git://github.com/SirCmpwn/sway into new-command-aliasesLibravatar Zandr Martin2017-03-13
|\
| * UnGNUify the codebaseLibravatar Drew DeVault2017-03-10
| |
* | deprecate new_window and new_float commandsLibravatar Zandr Martin2017-03-09
|/
* fix workspace output assignmentLibravatar Zandr Martin2017-03-08
|
* Fix #1099: Allow spaces in worspace namesLibravatar Calvin Lee2017-03-01
| | | | | | | | | This commit allows unquoted spaces in worspace names in order to keep compatability with i3. The names _must not_ contain the string "output" which is documented in 'sway.5' because how sway detects the `move <workspace> output <output>` command. Also I documented that "number" may be used before the worspace name without affecting how the name is evaluated.
* i3 feature support: Moving flotaing containersLibravatar Calvin Lee2017-03-01
| | | | | | | This commit lets the 'move' command apply to floating containers as well as tiled ones. The command may be appended with a number of pixels and then optionally the string `px` (like '10 px') in order to move the container more or fewer than the standard ten pixels.
* Read configs from /etc/sway/security.d/*Libravatar Drew DeVault2017-02-20
|
* Add * policies and fix bugLibravatar Drew DeVault2017-02-20
|
* Enforce new IPC policiesLibravatar Drew DeVault2017-02-20
|
* Add initial support code for new IPC securityLibravatar Drew DeVault2017-02-20
|
* replaced "bot" with "bottom" in auto layout commandsLibravatar wil2017-01-14
|
* Merge branch 'master' into masterLibravatar willakat2017-01-14
|\
| * Implement hide_edge_borders smart (like in i3 4.13)Libravatar Frantisek Fladung2017-01-12
| |
* | reworked "layout auto*" star commandsLibravatar wil2017-01-08
| | | | | | | | | | | | - "layout auto_left|auto_xxx" are now "layout auto xxx" - "layout incmaster <n>" is now "layout auto master [set|inc] <n>" - "layout incncol <n>" is now "layout auto ncol [set|inc] <n>"
* | Indent cleanupsLibravatar wil2017-01-08
| |
* | [fix] resize should now preserve surrounding container's dimensionsLibravatar wil2017-01-07
| | | | | | | | | | | | - prior to this modification, the requested pixels were added/removed to both edges of the modified container. To preserve sizes, only half the pixels should be added/removed to each edge.
* | Moved auto_* layout functions from resize.c to layout.cLibravatar wil2017-01-07
| |
* | [fix] cleanups suggested by Sway communityLibravatar wil2017-01-01
| |
* | changed "layout promote" command to "move first"Libravatar wil2017-01-01
| | | | | | | | This is more consistent with other Sway semantics.
* | [fix] cycle auto layouts backwardsLibravatar wil2016-12-31
| |
* | cleanup in auto layoutsLibravatar wil2016-12-29
| | | | | | | | | | | | - added L_AUTO_FIRST/LAST instead of using explicit layouts. - when switching between auto layout that don't share the same major axis, invert the width/height of their child views to preserve their relative proportions.
* | introduce next/prev as a direction for focus/move commands.Libravatar wil2016-12-29
| |
* | [fix] Handle auto layout resize with multiple slave groupsLibravatar wil2016-12-29
| |
* | Added "layout incnmaster|incncol" commandsLibravatar wil2016-12-29
| |
* | Handle resize in auto layoutsLibravatar wil2016-12-29
| |
* | Added Awesome/Monad type "auto" layoutsLibravatar wil2016-12-29
|/
* Change how security config is loaded0.11-rc3Libravatar Drew DeVault2016-12-17
|
* Fix indentation issuesLibravatar Drew DeVault2016-12-15
|
* Handle calloc failuresLibravatar Drew DeVault2016-12-15
|