~ubuntu-branches/ubuntu/oneiric/cairo-dock/oneiric-201110111206

« back to all changes in this revision

Viewing changes to src/cairo-dock-internal-taskbar.c

  • Committer: Bazaar Package Importer
  • Author(s): Julien Lavergne, Matthieu Baerts (matttbe), Julien Lavergne
  • Date: 2009-10-04 16:33:52 UTC
  • mfrom: (1.1.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20091004163352-ttbbjfmpb8uzl8j4
Tags: 2.0.9-0ubuntu1
[ Matthieu Baerts (matttbe) ]
* New Upstream Version. (LP: #435587)
* Added apport hook in debian/apport
 - Add debian/apport
 - debian/cairo-dock-core.install: Added debian/apport/cairo-dock.py
* Use .desktop provided by upstream
 - Removed debian/*.desktop
 - debian/cairo-dock-core.install: install upstream desktop files. 

[ Julien Lavergne ]
* Adjust debian/changelog with Daniel Holbach suggestions.
* debian/patches/01_rename_cairo-dock-package-theme.patch: drop, 
  merged upstream.
* debian/patches/01-desktop-file-category.patch:
 - Remove Encoding field and set category to Utility.
* debian/patches/02-merge-changelog.patch:
 - Merge ChangeLog and ChangeLog-2.0.9.
* debian/apport: Remove commands with grep, python doesn't like it.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/**
2
 
* Internal taskbar for Cairo-Dock
 
2
* This file is a part of the Cairo-Dock project
3
3
*
4
 
* Copyright : (C) 2009 by Fabrice Rey
5
 
* E-mail    : fabounet@users.berlios.de
 
4
* Copyright : (C) see the 'copyright' file.
 
5
* E-mail    : see the 'copyright' file.
6
6
*
7
7
* This program is free software; you can redistribute it and/or
8
8
* modify it under the terms of the GNU General Public License
13
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
15
* GNU General Public License for more details.
16
 
*   http://www.gnu.org/licenses/licenses.html#GPL
 
16
* You should have received a copy of the GNU General Public License
 
17
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18
*/
18
19
 
19
20
#include <gdk/gdkx.h>
45
46
        
46
47
        ///pTaskBar->bUniquePid = cairo_dock_get_boolean_key_value (pKeyFile, "TaskBar", "unique PID", &bFlushConfFileNeeded, FALSE, "Applications", NULL);
47
48
        
48
 
        pTaskBar->bGroupAppliByClass = cairo_dock_get_boolean_key_value (pKeyFile, "TaskBar", "group by class", &bFlushConfFileNeeded, FALSE, "Applications", NULL);
 
49
        pTaskBar->bGroupAppliByClass = cairo_dock_get_boolean_key_value (pKeyFile, "TaskBar", "group by class", &bFlushConfFileNeeded, TRUE, "Applications", NULL);
49
50
        pTaskBar->cGroupException = cairo_dock_get_string_key_value (pKeyFile, "TaskBar", "group exception", &bFlushConfFileNeeded, "pidgin;xchat", NULL, NULL);
50
51
        if (pTaskBar->cGroupException)
51
52
        {
59
60
        pTaskBar->bMinimizeOnClick = cairo_dock_get_boolean_key_value (pKeyFile, "TaskBar", "minimize on click", &bFlushConfFileNeeded, TRUE, "Applications", NULL);
60
61
        pTaskBar->bCloseAppliOnMiddleClick = cairo_dock_get_boolean_key_value (pKeyFile, "TaskBar", "close on middle click", &bFlushConfFileNeeded, TRUE, "Applications", NULL);
61
62
 
62
 
        pTaskBar->bAutoHideOnFullScreen = cairo_dock_get_boolean_key_value (pKeyFile, "TaskBar", "auto quick hide", &bFlushConfFileNeeded, FALSE, "Applications", NULL);
63
 
        pTaskBar->bAutoHideOnMaximized = cairo_dock_get_boolean_key_value (pKeyFile, "TaskBar", "auto quick hide on max", &bFlushConfFileNeeded, FALSE, "Applications", NULL);
64
63
        pTaskBar->bHideVisibleApplis = cairo_dock_get_boolean_key_value (pKeyFile, "TaskBar", "hide visible", &bFlushConfFileNeeded, FALSE, "Applications", NULL);
65
 
        pTaskBar->fVisibleAppliAlpha = cairo_dock_get_double_key_value (pKeyFile, "TaskBar", "visibility alpha", &bFlushConfFileNeeded, .25, "Applications", NULL);  // >0 <=> les fenetres minimisees sont transparentes.
 
64
        pTaskBar->fVisibleAppliAlpha = cairo_dock_get_double_key_value (pKeyFile, "TaskBar", "visibility alpha", &bFlushConfFileNeeded, .35, "Applications", NULL);  // >0 <=> les fenetres minimisees sont transparentes.
66
65
        if (pTaskBar->bHideVisibleApplis && pTaskBar->fVisibleAppliAlpha < 0)
67
66
                pTaskBar->fVisibleAppliAlpha = 0.;  // on inhibe ce parametre, puisqu'il ne sert alors a rien.
68
67
        else if (pTaskBar->fVisibleAppliAlpha > .6)
81
80
        pTaskBar->cAnimationOnActiveWindow = cairo_dock_get_string_key_value (pKeyFile, "TaskBar", "animation on active window", &bFlushConfFileNeeded, "wobbly", NULL, NULL);
82
81
        
83
82
        pTaskBar->bMixLauncherAppli = cairo_dock_get_boolean_key_value (pKeyFile, "TaskBar", "mix launcher appli", &bFlushConfFileNeeded, TRUE, NULL, NULL);
 
83
        pTaskBar->bDrawIndicatorOnAppli = cairo_dock_get_boolean_key_value (pKeyFile, "TaskBar", "indic on appli", &bFlushConfFileNeeded, FALSE, NULL, NULL);
84
84
        pTaskBar->bOverWriteXIcons = cairo_dock_get_boolean_key_value (pKeyFile, "TaskBar", "overwrite xicon", &bFlushConfFileNeeded, TRUE, NULL, NULL);
85
85
        pTaskBar->cOverwriteException = cairo_dock_get_string_key_value (pKeyFile, "TaskBar", "overwrite exception", &bFlushConfFileNeeded, "pidgin;xchat", NULL, NULL);
86
86
        if (pTaskBar->cOverwriteException)
109
109
        g_free (pTaskBar->cForceDemandsAttention);
110
110
}
111
111
 
 
112
static void _set_indicator (Icon *pIcon, CairoContainer *pContainer, gpointer data)
 
113
{
 
114
        pIcon->bHasIndicator = GPOINTER_TO_INT (data);
 
115
}
112
116
static void reload (CairoConfigTaskBar *pPrevTaskBar, CairoConfigTaskBar *pTaskBar)
113
117
{
114
118
        CairoDock *pDock = g_pMainDock;
115
119
        
116
 
        if (myAccessibility.bAutoHide || myAccessibility.bPopUp || myAccessibility.bReserveSpace)
117
 
        {
118
 
                if (pTaskBar->bAutoHideOnFullScreen)
119
 
                {
120
 
                        cd_warning ("The option 'auto-hide on fullscreen window' is in conflict with the accessibility options, it will be deactivated");
121
 
                        pTaskBar->bAutoHideOnFullScreen = FALSE;
122
 
                }
123
 
                if (pTaskBar->bAutoHideOnMaximized)
124
 
                {
125
 
                        cd_warning ("The option 'auto-hide on maximized window' is in conflict with the accessibility options, it will be deactivated");
126
 
                        pTaskBar->bAutoHideOnMaximized = FALSE;
127
 
                }
128
 
        }
129
 
        
130
120
        gboolean bUpdateSize = FALSE;
131
121
        if (/**pPrevTaskBar->bUniquePid != pTaskBar->bUniquePid ||*/
132
122
                pPrevTaskBar->bGroupAppliByClass != pTaskBar->bGroupAppliByClass ||
144
134
                bUpdateSize = TRUE;
145
135
        }
146
136
        
147
 
        if (cairo_dock_application_manager_is_running () && pPrevTaskBar->iAppliMaxNameLength != pTaskBar->iAppliMaxNameLength)
 
137
        if (cairo_dock_application_manager_is_running () &&
 
138
                pPrevTaskBar->bDrawIndicatorOnAppli != pTaskBar->bDrawIndicatorOnAppli)
148
139
        {
149
 
                /// recharger les noms ...
150
 
                
 
140
                cairo_dock_foreach_applis ((CairoDockForeachIconFunc) _set_indicator, FALSE, GINT_TO_POINTER (pTaskBar->bDrawIndicatorOnAppli));
 
141
                gtk_widget_queue_draw (pDock->container.pWidget);
151
142
        }
152
143
        
153
144
        if (! cairo_dock_application_manager_is_running () && pTaskBar->bShowAppli)  // maintenant on veut voir les applis !
156
147
                bUpdateSize = TRUE;
157
148
        }
158
149
        else
159
 
                gtk_widget_queue_draw (pDock->pWidget);  // pour le fVisibleAlpha
160
 
        
161
 
        if (pTaskBar->bAutoHideOnFullScreen != pPrevTaskBar->bAutoHideOnFullScreen || pTaskBar->bAutoHideOnMaximized != pPrevTaskBar->bAutoHideOnMaximized)
162
 
        {
163
 
                if (cairo_dock_search_window_on_our_way (pTaskBar->bAutoHideOnMaximized, pTaskBar->bAutoHideOnFullScreen) == NULL)
164
 
                {
165
 
                        if (cairo_dock_quick_hide_is_activated ())
166
 
                        {
167
 
                                cd_message (" => aucune fenetre n'est desormais genante");
168
 
                                cairo_dock_deactivate_temporary_auto_hide ();
169
 
                        }
170
 
                }
171
 
                else
172
 
                {
173
 
                        if (! cairo_dock_quick_hide_is_activated ())
174
 
                        {
175
 
                                cd_message (" => une fenetre desormais genante");
176
 
                                cairo_dock_activate_temporary_auto_hide ();
177
 
                        }
178
 
                }
179
 
        }
 
150
                gtk_widget_queue_draw (pDock->container.pWidget);  // pour le fVisibleAlpha
180
151
        
181
152
        if (pPrevTaskBar->bShowAppli != pTaskBar->bShowAppli ||
182
153
                pPrevTaskBar->bGroupAppliByClass != pTaskBar->bGroupAppliByClass)
187
158
                cairo_destroy (pCairoContext);
188
159
        }
189
160
        
190
 
        /**if (bUpdateSize)  // utile ?...
 
161
        if (bUpdateSize)
191
162
        {
192
163
                cairo_dock_calculate_dock_icons (pDock);
193
 
                gtk_widget_queue_draw (pDock->pWidget);  // le 'gdk_window_move_resize' ci-dessous ne provoquera pas le redessin si la taille n'a pas change.
 
164
                gtk_widget_queue_draw (pDock->container.pWidget);  // le 'gdk_window_move_resize' ci-dessous ne provoquera pas le redessin si la taille n'a pas change.
194
165
 
195
166
                cairo_dock_place_root_dock (pDock);
196
 
        }*/
 
167
        }
197
168
}
198
169
 
199
170