~ubuntu-branches/ubuntu/utopic/cairo-dock-plug-ins/utopic

« back to all changes in this revision

Viewing changes to switcher/src/applet-init.c

Tags: upstream-2.4.0~0beta2
ImportĀ upstreamĀ versionĀ 2.4.0~0beta2

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
#include "applet-init.h"
30
30
 
31
31
 
32
 
CD_APPLET_DEFINITION (N_("switcher"),
 
32
CD_APPLET_DEFINE_BEGIN (N_("switcher"),
33
33
        2, 0, 9,
34
34
        CAIRO_DOCK_CATEGORY_APPLET_DESKTOP,
35
35
        N_("This applet allows you to interact with your workspaces :\n"
40
40
        " - list all windows on each workspace ((middle-click or in the menu)\n"
41
41
        "It has 2 modes : compact (on 1 icon) and expanded (with a sub-dock)."),
42
42
        "Cchumi & Fabounet")
 
43
        CD_APPLET_DEFINE_COMMON_APPLET_INTERFACE
 
44
        CD_APPLET_ALLOW_EMPTY_TITLE
 
45
CD_APPLET_DEFINE_END
43
46
 
44
47
 
45
48
CD_APPLET_INIT_BEGIN
87
90
                }
88
91
        }
89
92
        
90
 
        cd_switcher_update_from_screen_geometry ();
 
93
        ///cd_switcher_update_from_screen_geometry ();
91
94
        
92
95
        //\___________________ On affiche le numero du bureau courant.
93
 
        if (myConfig.bDisplayNumDesk)
 
96
        /**if (myConfig.bDisplayNumDesk)
94
97
        {
95
98
                int iIndex = cd_switcher_compute_index (myData.switcher.iCurrentDesktop, myData.switcher.iCurrentViewportX, myData.switcher.iCurrentViewportY);
96
99
                CD_APPLET_SET_QUICK_INFO_ON_MY_ICON_PRINTF ("%d", iIndex+1);
97
 
        }
 
100
        }*/
98
101
        
99
 
        //\___________________ Dans le cas ou l'applet demarre au chargement de la session, le nombre de bureaux peut etre incorrect.
100
 
        if (cairo_dock_is_loading ())
101
 
                myData.iSidAutoRefresh = g_timeout_add_seconds (2, (GSourceFunc) cd_switcher_refresh_desktop_values, myApplet);
 
102
        //\___________________ load the desktops with a delay (because it's quite heavy and because the desktop may not be up-to-date at the very beginning of the session).
 
103
        if (myDesklet)
 
104
                CD_APPLET_SET_DESKLET_RENDERER ("Simple");
 
105
        cd_switcher_trigger_update_from_screen_geometry (FALSE);  // FALSE = delayed
102
106
CD_APPLET_INIT_END
103
107
 
104
108
 
108
112
        {
109
113
                g_source_remove (myData.iSidRedrawMainIconIdle);
110
114
        }
111
 
        if (myData.iSidAutoRefresh != 0)
 
115
        if (myData.iSidUpdateIdle != 0)
112
116
        {
113
 
                g_source_remove (myData.iSidAutoRefresh);
 
117
                g_source_remove (myData.iSidUpdateIdle);
114
118
        }
115
119
        if (myData.iSidPainIcons != 0)
116
120
                g_source_remove (myData.iSidPainIcons);
152
156
                myData.iSidRedrawMainIconIdle = 0;
153
157
        }
154
158
        
155
 
        cd_switcher_compute_nb_lines_and_columns ();
156
 
        
157
 
        cd_switcher_compute_desktop_coordinates (myData.switcher.iCurrentDesktop, myData.switcher.iCurrentViewportX, myData.switcher.iCurrentViewportY, &myData.switcher.iCurrentLine, &myData.switcher.iCurrentColumn);
 
159
        if (myData.iSidUpdateIdle == 0)
 
160
        {
 
161
                cd_switcher_compute_nb_lines_and_columns ();
 
162
                
 
163
                cd_switcher_compute_desktop_coordinates (myData.switcher.iCurrentDesktop, myData.switcher.iCurrentViewportX, myData.switcher.iCurrentViewportY, &myData.switcher.iCurrentLine, &myData.switcher.iCurrentColumn);
 
164
        }
158
165
        
