aboutsummaryrefslogtreecommitdiff
path: root/sway/commands.c
AgeCommit message (Collapse)Author
2018-07-23Implement scratchpadRyan Dwyer
Implements the following commands: * move scratchpad * scratchpad show * [criteria] scratchpad show Also fixes these: * Fix memory leak when executing command with criteria (use `list_free(views)` instead of `free(views)`) * Fix crash when running `move to` with no further arguments
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-19Defer the focus commandsRyan Dwyer
2018-07-17Implement default_floating_border command and adjust CSD behaviourRyan Dwyer
2018-07-16Merge pull request #2276 from RyanDwyer/urgencyDrew DeVault
Implement urgency base functionality
2018-07-16Implement no_focus commandRyan Dwyer
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-15Make focus part of transactionsRyan Dwyer
Rather than maintain copies of the entire focus stack, this PR transactionises the focus by introducing two new properties to the container state and using those when rendering. * `bool focused` means this container has actual focus. Only one container should have this equalling true in its current state. * `struct sway_container *focus_inactive_child` points to the immediate child that was most recently focused (eg. for tabbed and stacked containers).
2018-07-14Simplify transactions by utilising a dirty flag on containersRyan Dwyer
This PR changes the way we handle transactions to a more simple method. The new method is to mark containers as dirty from low level code (eg. arranging, or container_destroy, and eventually seat_set_focus), then call transaction_commit_dirty which picks up those containers and runs them through a transaction. The old methods of using transactions (arrange_and_commit, or creating one manually) are now no longer possible. The highest-level code (execute_command and view implementation handlers) will call transaction_commit_dirty, so most other code just needs to set containers as dirty. This is done by arranging, but can also be done by calling container_set_dirty.
2018-07-11Implement floating_minimum_size and floating_maximum_sizeRyan Dwyer
2018-07-09Update for swaywm/wlroots#1126emersion
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-07-02config_commands_command: make alloc failure check more permanentDominique Martinet
policy is accessed again later Found through static analysis
2018-06-09Implement gaps (PR #2047)Nate Symer
2018-06-07Remove strip quoting and fix strncpy-overlapBrian Ashworth
2018-06-05Support runtime var expansion and set at runtimeBrian Ashworth
2018-06-02Address first round of review for generic blocksBrian Ashworth
2018-06-02Make command block implementation genericBrian Ashworth
2018-06-01Implement floatingRyan Dwyer
2018-06-01Implement `floating enable`Drew DeVault
2018-05-28Implement config parser for workspace_layoutBrian 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-17Implement show_marksRyan Dwyer
2018-05-15Change unmark implemention to match i3'sRyan Dwyer
2018-05-15Implement marksRyan Dwyer
2018-05-14Revert "Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements""Ryan Dwyer
This reverts commit 32a572cecfd0f6072a78ce0a381a2f8365f9010a. This reimplements the criteria overhaul in preparation for fixing a known bug.
2018-05-11Implement hide_edge_bordersBrian 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-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