[Xfce4-commits] r24811 - in xfcalendar/trunk: . src

Juha Kautto juha at xfce.org
Fri Feb 2 17:56:25 CET 2007


Author: juha
Date: 2007-02-02 16:56:25 +0000 (Fri, 02 Feb 2007)
New Revision: 24811

Modified:
   xfcalendar/trunk/configure.in.in
   xfcalendar/trunk/src/main.c
   xfcalendar/trunk/src/mainbox.c
   xfcalendar/trunk/src/parameters.c
   xfcalendar/trunk/src/reminder.c
Log:
startup time optimisation


Modified: xfcalendar/trunk/configure.in.in
===================================================================
--- xfcalendar/trunk/configure.in.in	2007-02-02 16:52:53 UTC (rev 24810)
+++ xfcalendar/trunk/configure.in.in	2007-02-02 16:56:25 UTC (rev 24811)
@@ -11,7 +11,7 @@
 dnl Version information
 m4_define([orage_version_major], [4])
 m4_define([orage_version_minor], [5])
-m4_define([orage_version_micro], [6])
+m4_define([orage_version_micro], [7])
 m4_define([orage_version_nano], [0])  dnl leave this empty to have no nano version
 m4_define([orage_version_tag], [svn])
 m4_define([orage_version], [orage_version_major().orage_version_minor().orage_version_micro()ifelse(orage_version_nano(), [], [], [.orage_version_nano()])orage_version_tag()])

Modified: xfcalendar/trunk/src/main.c
===================================================================
--- xfcalendar/trunk/src/main.c	2007-02-02 16:52:53 UTC (rev 24810)
+++ xfcalendar/trunk/src/main.c	2007-02-02 16:56:25 UTC (rev 24811)
@@ -60,7 +60,6 @@
 /* session client handler */
 static SessionClient	*session_client = NULL;
 static GdkAtom atom_alive;
-
 /*
 void program_log (const char *format, ...)
 {
@@ -421,10 +420,14 @@
     */
     read_parameters();
     build_mainWin();
+    /* let's do this later when the alarm timer fires first time.
+     * Saves 1-2 seconds in startup time
     g_par.trayIcon = create_TrayIcon(g_par.xfcal);
+    */
     set_parameters();
-    if (g_par.start_visible)
+    if (g_par.start_visible) {
         gtk_widget_show(g_par.xfcal->mWindow);
+    }
     else if (g_par.start_minimized) {
         gtk_window_iconify(GTK_WINDOW(g_par.xfcal->mWindow));
         gtk_widget_show(g_par.xfcal->mWindow);
@@ -433,7 +436,11 @@
         gtk_widget_realize(g_par.xfcal->mWindow);
         gtk_widget_hide(g_par.xfcal->mWindow);
     }
+    /* mCalendar_month_changed_cb calls orage_mark_appointments but
+     * delayed using timer, so that we save another 1-2 secs in startup
     orage_mark_appointments();
+    */
+    mCalendar_month_changed_cb(g_par.xfcal->mCalendar, NULL);
 
     /* start alarm monitoring timeout */
     g_timeout_add_full(0, 1000, (GtkFunction) orage_alarm_clock

Modified: xfcalendar/trunk/src/mainbox.c
===================================================================
--- xfcalendar/trunk/src/mainbox.c	2007-02-02 16:52:53 UTC (rev 24810)
+++ xfcalendar/trunk/src/mainbox.c	2007-02-02 16:56:25 UTC (rev 24811)
@@ -206,7 +206,7 @@
     return(FALSE); /* we do this only once */
 }
 
-static void
+void
 mCalendar_month_changed_cb(GtkCalendar *calendar, gpointer user_data)
 {
     /* orage_mark_appointments is rather heavy (=slow), so doing

Modified: xfcalendar/trunk/src/parameters.c
===================================================================
--- xfcalendar/trunk/src/parameters.c	2007-02-02 16:52:53 UTC (rev 24810)
+++ xfcalendar/trunk/src/parameters.c	2007-02-02 16:56:25 UTC (rev 24811)
@@ -403,6 +403,10 @@
 
 static void set_systray()
 {
+    if (!(g_par.trayIcon && NETK_IS_TRAY_ICON(g_par.trayIcon->tray))) {
+        g_par.trayIcon = create_TrayIcon(g_par.xfcal);
+    }
+
     if (g_par.show_systray)
         xfce_tray_icon_connect(g_par.trayIcon);
     else
@@ -499,7 +503,7 @@
 
 static void set_icon_size()
 {
-    if (NETK_IS_TRAY_ICON(g_par.trayIcon->tray)) {
+    if (g_par.trayIcon && NETK_IS_TRAY_ICON(g_par.trayIcon->tray)) {
         /* refresh date in tray icon */
         xfce_tray_icon_disconnect(g_par.trayIcon);
         destroy_TrayIcon(g_par.trayIcon);
@@ -1037,7 +1041,9 @@
     set_border();
     set_taskbar();
     set_pager();
+    /*
     set_systray();
+    */
     set_stick();
     set_ontop();
     xfical_set_local_timezone();

Modified: xfcalendar/trunk/src/reminder.c
===================================================================
--- xfcalendar/trunk/src/reminder.c	2007-02-02 16:52:53 UTC (rev 24810)
+++ xfcalendar/trunk/src/reminder.c	2007-02-02 16:56:25 UTC (rev 24811)
@@ -378,10 +378,12 @@
         previous_month = current_month;
         previous_day   = current_day;
         xfical_alarm_build_list(TRUE);  /* new alarm list when date changed */
-        if (NETK_IS_TRAY_ICON(g_par.trayIcon->tray)) { 
+        if (g_par.show_systray) {
             /* refresh date in tray icon */
-            xfce_tray_icon_disconnect(g_par.trayIcon);
-            destroy_TrayIcon(g_par.trayIcon);
+            if (g_par.trayIcon && NETK_IS_TRAY_ICON(g_par.trayIcon->tray)) { 
+                xfce_tray_icon_disconnect(g_par.trayIcon);
+                destroy_TrayIcon(g_par.trayIcon);
+            }
             g_par.trayIcon = create_TrayIcon(xfcal);
             xfce_tray_icon_connect(g_par.trayIcon);
         }
@@ -403,7 +405,7 @@
     if (alarm_raised) /* at least one alarm processed, need new list */
         xfical_alarm_build_list(FALSE); 
 
-    if (NETK_IS_TRAY_ICON(g_par.trayIcon->tray)) { 
+    if (g_par.trayIcon && NETK_IS_TRAY_ICON(g_par.trayIcon->tray)) { 
         build_tray_tooltip();
     }
     return TRUE;



More information about the Xfce4-commits mailing list