aboutsummaryrefslogtreecommitdiff
path: root/sway
AgeCommit message (Collapse)Author
2015-11-29Merge pull request #274 from sce/fix_stray_floatsDrew DeVault
cmd_floating: Don't add non-float as sibling to float.
2015-11-29Merge pull request #276 from sce/earlier_loggingDrew DeVault
main: Setup logging before wlc_init.
2015-11-29Merge pull request #275 from christophgysin/cmd_outputDrew DeVault
refactor cmd_output
2015-11-29Merge pull request #269 from christophgysin/usageDrew DeVault
Add --help to print usage
2015-11-29main: Setup logging before wlc_init.S. Christoffer Eliesen
If `wlc_init` fails the error message will never be logged or printed anywhere.
2015-11-29cmd_output: Log enable/disable stateChristoph Gysin
2015-11-29apply_output_config: use list_seq_find() to find configChristoph Gysin
2015-11-29cmd_output: Use list_seq_find() to find matching configChristoph Gysin
2015-11-29cmd_output: Cleanup cmd_output argument handlingChristoph Gysin
2015-11-29cmd_floating: Don't add non-float as sibling to float.S. Christoffer Eliesen
When turning a float to a non-float, `get_focused_container` might return another floating view, causing the active view to be inserted into the floating list on its workspace instead of the normal child list which it should. (Since it has `is_floating` as false the resulting discrepency triggered other bad behaviour eventually leading sway to crash.) This patch fixes that by simply checking floating status before making it a sibling.
2015-11-28Fix option parsingChristoph Gysin
Using 'flag' results in duplicate code paths for short and long options. This broke the -q short option in swaymsg, because there was: {"quiet", no_argument, &quiet, 'q'} Which will set quiet to 'q' and return 0, not 'q'.
2015-11-28sway: Add --help option that prints usageChristoph Gysin
2015-11-28sway: Print usage and exit on unknown optionsChristoph Gysin
2015-11-28Use macros for exit valuesChristoph Gysin
2015-11-28Add warnings about invalid output commandsMikkel Oscar Lyderik
This handles some cases where sway will crash if an output command is invalid/missing an argument.
2015-11-28sway/main: Move wlc init to after args are handled.S. Christoffer Eliesen
First of all because it's not needed that early, and second of all because there's a bug where calling `sway --get-socketpath` via `popen` causes the child sway process to spin/hang instead of returning EOF. (Specifically `(unset SWAYSOCK; swaymsg)` hangs.) This patch fixes that. (Also note that this patch moves the "detailed review" comment, so I guess this patch requires extra detailed review?)
2015-11-28Allow output config for output named *Drew DeVault
Which will match any output.
2015-11-28Improve config file loadingDrew DeVault
This also makes it so that your i3 config is used before /etc/sway/config.
2015-11-27workspace: Learn sticky.S. Christoffer Eliesen
A floating window that's sticky will move to the new active workspace whenever the workspace on the same output changes.
2015-11-27commands: code formatting: Sort list of commands by alphabet.S. Christoffer Eliesen
2015-11-27Merge pull request #265 from sce/better_loggingDrew DeVault
debug_log: Improve container_log so that debug lines are aligned.
2015-11-27Merge pull request #264 from sce/fix_ws_next_nameDrew DeVault
workspace: Improve workspace_next_name.
2015-11-27debug_log: Improve container_log so that debug lines are aligned.S. Christoffer Eliesen
Makes the log easier to read, and the developers more happy (this one at least).
2015-11-27workspace: Improve workspace_next_name.S. Christoffer Eliesen
This function looks for bound commands that start with `workspace` (ie. the commands that change to a static workspace) and fetches the workspace name. However, if it's actually a list of commands, then the parsing will pick up the delimiter ("," or ";") and also fail to recognize keywords ("next" etc). This patch fixes that by properly separating with delimiters.
2015-11-27cmd_floating: Support `enable` and `disable` commands too.S. Christoffer Eliesen
This is especially relevant in combination with `for_window`, e.g.: `for_window [title="Terminal"] floating enable`.
2015-11-27Move IPC client into common, refactor IPCDrew DeVault
2015-11-26Add "variant": "sway" to IPC version responseDrew DeVault
2015-11-26Parse command line args for swaymsgDrew DeVault
2015-11-25Merge pull request #261 from christophgysin/execDrew DeVault
Call swaybg without invoking a shell
2015-11-25Call swaybg without invoking a shellChristoph Gysin
This makes escaping the arguments obsolete. Also avoid dynamic memory allocation for the output id. It only supported ids up to 99. Now we support up to 999, and take 4 bytes off the stack instead.
2015-11-25swaybg: implement scaling mode "fit"Christoph Gysin
2015-11-25Merge pull request #251 from sce/criteria_1Drew DeVault
criteria: Add. Learn for_window command.
2015-11-25criteria: Code formatting.S. Christoffer Eliesen
2015-11-25config: print line numberChristoph Gysin
2015-11-25criteria: Add. Learn for_window command.S. Christoffer Eliesen
A criteria is a string in the form of `[class="regex.*" title="str"]`. It is stored in a struct with a list of *tokens* which is a attribute/value pair (stored as a `crit_token` struct). Most tokens will also have a precompiled regex stored that will be used during criteria matching. for_window command: When a new view is created its metadata is tested against all stored criteria, and if a match is found the associated command list is executed. Unfortunately some metadata is not available in sway at the moment (specifically `instance`, `window_role` and `urgent`). Any criteria string that tries to match an unsupported attribute will fail. (Note that while the criteria code can be used to parse any criteria string it is currently only used by the `for_window` command.)
2015-11-25extensions: add missing includeChristoph Gysin
This fixes a compiler warning: ../sway/extensions.c: In function ‘set_background’: ../sway/extensions.c:16:37: warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration] struct background_config *config = malloc(sizeof(struct background_config)); ^ ../sway/extensions.c:16:37: warning: incompatible implicit declaration of built-in function ‘malloc’ ../sway/extensions.c:16:37: note: include ‘<stdlib.h>’ or provide a declaration of ‘malloc’
2015-11-24layout: get_swayc_in_direction_under: Handle floating views.S. Christoffer Eliesen
2015-11-24layout: swap_container: Handle floating views.S. Christoffer Eliesen
2015-11-24layout: replace_child: Handle floating views.S. Christoffer Eliesen
2015-11-24layout: add_sibling: Handle floating views properly.S. Christoffer Eliesen
This should fix #241.
2015-11-24sway_binding_cmp_keys: Differentiate between modifier keys.S. Christoffer Eliesen
Compare modifiers as well as keys when number of modifiers+keys are the same (so that e.g. mod1+x != mod4+x).
2015-11-24handle_command: Skip commands that has a criteria string.S. Christoffer Eliesen
We can't handle them currently (the criteria needs to e.g. be passed to each command handler which then needs to do the right thing), so it's better to just do nothing than to create unexpected results (because the command was executed on the wrong view). (Before this patch any command list with a criteria string would simply fail to parse, so this is at least a step in the right direction.)
2015-11-24stringop: Properly handle criteria strings.S. Christoffer Eliesen
A criteria string (e.g. '[class="something" title="something"]') is now correctly treated as a single argument.
2015-11-24container: Store app_id attribute for views.S. Christoffer Eliesen
2015-11-24container: Store class attribute for views.S. Christoffer Eliesen
2015-11-24fix list sortingtaiyu
2015-11-22cmd_bindsym: Detect/handle duplicates.S. Christoffer Eliesen
Also replace `bindsym_sort` with function `sway_binding_cmp` that takes all data into account when comparing.
2015-11-22commands: Comment/doc for config_command.S. Christoffer Eliesen
2015-11-22cmd_workspace: Don't fill up config->workspace_outputs with duplicates.S. Christoffer Eliesen
This also fixes a bug where issuing a new "workspace a output b" command for an already assigned workspace would not work (the old config would be found first and used instead).
2015-11-21stringop: lenient_strcmp: Add.S. Christoffer Eliesen