summaryrefslogtreecommitdiffstats
path: root/include/extensions.h
Commit message (Collapse)AuthorAge
* Turn swaybg into a shell surfaceLibravatar Drew DeVault2016-07-17
|
* Set panels' geometries correctly and don't render them explicitlyLibravatar David Eklov2016-07-14
| | | | | | | | | | | | | | | Panels were explicitly rendered by calling wlc_surface_render in handle_output_pre_render. Calling wlc_surface_render does not set the surface's geometry (like wlc_view_set_geometry does). Sway did not call wlc_view_set_geometry for panels, so wlc defaulted their geometry to be at the origin. This is not correct for bars unless their location is top. Furthermore, for a surface to receive pointer events, its mask has to be set to visible. This causes wlc to render these surfaces, causing panels and backgrounds to be rendered twice. This commit makes panels and surfaces visible, sets the correct geometries and removes the code that explicitly rendered them.
* Don't treat backgrounds as shell surfacesLibravatar David Eklov2016-07-14
| | | | | This code had some issues. Remove it now so that we can start clean and fix it later.
* Fix formatting guide violations (spaces instead of tabs)Libravatar David Eklov2016-07-04
|
* Enable backgrounds and panels to be shell surfacesLibravatar David Eklov2016-07-04
| | | | | | | | 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.
* Remove unused panel_size (and fix rearrange)Libravatar Mikkel Oscar Lyderik2016-03-17
| | | | | | | | | | | | 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
* extensions: Track panels by wl_resource, position per panel.Libravatar S. Christoffer Eliesen2015-12-20
| | | | | | | | 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.
* extensions: panel_config->resource => wl_surface_res.Libravatar S. Christoffer Eliesen2015-12-20
| | | | Change the name to something less ambigious.
* Add shims for swaylock on compositorLibravatar Drew DeVault2015-12-18
|
* Include wayland-server.h instead of -core.hLibravatar Drew DeVault2015-12-10
|
* Add swaylock protocol, add resource destructorsLibravatar Drew DeVault2015-12-03
| | | | This prevents sway crashing if swaybg or swaybar dies.
* Support desktop shell panels in compositorLibravatar Drew DeVault2015-11-29
|
* Fix background extensionsLibravatar Drew DeVault2015-11-19
| | | | Thanks @Cloudef, it works great
* Add background handlingLibravatar Drew DeVault2015-11-18
| | | | | | | | | | | | | | | 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.
* Basic support for extensions in server and clientsLibravatar Drew DeVault2015-11-18