aboutsummaryrefslogtreecommitdiff
path: root/sway/commands.c
AgeCommit message (Collapse)Author
2017-06-07Implement Tray IconsCalvin Lee
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
2017-06-06FreeBSD fixesjohalun
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).
2017-04-29Support specifying fewer than 5 colorsDrew DeVault
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.
2017-04-26Implement no_focusDrew DeVault
Ref #2
2017-04-16Disambiguate get_*_policy() and get_*_policy_mask()Jerzi Kaminsky
2017-04-05Improve criteria handlingCalvin Lee
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.
2017-04-03Impliment i3-style marksCalvin Lee
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
2017-03-13Merge branch 'master' of git://github.com/SirCmpwn/sway into new-command-aliasesZandr Martin
2017-03-10UnGNUify the codebaseDrew DeVault
2017-03-09deprecate new_window and new_float commandsZandr Martin
2017-02-20Add * policies and fix bugDrew DeVault
2016-12-15Handle allocation failures in security codeDrew DeVault
Note that such errors are generally going to be fatal
2016-12-15Handle some more memory allocation failuresDrew DeVault
2016-12-15Handle allocation failure in commandsDrew DeVault
2016-12-03Disallow everything by defaultDrew DeVault
And update config.d/security to configure sane defaults
2016-12-02Add ipc connection feature policy controlsDrew DeVault
2016-12-02Add IPC security policy command handlersDrew DeVault
2016-12-02Enforce command policiesDrew DeVault
2016-12-02Add support for command policies in config fileDrew DeVault
2016-12-01Implement permit and reject commandsDrew DeVault
2016-11-02change bar colors from char[10] to *charD.B
This commit removes has_* booleans from bar color struct. It also generalizes of functions in commands/bar/colors.c.
2016-11-02add bar colours for focused_(workspace|statusline|separator)D.B
If these aren't defined in config, color settings without 'focused_' prefix are used as a fallback.
2016-10-25Add left_handed support for input devicesMichał Winiarski
Some users may want to switch buttons on their input devices, turns out libinput already supports it. Let's add a support for it in our config. Signed-off-by: Michał Winiarski <knr@hardline.pl>
2016-10-08reorder cmd_handler arrays for bsearchD.B
2016-10-07add force_focus_wrapping optionD.B
2016-09-07squash commits, move enum into resize.cZandr Martin
2016-09-02Merge branch 'master' of git://github.com/SirCmpwn/sway into commands-refactorZandr Martin
2016-09-01refactor commands.cZandr Martin
2016-09-01Reorganize includesDrew DeVault
2016-08-12Rerender after every split commandGuillaume Brogi
2016-08-07Fix container move when workspace is focusedD.B
Fixes #819. If workspace is focused and command 'move container to workspace/output' is issued, workspace child containers are wrapped in a new container and moved according to command.
2016-08-04Fix 'workspace back_and_forth' and workspace_auto_back_and_forth clashD.B
When workspace_auto_back_and_forth is enabled, workspaces get switched twice with previously mentioned command, which is not the expected behavior. Removes one redundant creation of previous workspace.
2016-08-01Merge pull request #811 from acrisci/feature/focus-containerDrew DeVault
Implement focus handling for containers
2016-07-31cache floating container size when fullscreeningZandr Martin
2016-07-31Refactor functions to update container bordersTony Crisci
Replace `update_view_border()` with `update_container_border()`. The latter should handle both the case where the container is a view or if the container has children.
2016-07-31Update container geometry on layout switchD.B
Deeply nested containers which had their layouts changed didn't update their actual_geometry, this messed up their child containers. Those got width and height of 0, which was then decreased for stacked/tabbed containers by title height. Underflow ensued, these containers suddenly had height 4294967273. In short, not updating actual_geometry didn't play nicely with nested containers.
2016-07-30implement solid color rendering for swaybgZandr Martin
2016-07-28Update hidpi support to latest wlc APIDrew DeVault
2016-07-28Initial pass on HiDPI supportDrew DeVault
2016-07-28Merge pull request #791 from acrisci/feature/focus-childDrew DeVault
Implement `focus child` command
2016-07-28Close all focused container's child views on killD.B
Previously, cmd_kill only closed a focused view, while containers were not affected. Now it closes all views that are children of the focused container.
2016-07-27Implement `focus child` commandTony Crisci
The `focus child` command focuses the child container within the selected container.
2016-07-23Put ipc command result json in an arrayTony Crisci
For compatibility with i3, put the command result into an array. Returning multiple command results is still unsupported.
2016-07-21Initial work on window eventsMykyta Holubakha
2016-07-17Add missing entry to list of accepted arguments for the move commandDavid Eklov
2016-07-17Do not crash when handling the command 'move position'David Eklov
Sway expected 'move position' to be 'move position mouse'. If mouse is not present in the command, Sway crashes.
2016-07-17Implement configurable wrapping on bar ws scrollDrew DeVault
2016-07-16refactor swayc_tabbed_stacked_parent into _ancestor and _parent and use ↵D.B
where needed
2016-07-07Fix tabbed/stacked corner case #742D.B
Tabbed/stacked containers are now created only if a view is present on the workspace. If a view is created on previously empty tabbed/stacked workspace, it gets wrapped in a container.
2016-07-03resize command updates (#713)Zandr Martin