aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2015-11-25criteria: Add. Learn for_window command.S. Christoffer Eliesen-0/+478
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-25Merge pull request #255 from christophgysin/ninjaDrew DeVault-2/+2
cmake: fix ninja build
2015-11-25Merge pull request #257 from christophgysin/missing-includeDrew DeVault-0/+1
extensions: add missing include
2015-11-25cmake: fix ninja buildChristoph Gysin-2/+2
When using the ninja generator: $ cmake -G Ninja <dir> $ ninja -C <dir> This commit fixes the warning: ninja: warning: multiple rules generate bin/wayland-desktop-shell-protocol.c. builds involving this target will not be correct; continuing anyway [-w dupbuild=warn]
2015-11-25extensions: add missing includeChristoph Gysin-0/+1
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-25Merge pull request #254 from christophgysin/typotaiyu-2/+2
cmake: Fix typo
2015-11-25cmake: Fix typoChristoph Gysin-2/+2
2015-11-24Merge pull request #253 from sce/add_sibling_handle_floating_alt1Drew DeVault-12/+26
Handle floating views in layout code
2015-11-24layout: get_swayc_in_direction_under: Handle floating views.S. Christoffer Eliesen-1/+1
2015-11-24layout: swap_container: Handle floating views.S. Christoffer Eliesen-3/+10
2015-11-24layout: replace_child: Handle floating views.S. Christoffer Eliesen-2/+5
2015-11-24layout: add_sibling: Handle floating views properly.S. Christoffer Eliesen-6/+10
This should fix #241.
2015-11-24Merge pull request #252 from sce/fix_binding_cmpDrew DeVault-0/+5
sway_binding_cmp_keys: Differentiate between modifier keys.
2015-11-24sway_binding_cmp_keys: Differentiate between modifier keys.S. Christoffer Eliesen-0/+5
Compare modifiers as well as keys when number of modifiers+keys are the same (so that e.g. mod1+x != mod4+x).
2015-11-24Merge pull request #250 from sce/initial_support_for_criteria_stringsDrew DeVault-4/+26
Initial support for criteria strings
2015-11-24handle_command: Skip commands that has a criteria string.S. Christoffer Eliesen-2/+19
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-2/+7
A criteria string (e.g. '[class="something" title="something"]') is now correctly treated as a single argument.
2015-11-24Merge pull request #249 from sce/extra_view_metadataDrew DeVault-0/+17
Extra view metadata
2015-11-24container: Store app_id attribute for views.S. Christoffer Eliesen-0/+8
2015-11-24container: Store class attribute for views.S. Christoffer Eliesen-0/+9
2015-11-24Merge pull request #248 from taiyu-len/masterDrew DeVault-13/+21
fix list sorting
2015-11-24fix list sortingtaiyu-13/+21
2015-11-22Merge pull request #247 from sce/handle_bindsym_duplicatesDrew DeVault-20/+70
Handle bindsym duplicates
2015-11-22cmd_bindsym: Detect/handle duplicates.S. Christoffer Eliesen-20/+63
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-0/+7
2015-11-22Merge pull request #245 from sce/workspace_output_duplicatesDrew DeVault-1/+46
Fix `workspace_output` duplicates
2015-11-22cmd_workspace: Don't fill up config->workspace_outputs with duplicates.S. Christoffer Eliesen-3/+19
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-0/+16
2015-11-21list: Add list_seq_find.S. Christoffer Eliesen-0/+13
Sometimes one has to traverse a list to find out if some data already exists there in order to avoid dupilcates in the list, and this function facilitates in that without requiring that the data is ordered.
2015-11-19Update header for default configDrew DeVault-3/+2
2015-11-19Fix #240Drew DeVault-1/+1
2015-11-19Add all documented scaling modes to config parserDrew DeVault-1/+3
Note that not all scaling modes are actually supported by swaybg yet.
2015-11-19Add wallpapers to output commandDrew DeVault-19/+59
2015-11-19Parse output background configDrew DeVault-2/+39
2015-11-19Stretch image to fit output resolutionDrew DeVault-10/+12
2015-11-19Basic image rendering for swaybgDrew DeVault-3/+6
2015-11-19Refactor the crap out of wayland clientsDrew DeVault-268/+331
And create a background surface on every output when invoking swaybg.
2015-11-19Fix background extensionsDrew DeVault-7/+6
Thanks @Cloudef, it works great
2015-11-18Add background handlingDrew DeVault-4/+47
This does not work as expected. I think the problem is on the wlc side. Please review, @Cloudef. To reproduce the issues: 1. Run sway 2. Open terminal in sway 3. Run swaybg swaybg will create a surface and ask to have it set as the background, but wlc_handle_from_wl_surface_resource will return 0. If the swaybg surface is a shell surface, then it works - but wlc complains about the pointer type and segfaults as soon as the pre-render hook tries to draw the background.
2015-11-18Basic support for extensions in server and clientsDrew DeVault-7/+208
2015-11-18Fix warning about uninitialized variableDrew DeVault-0/+1
2015-11-18Exit if unable to allocate bufferDrew DeVault-0/+3
2015-11-18Support cursors over wayland clientsDrew DeVault-4/+60
Apparently wayland has fucking client-side cursors, too
2015-11-18Generate protocol headersDrew DeVault-3/+7
2015-11-18Fix SIGBUS from wayland clientsDrew DeVault-3/+4
2015-11-18Normalize indentationDrew DeVault-56/+56
2015-11-18Clean up memory pool files betterDrew DeVault-21/+27
2015-11-18Support resizing in wayland client implementationDrew DeVault-0/+12
2015-11-18Fix up wayland client implementationDrew DeVault-121/+168
Now it receives frame callbacks and renders properly, and is double buffered and such.
2015-11-16Track pid of child process from execDrew DeVault-3/+18
This will allow us to eventually open that process on the current view. Requires support from @Cloudef.