summaryrefslogtreecommitdiff
path: root/src/twm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/twm.h')
-rw-r--r--src/twm.h380
1 files changed, 191 insertions, 189 deletions
diff --git a/src/twm.h b/src/twm.h
index dbb9980..1fe106d 100644
--- a/src/twm.h
+++ b/src/twm.h
@@ -50,12 +50,11 @@ from The Open Group.
*/
-
/***********************************************************************
*
* twm include file
*
- * 28-Oct-87 Thomas E. LaStrange File created
+ * 28-Oct-87 Thomas E. LaStrange File created
* 10-Oct-90 David M. Sternlicht Storeing saved colors on root
***********************************************************************/
@@ -63,7 +62,7 @@ from The Open Group.
#define _TWM_
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <X11/Xlib.h>
@@ -78,55 +77,55 @@ from The Open Group.
#define WithdrawnState 0
#endif
-#define PIXEL_ALREADY_TYPEDEFED /* for Xmu/Drawing.h */
+#define PIXEL_ALREADY_TYPEDEFED /* for Xmu/Drawing.h */
-typedef void (*SigProc)(int); /* type of function returned by signal() */
+typedef void (*SigProc) (int); /* type of function returned by signal() */
-#define BW 2 /* border width */
-#define BW2 4 /* border width * 2 */
+#define BW 2 /* border width */
+#define BW2 4 /* border width * 2 */
#ifndef TRUE
-#define TRUE 1
-#define FALSE 0
+#define TRUE 1
+#define FALSE 0
#endif
#define NULLSTR ((char *) NULL)
-#define MAX_BUTTONS 16 /* max mouse buttons supported */
+#define MAX_BUTTONS 16 /* max mouse buttons supported */
/* info stings defines */
#define INFO_LINES 30
#define INFO_SIZE 200
/* contexts for button presses */
-#define C_NO_CONTEXT -1
-#define C_WINDOW 0
-#define C_TITLE 1
-#define C_ICON 2
-#define C_ROOT 3
-#define C_FRAME 4
-#define C_ICONMGR 5
-#define C_NAME 6
+#define C_NO_CONTEXT -1
+#define C_WINDOW 0
+#define C_TITLE 1
+#define C_ICON 2
+#define C_ROOT 3
+#define C_FRAME 4
+#define C_ICONMGR 5
+#define C_NAME 6
#define C_IDENTIFY 7
-#define NUM_CONTEXTS 8
+#define NUM_CONTEXTS 8
-#define C_WINDOW_BIT (1 << C_WINDOW)
-#define C_TITLE_BIT (1 << C_TITLE)
-#define C_ICON_BIT (1 << C_ICON)
-#define C_ROOT_BIT (1 << C_ROOT)
-#define C_FRAME_BIT (1 << C_FRAME)
-#define C_ICONMGR_BIT (1 << C_ICONMGR)
-#define C_NAME_BIT (1 << C_NAME)
+#define C_WINDOW_BIT (1 << C_WINDOW)
+#define C_TITLE_BIT (1 << C_TITLE)
+#define C_ICON_BIT (1 << C_ICON)
+#define C_ROOT_BIT (1 << C_ROOT)
+#define C_FRAME_BIT (1 << C_FRAME)
+#define C_ICONMGR_BIT (1 << C_ICONMGR)
+#define C_NAME_BIT (1 << C_NAME)
-#define C_ALL_BITS (C_WINDOW_BIT | C_TITLE_BIT | C_ICON_BIT |\
- C_ROOT_BIT | C_FRAME_BIT | C_ICONMGR_BIT)
+#define C_ALL_BITS (C_WINDOW_BIT | C_TITLE_BIT | C_ICON_BIT |\
+ C_ROOT_BIT | C_FRAME_BIT | C_ICONMGR_BIT)
/* modifiers for button presses */
-#define MOD_SIZE ((ShiftMask | ControlMask | Mod1Mask \
- | Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask) + 1)
+#define MOD_SIZE ((ShiftMask | ControlMask | Mod1Mask \
+ | Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask) + 1)
-#define TITLE_BAR_SPACE 1 /* 2 pixel space bordering chars */
-#define TITLE_BAR_FONT_HEIGHT 15 /* max of 15 pixel high chars */
+#define TITLE_BAR_SPACE 1 /* 2 pixel space bordering chars */
+#define TITLE_BAR_FONT_HEIGHT 15 /* max of 15 pixel high chars */
#define TITLE_BAR_HEIGHT (TITLE_BAR_FONT_HEIGHT+(2*TITLE_BAR_SPACE))
/* defines for zooming/unzooming */
@@ -137,167 +136,161 @@ typedef void (*SigProc)(int); /* type of function returned by signal() */
Gcv.background = fix_back;\
XChangeGC(dpy, Scr->NormalGC, GCForeground|GCBackground,&Gcv)
-typedef struct MyFont
-{
- const char *name; /* name of the font */
- XFontStruct *font; /* font structure */
- XFontSet fontset; /* fontset structure */
- int height; /* height of the font */
- int y; /* Y coordinate to draw characters */
+typedef struct MyFont {
+ const char *name; /* name of the font */
+ XFontStruct *font; /* font structure */
+ XFontSet fontset; /* fontset structure */
+ int height; /* height of the font */
+ int y; /* Y coordinate to draw characters */
int ascent;
int descent;
} MyFont;
-typedef struct ColorPair
-{
+typedef struct ColorPair {
Pixel fore, back;
} ColorPair;
typedef struct _TitleButton {
- struct _TitleButton *next; /* next link in chain */
- const char *name; /* bitmap name in case of deferal */
- Pixmap bitmap; /* image to display in button */
- int srcx, srcy; /* from where to start copying */
- unsigned int width, height; /* size of pixmap */
- int dstx, dsty; /* to where to start copying */
- int func; /* function to execute */
- const char *action; /* optional action arg */
- struct MenuRoot *menuroot; /* menu to pop on F_MENU */
- Bool rightside; /* t: on right, f: on left */
+ struct _TitleButton *next; /* next link in chain */
+ const char *name; /* bitmap name in case of deferal */
+ Pixmap bitmap; /* image to display in button */
+ int srcx, srcy; /* from where to start copying */
+ unsigned int width, height; /* size of pixmap */
+ int dstx, dsty; /* to where to start copying */
+ int func; /* function to execute */
+ const char *action; /* optional action arg */
+ struct MenuRoot *menuroot; /* menu to pop on F_MENU */
+ Bool rightside; /* t: on right, f: on left */
} TitleButton;
typedef struct _TBWindow {
- Window window; /* which window in this frame */
- TitleButton *info; /* description of this window */
+ Window window; /* which window in this frame */
+ TitleButton *info; /* description of this window */
} TBWindow;
typedef struct _SqueezeInfo {
- int justify; /* left, center, right */
- int num; /* signed pixel count or numerator */
- int denom; /* 0 for pix count or denominator */
+ int justify; /* left, center, right */
+ int num; /* signed pixel count or numerator */
+ int denom; /* 0 for pix count or denominator */
} SqueezeInfo;
-#define J_LEFT 1
-#define J_CENTER 2
-#define J_RIGHT 3
+#define J_LEFT 1
+#define J_CENTER 2
+#define J_RIGHT 3
/* Colormap window entry for each window in WM_COLORMAP_WINDOWS
* ICCCM property.
*/
-typedef struct TwmColormap
-{
- Colormap c; /* Colormap id */
- int state; /* install(ability) state */
- unsigned long install_req; /* request number which installed it */
- Window w; /* window causing load of color table */
+typedef struct TwmColormap {
+ Colormap c; /* Colormap id */
+ int state; /* install(ability) state */
+ unsigned long install_req; /* request number which installed it */
+ Window w; /* window causing load of color table */
int refcnt;
} TwmColormap;
-#define CM_INSTALLABLE 1
-#define CM_INSTALLED 2
-#define CM_INSTALL 4
+#define CM_INSTALLABLE 1
+#define CM_INSTALLED 2
+#define CM_INSTALL 4
-typedef struct ColormapWindow
-{
- Window w; /* Window id */
- TwmColormap *colormap; /* Colormap for this window */
- int visibility; /* Visibility of this window */
+typedef struct ColormapWindow {
+ Window w; /* Window id */
+ TwmColormap *colormap; /* Colormap for this window */
+ int visibility; /* Visibility of this window */
int refcnt;
} ColormapWindow;
-typedef struct Colormaps
-{
- ColormapWindow **cwins; /* current list of colormap windows */
- int number_cwins; /* number of elements in current list */
- char *scoreboard; /* conflicts between installable colortables */
+typedef struct Colormaps {
+ ColormapWindow **cwins; /* current list of colormap windows */
+ int number_cwins; /* number of elements in current list */
+ char *scoreboard; /* conflicts between installable colortables */
} Colormaps;
#define ColormapsScoreboardLength(cm) (size_t)((cm)->number_cwins * \
- ((cm)->number_cwins - 1) / 2)
+ ((cm)->number_cwins - 1) / 2)
/* for each window that is on the display, one of these structures
* is allocated and linked into a list
*/
-typedef struct TwmWindow
-{
- struct TwmWindow *next; /* next twm window */
- struct TwmWindow *prev; /* previous twm window */
- Window w; /* the child window */
- int old_bw; /* border width before reparenting */
- Window frame; /* the frame window */
- Window title_w; /* the title bar window */
- Window hilite_w; /* the hilite window */
+typedef struct TwmWindow {
+ struct TwmWindow *next; /* next twm window */
+ struct TwmWindow *prev; /* previous twm window */
+ Window w; /* the child window */
+ int old_bw; /* border width before reparenting */
+ Window frame; /* the frame window */
+ Window title_w; /* the title bar window */
+ Window hilite_w; /* the hilite window */
Pixmap gray;
- Window icon_w; /* the icon window */
- Window icon_bm_w; /* the icon bitmap window */
- int frame_x; /* x position of frame */
- int frame_y; /* y position of frame */
- int frame_width; /* width of frame */
- int frame_height; /* height of frame */
- int frame_bw; /* borderwidth of frame */
+ Window icon_w; /* the icon window */
+ Window icon_bm_w; /* the icon bitmap window */
+ int frame_x; /* x position of frame */
+ int frame_y; /* y position of frame */
+ int frame_width; /* width of frame */
+ int frame_height; /* height of frame */
+ int frame_bw; /* borderwidth of frame */
int title_x;
int title_y;
- int icon_x; /* icon text x coordinate */
- int icon_y; /* icon text y coordiante */
- int icon_w_width; /* width of the icon window */
- int icon_w_height; /* height of the icon window */
- int icon_width; /* width of the icon bitmap */
- int icon_height; /* height of the icon bitmap */
- int title_height; /* height of the title bar */
- int title_width; /* width of the title bar */
- char *full_name; /* full name of the window */
- char *name; /* name of the window */
- char *icon_name; /* name of the icon */
- int name_width; /* width of name text */
- int highlightx; /* start of highlight window */
- int rightx; /* start of right buttons */
- XWindowAttributes attr; /* the child window attributes */
- XSizeHints hints; /* normal hints */
- XWMHints *wmhints; /* WM hints */
- Window group; /* group ID */
+ int icon_x; /* icon text x coordinate */
+ int icon_y; /* icon text y coordiante */
+ int icon_w_width; /* width of the icon window */
+ int icon_w_height; /* height of the icon window */
+ int icon_width; /* width of the icon bitmap */
+ int icon_height; /* height of the icon bitmap */
+ int title_height; /* height of the title bar */
+ int title_width; /* width of the title bar */
+ char *full_name; /* full name of the window */
+ char *name; /* name of the window */
+ char *icon_name; /* name of the icon */
+ int name_width; /* width of name text */
+ int highlightx; /* start of highlight window */
+ int rightx; /* start of right buttons */
+ XWindowAttributes attr; /* the child window attributes */
+ XSizeHints hints; /* normal hints */
+ XWMHints *wmhints; /* WM hints */
+ Window group; /* group ID */
XClassHint class;
struct WList *list;
/***********************************************************************
* color definitions per window
**********************************************************************/
- Pixel border; /* border color */
- Pixel icon_border; /* border color */
+ Pixel border; /* border color */
+ Pixel icon_border; /* border color */
ColorPair border_tile;
ColorPair title;
ColorPair iconc;
- short iconified; /* has the window ever been iconified? */
- short icon; /* is the window an icon now ? */
- short icon_on; /* is the icon visible */
- short mapped; /* is the window mapped ? */
- short auto_raise; /* should we auto-raise this window ? */
- short forced; /* has had an icon forced upon it */
- short icon_not_ours; /* icon pixmap or window supplied to us */
- short icon_moved; /* user explicitly moved the icon */
- short highlight; /* should highlight this window */
- short stackmode; /* honor stackmode requests */
- short iconify_by_unmapping; /* unmap window to iconify it */
- short iconmgr; /* this is an icon manager window */
- short transient; /* this is a transient window */
- Window transientfor; /* window contained in XA_XM_TRANSIENT_FOR */
- short titlehighlight; /* should I highlight the title bar */
- struct IconMgr *iconmgrp; /* pointer to it if this is an icon manager */
- int save_frame_x; /* x position of frame */
- int save_frame_y; /* y position of frame */
- int save_frame_width; /* width of frame */
- int save_frame_height; /* height of frame */
- short zoomed; /* is the window zoomed? */
- short wShaped; /* this window has a bounding shape */
- unsigned long protocols; /* which protocols this window handles */
- Colormaps cmaps; /* colormaps for this application */
+ short iconified; /* has the window ever been iconified? */
+ short icon; /* is the window an icon now ? */
+ short icon_on; /* is the icon visible */
+ short mapped; /* is the window mapped ? */
+ short auto_raise; /* should we auto-raise this window ? */
+ short forced; /* has had an icon forced upon it */
+ short icon_not_ours; /* icon pixmap or window supplied to us */
+ short icon_moved; /* user explicitly moved the icon */
+ short highlight; /* should highlight this window */
+ short stackmode; /* honor stackmode requests */
+ short iconify_by_unmapping; /* unmap window to iconify it */
+ short iconmgr; /* this is an icon manager window */
+ short transient; /* this is a transient window */
+ Window transientfor; /* window contained in XA_XM_TRANSIENT_FOR */
+ short titlehighlight; /* should I highlight the title bar */
+ struct IconMgr *iconmgrp; /* pointer to it if this is an icon manager */
+ int save_frame_x; /* x position of frame */
+ int save_frame_y; /* y position of frame */
+ int save_frame_width; /* width of frame */
+ int save_frame_height; /* height of frame */
+ short zoomed; /* is the window zoomed? */
+ short wShaped; /* this window has a bounding shape */
+ unsigned long protocols; /* which protocols this window handles */
+ Colormaps cmaps; /* colormaps for this application */
TBWindow *titlebuttons;
- SqueezeInfo *squeeze_info; /* should the title be squeezed? */
+ SqueezeInfo *squeeze_info; /* should the title be squeezed? */
struct {
- struct TwmWindow *next, *prev;
- Bool cursor_valid;
- int curs_x, curs_y;
+ struct TwmWindow *next, *prev;
+ Bool cursor_valid;
+ int curs_x, curs_y;
} ring;
- Bool nameChanged; /* did WM_NAME ever change? */
+ Bool nameChanged; /* did WM_NAME ever change? */
/* did the user ever change the width/height? {yes, no, or unknown} */
@@ -306,9 +299,7 @@ typedef struct TwmWindow
} TwmWindow;
-
-typedef struct TWMWinConfigEntry
-{
+typedef struct TWMWinConfigEntry {
struct TWMWinConfigEntry *next;
int tag;
char *client_id;
@@ -326,37 +317,41 @@ typedef struct TWMWinConfigEntry
Bool height_ever_changed_by_user;
} TWMWinConfigEntry;
+#define DoesWmTakeFocus (1L << 0)
+#define DoesWmSaveYourself (1L << 1)
+#define DoesWmDeleteWindow (1L << 2)
-#define DoesWmTakeFocus (1L << 0)
-#define DoesWmSaveYourself (1L << 1)
-#define DoesWmDeleteWindow (1L << 2)
-
-#define TBPM_DOT ":dot" /* name of titlebar pixmap for dot */
-#define TBPM_ICONIFY ":iconify" /* same image as dot */
-#define TBPM_RESIZE ":resize" /* name of titlebar pixmap for resize button */
-#define TBPM_XLOGO ":xlogo" /* name of titlebar pixmap for xlogo */
-#define TBPM_DELETE ":delete" /* same image as xlogo */
-#define TBPM_MENU ":menu" /* name of titlebar pixmap for menus */
-#define TBPM_QUESTION ":question" /* name of unknown titlebar pixmap */
+#define TBPM_DOT ":dot" /* name of titlebar pixmap for dot */
+#define TBPM_ICONIFY ":iconify" /* same image as dot */
+#define TBPM_RESIZE ":resize" /* name of titlebar pixmap for resize button */
+#define TBPM_XLOGO ":xlogo" /* name of titlebar pixmap for xlogo */
+#define TBPM_DELETE ":delete" /* same image as xlogo */
+#define TBPM_MENU ":menu" /* name of titlebar pixmap for menus */
+#define TBPM_QUESTION ":question" /* name of unknown titlebar pixmap */
#include <X11/Xosdefs.h>
#include <stdlib.h>
-extern void CreateFonts ( void );
-extern void RestoreWithdrawnLocation ( TwmWindow *tmp );
-extern void Reborder( Time time);
-extern void Done( XtPointer, XtSignalId * ) _X_NORETURN;
-extern void ComputeCommonTitleOffsets ( void );
-extern void ComputeTitleLocation ( TwmWindow *tmp );
-extern void ComputeWindowTitleOffsets ( TwmWindow *tmp_win, int width, Bool squeeze );
+extern void CreateFonts(void);
+extern void RestoreWithdrawnLocation(TwmWindow *tmp);
+extern void Reborder(Time time);
+extern void
+Done(XtPointer, XtSignalId *)
+ _X_NORETURN;
+extern void
+ComputeCommonTitleOffsets(void);
+extern void
+ComputeTitleLocation(TwmWindow *tmp);
+extern void
+ComputeWindowTitleOffsets(TwmWindow *tmp_win, int width, Bool squeeze);
extern char *ProgramName;
extern Display *dpy;
extern XtAppContext appContext;
-extern Window ResizeWindow; /* the window we are resizing */
-extern int HasShape; /* this server supports Shape extension */
-extern int HasSync; /* this server supports SYNC extension */
+extern Window ResizeWindow; /* the window we are resizing */
+extern int HasShape; /* this server supports Shape extension */
+extern int HasSync; /* this server supports SYNC extension */
#ifdef HAVE_XRANDR
-extern int HasXrandr; /* this server supports Xrandr extension */
+extern int HasXrandr; /* this server supports Xrandr extension */
#endif
extern int PreviousScreen;
@@ -390,9 +385,12 @@ extern int InfoLines;
extern char Info[][INFO_SIZE];
extern int Argc;
extern char **Argv;
-extern void NewFontCursor ( Cursor *cp, const char *str );
-extern void NewBitmapCursor ( Cursor *cp, char *source, char *mask );
-extern Pixmap CreateMenuIcon ( int height, unsigned int *widthp, unsigned int *heightp );
+extern void
+NewFontCursor(Cursor *cp, const char *str);
+extern void
+NewBitmapCursor(Cursor *cp, char *source, char *mask);
+extern Pixmap
+CreateMenuIcon(int height, unsigned int *widthp, unsigned int *heightp);
extern Bool ErrorOccurred;
extern XErrorEvent LastErrorEvent;
@@ -400,12 +398,16 @@ extern XErrorEvent LastErrorEvent;
#define ResetError() (ErrorOccurred = False)
extern Bool RestartPreviousState;
-extern Bool GetWMState ( Window w, int *statep, Window *iwp );
+extern Bool
+GetWMState(Window w, int *statep, Window *iwp);
-extern void twmrc_error_prefix ( void );
+extern void
+twmrc_error_prefix(void);
-extern int yyparse ( void );
-extern int yylex ( void );
+extern int
+yyparse(void);
+extern int
+yylex(void);
extern Atom TwmAtoms[];
@@ -419,16 +421,16 @@ extern int XrandrEventBase;
extern int XrandrErrorBase;
#endif
-#define _XA_MIT_PRIORITY_COLORS TwmAtoms[0]
-#define _XA_WM_CHANGE_STATE TwmAtoms[1]
-#define _XA_WM_STATE TwmAtoms[2]
-#define _XA_WM_COLORMAP_WINDOWS TwmAtoms[3]
-#define _XA_WM_PROTOCOLS TwmAtoms[4]
-#define _XA_WM_TAKE_FOCUS TwmAtoms[5]
-#define _XA_WM_SAVE_YOURSELF TwmAtoms[6]
-#define _XA_WM_DELETE_WINDOW TwmAtoms[7]
-#define _XA_SM_CLIENT_ID TwmAtoms[8]
-#define _XA_WM_CLIENT_LEADER TwmAtoms[9]
-#define _XA_WM_WINDOW_ROLE TwmAtoms[10]
-
-#endif /* _TWM_ */
+#define _XA_MIT_PRIORITY_COLORS TwmAtoms[0]
+#define _XA_WM_CHANGE_STATE TwmAtoms[1]
+#define _XA_WM_STATE TwmAtoms[2]
+#define _XA_WM_COLORMAP_WINDOWS TwmAtoms[3]
+#define _XA_WM_PROTOCOLS TwmAtoms[4]
+#define _XA_WM_TAKE_FOCUS TwmAtoms[5]
+#define _XA_WM_SAVE_YOURSELF TwmAtoms[6]
+#define _XA_WM_DELETE_WINDOW TwmAtoms[7]
+#define _XA_SM_CLIENT_ID TwmAtoms[8]
+#define _XA_WM_CLIENT_LEADER TwmAtoms[9]
+#define _XA_WM_WINDOW_ROLE TwmAtoms[10]
+
+#endif /* _TWM_ */