diff --git a/docs/labwc-config.5.scd b/docs/labwc-config.5.scd index e3c6fcf7..43a7ccb2 100644 --- a/docs/labwc-config.5.scd +++ b/docs/labwc-config.5.scd @@ -397,6 +397,10 @@ extending outward from the snapped edge. ** The radius of server side decoration top corners. Default is 8. +** [yes|no] + Set this to 'no' to only keep a small border (and resize area) + around the window. Default is yes. + ** [yes|no] Even when disabling server side decorations via ToggleDecorations, keep a small border (and resize area) around the window. Default is yes. diff --git a/docs/rc.xml.all b/docs/rc.xml.all index 5fdcd346..6525262e 100644 --- a/docs/rc.xml.all +++ b/docs/rc.xml.all @@ -23,6 +23,7 @@ 8 + yes yes sans diff --git a/include/config/rcxml.h b/include/config/rcxml.h index ff8b8136..240437ba 100644 --- a/include/config/rcxml.h +++ b/include/config/rcxml.h @@ -63,6 +63,7 @@ struct rcxml { /* theme */ char *theme_name; int corner_radius; + bool ssd_titlebar; bool ssd_keep_border; struct font font_activewindow; struct font font_inactivewindow; diff --git a/src/config/rcxml.c b/src/config/rcxml.c index 1b14c0a2..4ebf324a 100644 --- a/src/config/rcxml.c +++ b/src/config/rcxml.c @@ -838,6 +838,8 @@ entry(xmlNode *node, char *nodename, char *content) rc.theme_name = xstrdup(content); } else if (!strcmp(nodename, "cornerradius.theme")) { rc.corner_radius = atoi(content); + } else if (!strcmp(nodename, "titlebar.theme")) { + set_bool(content, &rc.ssd_titlebar); } else if (!strcasecmp(nodename, "keepBorder.theme")) { set_bool(content, &rc.ssd_keep_border); } else if (!strcmp(nodename, "name.font.theme")) { @@ -1146,6 +1148,7 @@ rcxml_init(void) rc.placement_policy = LAB_PLACE_CENTER; rc.xdg_shell_server_side_deco = true; + rc.ssd_titlebar = true; rc.ssd_keep_border = true; rc.corner_radius = 8; diff --git a/src/xdg.c b/src/xdg.c index 4e6d6dad..ecc7a9c5 100644 --- a/src/xdg.c +++ b/src/xdg.c @@ -735,6 +735,7 @@ xdg_surface_new(struct wl_listener *listener, void *data) } view->workspace = server->workspace_current; + view->ssd_titlebar_hidden = !rc.ssd_titlebar; view->scene_tree = wlr_scene_tree_create(view->workspace->tree); wlr_scene_node_set_enabled(&view->scene_tree->node, false); diff --git a/src/xwayland.c b/src/xwayland.c index 5b406522..553fab96 100644 --- a/src/xwayland.c +++ b/src/xwayland.c @@ -869,6 +869,7 @@ xwayland_view_create(struct server *server, xsurface->data = view; view->workspace = server->workspace_current; + view->ssd_titlebar_hidden = !rc.ssd_titlebar; view->scene_tree = wlr_scene_tree_create(view->workspace->tree); node_descriptor_create(&view->scene_tree->node, LAB_NODE_DESC_VIEW, view);