aboutsummaryrefslogtreecommitdiff
path: root/include/sway/commands.h
AgeCommit message (Collapse)Author
2018-10-08Implement popup_during_fullscreenRyan Dwyer
This introduces a new view_impl function: is_transient_for. Similar to container_has_ancestor but works using the surface parents rather than the tree. This patch modifies view_is_visible, container_at and so on to allow transient views to function normally when they're in front of a fullscreen view.
2018-10-07Shim client.background and client.placeholderDrew DeVault
These are not supported by sway, but are valid i3 commands and should not cause config errors. Also includes a couple of minor touch-ups.
2018-10-03Add configuration for raising containers on focusJonathan Buch
* New configuration option: raise_floating (From the discussion on https://github.com/i3/i3/issues/2990) * By default, it still raises the window on focus, otherwise it will raise the window on click.
2018-10-01Handle border options for gapsBrian Ashworth
Fixes `hide_edge_borders smart` when gaps are in use. Implements `hide_edge_borders smart_no_gaps` and `smart_borders on|no_gaps|off`. Since `smart_borders on` is equivalent to `hide_edge_borders smart` and `smart_borders no_gaps` is equivalent to `hide_edge_borders smart_no_gaps`, I opted to just save the last value set for `hide_edge_borders` and restore that on `smart_borders off`. This simplifies the conditions for setting the border.
2018-09-30Merge pull request #2725 from PumbaPe/add-tap-and-dragDrew DeVault
Add tap and drag to sway-input
2018-09-29add tap-and-drag setting to sway-inputPP
2018-09-29Return an error when resizing is a no opRyan Dwyer
2018-09-23Allow running commands on containers without focusing themRyan Dwyer
This adds a `con` argument to `execute_command` which allows you to specify the container to execute the command on. In most cases it leaves it as `NULL` which makes it use the focused node. We only set it when executing `for_window` criteria such as when a view maps. This means we don't send unnecessary IPC focus events, and fixes a crash when the criteria command is `move scratchpad` (because we can't give focus to a hidden scratchpad container). Each of the shell map handlers now check to see if the view has a workspace. It won't have a workspace if criteria has moved it to the scratchpad.
2018-09-19Introduce create_output command (for developer use)Ryan Dwyer
Should help with testing hotplugging.
2018-09-11Introduce tiling_drag directiveRyan Dwyer
2018-09-02Implement focus_on_window_activationRyan Dwyer
Depends on https://github.com/swaywm/wlroots/pull/1223
2018-08-18commands: add nopIan Fan
2018-08-12Implement resizing tiled containers via cursorRyan Dwyer
* The OP_RESIZE seat operation has been renamed to OP_RESIZE_FLOATING, and OP_RESIZE_TILING has been introduced. * Similar to the above, seat_begin_resize and handle_resize_motion have been renamed and tiling variants introduced. * resize.c's resize_tiled has to be used, so container_resize_tiled has been introduced in resize.c to allow external code to call it.
2018-08-03Write to swaynag pipe fd directly on config errorsBrian Ashworth
2018-07-25Add xkb_numlock/xkb_capslock commands (#2311)ProgAndy
2018-07-22Implement floating_modifier and mouse operations for floating viewsRyan Dwyer
This implements the following: * `floating_modifier` configuration directive * Drag a floating window by its title bar * Hold mod + drag a floating window from anywhere * Resize a floating view by dragging the border * Resize a floating view by holding mod and right clicking anywhere on the view * Resize a floating view and keep aspect ratio by holding shift while resizing using either method * Mouse cursor turns into resize when hovering floating border or corner
2018-07-21Implement force_display_urgency_hintRyan Dwyer
The directive sets the timeout before an urgent view becomes normal again after switching to it from another workspace. Also: * When an xwayland surface removes the urgent hint while the timer is active, we now ignore the request. This happens as soon as the view receives focus, so it was effectively making the timer pointless. * The timeout is now only applied when switching to it from another workspace.
2018-07-16Implement urgency base functionalityRyan Dwyer
Introduces a command to manually set urgency, as well as rendering of urgent views, sending the IPC event, removing urgency after focused for one second, and matching urgent views via criteria.
2018-07-14Implement tap_button_map for input devicesBrian Ashworth
2018-07-11add scroll button optionRobert Kubosz
This commit introduces a scroll_button option, which is intended to be used with scroll_method. Now user can edit his sway config and add an scroll_button option to device section.
2018-07-10Remove `clipboard` command and `get_clipboard` messageemersion
2018-07-05cmd_results_to_json: return copied string and properly free the jsonDominique Martinet
The only user of this function would copy the string right away to get rid of the const flag anyway, and freeing a const string afterwards might work but is not meant to be done according to the json-c API.
2018-06-03Refactor cmd_output to use config_subcommandBrian Ashworth
2018-06-02Address first round of review for generic blocksBrian Ashworth
2018-06-02Make command block implementation genericBrian Ashworth
2018-05-28Support i3's legacy force_focus_wrapping commandBrian Ashworth
2018-05-27Implement focus_wrappingBrian Ashworth
2018-05-26Implement swap commandBrian Ashworth
2018-05-05Implement title_formatRyan Dwyer
This implements the title_format command, with a new placeholder %shell which gets substituted with the view type (xwayland, xdg_shell_v6 or wl_shell). Example config: for_window [title=".*"] title_format %title (class=%class instance=%instance shell=%shell)
2018-04-26Add map_from_region commandemersion
2018-04-23Implement rename workspace commandRyan Dwyer
This implements the following commands: * rename workspace to new_name * rename workspace old_name to new_name * rename workspace number n to new_name
2018-04-18Make key repeat configurableRyan Dwyer
This creates two input commands for configuring the repeat delay and rate. Example config: input "myidentifier" { repeat_delay 250 repeat_rate 25 }
2018-04-10Implement cursor event simulation with sway commands.Danny Bautista
2018-04-08Add input "identifier" map_to_output "identifier"Drew DeVault
2018-04-04Implement opacity commandTony Crisci
2018-03-30Add default_orientation commandDrew DeVault
2018-03-29Add swaybg_commandDrew DeVault
2018-03-29Add bar configuration commandsDrew DeVault
2018-02-24take seat param for handle_command and renameTony Crisci
2017-12-17seat fallback configTony Crisci
2017-12-16rename config apply cmdsTony Crisci
2017-12-15xkb configTony Crisci
2017-12-14basic configurationTony Crisci
2017-12-12seat configurationTony Crisci
2017-12-11input configTony Crisci
2017-12-05Add minimal config subsystememersion
2017-11-22Add initial command subsystem (untested)Drew DeVault
Need to spin up the IPC server to test this
2017-11-18Move everything to sway/old/Drew DeVault
2017-07-01Add the 'clipboard' command to set the clipboardnyorain
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