Riferimenti per il file client.c

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
#include <X11/extensions/shape.h>
#include <glib.h>
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
#include <libxfce4util/debug.h>
#include <libxfce4util/i18n.h>
#include <libxfcegui4/libxfcegui4.h>
#include <libxfcegui4/xinerama.h>
#include "main.h"
#include "misc.h"
#include "client.h"
#include "frame.h"
#include "hints.h"
#include "workspaces.h"
#include "mypixmap.h"
#include "mywindow.h"
#include "settings.h"
#include "tabwin.h"
#include "session.h"
#include "startup_notification.h"

Strutture dati

struct  _MoveResizeData
struct  _ClientCycleData
struct  _ButtonPressData
struct  _ClientPair

Definizioni

#define POINTER_EVENT_MASK
#define FRAME_EVENT_MASK
#define CLIENT_EVENT_MASK
#define ACCEPT_INPUT(wmhints)
#define START_ICONIC(c)
#define CONSTRAINED_WINDOW(c)
#define WINDOW_TYPE_DONT_PLACE
#define WINDOW_TYPE_DIALOG
#define XWINDOW_TO_GPOINTER(w)   ((gpointer) (Window) (w))
#define GPOINTER_TO_XWINDOW(p)   ((Window) (p))
#define MAKE_MULT(a, b)   ((b==1) ? (a) : (((int)((a)/(b))) * (b)) )

Ridefinizioni di tipo (typedefs)

typedef _MoveResizeData MoveResizeData
typedef _ClientCycleData ClientCycleData
typedef _ButtonPressData ButtonPressData
typedef _ClientPair ClientPair

Funzioni

