mirror of
https://github.com/labwc/labwc.git
synced 2026-04-04 07:15:41 -04:00
osd: update the default window switcher layout
The default window switcher layout is updated from:
<windowSwitcher>
<fields>
<field content="type" width="25%" />
<field content="trimmed_identifier" width="25%" />
<field content="title" width="50%" />
</fields>
</windowSwitcher>
to:
<windowSwitcher>
<fields>
<field content="icon" width="5%" />
<field content="desktop_entry_name" width="30%" />
<field content="title" width="65%" />
</fields>
</windowSwitcher>
Only desktop entry name and title are shown when libsfdo is not linked.
This commit is contained in:
parent
fdc8537eee
commit
44146487b2
3 changed files with 34 additions and 30 deletions
|
|
@ -269,9 +269,9 @@ this is for compatibility with Openbox.
|
||||||
```
|
```
|
||||||
<windowSwitcher show="yes" preview="yes" outlines="yes" allWorkspaces="no">
|
<windowSwitcher show="yes" preview="yes" outlines="yes" allWorkspaces="no">
|
||||||
<fields>
|
<fields>
|
||||||
<field content="type" width="25%"/>
|
<field content="icon" width="5%" />
|
||||||
<field content="trimmed_identifier" width="25%"/>
|
<field content="desktop_entry_name" width="30%" />
|
||||||
<field content="title" width="50%"/>
|
<field content="title" width="65%" />
|
||||||
</fields>
|
</fields>
|
||||||
</windowSwitcher>
|
</windowSwitcher>
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -70,24 +70,25 @@
|
||||||
</font>
|
</font>
|
||||||
</theme>
|
</theme>
|
||||||
|
|
||||||
<!--
|
|
||||||
Just as for window-rules, 'identifier' relates to app_id for native Wayland
|
|
||||||
windows and WM_CLASS for XWayland clients.
|
|
||||||
-->
|
|
||||||
<windowSwitcher show="yes" preview="yes" outlines="yes" allWorkspaces="no">
|
<windowSwitcher show="yes" preview="yes" outlines="yes" allWorkspaces="no">
|
||||||
<fields>
|
<fields>
|
||||||
<field content="type" width="25%" />
|
<field content="icon" width="5%" />
|
||||||
<field content="trimmed_identifier" width="25%" />
|
<field content="desktop_entry_name" width="30%" />
|
||||||
<!-- <field content="identifier" width="25%" /> -->
|
<field content="title" width="65%" />
|
||||||
<field content="title" width="50%" />
|
<!--
|
||||||
|
Just as for window-rules, you can use 'identifier' or
|
||||||
|
'trimmed_identifier' to show the app_id for native wayland clients or
|
||||||
|
WM_CLASS for XWayland clients.
|
||||||
|
|
||||||
|
<field content="trimmed_identifier" width="65%" />
|
||||||
|
-->
|
||||||
</fields>
|
</fields>
|
||||||
</windowSwitcher>
|
</windowSwitcher>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
When using all workspaces option of window switcher, there are extra fields
|
We support many other kinds of contents in the window switcher like below.
|
||||||
that can be used, workspace (variable length), state (single space),
|
Some contents are fixed-length and others are variable-length.
|
||||||
type_short (3 spaces), output (variable length), and can be set up
|
See "man 5 labwc" for details.
|
||||||
like this. Note: output only shows if more than one output available.
|
|
||||||
|
|
||||||
<windowSwitcher show="yes" preview="no" outlines="no" allWorkspaces="yes">
|
<windowSwitcher show="yes" preview="no" outlines="no" allWorkspaces="yes">
|
||||||
<fields>
|
<fields>
|
||||||
|
|
@ -102,12 +103,12 @@
|
||||||
|
|
||||||
custom format - (introduced in 0.7.2)
|
custom format - (introduced in 0.7.2)
|
||||||
It allows one to replace all the above "fields" with one line, using a
|
It allows one to replace all the above "fields" with one line, using a
|
||||||
printf style format. For field explanations, "man 5 labwc-config".
|
printf style format. For field explanations, see "man 5 labwc-config".
|
||||||
|
|
||||||
The example below would print "foobar",then type of window (wayland, X),
|
The example below would print "foobar", then type of window (wayland, X),
|
||||||
then state of window (M/m/F), then output (shows if more than 1 active),
|
then state of window (M/m/F), then output (shows if more than 1 active),
|
||||||
then workspace name, then identifier/app-id, then the window title.
|
then workspace name, then identifier/app-id, then the window title.
|
||||||
Uses 100% of OSD window width.
|
It uses 100% of OSD window width.
|
||||||
|
|
||||||
<windowSwitcher show="yes" preview="no" outlines="no" allWorkspaces="yes">
|
<windowSwitcher show="yes" preview="no" outlines="no" allWorkspaces="yes">
|
||||||
<fields>
|
<fields>
|
||||||
|
|
|
||||||
|
|
@ -1673,22 +1673,25 @@ deduplicate_key_bindings(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct {
|
|
||||||
enum window_switcher_field_content content;
|
|
||||||
int width;
|
|
||||||
} fields[] = {
|
|
||||||
{ LAB_FIELD_TYPE, 25 },
|
|
||||||
{ LAB_FIELD_TRIMMED_IDENTIFIER, 25 },
|
|
||||||
{ LAB_FIELD_TITLE, 50 },
|
|
||||||
{ LAB_FIELD_NONE, 0 },
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
load_default_window_switcher_fields(void)
|
load_default_window_switcher_fields(void)
|
||||||
{
|
{
|
||||||
struct window_switcher_field *field;
|
static const struct {
|
||||||
|
enum window_switcher_field_content content;
|
||||||
|
int width;
|
||||||
|
} fields[] = {
|
||||||
|
#if HAVE_LIBSFDO
|
||||||
|
{ LAB_FIELD_ICON, 5 },
|
||||||
|
{ LAB_FIELD_DESKTOP_ENTRY_NAME, 30 },
|
||||||
|
{ LAB_FIELD_TITLE, 65 },
|
||||||
|
#else
|
||||||
|
{ LAB_FIELD_DESKTOP_ENTRY_NAME, 30 },
|
||||||
|
{ LAB_FIELD_TITLE, 70 },
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
for (int i = 0; fields[i].content != LAB_FIELD_NONE; i++) {
|
struct window_switcher_field *field;
|
||||||
|
for (size_t i = 0; i < ARRAY_SIZE(fields); i++) {
|
||||||
field = znew(*field);
|
field = znew(*field);
|
||||||
field->content = fields[i].content;
|
field->content = fields[i].content;
|
||||||
field->width = fields[i].width;
|
field->width = fields[i].width;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue