## WORKSPACES
*<desktops number=""><names><name>*
- Define workspaces. A workspace covers all outputs. The OSD only shows
- windows on the current workspace. Workspaces can be switched to with
- GoToDesktop and windows can be moved with SendToDesktop. See
- labwc-actions(5) for more information about their arguments.
+ Define workspaces. A workspace covers all outputs. Workspaces can be
+ switched to with GoToDesktop and windows can be moved with SendToDesktop.
+ See labwc-actions(5) for more information about their arguments.
The number attribute defines the minimum number of workspaces. Default
is 1. The number attribute is optional. If the number attribute is
Define the timeout after which to hide the workspace OSD.
A setting of 0 disables the OSD. Default is 1000 ms.
+*<desktops><prefix>*
+ Set the prefix to use when using "number" above. Default is "Workspace"
+
## THEME
*<theme><name>*
Or it can also be configured like this:
<desktops number="4" />
+ Or like this:
+ <desktops>
+ <popupTime>500</popupTime>
+ <number>5</number>
+ <prefix>ws</prefix>
+ </desktops>
+
+ Or:
+ <desktops number="4" popupTime="500" prefix="ws" />
+
popupTime defaults to 1000 so could be left out.
Set to 0 to completely disable the workspace OSD.
+ prefix defaults to "Workspace" when using number instead of names.
+
Use GoToDesktop left | right to switch workspaces.
Use SendToDesktop left | right to move windows.
See man labwc-actions for further information.
rc.workspace_config.popuptime = atoi(content);
} else if (!strcasecmp(nodename, "number.desktops")) {
rc.workspace_config.min_nr_workspaces = MAX(1, atoi(content));
+ } else if (!strcasecmp(nodename, "prefix.desktops")) {
+ rc.workspace_config.prefix = xstrdup(content);
} else if (!strcasecmp(nodename, "popupShow.resize")) {
if (!strcasecmp(content, "Always")) {
rc.resize_indicator = LAB_RESIZE_INDICATOR_ALWAYS;
int nr_workspaces = wl_list_length(&rc.workspace_config.workspaces);
if (nr_workspaces < rc.workspace_config.min_nr_workspaces) {
+ if (!rc.workspace_config.prefix) {
+ rc.workspace_config.prefix = xstrdup("Workspace");
+ }
struct workspace *workspace;
for (int i = nr_workspaces; i < rc.workspace_config.min_nr_workspaces; i++) {
workspace = znew(*workspace);
- workspace->name = strdup_printf("Workspace %d", i + 1);
+ workspace->name = strdup_printf("%s %d",
+ rc.workspace_config.prefix, i + 1);
wl_list_append(&rc.workspace_config.workspaces, &workspace->link);
}
}
zfree(rc.font_menuitem.name);
zfree(rc.font_osd.name);
zfree(rc.theme_name);
+ zfree(rc.workspace_config.prefix);
struct usable_area_override *area, *area_tmp;
wl_list_for_each_safe(area, area_tmp, &rc.usable_area_overrides, link) {