aboutsummaryrefslogtreecommitdiff
path: root/sway
AgeCommit message (Collapse)Author
2018-07-22Deny move/resize events for tiled xdg shell viewsRyan Dwyer
2018-07-22Consider view's min/max sizes when resizingRyan Dwyer
2018-07-22Store last button and use it when views request to move or resizeRyan Dwyer
2018-07-22Prevent re-uploading the same cursor image multiple timesRyan Dwyer
2018-07-22Replace static handle_end_operation with seat_end_mouse_operationRyan Dwyer
2018-07-22Remove unnecessary includesRyan Dwyer
2018-07-22Implement xdg shell request_move and request_resize eventsRyan Dwyer
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-22Use wlr_keyboard_get_modifiersRyan Dwyer
2018-07-22Use separate function for choosing edge cursorRyan Dwyer
2018-07-22Improve resize performance by partially flushing the transaction queueRyan Dwyer
When interactively resizing some views (eg. Nautilus), new transactions are added to the queue faster than the client can process them. Previously, we would wait for the entire queue to be ready before applying any of them, but in this case the transactions would time out, giving the client choppy performance. This changes the queue handling so it applies the transactions up to the first waiting transaction, without waiting for the entire queue to be ready.
2018-07-22Fix clicking xwayland menusRyan Dwyer
2018-07-22Use max multiplier when resizing while preserving ratioRyan Dwyer
2018-07-22Fix damage issue when moving and resizingRyan Dwyer
2018-07-22Make mod + resize do it from the top left cornerRyan Dwyer
2018-07-22Use WLR_MODIFIER_SHIFTRyan Dwyer
2018-07-22Implement floating_modifier and mouse operations for floating viewsRyan Dwyer
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 reloadBrian Ashworth
2018-07-21Fix urgent timer logic and remove unnecessary header includesRyan Dwyer
2018-07-21Implement force_display_urgency_hintRyan Dwyer
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 handlingBrian Ashworth
2018-07-20Fix pointer events for overlapping floating viewsRyan Dwyer
Fixes #2315.
2018-07-19Merge branch 'master' into update-wlroots-1148Drew DeVault
2018-07-19Update for swaywm/wlroots#1148emersion
2018-07-19Merge pull request #2310 from RyanDwyer/assign-outputDrew DeVault
Implement assign to output
2018-07-19Merge pull request #2304 from RedSoxFan/fix-2298emersion
Fix deferred command handling
2018-07-19Implement assign to outputRyan Dwyer
Eg. assign [class="Firefox"] output foo
2018-07-19Merge branch 'master' into xwayland-set-hintsemersion
2018-07-19Merge pull request #2305 from RyanDwyer/focus-outputemersion
Implement focus output command
2018-07-19Merge pull request #2308 from RyanDwyer/fix-double-transactionemersion
Fix crash and render issues involving cursor_send_pointer_motion
2018-07-19Allow xwayland views to become urgent when on a non-visible workspaceRyan Dwyer
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-19Use parse_movement_directionRyan Dwyer
2018-07-19Fix crash and render issues involving cursor_send_pointer_motionRyan Dwyer
Fixes #2303, as well as a crash. To replicate the crash: * Have multiple outputs * In config: for_window [<criteria>] workspace foo * Also in config: workspace foo output <left-output-name> * Focus the right output, and ensure workspace foo doesn't exist * Launch the app that triggers the criteria When the view maps, it calls workspace_switch which calls send_set_focus which calls cursor_send_pointer_motion which calls transaction_commit_dirty. This call to transaction_commit_dirty is not meant to happen at this time because the tree isn't guaranteed to be in a consistent state, but I'm not sure how exactly this leads to the crash or render issues. In this case the transaction is already committed by the view implementation's handle_map function. So the solution is to remove it from cursor_send_pointer_motion and add it to the other functions in cursor.c which call cursor_send_pointer_motion.
2018-07-19Fix crash when moving workspace to outputRyan Dwyer
2018-07-19Defer the focus commandsRyan Dwyer
2018-07-19Implement focus output commandRyan Dwyer
2018-07-19Fix deferred command handlingBrian Ashworth
2018-07-18Don't unfocus when an override redirect window is mappedemersion
2018-07-18Handle xwayland override_redirect flag changeemersion
This fixes syncplay menus.
2018-07-17Merge pull request #2292 from emersion/update-cursor-on-focusDrew DeVault
Update cursor on focus change
2018-07-18Merge branch 'master' into destroy-output-destroy-empty-workspacesRyan Dwyer
2018-07-17Update cursor on focus changeemersion
This allows to send wl_pointer.enter when switching between views in a split/tabbed layout for instance. This (1) updates the cursor image accordingly (2) makes it unnecessary to move the mouse before scrolling. It's harmless to always call cursor_send_pointer_motion because in case the focused surface hasn't changed this is a no-op. The `last_focus != NULL` condition is required otherwise cursor_send_pointer_motion will crash when sway starts up (the sway_output doesn't yet have a workspace).
2018-07-17Fix memory leak in sway/desktop/idle_inhibit_v1.cfrsfnrrg
2018-07-17Fix memory leak in handle_layer_shell_surfacefrsfnrrg
2018-07-17Free individual criteria in free_configfrsfnrrg
Also free cmd_list when cleaning up a struct criteria.
2018-07-17Fix uninitialized pointer in view_unmapfrsfnrrg
Otherwise, sway crashes due to uninitialized pointer dereference when AddressSanitizer is active.
2018-07-16Merge branch 'master' into default-floating-borderBrian Ashworth
2018-07-16Revert "config: free include path on successful load"Drew DeVault
This reverts commit 92450883d7b148d408b42c3553a60340a14771f6.
2018-07-17Remove superfluous IPC urgent eventsRyan Dwyer
When an xwayland view is mapped, the IPC urgent event was being sent on every surface commit. I had intentionally ommitted the check because I figured an urgent surface could update its urgent timestamp by sending urgent a second time. But that's not how it works in xwayland's case, and it makes for more complicated code.
2018-07-17Implement default_floating_border command and adjust CSD behaviourRyan Dwyer
2018-07-16Merge pull request #2276 from RyanDwyer/urgencyDrew DeVault
Implement urgency base functionality