static void clientToggleFullscreen (Client *c)
static void clientToggleAbove (Client *c)
static void clientToggleBelow (Client *c)
static void clientGetNetState (Client *c)
static void clientGetInitialNetWmDesktop (Client *c)
static void clientSetNetClientList (Atom a, GList *list)
static void clientSetNetActions (Client *c)
static void clientWindowType (Client *c)
static void clientGrabButton1 (Client *c)
static void clientUngrabButton1 (Client *c)
static void clientAddToList (Client *c)
static void clientRemoveFromList (Client *c)
static void clientSetWidth (Client *c, int w1)
static void clientSetHeight (Client *c, int h1)
static void clientApplyStackList (GList *list)
static gboolean clientTransientOrModalHasAncestor (Client *c, int ws)
static ClientclientGetLowestTransient (Client *c)
static ClientclientGetHighestTransientOrModalFor (Client *c)
static ClientclientGetTopMostForGroup (Client *c)
static ClientclientGetNextTopMost (int layer, Client *exclude)
static ClientPair clientGetTopMostFocusable (int layer, Client *exclude)
static ClientclientGetBottomMost (int layer, Client *exclude)
static ClientclientGetModalFor (Client *c)
static void clientConstrainRatio (Client *c, int w1, int h1, int corner)
static void clientConstrainPos (Client *c, gboolean show_full)
static void clientKeepVisible (Client *c)
static unsigned long overlap (int x0, int y0, int x1, int y1, int tx0, int ty0, int tx1, int ty1)
static void clientInitPosition (Client *c)
static void clientFree (Client *c)
static void clientGetWinState (Client *c)
static void clientApplyInitialState (Client *c)
static gboolean clientCheckShape (Client *c)
static gboolean clientSelectMask (Client *c, int mask)
static GList * clientListTransientOrModal (Client *c)
static void clientShowSingle (Client *c, gboolean change_state)
static void clientHideSingle (Client *c, int ws, gboolean change_state)
static void clientSetWorkspaceSingle (Client *c, int ws)
static void clientSortRing (Client *c)
static void clientSnapPosition (Client *c)
static GtkToXEventFilterStatus clientMove_event_filter (XEvent *xevent, gpointer data)
static GtkToXEventFilterStatus clientResize_event_filter (XEvent *xevent, gpointer data)
static GtkToXEventFilterStatus clientCycle_event_filter (XEvent *xevent, gpointer data)
static GtkToXEventFilterStatus clientButtonPress_event_filter (XEvent *xevent, gpointer data)
ClientclientGetTransient (Client *c)
gboolean clientIsTransient (Client *c)
gboolean clientIsModal (Client *c)
gboolean clientIsTransientOrModal (Client *c)
gboolean clientSameGroup (Client *c1, Client *c2)
gboolean clientIsTransientFor (Client *c1, Client *c2)
gboolean clientIsModalFor (Client *c1, Client *c2)
gboolean clientIsTransientOrModalFor (Client *c1, Client *c2)
gboolean clientIsTransientForGroup (Client *c)
gboolean clientIsModalForGroup (Client *c)
gboolean clientIsTransientOrModalForGroup (Client *c)
void clientSetNetState (Client *c)
void clientUpdateWinState (Client *c, XClientMessageEvent *ev)
void clientUpdateNetState (Client *c, XClientMessageEvent *ev)
void clientGetNetWmType (Client *c)
void clientGetNetStruts (Client *c)
void clientInstallColormaps (Client *c)
void clientUpdateColormaps (Client *c)
void clientUpdateAllFrames (int mask)
void clientGrabKeys (Client *c)
void clientUngrabKeys (Client *c)
void clientGrabButtons (Client *c)
void clientUngrabButtons (Client *c)
void clientPassGrabButton1 (Client *c)
void clientCoordGravitate (Client *c, int mode, int *x, int *y)
void clientGravitate (Client *c, int mode)
void clientConfigure (Client *c, XWindowChanges *wc, int mask, unsigned short flags)
void clientGetMWMHints (Client *c, gboolean update)
void clientGetWMNormalHints (Client *c, gboolean update)
void clientGetWMProtocols (Client *c)
void clientFocusNew (Client *c)
void clientClearPixmapCache (Client *c)
void clientFrame (Window w, gboolean recapture)
void clientUnframe (Client *c, gboolean remap)
void clientFrameAll ()
void clientUnframeAll ()
ClientclientGetFromWindow (Window w, int mode)
ClientclientAtPosition (int x, int y, Client *exclude)
ClientclientGetNext (Client *c, int mask)
ClientclientGetPrevious (Client *c, int mask)
void clientPassFocus (Client *c)
void clientShow (Client *c, gboolean change_state)
void clientHide (Client *c, int ws, gboolean change_state)
void clientHideAll (Client *c, int ws)
void clientClose (Client *c)
void clientKill (Client *c)
void clientRaise (Client *c)
void clientLower (Client *c)
void clientSetLayer (Client *c, int l)
void clientSetWorkspace (Client *c, int ws, gboolean manage_mapping)
void clientShade (Client *c)
void clientUnshade (Client *c)
void clientToggleShaded (Client *c)
void clientStick (Client *c, gboolean include_transients)
void clientRemoveMaximizeFlag (Client *c)
void clientToggleMaximized (Client *c, int mode)
gboolean clientAcceptFocus (Client *c)
void clientUpdateFocus (Client *c, unsigned short flags)
void clientSetFocus (Client *c, Time timestamp, unsigned short flags)
ClientclientGetFocus (void)
void clientScreenResize (void)
void clientDrawOutline (Client *c)
void clientMove (Client *c, XEvent *e)
void clientResize (Client *c, int corner, XEvent *e)
void clientCycle (Client *c, XEvent *e)
void clientButtonPress (Client *c, Window w, XButtonEvent *bev)
ClientclientGetLeader (Client *c)
GList * clientGetStackList (void)

Variabili

Clientclients = NULL
unsigned int client_count = 0
unsigned long client_serial = 0
static GList * windows = NULL
static GList * windows_stack = NULL
static Clientclient_focus = NULL
static Clientpending_focus = NULL
static Clientlast_raise = NULL
static Clientlast_ungrab = NULL


Documentazione delle definizioni

#define POINTER_EVENT_MASK
 

Valore:

ButtonPressMask|\
    ButtonReleaseMask

#define FRAME_EVENT_MASK
 

Valore:

SubstructureNotifyMask|\
    SubstructureRedirectMask|\
    EnterWindowMask

#define CLIENT_EVENT_MASK
 

Valore:

StructureNotifyMask|\
    FocusChangeMask|\
    PropertyChangeMask

#define ACCEPT_INPUT wmhints   ) 
 

Valore:

(!(params.focus_hint) || \
     ((!(wmhints) || \
       ((wmhints) && !(wmhints->flags & InputHint)) || \
       ((wmhints) && (wmhints->flags & InputHint) && (wmhints->input)))))

#define START_ICONIC  ) 
 

Valore:

((c->wmhints) && \
     (c->wmhints->initial_state == IconicState) && \
     !clientIsTransientOrModal(c))

#define CONSTRAINED_WINDOW  ) 
 

Valore:

