mirror of
https://github.com/vale981/spectrwm
synced 2025-03-05 09:51:38 -05:00
Add two configuration options:
* title_name_enabled * title_class_enabled The first one shows the active window title in the status bar, the second the active window class (useful to find out window classes to use with quirks). Both are disabled by default. read & approved by marco.
This commit is contained in:
parent
a4ecf5f75c
commit
ef26984e39
3 changed files with 36 additions and 0 deletions
|
@ -140,6 +140,12 @@ binary must not be setuid or setgid, which it is by default on most systems.
|
|||
Users may need to set spawn term to use an alternate copy of the
|
||||
.Xr xterm 1
|
||||
binary without the setgid bit set.
|
||||
.It Cm title_class_enabled
|
||||
Enable or disable displaying the window class in the status bar.
|
||||
Enable by setting to 1
|
||||
.It Cm title_name_enabled
|
||||
Enable or disable displaying the window title in the status bar.
|
||||
Enable by setting to 1
|
||||
.It Cm modkey
|
||||
Change mod key.
|
||||
Mod1 is generally the ALT key and Mod4 is the windows key on a PC.
|
||||
|
|
28
scrotwm.c
28
scrotwm.c
|
@ -182,6 +182,8 @@ int bar_extra_running = 0;
|
|||
int bar_verbose = 1;
|
||||
int bar_height = 0;
|
||||
int clock_enabled = 1;
|
||||
int title_name_enabled = 0;
|
||||
int title_class_enabled = 0;
|
||||
pid_t bar_pid;
|
||||
GC bar_gc;
|
||||
XGCValues bar_gcv;
|
||||
|
@ -692,6 +694,12 @@ conf_load(char *filename)
|
|||
case 't':
|
||||
if (!strncmp(var, "term_width", strlen("term_width")))
|
||||
term_width = atoi(val);
|
||||
else if (!strncmp(var, "title_class_enabled",
|
||||
strlen("title_class_enabled")))
|
||||
title_class_enabled = atoi(val);
|
||||
else if (!strncmp(var, "title_name_enabled",
|
||||
strlen("title_name_enabled")))
|
||||
title_name_enabled = atoi(val);
|
||||
else
|
||||
goto bad;
|
||||
break;
|
||||
|
@ -756,6 +764,8 @@ bar_update(void)
|
|||
char s[SWM_BAR_MAX];
|
||||
char loc[SWM_BAR_MAX];
|
||||
char *b;
|
||||
XClassHint *xch;
|
||||
Status status;
|
||||
|
||||
if (bar_enabled == 0)
|
||||
return;
|
||||
|
@ -781,6 +791,24 @@ bar_update(void)
|
|||
localtime_r(&tmt, &tm);
|
||||
strftime(s, sizeof s, "%a %b %d %R %Z %Y ", &tm);
|
||||
}
|
||||
xch = NULL;
|
||||
if ((title_name_enabled == 1 || title_class_enabled == 1) &&
|
||||
cur_focus != NULL) {
|
||||
if ((xch = XAllocClassHint()) == NULL)
|
||||
goto out;
|
||||
status = XGetClassHint(display, cur_focus->id, xch);
|
||||
if (status == BadWindow || status == BadAlloc)
|
||||
goto out;
|
||||
if (title_name_enabled)
|
||||
strlcat(s, xch->res_name, sizeof s);
|
||||
if (title_name_enabled && title_class_enabled)
|
||||
strlcat(s, " ", sizeof s);
|
||||
if (title_class_enabled)
|
||||
strlcat(s, xch->res_class, sizeof s);
|
||||
}
|
||||
out:
|
||||
if (xch)
|
||||
XFree(xch);
|
||||
for (i = 0; i < ScreenCount(display); i++) {
|
||||
x = 1;
|
||||
TAILQ_FOREACH(r, &screens[i].rl, entry) {
|
||||
|
|
|
@ -13,6 +13,8 @@ bar_font = -*-terminus-medium-*-*-*-*-*-*-*-*-*-*-*
|
|||
#bar_action = baraction.sh
|
||||
#bar_delay = 1
|
||||
clock_enabled = 1
|
||||
title_name_enabled = 0
|
||||
title_class_enabled = 0
|
||||
|
||||
# spawn app
|
||||
spawn_term = xterm
|
||||
|
|
Loading…
Add table
Reference in a new issue