aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorLines
2018-07-24Added meson option "enable_xwayland" (default: true) to enable/disable ↵Furkan Sahin-7/+24
xwayland support
2018-07-24Merge pull request #2165 from swaywm/pid-workspacesFurkan Sahin-11/+4
Implement pid->workspace tracking
2018-07-24Merge branch 'master' into mouse-bindingsFurkan Sahin-0/+8
2018-07-23Invoke mouse bindingsFurkan Sahin-0/+8
The mouse binding logic is inspired/copied from the keyboard binding logic; we store a sorted list of the currently pressed buttons, and trigger a binding when the currently pressed (or just recently pressed, in the case of a release binding) buttons, as well as modifiers/container region, match those of a given binding. As the code to execute a binding is not very keyboard specific, keyboard_execute_command is renamed to seat_execute_command and moved to where the other binding handling functions are. The call to transaction_commit_dirty has been lifted out.
2018-07-23Merge branch 'master' into pid-workspacesFurkan Sahin-85/+316
2018-07-23Remove unneeded constFurkan Sahin-1/+1
2018-07-23Switch to using a function to parse booleansFurkan Sahin-0/+8
2018-07-22Store scratchpad list in sway_root instead of serverFurkan Sahin-2/+2
2018-07-22Implement scratchpadFurkan Sahin-0/+33
Implements the following commands: * move scratchpad * scratchpad show * [criteria] scratchpad show Also fixes these: * Fix memory leak when executing command with criteria (use `list_free(views)` instead of `free(views)`) * Fix crash when running `move to` with no further arguments
2018-07-22Handle set_{title,app_id} for xdg-shell and zxdg-shell-v6Furkan Sahin-0/+4
This allows to update the title even if the view doesn't commit. This is useful e.g. when a terminal sets its toplevel title to the currently running command and when the view isn't visible.
2018-07-21Consider view's min/max sizes when resizingFurkan Sahin-0/+5
2018-07-21Store last button and use it when views request to move or resizeFurkan Sahin-1/+8
2018-07-21Prevent re-uploading the same cursor image multiple timesFurkan Sahin-0/+4
2018-07-21Replace static handle_end_operation with seat_end_mouse_operationFurkan Sahin-0/+2
2018-07-20Implement xdg shell request_move and request_resize eventsFurkan Sahin-4/+9
Also does a few other related things: * Now uses enum wlr_edges instead of our own enum resize_edge * Now uses wlr_xcursor_get_resize_name and removes our own find_resize_edge_name * Renames drag to move for consistency
2018-07-18Implement floating_modifier and mouse operations for floating viewsFurkan Sahin-5/+34
This implements the following: * `floating_modifier` configuration directive * Drag a floating window by its title bar * Hold mod + drag a floating window from anywhere * Resize a floating view by dragging the border * Resize a floating view by holding mod and right clicking anywhere on the view * Resize a floating view and keep aspect ratio by holding shift while resizing using either method * Mouse cursor turns into resize when hovering floating border or corner
2018-07-20Reset outputs on reloadFurkan Sahin-0/+4
2018-07-20Implement force_display_urgency_hintFurkan Sahin-0/+2
The directive sets the timeout before an urgent view becomes normal again after switching to it from another workspace. Also: * When an xwayland surface removes the urgent hint while the timer is active, we now ignore the request. This happens as soon as the view receives focus, so it was effectively making the timer pointless. * The timeout is now only applied when switching to it from another workspace.
2018-07-20Fix output wildcard handlingFurkan Sahin-0/+2
2018-07-19swaybar: Fix scroll handling on workspace buttonsFurkan Sahin-2/+7
As well as ignoring scroll events on status elements when click_events is enabled. Previously, using the scroll wheel on a workspace button would switch to that workspace instead of scrolling through them. Clicks and scrolling on status elements would always be processed by swaybar, too. So in case you were using scrolling as volume control on a status item, swaybar would additionally scroll through your workspaces.
2018-07-19Merge pull request #2304 from RedSoxFan/fix-2298Furkan Sahin-0/+1
Fix deferred command handling
2018-07-19Allow xwayland views to become urgent when on a non-visible workspaceFurkan Sahin-0/+1
This removes the urgency stuff from the commit handler and puts it in a new set_hints handler instead. This allows the xwayland surface to become urgent without having to commit (which doesn't happen if it's on an non-visible workspace).
2018-07-19Fix deferred command handlingFurkan Sahin-0/+1
2018-07-18Don't unfocus when an override redirect window is mappedFurkan Sahin-1/+1
2018-07-17Parse mouse binding optionsFurkan Sahin-3/+18
First, the existing sway_binding structure is given an enumerated type code. As all flags to bindsym/bindcode are boolean, a single uint32 is used to hold all flags. The _BORDER, _CONTENTS, _TITLEBAR flags, when active, indicate in which part of a container the binding can trigger; to localize complexity, they do not overlap with the command line arguments, which center around _TITLEBAR being set by default. The keyboard handling code is adjusted for this change, as is binding_key_compare; note that BINDING_LOCKED is *not* part of the key portion of the binding. Next, list of mouse bindings is introduced and cleaned up. Finally, the binding command parsing code is extended to handle the case where bindsym is used to describe a mouse binding rather than a keysym binding; the difference between the two may be detected as late as when the first key/button is parsed, or as early as the first flag. As bindings can have multiple keycodes/keysyms/buttons, mixed keysym/button sequences are prohibited.
2018-07-18Merge pull request #2281 from pvsr/X11_clickFurkan Sahin-2/+17
Send clicks to swaybar blocks as X11 button ids
2018-07-17Implement default_floating_border command and adjust CSD behaviourFurkan Sahin-0/+1
2018-07-16Merge pull request #2276 from RyanDwyer/urgencyFurkan Sahin-0/+15
Implement urgency base functionality
2018-07-16Implement no_focus commandFurkan Sahin-2/+3
2018-07-16Mark containers as urgent in IPC if they have urgent viewsFurkan Sahin-0/+2
2018-07-16Update workspace urgent state when views close or move workspacesFurkan Sahin-1/+2
2018-07-15make hotspot callback take an x11 button idFurkan Sahin-2/+17
2018-07-15Implement urgency base functionalityFurkan Sahin-0/+12
Introduces a command to manually set urgency, as well as rendering of urgent views, sending the IPC event, removing urgency after focused for one second, and matching urgent views via criteria.
2018-07-15Make focus part of transactionsFurkan Sahin-11/+3
Rather than maintain copies of the entire focus stack, this PR transactionises the focus by introducing two new properties to the container state and using those when rendering. * `bool focused` means this container has actual focus. Only one container should have this equalling true in its current state. * `struct sway_container *focus_inactive_child` points to the immediate child that was most recently focused (eg. for tabbed and stacked containers).
2018-07-15Merge pull request #2272 from RyanDwyer/simplify-transactionsFurkan Sahin-45/+25
Simplify transactions by using a dirty flag on containers
2018-07-14Add extended debugging flagsFurkan Sahin-0/+8
We currently have several ways of setting debug flags, including command line arguments, environment variables, and compile-time macros. This replaces the lot with command line flags.
2018-07-14Simplify transactions by utilising a dirty flag on containersFurkan Sahin-45/+25
This PR changes the way we handle transactions to a more simple method. The new method is to mark containers as dirty from low level code (eg. arranging, or container_destroy, and eventually seat_set_focus), then call transaction_commit_dirty which picks up those containers and runs them through a transaction. The old methods of using transactions (arrange_and_commit, or creating one manually) are now no longer possible. The highest-level code (execute_command and view implementation handlers) will call transaction_commit_dirty, so most other code just needs to set containers as dirty. This is done by arranging, but can also be done by calling container_set_dirty.
2018-07-14Implement tap_button_map for input devicesFurkan Sahin-0/+2
2018-07-13Merge pull request #2252 from rkubosz/scroll-button-optionFurkan Sahin-0/+2
feature: scroll button option for input devices
2018-07-12Don't disable borders for xwayland floating viewsFurkan Sahin-0/+1
2018-07-11add scroll button optionFurkan Sahin-0/+2
This commit introduces a scroll_button option, which is intended to be used with scroll_method. Now user can edit his sway config and add an scroll_button option to device section.
2018-07-11Merge pull request #2240 from RedSoxFan/implement-1961Furkan Sahin-1/+23
Implement swaylock customization flags
2018-07-11Move floating windows to front when focusedFurkan Sahin-0/+2
2018-07-10Implement swaylock customization flagsFurkan Sahin-1/+23
2018-07-09Remove `clipboard` command and `get_clipboard` messageFurkan Sahin-6/+3
2018-07-08Add get_config message type to ipcFurkan Sahin-3/+2
2018-07-08Add get_binding_modes message type to ipcFurkan Sahin-0/+1
2018-07-09Update for swaywm/wlroots#1126Furkan Sahin-2/+8
2018-07-09Remove duplicate function declaration and add assertionFurkan Sahin-2/+0
2018-07-07Implement some floating move commandsFurkan Sahin-0/+12
This implements the following for floating containers: * move <direction> <amount> * move [absolute] position <x> <y> * move [absolute] position mouse