aboutsummaryrefslogtreecommitdiff
path: root/sway/config.c
AgeCommit message (Collapse)Author
2015-11-29cmd_output: Merge instead of replace output configChristoph Gysin
2015-11-29Only strip comments at the start of a lineDrew DeVault
This is necessary because i3 config files use CSS notation for colors (i.e. #rrggbb).
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-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-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-25Merge pull request #251 from sce/criteria_1Drew DeVault
criteria: Add. Learn for_window command.
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-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-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-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-19Fix #240Drew DeVault
2015-11-19Add wallpapers to output commandDrew DeVault
2015-11-16cmd_output: Replace existing config if called multiple times.S. Christoffer Eliesen
2015-11-13Revert "Try ~/.i3/config earlier than /etc/sway/config"Drew DeVault
This reverts commit f0ceb4e909bb0182d10ce09d34019497aa8d5715.
2015-11-13Try ~/.i3/config earlier than /etc/sway/configDrew DeVault
And ~/.config/i3/config, of course.
2015-11-12Fix gaps for views being incorrectDrew DeVault
2015-11-04Learn "gaps edge_gaps <on|off|toggle>".S. Christoffer Eliesen
When yes, the old behaviour of adding half the inner gap around each view is used. When no, don't add any gap when an edge of the view aligns with the workspace. The result is inner gap only between views, not against the workspace edge. The algorithm is not perfect because it means the extra space is distributed amongst edge-aligned views only, but it's simple, looks good and it works.
2015-10-22ipc,commands,config: Replace cmd_status enum with cmd_results struct.S. Christoffer Eliesen
In i3 the ipc reply will contain a human readable error message, and this patch replicates that behaviour. However, that error message is also useful for logging, which this patch takes advantage of. E.g. instead of logging errors directly in commands.c/checkargs, it is fed back to the caller which eventually ends up logging everything with maximum context available (config.c/read_config). So instead of logging e.g. "Error on line 'exit'" it will now log: "Error on line 'exit': Can't execute from config."
2015-10-22config: Add "seamless_mouse" to decide if pointer crosses output edges.S. Christoffer Eliesen
2015-10-21config: Don't try to apply bad output resolution.S. Christoffer Eliesen
2015-10-21config: Apply output config also during config reload.S. Christoffer Eliesen
2015-09-20fix config search pathstaiyu
2015-09-14multi command keybindstaiyu
2015-09-13Revert "new_workspace null behavior + testmap functions + regex"Drew DeVault
This reverts commit e1d18e42a8f3a597b9bf5f1bb2ab6c346e4e7983. Fixes #180 cc @taiyu-len
2015-09-12new_workspace null behavior + testmap functions + regextaiyu
2015-09-10cmd status + workspace ws output optaiyu
2015-09-08remove old thingstaiyu
2015-09-08var replacement changestaiyu
2015-09-08fix missing symbol bugtaiyu
2015-09-08escape check fixtaiyu
2015-09-08set variable changestaiyu
2015-09-08fix outut typoThomas Wouters
2015-09-07strdup + styletaiyu
2015-09-07put strip_whitespace backtaiyu
2015-09-07config modestaiyu
2015-09-07free config stufftaiyu
2015-09-06free config when reloadingtaiyu
2015-09-06config_path cleanuptaiyu
2015-09-05gap resizetaiyu
2015-09-04enum for command typetaiyu
2015-09-04styletaiyu
2015-09-04better handling of commands during configtaiyu
2015-08-30Added in workspace_auto_back_and_forthLuminarys
2015-08-28default floating_modtaiyu
2015-08-27Added in default_orientation handlingLuminarys
2015-08-23split_string memory leaks cleaneduptaiyu