/* Show window listing in bar. */ int show_bar (rp_screen *s, char *fmt) { if (!s->bar_is_raised) { s->bar_is_raised = BAR_IS_WINDOW_LIST; if (defaults.bar_sticky) XMapWindow (dpy, s->bar_window); else XMapRaised (dpy, s->bar_window); update_window_names (s, fmt); /* Switch to the default colormap */ if (current_window()) XUninstallColormap (dpy, current_window()->colormap); XInstallColormap (dpy, s->def_cmap); reset_alarm(); return 1; } /* If the bar is raised we still need to display the window names. */ update_window_names (s, fmt); return 0; }
void update_bar (rp_screen *s) { if (s->bar_is_raised == BAR_IS_WINDOW_LIST) { update_window_names (s, defaults.window_fmt); return; } if (s->bar_is_raised == BAR_IS_HIDDEN) return; redraw_last_message(); }
int show_bar (screen_info *s) { if (!s->bar_is_raised) { s->bar_is_raised = 1; XMapWindow (dpy, s->bar_window); update_window_names (s); /* auto-hide the bar BAR_TIMEOUT seconds later */ alarm (BAR_TIMEOUT); return 1; } return 0; }
int EWMH_WMName( FvwmWindow *fw, XEvent *ev, window_style *style, unsigned long any) { int size = 0; char *val; char *tmp_str; FlocaleCharset *fc = NULL; int what_changed; if (!FiconvSupport) return 0; val = ewmh_AtomGetByName( FW_W(fw), "_NET_WM_NAME", EWMH_ATOM_LIST_PROPERTY_NOTIFY, &size); if (val == NULL) { SET_HAS_EWMH_WM_NAME(fw,0); return 0; } if (IS_WINDOW_FONT_LOADED(fw) && fw->title_font != NULL) { fc = fw->title_font->str_fc; } tmp_str = (char *)FiconvUtf8ToCharset( dpy, fc, (const char *) val, size); free(val); if (tmp_str == NULL) { SET_HAS_EWMH_WM_NAME(fw,0); return 0; } if (strlen(tmp_str) > MAX_WINDOW_NAME_LEN) { tmp_str[MAX_WINDOW_NAME_LEN] = 0; } SET_HAS_EWMH_WM_NAME(fw, 1); if (fw->name.name && strcmp(tmp_str, fw->name.name) == 0) { /* migo: some apps update their names every second */ free(tmp_str); return 0; } if (ev != NULL) { /* client message */ free_window_names(fw, True, False); } fw->name.name = tmp_str; if (ev == NULL) { return 1; } SET_NAME_CHANGED(fw, 1); what_changed = 1; if (!WAS_ICON_NAME_PROVIDED(fw)) { fw->icon_name = fw->name; what_changed |= 2; } update_window_names(fw, what_changed); return 0; }