/**
* 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 .
*/
#ifndef __CD_APPLET_STRUCT__
#define __CD_APPLET_STRUCT__
#include
typedef struct _CDWM {
const gchar *cName;
const gchar *cCommand;
const gchar *cConfigTool;
gboolean bIsAvailable;
void (*activate_composite) (gboolean bActive);
} CDWM;
typedef enum {
CD_COMPIZ,
CD_KWIN,
CD_XFWM,
CD_METACITY,
CD_CUSTOM_WMFB,
CD_CUSTOM_WMC,
NB_WM
} CDWMIndex;
#define NB_COMPOSITE_WM 4 // 4 of them can do composite
#define NB_FALLBACK_WM 3 // 3 of them can do without
typedef enum {
CD_EDIT_CONFIG,
CD_RELOAD_WM,
CD_SHOW_DESKTOP,
CD_EXPOSE_DESKTOPS,
CD_EXPOSE_WINDOWS,
CD_SHOW_WIDGET_LAYER,
CD_NB_ACTIONS
} CDWMAction;
//\___________ structure containing the applet's configuration parameters.
struct _AppletConfig {
gchar *cWmCompositor;
gchar *cWmFallback;
gchar *cIconCompositeON;
gchar *cIconCompositeOFF;
gboolean bAskBeforeSwitching;
CDWMAction iActionOnMiddleClick;
gchar *cShortcut;
} ;
typedef struct {
gchar *which;
gchar *ps;
} CDSharedMemory;
//\___________ structure containing the applet's data, like surfaces, dialogs, results of calculus, etc.
struct _AppletData {
CairoDockTask *pTask;
CDWM pWmList[NB_WM];
gboolean bIsComposited;
CDWM *wmc;
CDWM *wmfb;
GldiShortkey *cKeyBinding;
} ;
#endif