aboutsummaryrefslogtreecommitdiff
path: root/sway/extensions.c
AgeCommit message (Collapse)Author
2016-12-28Add redshift supportDrew DeVault
2016-12-26sway: extensions: make locking give back focusAleksa Sarai
Don't switch the internal tracking of focus to the swaylock surface, to allow for switching back to the previously active window (or the currently active window, if some new process changed). Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2016-12-26sway: extensions: only unlock if lock_surfaces.length == 0Aleksa Sarai
When destroying lock surfaces, we really should only unlock a desktop_shell if the set of lock surfaces has dropped to zero (since callers need to do a set_lock_surface for every output). Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2016-12-15Handle calloc failuresDrew DeVault
2016-12-15Handle some more memory allocation failuresDrew DeVault
2016-12-01Add security checks for background, panel, lockDrew DeVault
2016-09-01Tweak how swaylock surfaces are handledDrew DeVault
Fixes #875
2016-09-01Reorganize includesDrew DeVault
2016-07-21Initial work on window eventsMykyta Holubakha
2016-07-17Turn swaybg into a shell surfaceDrew DeVault
2016-07-14Don't treat backgrounds as shell surfacesDavid Eklov
This code had some issues. Remove it now so that we can start clean and fix it later.
2016-07-04Enable backgrounds and panels to be shell surfacesDavid Eklov
Prior to this commit all windows (e.g. shell surfaces) were handled the same way in handle_view_created. Since backgrounds and panels have to be treated differently, they could not be shell surfaces. This changes checks whether a client is a background or a panel in handle_view_created and exists to let them be dealt with elsewhere.
2016-05-20Remove stray whitespaceMikkel Oscar Lyderik
2016-05-20Rearrange output when setting backgroundMikkel Oscar Lyderik
Fix #659
2016-03-17Remove unused panel_size (and fix rearrange)Mikkel Oscar Lyderik
desktop_shell.panel_size was only used to determine if sway should rearrange the output when rendering the panel in the output_pre_render hook. This is not needed since the output will have been arranged at that point. It also caused sway to rearrange all the time when running with two or more different monitors/resolutions because panel_size kept changing with every output_pre_render callback. Should fix #514
2016-03-17Focus correct swaylock view in multimonitor setupMikkel Oscar Lyderik
Swaylock spawns and focuses a view for each output in sway. This can sometimes move the focus to a new output after locking and unlocking the screens. This patch makes sure that the output which had focus when swaylock was invoked, will regain focus once swaylock is closed/unlocked. Fix #499
2016-03-17Schedule render when adding bg and panel.Mikkel Oscar Lyderik
This should be a real fix for #509 This schedules a render when a background or panel is added to sway through the desktop shell interface, that makes sure the render isn't scheduled before the bg or panel is ready and you don't end up with a black screen until the cursor is moved.
2016-03-04Reset input state when locking compositorMikkel Oscar Lyderik
Fix #498
2016-02-28sway: rearrange the whole ws on lock view setupprogandy
2016-02-28sway: set lock view to floating after ws switchprogandy
This avoids calling swayc_active_workspace.
2016-02-25Don't rearrange views behind swaylock.Mikkel Oscar Lyderik
Fix #481
2016-01-26Fix returning to sway after swaylock completesDrew DeVault
2015-12-20extensions: Track panels by wl_resource, position per panel.S. Christoffer Eliesen
Track each panel separately via its wl_resource. `set_panel_position` might be called before `set_panel`, so reuse panel config. Place the position in panel_config so that each panel has its own position.
2015-12-20extensions: panel_config->resource => wl_surface_res.S. Christoffer Eliesen
Change the name to something less ambigious.
2015-12-18Implement compositor support for swaylockDrew DeVault
This makes swaylock more or less work.
2015-12-18Fix lock extension setup in compositorDrew DeVault
2015-12-18Add shims for swaylock on compositorDrew DeVault
2015-12-03Add swaylock protocol, add resource destructorsDrew DeVault
This prevents sway crashing if swaybg or swaybar dies.
2015-11-29Support desktop shell panels in compositorDrew DeVault
2015-11-25extensions: add missing includeChristoph Gysin
This fixes a compiler warning: ../sway/extensions.c: In function ‘set_background’: ../sway/extensions.c:16:37: warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration] struct background_config *config = malloc(sizeof(struct background_config)); ^ ../sway/extensions.c:16:37: warning: incompatible implicit declaration of built-in function ‘malloc’ ../sway/extensions.c:16:37: note: include ‘<stdlib.h>’ or provide a declaration of ‘malloc’
2015-11-19Fix background extensionsDrew DeVault
Thanks @Cloudef, it works great
2015-11-18Add background handlingDrew DeVault
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