aboutsummaryrefslogtreecommitdiff
path: root/sway/config.c
AgeCommit message (Collapse)Author
2015-12-21Merge pull request #393 from robotanarchy/musl-libc-compatibilityDrew DeVault
musl libc compatibility
2015-12-22replace non-standard qsort_r with qsortrobotanarchy
I've tried to make as few changes, as possible. Usually the reason for using qsort_r is, that you can pass an extra userdata pointer to the compare function. However, in sway list_sort wrapped qsort_r and always called a wrapper function for comparing, the wrapper function then had the real compare function as argument. The only thing, that the wrapper function does, is dereferencing the 'left' and 'right' function arguments before passing them to the real compare function. I have renamed list_sort to list_qsort to avoid confusion (so nobody tries to use list_qsort like list_sort) and removed the wrapper functionality. Now the dereferencing must be done in the compare function, that gets passed. Some compare functions were used in both list_sort and list_seq_find. To make the difference clear, I've added a '_qsort' suffix to the compare functions, that are intended to be used with the new list_qsort. (In other words: list_qsort is not compatible anymore with list_seq_find). - Changed and renamed function (it isn't used anywhere but in commands.c, and only for sorting): compare_set -> compare_set_qsort - New wrapper functions: sway_binding_cmp_qsort (for sway_binding_cmp) sway_mouse_binding_cmp_qsort (for sway_mouse_binding_cmp)
2015-12-21Fix default swaybar fontDrew DeVault
2015-12-20Merge pull request #372 from sce/fix_swaybar_output_name_testDrew DeVault
config: load_swaybars: Fix name comparison.
2015-12-20config: load_swaybars: Fix name comparison.S. Christoffer Eliesen
2015-12-20config: free_bar: Check if outputs is NULL.S. Christoffer Eliesen
bar_config.outputs is NULL if no output is explicitly defined in config (ie. use for for all outputs).
2015-12-19Add support for running swaybar_commandMikkel Oscar Lyderik
2015-12-18Merge pull request #359 from mikkeloscar/i3bar-commandDrew DeVault
Add bar option: swaybar_command <command>
2015-12-19Add bar option: swaybar_command <command>Mikkel Oscar Lyderik
2015-12-18Terminate children when freeing output containerMikkel Oscar Lyderik
2015-12-18Reload swaybar/swaybg on config reload.Mikkel Oscar Lyderik
This works by tracking the pids of the child processes in the related output container and terminating the processes and spawning new ones on a config reload. Should solve: #347
2015-12-16Fix bar invocation for multihead setupDrew DeVault
2015-12-16Use system swaybar instead of local swaybarDrew DeVault
2015-12-16Invoke swaybar when an output matches a bar configDrew DeVault
2015-12-16Merge pull request #338 from mikkeloscar/bar-separator-symbolDrew DeVault
Implement bar option: separator_symbol
2015-12-16Use free_flat_list for simple char* list.Mikkel Oscar Lyderik
No need to reimplement free_flat_list functionality.
2015-12-16Implement bar option: separator_symbolMikkel Oscar Lyderik
2015-12-15Correctly free bindings listMikkel Oscar Lyderik
2015-12-15Implement bar option: output <output>Mikkel Oscar Lyderik
2015-12-15Fix active_workspace_border color definitionMikkel Oscar Lyderik
2015-12-15Add bar height option (Airblader/i3)Mikkel Oscar Lyderik
2015-12-15Add rgba support for bar colorsMikkel Oscar Lyderik
2015-12-15Implement bar option: colors {}Mikkel Oscar Lyderik
2015-12-14Merge pull request #324 from mikkeloscar/free-bar-bindingsDrew DeVault
Free bar->bindings
2015-12-15Free bar->bindingsMikkel Oscar Lyderik
2015-12-15Move default bar config to bar creation.Mikkel Oscar Lyderik
Get rid of `config->bar` and define the default bar config options when a bar is initialized.
2015-12-15Added bar_cmd_bindsymYacine Hmito
Defined a sway_mouse_binding for clicks on the swaybar
2015-12-14Make mouse key used for drag/resize configurableMikkel Oscar Lyderik
This makes it possible to define what mouse button key (left|right) to use for dragging/resizing.
2015-12-14Use tabs instead of spacesMikkel Oscar Lyderik
2015-12-14Revert "Make mouse key used for drag/resize configurable"Drew DeVault
This reverts commit 22916e9ebc130dbd365e6403730b9e0857977b8e.
2015-12-14Implement bar option: tray_padding <px> [px]Mikkel Oscar Lyderik
2015-12-14Implement 'bar { }' block parsingMikkel Oscar Lyderik
2015-12-12Merge pull request #300 from mikkeloscar/configure-mouse-btnDrew DeVault
[RFC] Make mouse key used for drag/resize configurable
2015-12-11Fix config.c strlen errorDrew DeVault
2015-12-11Make mouse key used for drag/resize configurableMikkel Oscar Lyderik
This makes it possible to define what mouse button key (left|right) to use for dragging/resizing.
2015-12-01FALLBACK_CONFIG_DIR did not work. Fixed.Yacine Hmito
- Flag was ignored. Now it's taken into account. - Missing trailing slashes in path now behaves properly.
2015-12-01Can customize config fallback directoryYacine Hmito
CMake takes a `FALLBACK_CONFIG_DIR` flag which is the directory where the standard configuration file `config` is copied at installation. If loading from typical configuration directories fails, sway loads FALLBACK_CONFIG_DIR/config (/etc/sway/config by default).
2015-11-29Add framework for switching command setsDrew DeVault
This will allow the bar {} block to have a different command set (and also bar { colors { } }.
2015-11-29Add bar config struct and defaultsDrew DeVault
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).