diff --git a/docs/labwc-config.5.scd b/docs/labwc-config.5.scd index 08c7aef6..9bf99d8b 100644 --- a/docs/labwc-config.5.scd +++ b/docs/labwc-config.5.scd @@ -134,7 +134,7 @@ this is for compatibility with Openbox. ## WINDOW SWITCHER -** +** *show* [yes|no] Draw the OnScreenDisplay when switching between windows. Default is yes. @@ -144,6 +144,10 @@ this is for compatibility with Openbox. *outlines* [yes|no] Draw an outline around the selected window when switching between windows. Default is yes. + *full_app_id* [yes|no] Display full application identifier instead of trimmed + variant. Trimming removes the first two nodes of 'org.' strings. Default is + no. + ** Define window switcher fields. diff --git a/docs/rc.xml.all b/docs/rc.xml.all index 7c59660a..35c55c35 100644 --- a/docs/rc.xml.all +++ b/docs/rc.xml.all @@ -49,7 +49,7 @@ Just as for window-rules, 'identifier' relates to app_id for native Wayland windows and WM_CLASS for XWayland clients. --> - + diff --git a/include/config/rcxml.h b/include/config/rcxml.h index 62cc5a15..578c5cd8 100644 --- a/include/config/rcxml.h +++ b/include/config/rcxml.h @@ -97,6 +97,7 @@ struct rcxml { bool show; bool preview; bool outlines; + bool full_app_id; struct wl_list fields; /* struct window_switcher_field.link */ } window_switcher; diff --git a/src/config/rcxml.c b/src/config/rcxml.c index efd6122f..7f6a25e4 100644 --- a/src/config/rcxml.c +++ b/src/config/rcxml.c @@ -755,13 +755,15 @@ entry(xmlNode *node, char *nodename, char *content) } else if (!strcasecmp(nodename, "topMaximize.snapping")) { set_bool(content, &rc.snap_top_maximize); - /* */ + /* */ } else if (!strcasecmp(nodename, "show.windowSwitcher")) { set_bool(content, &rc.window_switcher.show); } else if (!strcasecmp(nodename, "preview.windowSwitcher")) { set_bool(content, &rc.window_switcher.preview); } else if (!strcasecmp(nodename, "outlines.windowSwitcher")) { set_bool(content, &rc.window_switcher.outlines); + } else if (!strcasecmp(nodename, "full_app_id.windowSwitcher")) { + set_bool(content, &rc.window_switcher.full_app_id); /* Remove this long term - just a friendly warning for now */ } else if (strstr(nodename, "windowswitcher.core")) { @@ -976,6 +978,7 @@ rcxml_init(void) rc.window_switcher.show = true; rc.window_switcher.preview = true; rc.window_switcher.outlines = true; + rc.window_switcher.full_app_id = false; rc.resize_indicator = LAB_RESIZE_INDICATOR_NEVER; diff --git a/src/osd.c b/src/osd.c index 230f87af..af34c4f5 100644 --- a/src/osd.c +++ b/src/osd.c @@ -44,6 +44,9 @@ get_formatted_app_id(struct view *view) if (!s) { return NULL; } + if (rc.window_switcher.full_app_id) { + return s; + } /* remove the first two nodes of 'org.' strings */ if (!strncmp(s, "org.", 4)) { char *p = s + 4;