void autohide_hide(void* p) { Panel* panel = p; stop_autohide_timeout(panel); panel->is_hidden = 1; if (panel_strut_policy == STRUT_FOLLOW_SIZE) update_strut(p); XUnmapSubwindows(server.dsp, panel->main_win); // systray windows int diff = (panel_horizontal ? panel->area.height : panel->area.width) - panel_autohide_height; //printf("autohide_hide : diff %d, w %d, h %d\n", diff, panel->hidden_width, panel->hidden_height); if (panel_horizontal) { if (panel_position & TOP) XResizeWindow(server.dsp, panel->main_win, panel->hidden_width, panel->hidden_height); else XMoveResizeWindow(server.dsp, panel->main_win, panel->posx, panel->posy+diff, panel->hidden_width, panel->hidden_height); } else { if (panel_position & LEFT) XResizeWindow(server.dsp, panel->main_win, panel->hidden_width, panel->hidden_height); else XMoveResizeWindow(server.dsp, panel->main_win, panel->posx+diff, panel->posy, panel->hidden_width, panel->hidden_height); } panel_refresh = 1; }
void autohide_hide(void *p) { Panel *panel = (Panel *)p; stop_autohide_timeout(panel); panel->is_hidden = TRUE; XUnmapSubwindows(server.display, panel->main_win); // systray windows set_panel_window_geometry(panel); panel_refresh = TRUE; }
void autohide_show(void *p) { Panel *panel = (Panel *)p; stop_autohide_timeout(panel); panel->is_hidden = 0; XMapSubwindows(server.display, panel->main_win); // systray windows set_panel_window_geometry(panel); refresh_systray = TRUE; // ugly hack, because we actually only need to call XSetBackgroundPixmap panel_refresh = TRUE; }
void autohide_show(void* p) { Panel* panel = p; stop_autohide_timeout(panel); panel->is_hidden = 0; if (panel_strut_policy == STRUT_FOLLOW_SIZE) update_strut(p); XMapSubwindows(server.dsp, panel->main_win); // systray windows if (panel_horizontal) { if (panel_position & TOP) XResizeWindow(server.dsp, panel->main_win, panel->area.width, panel->area.height); else XMoveResizeWindow(server.dsp, panel->main_win, panel->posx, panel->posy, panel->area.width, panel->area.height); } else { if (panel_position & LEFT) XResizeWindow(server.dsp, panel->main_win, panel->area.width, panel->area.height); else XMoveResizeWindow(server.dsp, panel->main_win, panel->posx, panel->posy, panel->area.width, panel->area.height); } refresh_systray = 1; // ugly hack, because we actually only need to call XSetBackgroundPixmap panel_refresh = 1; }