summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAge
* Fix title textures on scale changeLibravatar Brian Ashworth2018-07-30
|
* Add virtual keyboard protocolLibravatar Drew DeVault2018-07-28
| | | | Ref #2373
* When unfloating, return container to previously focused tiled containerLibravatar Ryan Dwyer2018-07-28
| | | | | | This introduces seat_get_focus_inactive_tiling and updates `focus mode_toggle` to use it instead, because the previous method wasn't guaranteed to return a tiling view.
* Allow containers to floatLibravatar Ryan Dwyer2018-07-28
| | | | | | | | | | | | | | | | Things worth noting: * When a fullscreen view unmaps, the check to unset fullscreen on the workspace has been moved out of view_unmap and into container_destroy, because containers can be fullscreen too * The calls to `container_reap_empty_recursive(workspace)` have been removed from `container_set_floating`. That function reaps upwards so it wouldn't do anything. I'm probably the one who originally added it... * My fix (b14bd1b0b1536039e4f46fe94515c7c44e7afc61) for the tabbed child crash has a side effect where when you close a floating container, focus is not given to the tiled container again. I've removed my fix and removed the call to `send_cursor_motion` from `seat_set_focus_warp`. We should consider calling it from somewhere earlier in the call stack.
* Allow containers to be fullscreenLibravatar Ryan Dwyer2018-07-26
|
* Add xkb_numlock/xkb_capslock commands (#2311)Libravatar ProgAndy2018-07-25
|
* Implement setting NumLock and CapsLock statusLibravatar ProgAndy2018-07-25
| | | | | | After setting the keymap, try to enable NumLock and disable CapsLock. This only works if sway has the xkb master state and controls the keyboard. Prepare configuration settings for later use as well.
* Merge pull request #2353 from emersion/render-opaque-overlayLibravatar Drew DeVault2018-07-25
|\ | | | | Improve rendering with a fullscreen opaque overlay surface
| * Improve rendering with a fullscreen opaque overlay surfaceLibravatar emersion2018-07-25
| | | | | | | | | | | | | | | | | | | | | | | | The rendering code doesn't use the exclusive input surface at all anymore to decide to skip rendering of shell surfaces. This fixes a weird situation in which a client requests exclusive input but isn't an overlay layer surface. The renderer also renders all overlay surfaces in this situation, not just one. This simplifies the code and fixes rendering when there are more than one overlay surfaces (e.g. for a virtual keyboard to type the lockscreen password).
* | Merge pull request #2350 from ppascher/xwayland-optionalLibravatar Drew DeVault2018-07-25
|\ \ | | | | | | Added meson option to allow building sway without xwayland support
| * | reverted includes of "sway/config.h" and replaced with "config.h" from meson ↵Libravatar Pascal Pascher2018-07-25
| | | | | | | | | | | | build
| * | more style fixes, included "sway/config.h" where neededLibravatar Pascal Pascher2018-07-25
| | |
| * | style fixes, exclude sway/desctop/xwayland.c when enable_xwayland: falseLibravatar Pascal Pascher2018-07-24
| | |
| * | Added meson option "enable_xwayland" (default: true) to enable/disable ↵Libravatar Pascal Pascher2018-07-24
| | | | | | | | | | | | xwayland support
* | | Implement floating_modifier <mod> [inverse|normal]Libravatar Brian Ashworth2018-07-24
|/ /
* | Merge pull request #2165 from swaywm/pid-workspacesLibravatar Drew DeVault2018-07-24
|\ \ | | | | | | Implement pid->workspace tracking
| * | Merge branch 'master' into pid-workspacesLibravatar Drew DeVault2018-07-23
| |\|
| * | Implement pid->workspace trackingLibravatar Drew DeVault2018-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | When you spawn a process with the exec command, sway now notes the workspace you had focused and the pid of the child process, then assigns that workspace to the child when its window appears. Some of this is carried over from sway 0.15, but with some major refactoring and centralization of state.
* | | Merge branch 'master' into mouse-bindingsLibravatar Ryan Dwyer2018-07-24
|\ \ \
| * | | Remove unneeded constLibravatar Brian Ashworth2018-07-23
| | | |
| * | | Switch to using a function to parse booleansLibravatar Brian Ashworth2018-07-23
| | |/ | |/|
* | | Invoke mouse bindingsLibravatar frsfnrrg2018-07-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Parse mouse binding optionsLibravatar frsfnrrg2018-07-23
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Store scratchpad list in sway_root instead of serverLibravatar Ryan Dwyer2018-07-23
| |
* | Implement scratchpadLibravatar Ryan Dwyer2018-07-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Handle set_{title,app_id} for xdg-shell and zxdg-shell-v6Libravatar emersion2018-07-22
| | | | | | | | | | | | 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.
* | Consider view's min/max sizes when resizingLibravatar Ryan Dwyer2018-07-22
| |
* | Store last button and use it when views request to move or resizeLibravatar Ryan Dwyer2018-07-22
| |
* | Prevent re-uploading the same cursor image multiple timesLibravatar Ryan Dwyer2018-07-22
| |
* | Replace static handle_end_operation with seat_end_mouse_operationLibravatar Ryan Dwyer2018-07-22
| |
* | Implement xdg shell request_move and request_resize eventsLibravatar Ryan Dwyer2018-07-22
| | | | | | | | | | | | | | | | | | 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
* | Implement floating_modifier and mouse operations for floating viewsLibravatar Ryan Dwyer2018-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Reset outputs on reloadLibravatar Brian Ashworth2018-07-20
| |
* | Implement force_display_urgency_hintLibravatar Ryan Dwyer2018-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fix output wildcard handlingLibravatar Brian Ashworth2018-07-20
| |
* | swaybar: Fix scroll handling on workspace buttonsLibravatar minus2018-07-19
| | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #2304 from RedSoxFan/fix-2298Libravatar emersion2018-07-19
|\ \ | | | | | | Fix deferred command handling
| * | Fix deferred command handlingLibravatar Brian Ashworth2018-07-19
| | |
* | | Allow xwayland views to become urgent when on a non-visible workspaceLibravatar Ryan Dwyer2018-07-19
|/ / | | | | | | | | | | | | 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).
* | Don't unfocus when an override redirect window is mappedLibravatar emersion2018-07-18
| |
* | Merge pull request #2281 from pvsr/X11_clickLibravatar emersion2018-07-18
|\ \ | | | | | | Send clicks to swaybar blocks as X11 button ids
| * | make hotspot callback take an x11 button idLibravatar Peter Rice2018-07-16
| | |
* | | Implement default_floating_border command and adjust CSD behaviourLibravatar Ryan Dwyer2018-07-17
| | |
* | | Merge pull request #2276 from RyanDwyer/urgencyLibravatar Drew DeVault2018-07-16
|\ \ \ | | | | | | | | Implement urgency base functionality
| * | | Mark containers as urgent in IPC if they have urgent viewsLibravatar Ryan Dwyer2018-07-16
| | | |
| * | | Update workspace urgent state when views close or move workspacesLibravatar Ryan Dwyer2018-07-16
| | | |
| * | | Implement urgency base functionalityLibravatar Ryan Dwyer2018-07-16
| |/ / | | | | | | | | | | | | | | | 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.
* / / Implement no_focus commandLibravatar Ryan Dwyer2018-07-16
|/ /
* | Make focus part of transactionsLibravatar Ryan Dwyer2018-07-15
| | | | | | | | | | | | | | | | | | | | | | | | 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).
* | Merge pull request #2272 from RyanDwyer/simplify-transactionsLibravatar Drew DeVault2018-07-15
|\ \ | | | | | | Simplify transactions by using a dirty flag on containers