X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Ftint.c;h=edaa3cd6f3266cc16daedbcecc1238febf43d110;hb=fbf80ddaba618c12fc0cf2cd62bc9f4ec8b766c6;hp=70b07c8521e383fc60030128bc444667d1963522;hpb=3083e8006371cfb4a454b8bce92a682e4bb87e50;p=chaz%2Ftint2 diff --git a/src/tint.c b/src/tint.c index 70b07c8..edaa3cd 100644 --- a/src/tint.c +++ b/src/tint.c @@ -115,6 +115,10 @@ void init (int argc, char *argv[]) default_icon = imlib_load_image(path); g_free(path); } + + // get monitor and desktop config + get_monitors(); + get_desktops(); } @@ -299,10 +303,10 @@ void event_button_press (XEvent *e) e->xbutton.window = server.root_win; // icewm doesn't open under the mouse. // and xfce doesn't open at all. - //e->xbutton.x = e->xbutton.x_root; - //e->xbutton.y = e->xbutton.y_root; + e->xbutton.x = e->xbutton.x_root; + e->xbutton.y = e->xbutton.y_root; //printf("**** %d, %d\n", e->xbutton.x, e->xbutton.y); - XSetInputFocus(server.dsp, e->xbutton.window, RevertToParent, e->xbutton.time); + //XSetInputFocus(server.dsp, e->xbutton.window, RevertToParent, e->xbutton.time); XSendEvent(server.dsp, e->xbutton.window, False, ButtonPressMask, e); return; } @@ -453,44 +457,7 @@ void event_property_notify (XEvent *e) } // Change active else if (at == server.atom._NET_ACTIVE_WINDOW) { - GSList *l0; - if (task_active) { - for (i=0 ; i < nb_panel ; i++) { - for (j=0 ; j < panel1[i].nb_desktop ; j++) { - for (l0 = panel1[i].taskbar[j].area.list; l0 ; l0 = l0->next) { - tsk = l0->data; - tsk->area.is_active = 0; - } - } - } - task_active = 0; - } - Window w1 = window_get_active (); - Task *t = task_get_task(w1); - if (!t) { - Window w2; - if (XGetTransientForHint(server.dsp, w1, &w2) != 0) - if (w2) t = task_get_task(w2); - } - if (task_urgent == t) { - init_precision(); - task_urgent = 0; - } - // put active state on all task (multi_desktop) - if (t) { - for (i=0 ; i < nb_panel ; i++) { - for (j=0 ; j < panel1[i].nb_desktop ; j++) { - for (l0 = panel1[i].taskbar[j].area.list; l0 ; l0 = l0->next) { - tsk = l0->data; - if (tsk->win == t->win) { - tsk->area.is_active = 1; - //printf("active monitor %d, task %s\n", panel1[i].monitor, tsk->title); - } - } - } - } - task_active = t; - } + active_task(); panel_refresh = 1; } else if (at == server.atom._XROOTPMAP_ID) { @@ -695,7 +662,7 @@ void event_timer() // update battery #ifdef ENABLE_BATTERY - if (panel1[0].battery.area.on_screen) { + if (battery_enabled) { update_battery(); for (i=0 ; i < nb_panel ; i++) panel1[i].battery.area.resize = 1; @@ -859,9 +826,13 @@ int main (int argc, char *argv[]) event_timer(); switch (signal_pending) { - case SIGUSR1: + case SIGUSR1: // reload config file signal_pending = 0; - return 0; + init_config(); + config_read_file (config_path); + init_panel(); + cleanup_config(); + break; case SIGINT: case SIGTERM: case SIGHUP: