aboutsummaryrefslogtreecommitdiff
path: root/sway/commands
AgeCommit message (Collapse)Author
2018-06-26cleanup output-background subcommand handlingael-code
- fixes a double-free error when access() failed. - refactor code to make memory managment (alloc/free) more straightforward - do not bring the temporary wordexp_t struct around - do not postpone errors handling
2018-06-26fix memleak on background cmd errorael-code
- src must be free after join_args() - wordfree must bee used after wordexp
2018-06-22bugfix: avoid access after freeael-code
if src is NULL due to a previous error we cannot use it in the command result string. Moreover if `src` points to `p.we_wordv[0]` we cannot use it after `wordfree(&p)` in the command result string. Bonus feature: If there was an error accessing the file, the string rapresentation of the error is now included in the command result string.
2018-06-12Sort binding key listsfrsfnrrg
Sort the list comprising the set of keys for the binding in ascending order. (Keyboard shortcuts depend only on the set of simultaneously pressed keys, not their order, so this change should have no external effect.) This simplifies comparisons between bindings.
2018-06-09Implement gaps (PR #2047)Nate Symer
2018-06-08sway exec command: use waitpid instead of waitDominique Martinet
2018-06-06Switch output storing from list_t to wl_listBrian Ashworth
2018-06-06Store sway_outputs so that they can be reenabledBrian Ashworth
2018-06-03Address review comments for output subcommandsBrian Ashworth
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-06-01Style fixes for bind.cfrsfnrrg
2018-06-01Fix binding bindcode flag initializationfrsfnrrg
2018-06-01Use XKB keycode numbering for bindcodefrsfnrrg
2018-06-01Share common code between bindsym and bindcode commandsfrsfnrrg
2018-06-01Merge pull request #2027 from RyanDwyer/implement-floatingDrew DeVault
Implement floating
2018-06-01Fix cmd_workspace crash when a surface has focusBrian Ashworth
2018-06-01Fix changing borders on floating viewsRyan Dwyer
2018-06-01Adjust move command to account for changed coordinate systemRyan Dwyer
2018-06-01Prevent splitting a floating viewRyan Dwyer
2018-06-01Replace is_floating boolean with functionRyan Dwyer
2018-06-01Implement floatingRyan Dwyer
2018-06-01Send frame done to floating viewsDrew DeVault
Also centers them on the screen when initially floated In the future we'll need a more sophisticated solution than that
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-28Merge pull request #2060 from RedSoxFan/focus-wrappingemersion
Implement focus_wrapping
2018-05-27Implement focus_wrappingBrian Ashworth
2018-05-28Fix ancestor typosRyan Dwyer
2018-05-27Implement bindsym/bindcode --lockedfrsfnrrg
Adds the --locked flag to bindsym and bindcode commands. When a keyboard's associated seat has an exclusive client (i.e, a screenlocker), then bindings are only executed if they have the locked flag. When there is no such client, this restriction is lifted.
2018-05-26Implement swap commandBrian Ashworth
2018-05-25Clean up container title functionsRyan Dwyer
* Add and use lenient_strcat and lenient_strncat functions * Rename `concatenate_child_titles` function as that's no longer what it does * Rename `container_notify_child_title_changed` because we only need to notify that the tree structure has changed, not titles * Don't notify parents when a child changes its title * Update ancestor titles when changing a container's layout * Eg. create nested tabs and change the inner container to stacking * No need to store tree presentation in both container->name and formatted_title
2018-05-22Implement stacked layoutRyan Dwyer
2018-05-21Implement tabbed layoutRyan Dwyer
2018-05-20Fix border commands from changing focusBrian Ashworth
2018-05-17Implement show_marksRyan Dwyer
2018-05-15Change unmark implemention to match i3'sRyan Dwyer
2018-05-15Implement marksRyan Dwyer
2018-05-14Kill wl_shellemersion
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-13Merge pull request #1824 from snaggen/idleDrew DeVault
DPMS and lock handling
2018-05-13Idle handling for dpms/lockscreen et alMattias Eriksson
Swayidle handles idle events and allows for dpms and lockscreen handling. It also handles systemd sleep events, and can raise a lockscreen on sleep Fixes #541
2018-05-12Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements"Drew DeVault
This reverts commit 3e1bf721c69cb6df70c3dc3d3d4933e987339676, reversing changes made to 2217518bd554d0f11dafa7ec4e8f35f2e4762fbd.
2018-05-11Merge pull request #1943 from RyanDwyer/criteria-improvementsDrew DeVault
Overhaul criteria implementation
2018-05-11Implement hide_edge_bordersBrian Ashworth
2018-05-11Merge pull request #1956 from ggreer/move-focusDrew DeVault
cmd_move_container: Focus a window on the source workspace.
2018-05-10cmd_move_container: Focus a window on the source workspace.Geoff Greer
In Sway 0.15, moving a window to another workspace would cause a window on the source workspace to be focused. This restores that behavior, allowing you to quickly move a lot of windows to another workspace.
2018-05-10Allow setting border widths for normal borders using default_border.Geoff Greer
In Sway 0.15, `default_border normal 1` would set 1px wide borders. This recreates that behavior.
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