aboutsummaryrefslogtreecommitdiff
path: root/include/sway
AgeCommit message (Collapse)Author
2018-07-07Use opaque region to determine if frame done should be sentRyan Dwyer
2018-07-05Implement mode --pango_markupBrian Ashworth
2018-07-04ipc-server: add display destroy listener and remove ipc_terminateDominique Martinet
wl_event_source_remove() is illegal after display has been destroyed, so just destroy everything when we still can. ==20392==ERROR: AddressSanitizer: heap-use-after-free on address 0x607000001240 at pc 0x00000048e86e bp 0x7ffe4b557e00 sp 0x7ffe4b557df0 READ of size 8 at 0x607000001240 thread T0 #0 0x48e86d in wl_list_insert ../common/list.c:149 #1 0x7fdf673d4d7d in wl_event_source_remove src/event-loop.c:487 #2 0x41b742 in ipc_terminate ../sway/ipc-server.c:94 #3 0x40b1ad in main ../sway/main.c:440 #4 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308 #5 0x409359 in _start (/opt/wayland/bin/sway+0x409359) 0x607000001240 is located 48 bytes inside of 72-byte region [0x607000001210,0x607000001258) freed by thread T0 here: #0 0x7fdf692c4880 in __interceptor_free (/lib64/libasan.so.5+0xee880) #1 0x7fdf673d371a in wl_display_destroy src/wayland-server.c:1097 previously allocated by thread T0 here: #0 0x7fdf692c4c48 in malloc (/lib64/libasan.so.5+0xeec48) #1 0x7fdf673d4d9e in wl_event_loop_create src/event-loop.c:522 #2 0x40acb2 in main ../sway/main.c:363 #3 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308
2018-07-02idle_inhibit: move server data to its own structDominique Martinet
2018-07-02idle_inhibit: stop inhibitor when views become invisibleDominique Martinet
2018-07-02Add idle inhibit unstable v1 supportDominique Martinet
2018-06-30sway views: add helpers to get view and layer from wlr_surfaceDominique Martinet
2018-06-30Merge remote-tracking branch 'upstream/master' into atomicRyan Dwyer
2018-06-30Revert "Don't unmaximize floating views"Rostislav Pehlivanov
This reverts commit 97672295ed50d1d6272876c4a3b6b5607cab05c6.
2018-06-29Render saved buffers with the surface's dimensionsRyan Dwyer
2018-06-29Merge remote-tracking branch 'upstream/master' into atomicRyan Dwyer
2018-06-29Add comment about usage to arrange_windows declarationRyan Dwyer
2018-06-27Allow views to skip configuresRyan Dwyer
To do this properly, the transaction queue will only be processed if it can be completely processed.
2018-06-27Fix memleak in container_get_boxRyan Dwyer
Rather than allocate a structure and expect callers to free it, take a pointer to an existing struct as an argument. This function is no longer called anywhere though.
2018-06-27Remove transaction_add_damageRyan Dwyer
Instead, damage each container when applying the transaction.
2018-06-27Merge branch 'master' into xwayland-wants-floatRyan Dwyer
2018-06-26layer_shell: order destroying before sway_outputDominique Martinet
Both sway_output and sway_layer_shell listen to wlr's output destroy event, but sway_layer_shell needs to access into sway_output's data strucure and needs to be destroyed first. Resolve this by making sway_layer_shell listen to a new event that happens at start of sway_output's destroy handler
2018-06-26Remove incorrect assertion and supporting codeRyan Dwyer
Children can exist when destroying a container, such as when destroying the last output. Sway is not terminating in that case.
2018-06-26Rename view's free callback to destroyRyan Dwyer
2018-06-26Damage output when a fullscreen view unmapsRyan Dwyer
Also moved the arranging into view_unmap to avoid excessive code duplication.
2018-06-25Implement transaction timings debugRyan Dwyer
Launch sway with SWAY_DEBUG=txn_timings to enable it.
2018-06-24Implement atomic layout updates for xwayland viewsRyan Dwyer
2018-06-24Force transactions to complete in orderRyan Dwyer
This forces transactions to complete in order by using a singly linked list stored in the sway server.
2018-06-23Fix crash when deleting last child in a tabbed or stacked containerRyan Dwyer
There was no `current` child because the container was destroyed. This makes it fall back to looking in the parent's current children list.
2018-06-23Merge remote-tracking branch 'upstream/master' into atomicRyan Dwyer
2018-06-23Implement atomic layout updates for tree operationsRyan Dwyer
This implements atomic layout updates for when views map, reparent or unmap.
2018-06-19Perform (partial) server initialization before dropping privileges.Tobias Blass
Some operations during backend creation (e.g. becoming DRM master) require CAP_SYS_ADMIN privileges. At this point, sway has dropped them already, though. This patch splits the privileged part of server_init into its own function and calls it before dropping its privileges. This fixes the bug with minimal security implications.
2018-06-18Automatically float xwayland windowsemersion
2018-06-18Preserve buffers during transactionsRyan Dwyer
* Also fix parts of the rendering where it was rendering the pending state instead of current.
2018-06-18Merge remote-tracking branch 'upstream/master' into atomicRyan Dwyer
2018-06-12Fix keyboard shortcut handling inconsistenciesfrsfnrrg
* Ensure that modifier keys are identified even when the next key does not produce a keysym. This requires that modifier change tracking be done for each sway_shortcut_state. * Permit regular and --release shortcuts on the same key combination. Distinct bindings are identified for press and release cases; note that the release binding needs to be identified for both key press and key release events. * Maintain ascending sort order for the shortcut state list, and keep track of the number of pressed key ids, for simpler (and hence faster) searching of the list of key bindings. * Move binding duplicate detection into get_active_binding to avoid duplicating error messages.
2018-06-12Sort binding key listsfrsfnrrg
Sort the list comprising the set of keys for the binding in ascending order. (Keyboard shortcuts depend only on the set of simultaneously pressed keys, not their order, so this change should have no external effect.) This simplifies comparisons between bindings.
2018-06-11Merge remote-tracking branch 'upstream/master' into atomicRyan Dwyer
2018-06-09Merge pull request #2124 from emersion/drag-iconsDrew DeVault
Render drag icons
2018-06-09Implement gaps (PR #2047)Nate Symer
2018-06-09Render drag iconsemersion
2018-06-09Refactor everything that needs to arrange windowsRyan Dwyer
* The arrange_foo functions are now replaced with arrange_and_commit, or with manually created transactions and arrange_windows x2. * The arrange functions are now only called from the highest level functions rather than from both high level and low level functions. * Due to the previous point, view_set_fullscreen_raw and view_set_fullscreen are both merged into one function again. * Floating and fullscreen are now working with transactions.
2018-06-09Make main properties be the pending stateRyan Dwyer
2018-06-09WIP: Atomic layout updates ground workRyan Dwyer
2018-06-08Restore workspaces to outputs based on priorityBrian Ashworth
2018-06-06Switch output storing from list_t to wl_listBrian Ashworth
2018-06-06Store sway_outputs so that they can be reenabledBrian Ashworth
2018-06-03Refactor cmd_output to use config_subcommandBrian Ashworth
2018-06-02Address first round of review for generic blocksBrian Ashworth
2018-06-02Make command block implementation genericBrian Ashworth
2018-06-01Comment to explain sway_shortcut_state listsfrsfnrrg
2018-06-01Rewrite shortcut handling code to avoid hardcoded valuesfrsfnrrg
The same shortcut algorithm is now used for keycodes, raw keysyms, and translated keysyms. Pressed keysyms are now stored in association with the keycodes that generated them. Modifier keycodes (and associated keysyms) are identified retroactively by the subsequent change to the modifier flags.
2018-06-01Fix mpv damage issue when unfullscreening into floatingRyan Dwyer
2018-06-01Don't unmaximize floating viewsRyan Dwyer
2018-06-01Don't let xwayland views set position unless unmanagedRyan Dwyer