((c->win_layer > WIN_LAYER_DESKTOP) && \
     (c->win_layer < WIN_LAYER_ABOVE_DOCK) && \
     !(c->type & (WINDOW_DESKTOP | WINDOW_DOCK)) && \
     !(c->legacy_fullscreen))

#define WINDOW_TYPE_DONT_PLACE
 

Valore:

#define WINDOW_TYPE_DIALOG
 

Valore:

#define XWINDOW_TO_GPOINTER  )     ((gpointer) (Window) (w))
 

#define GPOINTER_TO_XWINDOW  )     ((Window) (p))
 

#define MAKE_MULT a,
 )     ((b==1) ? (a) : (((int)((a)/(b))) * (b)) )
 


Documentazione delle ridefinizioni di tipo (typedefs)

typedef struct _MoveResizeData MoveResizeData
 

typedef struct _ClientCycleData ClientCycleData
 

typedef struct _ButtonPressData ButtonPressData
 

typedef struct _ClientPair ClientPair
 


Documentazione delle funzioni

static void clientToggleFullscreen Client c  )  [static]
 

static void clientToggleAbove Client c  )  [static]
 

static void clientToggleBelow Client c  )  [static]
 

static void clientGetNetState Client c  )  [static]
 

static void clientGetInitialNetWmDesktop Client c  )  [static]
 

static void clientSetNetClientList Atom  a,
GList *  list
[static]
 

static void clientSetNetActions Client c  )  [static]
 

static void clientWindowType Client c  )  [static]
 

Le finestre WINDOW_DOCK vengono trattate in modo speciale. Da notare che le finestre di tutte le applets devono avere questo tipo

Vedi anche:
init_graphs() in brain_applets_generic.c (in BrainApplets)

static void clientGrabButton1 Client c  )  [static]
 

static void clientUngrabButton1 Client c  )  [static]
 

static void clientAddToList Client c  )  [static]
 

static void clientRemoveFromList Client c  )  [static]
 

static void clientSetWidth Client c,
int  w1
[static]
 

static void clientSetHeight Client c,
int  h1
[static]
 

static void clientApplyStackList GList *  list  )  [static]
 

static gboolean clientTransientOrModalHasAncestor Client c,
int  ws
[static]
 

static Client * clientGetLowestTransient Client c  )  [static]
 

static Client * clientGetHighestTransientOrModalFor Client c  )  [static]
 

static Client * clientGetTopMostForGroup Client c  )  [static]
 

static Client * clientGetNextTopMost int  layer,
Client exclude
[static]
 

static ClientPair clientGetTopMostFocusable int  layer,
Client exclude
[static]
 

static Client * clientGetBottomMost int  layer,
Client exclude
[static]
 

static Client * clientGetModalFor Client c  )  [static]
 

static void clientConstrainRatio Client c,
int  w1,
int  h1,
int  corner
[static]
 

static void clientConstrainPos Client c,
gboolean  show_full
[static]
 

static void clientKeepVisible Client c  )  [static]
 

static unsigned long overlap int  x0,
int  y0,
int  x1,
int  y1,
int  tx0,
int  ty0,
int  tx1,
int  ty1
[static]
 

static void clientInitPosition Client c  )  [static]
 

static void clientFree Client c  )  [static]
 

static void clientGetWinState Client c  )  [static]
 

static void clientApplyInitialState Client c  )  [static]
 

static gboolean clientCheckShape Client c  )  [static]
 

static gboolean clientSelectMask Client c,
int  mask
[static]
 

static GList * clientListTransientOrModal Client c  )  [static]
 

static void clientShowSingle Client c,
gboolean  change_state
[static]
 

static void clientHideSingle Client c,
int  ws,
gboolean  change_state
[static]
 

static void clientSetWorkspaceSingle Client c,
int  ws
[static]
 

static void clientSortRing Client c  )  [static]
 

static void clientSnapPosition Client c  )  [static]
 

static GtkToXEventFilterStatus clientMove_event_filter XEvent *  xevent,
gpointer  data
[static]
 

static GtkToXEventFilterStatus clientResize_event_filter XEvent *  xevent,
gpointer  data
[static]
 

static GtkToXEventFilterStatus clientCycle_event_filter XEvent *  xevent,
gpointer  data
[static]
 

static GtkToXEventFilterStatus clientButtonPress_event_filter XEvent *  xevent,
gpointer  data
[static]
 

Client* clientGetTransient Client c  ) 
 

