aboutsummaryrefslogtreecommitdiff
path: root/sway/commands.c
AgeCommit message (Collapse)Author
2018-05-11Overhaul criteria implementationRyan Dwyer
The criteria struct now uses properties for each token type rather than the list_t list of tokens. The reason for this is that different token types have different data types: pcre, string and number to name a few. This solution should be more flexible moving forward. A bonus of this is that criteria is now easier to understand when looking at the struct definition. The criteria parser has been rewritten because the previous one didn't support valueless pairs (eg. [class="foo" floating]). Criteria now has types. Types at the moment are CT_COMMAND, CT_ASSIGN_WORKSPACE and CT_ASSIGN_OUTPUT. i3 uses types as well. Previously the assign command was creating a criteria with 'move to workspace <name>' as its command, but this caused the window to appear briefly on the focused workspace before being moved to the assigned workspace. It now creates the view directly in the assigned workspace. Each view will only execute a given criteria once. This is achieved by storing a list of executed criteria in the view. This is the same strategy used by i3. Escaping now works properly. Previously you could do things like [class="Fire\"fox"] and the stored value would be 'Fire\"fox', but it should be (and now is) 'Fire"fox'. The public functions in criteria.c are now all prefixed with criteria_. Xwayland views now listen to the set_title, set_class and set_window_type events and criteria will be run when these happen. XDG shell has none of these events so it continues to update the title in handle_commit. Each view type's get_prop function has been split into get_string_prop and get_int_prop because some properties like the X11 window ID and window type are numeric. The following new criteria tokens are now supported: * id (X11 window ID) * instance * tiling * workspace
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-05-03Fix alphabetization of command listDrew DeVault
2018-05-03Render titlesRyan Dwyer
2018-05-01Fix alphabetization of commands arrayDrew DeVault
2018-05-01Implement bordersRyan Dwyer
Implements rendering of borders. Title text is still to do. Implements the following configuration directives: * client.focused * client.focused_inactive * client.unfocused * client.urgent * border * default_border
2018-04-26Add map_from_region commandemersion
2018-04-24Implement criteria commandsRyan Dwyer
Implements the following commands: * for_window [...] <cmdlist> * assign [...] <workspace>
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-19Merge branch 'master' into fullscreenDrew DeVault
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-16Implement fullscreen.Ryan Dwyer
2018-04-13Fix gcc string truncation warningsDominique Martinet
2018-04-10Implement cursor event simulation with sway commands.Danny Bautista
2018-04-08Add input "identifier" map_to_output "identifier"Drew DeVault
2018-04-08Add workspace_auto_back_and_forth commanddb
This is the only missing piece - other code regarding this functionality has already been ported from pre-wlroots source.
2018-04-05Implement resize commandDrew DeVault
2018-04-04Implement opacity commandTony Crisci
2018-04-02Merge branch 'wlroots' into split-containersTony Crisci
2018-04-02Merge branch 'wlroots' into split-containersTony Crisci
2018-04-02Merge branch 'wlroots' into seat-fixesTony Crisci
2018-04-0280colTony Crisci
2018-04-02Partially implement move commandDrew DeVault
Works: - move [container|window] to workspace <name> - Note, this should be able to move C_CONTAINER but this is untested - move [workspace] to output [left|right|up|down|<name>] Not implemented yet: - move [left|right|up|down] - move scratchpad - move position
2018-04-02rename input-manager functionsTony Crisci
2018-04-02rename seat functionsTony Crisci
2018-03-31basic split containersTony Crisci
2018-03-31Implement focus_follows_mouseDrew DeVault
Also contains two other small changes: - Clicking any button will focus the container clicked (not just left) - Remove seamless_mouse (doesn't make sense on wlroots)
2018-03-31Implement mouse warpingDrew DeVault
2018-03-30Add default_orientation commandDrew DeVault
2018-03-29Implement modesDrew DeVault
2018-03-29Add swaybg_commandDrew DeVault
2018-03-29Add bar configuration commandsDrew DeVault
2018-02-24add config handlersTony Crisci
2018-02-24separate config directives and commandsTony Crisci
2018-02-24take seat param for handle_command and renameTony Crisci
2018-02-22basic layout commandTony Crisci
2018-02-14basic focus (without direction)Tony Crisci
2018-02-07separate seat get focus and seat get focus inactiveTony Crisci
2018-02-04basic focus overhaulTony Crisci
2018-01-30Implement workspacesDrew DeVault
2018-01-22commands: add 'reload' commandDominique Martinet
2018-01-21criteria cleanupTony Crisci
2018-01-21run all commands with focused container contextTony Crisci
2018-01-20basic command criteriaTony Crisci
2018-01-20add kill commandTony Crisci
2018-01-20seat config handler contextTony Crisci
2018-01-20input config handler contextTony Crisci
2018-01-05sway: change all sway_log to wlr_logDominique Martinet
2018-01-05config: add 'set' commandDominique Martinet
2018-01-05fix typos in comments/messages; add shutting down messageDominique Martinet