This file is indexed.

/usr/include/cairo-dock/gldit/cairo-dock-applications-manager.h is in libgldi-dev 3.0.0.1-0ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
/*
* This file is a part of the Cairo-Dock project
*
* Copyright : (C) see the 'copyright' file.
* E-mail    : see the 'copyright' file.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef __CAIRO_DOCK_APPLICATION_MANAGER__
#define  __CAIRO_DOCK_APPLICATION_MANAGER__

#include <X11/Xlib.h>

#include "cairo-dock-struct.h"
#include "cairo-dock-manager.h"
#include "cairo-dock-icon-manager.h"  // CairoDockForeachIconFunc
G_BEGIN_DECLS

/**
*@file cairo-dock-applications-manager.h This class manages the list of known windows, ie the Taskbar.
* It also provides convenient functions to act on all the applis icons at once.
*/

typedef struct _CairoTaskbarParam CairoTaskbarParam;
typedef struct _CairoTaskbarManager CairoTaskbarManager;

#ifndef _MANAGER_DEF_
extern CairoTaskbarParam myTaskbarParam;
extern CairoTaskbarManager myTaskbarMgr;
#endif

typedef enum {
	CAIRO_APPLI_BEFORE_FIRST_ICON,
	CAIRO_APPLI_BEFORE_FIRST_LAUNCHER,
	CAIRO_APPLI_AFTER_LAST_LAUNCHER,
	CAIRO_APPLI_AFTER_LAST_ICON,
	CAIRO_APPLI_AFTER_ICON,
	CAIRO_APPLI_NB_PLACEMENTS
} CairoTaskbarPlacement;

// params
struct _CairoTaskbarParam {
	gboolean bShowAppli;
	gboolean bGroupAppliByClass;
	gint iAppliMaxNameLength;
	gboolean bMinimizeOnClick;
	gboolean bPresentClassOnClick;
	gint iActionOnMiddleClick;
	gboolean bHideVisibleApplis;
	gdouble fVisibleAppliAlpha;
	gboolean bAppliOnCurrentDesktopOnly;
	gboolean bDemandsAttentionWithDialog;
	gint iDialogDuration;
	gchar *cAnimationOnDemandsAttention;
	gchar *cAnimationOnActiveWindow;
	gboolean bOverWriteXIcons;
	gint iMinimizedWindowRenderType;
	gboolean bMixLauncherAppli;
	gchar *cOverwriteException;
	gchar *cGroupException;
	gchar *cForceDemandsAttention;
	CairoTaskbarPlacement iIconPlacement;
	gchar *cRelativeIconName;
	} ;

// manager
struct _CairoTaskbarManager {
	GldiManager mgr;
	void (*foreach_applis) (CairoDockForeachIconFunc pFunction, gboolean bOutsideDockOnly, gpointer pUserData);
	void (*start_application_manager) (CairoDock *pDock);
	void (*stop_application_manager) (void);
	
	void (*unregister_appli) (Icon *icon);
	Icon* (*create_icon_from_xwindow) (Window Xid, CairoDock *pDock);
	
	void (*hide_show_launchers_on_other_desktops) (CairoDock *pDock);
	void (*set_specified_desktop_for_icon) (Icon *pIcon, int iSpecificDesktop);
	
	GList* (*get_current_applis_list) (void);
	Window (*get_current_active_window) (void);
	Icon* (*get_current_active_icon) (void);
	Icon* (*get_icon_with_Xid) (Window Xid);
} ;

// signals
typedef enum {
	NOTIFICATION_APPLI_CREATED = NB_NOTIFICATIONS_OBJECT,
	NOTIFICATION_APPLI_DESTROYED,
	NOTIFICATION_APPLI_NAME_CHANGED,
	NOTIFICATION_APPLI_ICON_CHANGED,
	NOTIFICATION_APPLI_ATTENTION_CHANGED,
	NOTIFICATION_APPLI_SIZE_POSITION_CHANGED,
	NOTIFICATION_APPLI_STATE_CHANGED,
	NB_NOTIFICATIONS_TASKBAR
	} CairoTaskbarNotifications;


// Applis manager : core
void cairo_dock_unregister_appli (Icon *icon);

/** Start the applications manager. It will load all the applis, and keep monitoring them. If enabled, it will insert them into the dock.
*@param pDock the main dock
*/
void cairo_dock_start_applications_manager (CairoDock *pDock);

///void cairo_dock_reset_applications_manager (void);



// Applis manager : access
#define _cairo_dock_appli_is_on_our_way(icon, pDock) (icon != NULL && cairo_dock_appli_is_on_current_desktop (icon) &&  ((myDocksParam.bAutoHideOnFullScreen && icon->bIsFullScreen) || (pDock->iVisibility == CAIRO_DOCK_VISI_AUTO_HIDE_ON_OVERLAP && cairo_dock_appli_overlaps_dock (icon, pDock))))

void cairo_dock_hide_show_if_current_window_is_on_our_way (CairoDock *pDock);
void cairo_dock_hide_if_any_window_overlap_or_show (CairoDock *pDock);


/** Get the icon of an application whose window covers entirely a dock, or NULL if none. If both parameters are FALSE, check for all windows.
*@param pDock the dock to test.
*@param bMaximizedWindow check for maximized windows only.
*@param bFullScreenWindow check for full screen windows only.
*@return the icon representing the window, or NULL if none has been found.
*/
Icon * cairo_dock_search_window_covering_dock (CairoDock *pDock, gboolean bMaximizedWindow, gboolean bFullScreenWindow);

/** Get the icon of an application whose window overlaps a dock, or NULL if none.
*@param pDock the dock to test.
*@return the icon of the window, or NULL if none has been found.
*/
Icon *cairo_dock_search_window_overlapping_dock (CairoDock *pDock);


/** Get the list of appli's icons currently known by Cairo-Dock, including the icons not currently displayed in the dock. You can then order the list by z-order, name, etc.
*@return a newly allocated list of applis's icons. You must free the list when you're done with it, but not the icons.
*/
GList *cairo_dock_get_current_applis_list (void);

/** Get the currently active window ID.
*@return the X id.
*/
Window cairo_dock_get_current_active_window (void);
/** Get the icon of the currently active window.
*@return the icon (maybe not inside a dock).
*/
Icon *cairo_dock_get_current_active_icon (void);
/** Get the icon of a given window. The search is fast.
*@param Xid the id of the X window.
*@return the icon (maybe not inside a dock).
*/
Icon *cairo_dock_get_icon_with_Xid (Window Xid);

/** Run a function on all appli's icons.
*@param pFunction a /ref CairoDockForeachIconFunc function to be called
*@param bOutsideDockOnly TRUE if you only want to go through icons that are not inside a dock, FALSE to go through all icons.
*@param pUserData a data passed to the function.
*/
void cairo_dock_foreach_applis (CairoDockForeachIconFunc pFunction, gboolean bOutsideDockOnly, gpointer pUserData);

/** Run a function on all appli's icons present on a given workspace.
*@param pFunction a /ref CairoDockForeachIconFunc function to be called
*@param iNumDesktop number of the desktop
*@param iNumViewportX number of the horizontal viewport
*@param iNumViewportY number of the vertical viewport
*@param pUserData a data passed to the function.
*/
void cairo_dock_foreach_applis_on_viewport (CairoDockForeachIconFunc pFunction, int iNumDesktop, int iNumViewportX, int iNumViewportY, gpointer pUserData);

void cairo_dock_set_icons_geometry_for_window_manager (CairoDock *pDock);


void gldi_register_applications_manager (void);

G_END_DECLS
#endif