159
166
        if (CD_APPLET_MY_CONFIG_CHANGED)
160
167
        {
206
213
                        }
207
214
                }
208
215
                
209
 
                //~ if (CD_APPLET_MY_OLD_CONTAINER != myContainer || ! myConfig.bCompactView)
210
 
                //~ {
211
 
                        //~ cairo_dock_remove_notification_func_on_object (CD_APPLET_MY_OLD_CONTAINER,
212
 
                                //~ NOTIFICATION_MOUSE_MOVED,
213
 
                                //~ (CairoDockNotificationFunc) on_mouse_moved, myApplet);
214
 
                        //~ cairo_dock_remove_notification_func_on_object (CD_APPLET_MY_OLD_CONTAINER,
215
 
                                //~ NOTIFICATION_RENDER_DESKLET,
216
 
                                //~ (CairoDockNotificationFunc) on_render_desklet, myApplet);
217
 
                        //~ if (myConfig.bCompactView)
218
 
                        //~ {
219
 
                                //~ cairo_dock_register_notification_on_object (myContainer,
220
 
                                        //~ NOTIFICATION_MOUSE_MOVED,
221
 
                                        //~ (CairoDockNotificationFunc) on_mouse_moved,
222
 
                                        //~ CAIRO_DOCK_RUN_AFTER, myApplet);
223
 
                                //~ if (myDesklet)
224
 
                                //~ {
225
 
                                        //~ cairo_dock_register_notification_on_object (myDesklet,
226
 
                                                //~ NOTIFICATION_RENDER_DESKLET,
227
 
                                                //~ (CairoDockNotificationFunc) on_render_desklet,
228
 
                                                //~ CAIRO_DOCK_RUN_AFTER, myApplet);
229
 
                                        //~ cairo_dock_register_notification_on_object (myDesklet,
230
 
                                                //~ NOTIFICATION_UPDATE_DESKLET,
231
 
                                                //~ (CairoDockNotificationFunc) on_update_desklet,
232
 
                                                //~ CAIRO_DOCK_RUN_AFTER, myApplet);
233
 
                                        //~ cairo_dock_register_notification_on_object (myDesklet,
234
 
                                                //~ NOTIFICATION_LEAVE_DESKLET,
235
 
                                                //~ (CairoDockNotificationFunc) on_leave_desklet,
236
 
                                                //~ CAIRO_DOCK_RUN_AFTER, myApplet);
237
 
                                //~ }
238
 
                        //~ }
239
 
                //~ }
240
 
                if (myConfig.bDisplayNumDesk)
 
216
                if (myData.iSidUpdateIdle == 0)
241
217
                {
242
 
                        int iIndex = cd_switcher_compute_index (myData.switcher.iCurrentDesktop, myData.switcher.iCurrentViewportX, myData.switcher.iCurrentViewportY);
243
 
                        CD_APPLET_SET_QUICK_INFO_ON_MY_ICON_PRINTF ("%d", iIndex+1);
 
218
                        if (myConfig.bDisplayNumDesk)
 
219
                        {
 
220
                                int iIndex = cd_switcher_compute_index (myData.switcher.iCurrentDesktop, myData.switcher.iCurrentViewportX, myData.switcher.iCurrentViewportY);
 
221
                                CD_APPLET_SET_QUICK_INFO_ON_MY_ICON_PRINTF ("%d", iIndex+1);
 
222
                        }
 
223
                        else
 
224
                                CD_APPLET_SET_QUICK_INFO_ON_MY_ICON (NULL);
 
225
                        
 
226
                        cd_switcher_load_icons ();
244
227
                }
245
 
                else
246
 
                        CD_APPLET_SET_QUICK_INFO_ON_MY_ICON (NULL);
247
 
                
248
 
                cd_switcher_load_icons ();
249
228
        }
250
 
        else
 
229
        else if (myData.iSidUpdateIdle == 0)
251
230
        {
252
231
                if (myConfig.bMapWallpaper)  // on recharge le wallpaper a la taille de l'applet.
253
232
                {
259
238
                        cd_switcher_trigger_paint_icons ();
260
239
        }
261
240
        
262
 
        cd_switcher_draw_main_icon ();
 
241
        if (myData.iSidUpdateIdle == 0)
 
242
                cd_switcher_draw_main_icon ();
263
243
CD_APPLET_RELOAD_END