aboutsummaryrefslogtreecommitdiff
path: root/sway/commands
AgeCommit message (Collapse)Author
2018-07-02output commands: move !argc checks after argc gets decrementedDominique Martinet
Found through static analysis.
2018-07-02input_config: free new_input_config on errorDominique Martinet
Found through static analysis.
2018-07-02exec_always: fix leaksDominique Martinet
- child would leak in the workspace_record_pid path - removing malloc lets us get rid of That Comment nobody seems to remember what it was about - we would leak pipe fds on first fork failling - we didn't return an error if second fork failed - the final executed process still had both pipe fds (would show up in /proc/23560/fd in launched programs) - we would write twice to the pipe if execl failed for some reason (e.g. if /bin/sh doesn't exist?!)
2018-06-30Fix compile errorRyan Dwyer
2018-06-29Merge remote-tracking branch 'upstream/master' into atomicRyan Dwyer
2018-06-29Fix crash when moving last child of a container to workspace or outputRyan Dwyer
We were arranging a parent which may have been deleted by the reaper, which meant the `current` children list of the surviving parent had a dangling pointer. Instead, we now reap the workspace.
2018-06-27Check if command input has at least 2 argumentsThomas Plaçais
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-24Fix crash when running move <direction> in an empty workspaceRyan Dwyer
2018-06-24Fix crash when unmapping a view with reapable parentsRyan Dwyer
container_destroy was calling container_reap_empty, which calls container_destroy and so on. Eventually the original container_destroy would return a NULL pointer to the caller which caused a crash. This also fixes an arrange on the wrong container when moving views in and out of stacks.
2018-06-23Merge remote-tracking branch 'upstream/master' into atomicRyan Dwyer
2018-06-23Implement atomic layout updates for tree operationsRyan Dwyer
This implements atomic layout updates for when views map, reparent or unmap.
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-18Merge remote-tracking branch 'upstream/master' into atomicRyan Dwyer
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-11Merge remote-tracking branch 'upstream/master' into atomicRyan Dwyer
2018-06-09Implement gaps (PR #2047)Nate Symer
2018-06-09Refactor everything that needs to arrange windowsRyan Dwyer
* The arrange_foo functions are now replaced with arrange_and_commit, or with manually created transactions and arrange_windows x2. * The arrange functions are now only called from the highest level functions rather than from both high level and low level functions. * Due to the previous point, view_set_fullscreen_raw and view_set_fullscreen are both merged into one function again. * Floating and fullscreen are now working with transactions.
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