]> Dogcows Code - chaz/tint2/commitdiff
allow to choose the number of blink for urgent task
authorThierry Lorthiois <lorthiois@bbsoft.fr>
Sat, 20 Jun 2009 14:41:06 +0000 (14:41 +0000)
committerThierry Lorthiois <lorthiois@bbsoft.fr>
Sat, 20 Jun 2009 14:41:06 +0000 (14:41 +0000)
ChangeLog
src/config.c
src/panel.c
src/panel.h
src/tint.c

index d48a4818d3f8056f549d5a9cba66a1b0305ad4f4..26870118473684ecf42600053f5053d4a6c231f3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2009-06-20
+- 'urgent_nb_of_blink' allow to choose the number of blink
+
 2009-06-19
 - change systray code. fixed issue 91.
 
index f70b78a9a8db0cf055938bb4d05031f7f5aebb78..9405146c27cd504abc60c42f3cd6191664ed2d99 100644 (file)
@@ -83,6 +83,7 @@ void init_config()
        panel_config = calloc(1, sizeof(Panel));
        // window manager's menu default value == false
        wm_menu = 0;
+       max_tick_urgent = 7;
 }
 
 
@@ -318,6 +319,8 @@ void add_entry (char *key, char *value)
    }
    else if (strcmp (key, "wm_menu") == 0)
       wm_menu = atoi (value);
+   else if (strcmp (key, "urgent_nb_of_blink") == 0)
+      max_tick_urgent = (atoi (value) * 2) + 1;
 
    /* Battery */
 #ifdef ENABLE_BATTERY
index 825a382e64fb03da2accbaa1d8f924406f9a429e..161d9023966182d6e0b934f9d17bd46986ae40b9 100644 (file)
@@ -47,6 +47,8 @@ int panel_refresh;
 Task *task_active;
 Task *task_drag;
 Task *task_urgent;
+int  tick_urgent;
+int  max_tick_urgent;
 
 Panel *panel1 = 0;
 int  nb_panel;
index dbae95df16a6638faf509ead11c5182333a3f6c1..a8247a91af375c6803a1d05393f099a633bc00a0 100644 (file)
@@ -47,6 +47,8 @@ extern int panel_refresh;
 extern Task *task_active;
 extern Task *task_drag;
 extern Task *task_urgent;
+extern int  tick_urgent;
+extern int  max_tick_urgent;
 
 
 typedef struct {
index 6f85b68caec80519d17f67dd97ea058e740c4624..da98965dfeffc2868b5c6ef1c9175df374841614 100644 (file)
@@ -390,6 +390,7 @@ void event_property_notify (XEvent *e)
       else if (at == server.atom._NET_WM_STATE) {
          if (window_is_urgent (win)) {
                                task_urgent = tsk;
+                               tick_urgent = 0;
                                time_precision = 1;
                        }
                }
@@ -510,8 +511,11 @@ void event_timer()
 
        // urgent task
        if (task_urgent) {
-               task_urgent->area.is_active = !task_urgent->area.is_active;
-               task_urgent->area.redraw = 1;
+               if (tick_urgent < max_tick_urgent) {
+                       task_urgent->area.is_active = !task_urgent->area.is_active;
+                       task_urgent->area.redraw = 1;
+                       tick_urgent++;
+               }
        }
 
        // update battery
@@ -547,8 +551,16 @@ int main (int argc, char *argv[])
 load_config:
    i = 0;
        init_config();
-   if (c != -1)
+   if (c != -1) {
       i = config_read_file (optarg);
+          c = getopt (argc, argv, "j:");
+          if (c != -1) {
+                       // usage: tint2 [-c] <config_file> -j <jpeg_file> for internal use
+          printf("jpeg file %s\n", optarg);
+             cleanup();
+          exit(0);
+               }
+       }
    if (!i)
       i = config_read ();
    if (!i) {
This page took 0.028345 seconds and 4 git commands to generate.