aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorLines
2016-01-08Implement IPC binding event (keyboard)Mikkel Oscar Lyderik-0/+4
This implements the IPC binding event for keyboard bindings. It is slightly different from the i3 implementation [1] since sway supports more than one non-modifier key in a binding. Thus the json interface has been changed from: { ... "symbol": "t", ... } to: { ... "symbols": [ "t" ], ... } [1] http://i3wm.org/docs/ipc.html#_binding_event
2016-01-08Add function for duplication a sway_bindingMikkel Oscar Lyderik-0/+1
2016-01-08Add function for getting list of modifier names.Mikkel Oscar Lyderik-0/+7
Get an array of modifier names from modifier masks.
2016-01-07Implement bindsym --releaseMikkel Oscar Lyderik-0/+4
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-0/+6
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`.
2016-01-05Move modifier name table to common/util.cMikkel Oscar Lyderik-0/+18
Lookup of modifier names is required in several places, thus it makes sense to move it to a general place.
2016-01-05Send IPC modifier event on bar_modifier up/downMikkel Oscar Lyderik-0/+7
Detects when a bar modifier key is pressed/released and sends a modifier IPC event to any listeners (usually swaybars). This way a swaybar can listen on the modifier event and hide/show the bar accordingly (not implemented yet) The modifier event looks like this: { "change": "pressed", // or released "modifier": "Mod4" }
2016-01-05Detect bar modifier pressed/releasedMikkel Oscar Lyderik-0/+20
2016-01-03swaybar: Implement binding_mode_indicatorMikkel Oscar Lyderik-0/+4
2016-01-03Add type to returned response.Mikkel Oscar Lyderik-3/+16
Makes `ipc_recv_response` return a struct with size, type and payload rather than just the payload string. This is useful if the type has to be checked on the client.
2016-01-03Add IPC event typesMikkel Oscar Lyderik-0/+7
Adds custom IPC_EVENT_* types
2015-12-29Handle SIGTERM sent to swayMikkel Oscar Lyderik-0/+5
This makes sway handle and gracefully shut down everything when receiving a SIGTERM. Fix #416
2015-12-22swaybar: fix memory leaksprogandy-0/+1
2015-12-21Merge pull request #393 from robotanarchy/musl-libc-compatibilityDrew DeVault-2/+5
musl libc compatibility
2015-12-22replace non-standard qsort_r with qsortrobotanarchy-2/+5
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-21Trigger ipc_event_workspace in all casesMikkel Oscar Lyderik-1/+1
This makes sure that the workspace IPC event is triggered when needed. Fixes #382 while making sure that the IPC event is only triggered once.
2015-12-21Implement `barconfig_update` IPC eventMikkel Oscar Lyderik-0/+2
2015-12-20Merge pull request #373 from sce/per_panel_configDrew DeVault-3/+7
Per panel config
2015-12-20make gdk-pixbuf dependency really optionalprogandy-0/+2
2015-12-20extensions: Track panels by wl_resource, position per panel.S. Christoffer Eliesen-1/+3
Track each panel separately via its wl_resource. `set_panel_position` might be called before `set_panel`, so reuse panel config. Place the position in panel_config so that each panel has its own position.
2015-12-20extensions: panel_config->resource => wl_surface_res.S. Christoffer Eliesen-2/+4
Change the name to something less ambigious.
2015-12-18Fix default workspace name generationDrew DeVault-0/+1
This fixes the issue where workspace 10 ends up being the default.
2015-12-18Merge pull request #359 from mikkeloscar/i3bar-commandDrew DeVault-0/+1
Add bar option: swaybar_command <command>
2015-12-19Add bar option: swaybar_command <command>Mikkel Oscar Lyderik-0/+1
2015-12-18Terminate children when freeing output containerMikkel Oscar Lyderik-0/+2
2015-12-18Reload swaybar/swaybg on config reload.Mikkel Oscar Lyderik-0/+8
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-18Add shims for swaylock on compositorDrew DeVault-0/+2
2015-12-18sway: insert numbered workspaces in orderprogandy-0/+4
fixes #308 Ordered by number ascending, with insert before same numbers. Workspaces without numbers are appended at the end of the list. Example order: 1 2:named 3:the_second 3:the_first 9 FIRST_NAME SECOND_NAME ...
2015-12-18sway: enable workspace selection by numberprogandy-0/+1
2015-12-16Bring unmanaged windows to front on output arrangeDrew DeVault-0/+4
Fixes #312
2015-12-16Implement bar option: separator_symbolMikkel Oscar Lyderik-0/+1
2015-12-15Implement bar option: output <output>Mikkel Oscar Lyderik-0/+1
2015-12-15Add bar height option (Airblader/i3)Mikkel Oscar Lyderik-1/+1
2015-12-15Add rgba support for bar colorsMikkel Oscar Lyderik-18/+18
2015-12-15Implement bar option: colors {}Mikkel Oscar Lyderik-11/+18
2015-12-15Move default bar config to bar creation.Mikkel Oscar Lyderik-1/+5
Get rid of `config->bar` and define the default bar config options when a bar is initialized.
2015-12-15Added bar_cmd_bindsymYacine Hmito-0/+13
Defined a sway_mouse_binding for clicks on the swaybar
2015-12-14Make mouse key used for drag/resize configurableMikkel Oscar Lyderik-0/+2
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-0/+7
2015-12-14Move numlen(1) to sway/util.cMikkel Oscar Lyderik-0/+5
2015-12-14Revert "Make mouse key used for drag/resize configurable"Drew DeVault-2/+0
This reverts commit 22916e9ebc130dbd365e6403730b9e0857977b8e.
2015-12-14Implement 'bar { }' block parsingMikkel Oscar Lyderik-0/+3
2015-12-13Subscribe to workspace change events and redrawDrew DeVault-0/+5
2015-12-13Track the fullscreen view on a workspace swayc_tDrew DeVault-0/+4
2015-12-12Pass keys along from wayland backend to clientsDrew DeVault-1/+1
2015-12-12Add some more keyboard handling for wayland clientsDrew DeVault-35/+23
2015-12-11Make mouse key used for drag/resize configurableMikkel Oscar Lyderik-0/+2
This makes it possible to define what mouse button key (left|right) to use for dragging/resizing.
2015-12-10Initialize keyboard in registry pollDrew DeVault-0/+55
2015-12-10Include wayland-server.h instead of -core.hDrew DeVault-1/+1
2015-12-10Add keyboard handling shims to registryDrew DeVault-0/+1