gboolean clientIsTransient Client c  ) 
 

gboolean clientIsModal Client c  ) 
 

gboolean clientIsTransientOrModal Client c  ) 
 

gboolean clientSameGroup Client c1,
Client c2
 

gboolean clientIsTransientFor Client c1,
Client c2
 

gboolean clientIsModalFor Client c1,
Client c2
 

gboolean clientIsTransientOrModalFor Client c1,
Client c2
 

gboolean clientIsTransientForGroup Client c  ) 
 

gboolean clientIsModalForGroup Client c  ) 
 

gboolean clientIsTransientOrModalForGroup Client c  ) 
 

void clientSetNetState Client c  ) 
 

void clientUpdateWinState Client c,
XClientMessageEvent *  ev
 

void clientUpdateNetState Client c,
XClientMessageEvent *  ev
 

void clientGetNetWmType Client c  ) 
 

void clientGetNetStruts Client c  ) 
 

void clientInstallColormaps Client c  ) 
 

void clientUpdateColormaps Client c  ) 
 

void clientUpdateAllFrames int  mask  ) 
 

void clientGrabKeys Client c  ) 
 

void clientUngrabKeys Client c  ) 
 

void clientGrabButtons Client c  ) 
 

void clientUngrabButtons Client c  ) 
 

void clientPassGrabButton1 Client c  ) 
 

void clientCoordGravitate Client c,
int  mode,
int *  x,
int *  y
 

void clientGravitate Client c,
int  mode
 

void clientConfigure Client c,
XWindowChanges *  wc,
int  mask,
unsigned short  flags
 

void clientGetMWMHints Client c,
gboolean  update
 

void clientGetWMNormalHints Client c,
gboolean  update
 

void clientGetWMProtocols Client c  ) 
 

void clientFocusNew Client c  ) 
 

void clientClearPixmapCache Client c  ) 
 

void clientFrame Window  w,
gboolean  recapture
 

void clientUnframe Client c,
gboolean  remap
 

void clientFrameAll  ) 
 

void clientUnframeAll  ) 
 

Client* clientGetFromWindow Window  w,
int  mode
 

Client* clientAtPosition int  x,
int  y,
Client exclude
 

Client* clientGetNext Client c,
int  mask
 

Client* clientGetPrevious Client c,
int  mask
 

void clientPassFocus Client c  ) 
 

void clientShow Client c,
gboolean  change_state
 

void clientHide Client c,
int  ws,
gboolean  change_state
 

void clientHideAll Client c,
int  ws
 

void clientClose Client c  ) 
 

void clientKill Client c  ) 
 

void clientRaise Client c  ) 
 

void clientLower Client c  ) 
 

void clientSetLayer Client c,
int  l
 

void clientSetWorkspace Client c,
int  ws,
gboolean  manage_mapping
 

void clientShade Client c  ) 
 

void clientUnshade Client c  ) 
 

void clientToggleShaded Client c  ) 
 

void clientStick Client c,
gboolean  include_transients
 

void clientRemoveMaximizeFlag Client c  ) 
 

void clientToggleMaximized Client c,
int  mode
 

gboolean clientAcceptFocus Client c  ) 
 

void clientUpdateFocus Client c,
unsigned short  flags
 

void clientSetFocus Client c,
Time  timestamp,
unsigned short  flags
 

Da fare:
Accertarsi che questa invocazione di brain_applet_manager_ask() vada bene qui: a questo punto non e' ancora detto che la finestra ricevera' il focus

Client* clientGetFocus void   ) 
 

void clientScreenResize void   ) 
 

void clientDrawOutline Client c  ) 
 

void clientMove Client c,
XEvent *  e
 

void clientResize Client c,
int  corner,
XEvent *  e
 

void clientCycle Client c,
XEvent *  e
 

void clientButtonPress Client c,
Window  w,
XButtonEvent *  bev
 

Client* clientGetLeader Client c  ) 
 

GList* clientGetStackList void   ) 
 


Documentazione delle variabili

Client* clients = NULL
 

unsigned int client_count = 0
 

unsigned long client_serial = 0
 

GList* windows = NULL [static]
 

GList* windows_stack = NULL [static]
 

Client* client_focus = NULL [static]
 

Client* pending_focus = NULL [static]
 

Client* last_raise = NULL [static]
 

Client* last_ungrab = NULL [static]
 


Generato il Sun Apr 16 01:36:44 2006 per BrainTop da  doxygen 1.4.6