aboutsummaryrefslogtreecommitdiff
path: root/include/config.h
AgeCommit message (Collapse)Author
2016-03-31Add cmds new_window and new_floatMikkel Oscar Lyderik
Makes it possible to set default layout style for new windows and new floating windows. Close #556
2016-03-30New feature: adjust gaps with floating_mod+scrollDrew DeVault
I made this configurable but I didn't make the command for it. That's left as an exercise to an eager contributor. mod_scroll_behavior [gaps inner|gaps outer] Would merge implementions of more behaviors for mod+scroll, if anyone has some neato ideas.
2016-03-30Implement bordersMikkel Oscar Lyderik
The borders are implemented as a surface/buffer attached to each view which is sent to and rendered by wlc in the view_pre_render callback. All the drawing logic is handled in sway/border.c and all the logic for calculating the geometry of the border/view is handled in `update_geometry` in sway/layout.c (same place as gaps are calculated).
2016-03-30Add border <none|normal|toggle|pixel> configMikkel Oscar Lyderik
2016-03-30Implement parsing of hide_edge_bordersMikkel Oscar Lyderik
2016-03-30Add default border colorsMikkel Oscar Lyderik
2016-03-26Implement include commandMikkel Oscar Lyderik
The include command (`include <path>`) makes it possible to include sub config files from the main config file (or from within other sub config files). The include command uses the following rules for including config files: * the `path` can be either a full path or a path that is relative to the parent config. Shell expansion is supported, so it's possible to do `include ~/.config/sway.d/*`. * The same config file can only be included once (to prevent include cycles). If a config is included multiple times it will just be ignored after it has been included once. * Including a sub config file is the same as inserting the content of that file into the parent config, thus rules about overwriting bindsyms etc. works the same as for a single config. Implement #542
2016-03-20Implement 'smart_gaps' feature from i3-gapsMikkel Oscar Lyderik
2016-02-27Free config before exiting sway.Mikkel Oscar Lyderik
Apart from freeing the sway_config struct, this also terminates the swaybars spawned by sway, since they are linked by PID to the bar config structs.
2016-02-27Improve how swaybars are spawnedMikkel Oscar Lyderik
2016-02-27Make sway spawn only one bar per bar configMikkel Oscar Lyderik
2016-01-27font: Allow adding font to the config. In prep for border titlescrondog
v2: Give default font and make bar use it if no bar font
2016-01-19libinputCole Mickens
2016-01-09Add support for bincode commandMikkel Oscar Lyderik
If a bindsym and bincode maps to the same combination, the last one will overwrite any previous mappings.
2016-01-08Add function for duplication a sway_bindingMikkel Oscar Lyderik
2016-01-07Implement bindsym --releaseMikkel Oscar Lyderik
This is a "simple" version of --release (same as i3) that only supports a binding that contain one normal key. e.g.: bindsym --release $mod+x exec somthing-fun I didn't bother implementing it for a combination like `$mod+x+z` since it is a bit tricky to get right and also a bit weird to actually do on a keyboard.
2016-01-05Only send modifier event once for active modifiersMikkel Oscar Lyderik
This makes sure that a modifier event is only sent for active bar modifiers, and that it is only sent once for each of those modifiers. An active bar modifier is a modifier defined for a bar with `mode hide` and `hidden_state hide`.
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-18Fix default workspace name generationDrew DeVault
This fixes the issue where workspace 10 ends up being the default.
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-16Implement bar option: separator_symbolMikkel Oscar Lyderik
2015-12-15Implement bar option: output <output>Mikkel 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-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-14Add initial support for custom bar-idMikkel Oscar Lyderik
2015-12-14Revert "Make mouse key used for drag/resize configurable"Drew DeVault
This reverts commit 22916e9ebc130dbd365e6403730b9e0857977b8e.
2015-12-14Implement 'bar { }' block parsingMikkel Oscar Lyderik
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-11-29Add bar config struct and defaultsDrew DeVault
2015-11-29cmd_output: Merge instead of replace output configChristoph Gysin
2015-11-29config: Store 'enabled' as intChristoph Gysin
2015-11-29Remove trailing semicolonDrew DeVault
2015-11-29cmd_output: Use list_seq_find() to find matching configChristoph 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-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-19Parse output background configDrew DeVault
2015-11-16cmd_output: Replace existing config if called multiple times.S. Christoffer Eliesen
2015-11-08Add some documentation commentsDrew DeVault
This is mostly setting a precedent, I hope that others will continue to write docs for more headers. Ref #218
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-22config: Add "seamless_mouse" to decide if pointer crosses output edges.S. Christoffer Eliesen
2015-10-21config: Apply output config also during config reload.S. Christoffer Eliesen
2015-09-13Revert "new_workspace null behavior + testmap functions + regex"Drew DeVault
This reverts commit e1d18e42a8f3a597b9bf5f1bb2ab6c346e4e7983. Fixes #180 cc @taiyu-len