summaryrefslogtreecommitdiffstats
path: root/sway
Commit message (Collapse)AuthorAge
* Merge branch 'master' into server-decorationLibravatar Drew DeVault2017-06-14
|\
| * Force focus on unmanaged views during pointer testLibravatar Drew DeVault2017-06-14
| |
| * Fix Firefox address bar thingLibravatar Drew DeVault2017-06-14
| | | | | | | | And probably some other stuff too
| * 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).
| * Terminate when both suid bit and filecaps are setLibravatar Mykyta Holubakha2017-05-11
| |
| * Initialise logging earlierLibravatar Mykyta Holubakha2017-05-11
| |
| * Add missing send-event mode to sway-input(5)Libravatar wdbw2017-05-06
| | | | | | Also, fix a small typo.
| * Add mouse button bindingsLibravatar Josip Janzic2017-05-04
| | | | | | | | | | | | | | Adds support for bindings like: bindsym button3 floating toggle bindsym $mod+button3 floating toggle
| * document font commandLibravatar Zandr Martin2017-05-01
| |
| * 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 KDE's server-side decoration protocolLibravatar Drew DeVault2017-04-28
|/
* Fix handling of floating windowsLibravatar Drew DeVault2017-04-26
|
* Update sway(5)Libravatar Drew DeVault2017-04-26
|
* Implement no_focusLibravatar Drew DeVault2017-04-26
| | | | Ref #2
* Add -DVERSION flag for release version numbersLibravatar Sebastian Noack2017-04-26
|
* Fix typo in sway(5)Libravatar Calvin Lee2017-04-23
|
* explicitly ignore unused return valueLibravatar Tomáš Čech2017-04-19
| | | | fixes issue#1182
* Merge pull request #1181 from wasamasa/bugfix-initial-scratchpad-size0.13-rc1Libravatar Drew DeVault2017-04-18
|\ | | | | Use i3's dimensions for initial scratchpad views
| * 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
* | Merge pull request #1178 from 4e554c4c/forkLibravatar Drew DeVault2017-04-18
|\ \ | |/ |/| Prevent sway from duplicating on a failed fork
| * Prevent sway from duplicating on a failed forkLibravatar Calvin Lee2017-04-18
| | | | | | | | Also remove a useless `sway_log` and replace it with a pipe
* | 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.
* Add validate_ipc_target()Libravatar Jerzi Kaminsky2017-04-16
|
* Move get_feature_policy to sway/security.cLibravatar Jerzi Kaminsky2017-04-16
|
* Rename get_policy to get_feature_policyLibravatar Jerzi Kaminsky2017-04-16
|
* Disambiguate get_*_policy() and get_*_policy_mask()Libravatar Jerzi Kaminsky2017-04-16
|
* Fix style in sway-bar(5) manpageLibravatar Jerzi Kaminsky2017-04-14
|
* Remain compat with libinput < 1.7.0Libravatar Jerzi Kaminsky2017-04-14
|
* Implement more thourough nvidia config checkLibravatar Drew DeVault2017-04-12
|
* Downgrade nvidia proprietary driver warningLibravatar Drew DeVault2017-04-12
|
* Merge branch 'master' into pretty-print-swaymsgLibravatar Drew DeVault2017-04-10
|\
| * Merge pull request #1150 from JerziKaminsky/cmake_find_libcapLibravatar Drew DeVault2017-04-08
| |\ | | | | | | Add libcap check to CMake
| | * Add libcap check to CMakeLibravatar JerziKaminsky2017-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Moved ``<sys/capability.h>`` include inside `__linux__` guard, because all uses are similarly guarded. - <sys/capability.h> is part of an optional devel package, at least in fedora. CMake now explicitly checks that libcap devel files are available. - Added libcap to the list of install packages in .travis.yml, to make the dependency explicit. travis-ci installs the package by default, which is why this hasn't surfaced previously.
| * | 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
| * | Removed explicitly setting file descriptors to -1Libravatar Scott Anderson2017-04-08
| | |
| * | Fix dangling file descriptors (fixes #1152)Libravatar Drew DeVault2017-04-07
| |/
| * Added designated initaliser, to prevent any possible problem withLibravatar Scott Anderson2017-04-07
| | | | | | | | ordering
| * Changed regular expressions to use PCRE for i3 compatibilityLibravatar Scott Anderson2017-04-07
| |
| * 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
| * Update man pageLibravatar Drew DeVault2017-04-03
| |
* | Add pretty printing to swaymsgLibravatar Drew DeVault2017-04-03
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If stdout is a tty, it will pretty print unless -r (--raw) is given. Sample outputs: ``` ~/s/s/build > ./bin/swaymsg fullscreen toggle Error: Permission denied for fullscreen toggle via IPC ~/s/s/build > ./bin/swaymsg -t get_workspaces Workspace 3:三 Output: DVI-I-1 Layout: splith Workspace 1:一 (off-screen) Output: HDMI-A-1 Layout: splith Workspace 5:五 (focused) Output: HDMI-A-1 Layout: splith ~/s/s/build > ./bin/swaymsg -t get_inputs Input device Metadot - Das Keyboard Das Keyboard Type: Keyboard Sway ID: 9456:320:Metadot_-_Das_Keyboard_Das_Keyb Input device Wacom Intuos S 2 Pen Type: Tablet tool Sway ID: 1386:827:Wacom_Intuos_S_2 Input device Wacom Intuos S 2 Pad Type: Tablet pad Sway ID: 1386:827:Wacom_Intuos_S_2 Input device Logitech Gaming Mouse G502 Type: Keyboard, Mouse Sway ID: 1133:49277:Logitech_Gaming_Mous ~/s/s/build > ./bin/swaymsg -t get_outputs Output DVI-I-1 Geometry: 1920x1080 @ 3840,0 Scale factor: 1x Workspace: 3:三 Output DVI-D-1 Geometry: 1920x1080 @ 0,0 Scale factor: 1x Workspace: 4:四 Output HDMI-A-1 Geometry: 1920x1080 @ 1920,0 Scale factor: 1x Workspace: 5:五 ```
* Prevent "move next" and "move prev" commands from crashingLibravatar Jarkko Oranen2017-03-19
| | | | | | | | | | | | | | | | | | | Fixes #1120 When the parent of a view is C_WORKSPACE and the movement direction is either MOVE_PREV or MOVE_NEXT, the code would attempt to move the views to the next output, but swayc_adjacent_output can't accept non-directional movement commands and causes undefined behaviour and a segfault. If the code is simply skipped, we end up in an infinite loop. Instead, we can allow containers whose parent is a C_WORKSPACE take the path that handles MOVE_PREV and MOVE_NEXT, which behaves as you would expect. I'm not certain that this fix is entirely correct as the desired behaviour of move_container is not very well defined, but it seems to work.
* The default layout of a workspace should follow the outputLibravatar Jarkko Oranen2017-03-19
| | | | | | Hardcoding it to L_HORIZ does not make sense to me, as you get the unexpected behaviour that windows will be arranged horizontally until you switch the layout.
* prevent fullscreen focus thieveryLibravatar Zandr Martin2017-03-18
| | | | I believe this fixes #1102
* 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.