aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorLines
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
2015-12-10Discover swaylock extension in registryDrew DeVault-0/+2
2015-12-10Refactor gdk pixbuf code into shared client libDrew DeVault-0/+8
2015-12-03Add swaylock protocol, add resource destructorsDrew DeVault-1/+10
This prevents sway crashing if swaybg or swaybar dies.
2015-11-29Add framework for switching command setsDrew DeVault-1/+1
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-0/+42
2015-11-29cmd_output: Merge instead of replace output configChristoph Gysin-0/+1
2015-11-29config: Store 'enabled' as intChristoph Gysin-1/+1
2015-11-29Add text rendering support to wayland clientsDrew DeVault-0/+13
2015-11-29Support desktop shell panels in compositorDrew DeVault-0/+9
2015-11-29Remove trailing semicolonDrew DeVault-1/+1
2015-11-29cmd_output: Use list_seq_find() to find matching configChristoph Gysin-0/+1
2015-11-28Rearrange logging headersDrew DeVault-4/+5
Ref #270
2015-11-27workspace: Learn sticky.S. Christoffer Eliesen-0/+1
A floating window that's sticky will move to the new active workspace whenever the workspace on the same output changes.
2015-11-27Add command line to swaygrabDrew DeVault-1/+12
Also modifies IPC client so that we can work with persistent connections.
2015-11-27Move IPC client into common, refactor IPCDrew DeVault-8/+22
2015-11-25criteria: Add. Learn for_window command.S. Christoffer Eliesen-0/+37
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-24container: Store app_id attribute for views.S. Christoffer Eliesen-0/+1
2015-11-24container: Store class attribute for views.S. Christoffer Eliesen-0/+2
2015-11-22cmd_bindsym: Detect/handle duplicates.S. Christoffer Eliesen-0/+4
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-0/+2
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/+3
2015-11-21list: Add list_seq_find.S. Christoffer Eliesen-0/+3
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-19Parse output background configDrew DeVault-0/+2
2015-11-19Refactor the crap out of wayland clientsDrew DeVault-21/+37
And create a background surface on every output when invoking swaybg.
2015-11-19Fix background extensionsDrew DeVault-1/+2
Thanks @Cloudef, it works great
2015-11-18Add background handlingDrew DeVault-0/+13
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-1/+9
2015-11-18Support cursors over wayland clientsDrew DeVault-0/+8
Apparently wayland has fucking client-side cursors, too
2015-11-18Fix SIGBUS from wayland clientsDrew DeVault-1/+0
2015-11-18Normalize indentationDrew DeVault-24/+24
2015-11-18Clean up memory pool files betterDrew DeVault-0/+1
2015-11-18Fix up wayland client implementationDrew DeVault-7/+16
Now it receives frame callbacks and renders properly, and is double buffered and such.
2015-11-16output: Support multiple adjacent outputs.S. Christoffer Eliesen-3/+12
When querying for an adjacent output we now need an absolute position in order to know which adjacent output that matches. (The position is either the current mouse position or the center of the currently focused container, depending on context.) If two outputs have one edge each that at least partially align with each other they now count as adjacent. Seamless mouse is affected by this and now properly moves and positions itself between outputs with "uneven" placement (as long as they have at least some part of the edge adjacent to each other). When focusing or moving a container in a specified direction the center of the current focused container decides where to look for an adjacent output. So if e.g. an output has two adjacent outputs to the right and a "focus right" command is issued then it's the placement of the currently focused container that decides which output actually gets focused. Also, if an output has at least one output adjacent in some direction but the entire edge is not covered (ie. it has "holes" with no outputs), then the algorithm will choose the output that is closest to the currently focused container (this does not apply to seamless mouse, the pointer will just stop at the edge in that case).
2015-11-16cmd_output: Replace existing config if called multiple times.S. Christoffer Eliesen-0/+1
2015-11-12We don't need to implement strdupDrew DeVault-1/+0
After defining _GNU_SOURCE
2015-11-12Further refinement of wayland client supportDrew DeVault-0/+3
2015-11-12Start fleshing out wayland client implementationDrew DeVault-0/+43
This introduces a basic shared framework for making wayland clients within sway itself.
2015-11-12Start working on IPC for get_pixelsDrew DeVault-0/+1
This is broken
2015-11-11Add file and line number to log in Debug buildDrew DeVault-1/+10
2015-11-08Add some documentation commentsDrew DeVault-46/+224
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-0/+1
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-11-03commands: Learn 'move workspace to output <direction|name>'.S. Christoffer Eliesen-0/+1