aboutsummaryrefslogtreecommitdiff
path: root/include/extensions.h
AgeCommit message (Collapse)AuthorLines
2016-09-01Reorganize includesFurkan Sahin-49/+0
2016-07-17Turn swaybg into a shell surfaceFurkan Sahin-0/+2
2016-07-06Set panels' geometries correctly and don't render them explicitlyFurkan Sahin-0/+2
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.
2016-07-10Don't treat backgrounds as shell surfacesFurkan Sahin-2/+0
This code had some issues. Remove it now so that we can start clean and fix it later.
2016-07-04Fix formatting guide violations (spaces instead of tabs)Furkan Sahin-20/+20
2016-07-04Enable backgrounds and panels to be shell surfacesFurkan Sahin-0/+4
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-03-17Remove unused panel_size (and fix rearrange)Furkan Sahin-1/+0
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
2015-12-20extensions: Track panels by wl_resource, position per panel.Furkan Sahin-1/+3
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.Furkan Sahin-2/+4
Change the name to something less ambigious.
2015-12-18Add shims for swaylock on compositorFurkan Sahin-0/+2
2015-12-10Include wayland-server.h instead of -core.hFurkan Sahin-1/+1
2015-12-03Add swaylock protocol, add resource destructorsFurkan Sahin-1/+10
This prevents sway crashing if swaybg or swaybar dies.
2015-11-29Support desktop shell panels in compositorFurkan Sahin-0/+9
2015-11-19Fix background extensionsFurkan Sahin-1/+2
Thanks @Cloudef, it works great
2015-11-18Add background handlingFurkan Sahin-0/+13
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 clientsFurkan Sahin-0/+6