JWM Source Documentation
Macros | Typedefs | Functions
group.h File Reference

Functions for handling window groups. More...

Go to the source code of this file.

Macros

#define OPTION_INVALID   0
 
#define OPTION_STICKY   1
 Start in the sticky state.
 
#define OPTION_LAYER   2
 Start on a specific layer.
 
#define OPTION_DESKTOP   3
 Start on a specific desktop.
 
#define OPTION_ICON   4
 Set the icon to use.
 
#define OPTION_NOLIST   5
 Don't display in the task list.
 
#define OPTION_BORDER   6
 Force a window border.
 
#define OPTION_NOBORDER   7
 Don't draw a window border.
 
#define OPTION_TITLE   8
 Force a window title bar.
 
#define OPTION_NOTITLE   9
 Don't draw a window title bar.
 
#define OPTION_PIGNORE   10
 Ignore program-specified location.
 
#define OPTION_MAXIMIZED   11
 Start maximized.
 
#define OPTION_MINIMIZED   12
 Start minimized.
 
#define OPTION_SHADED   13
 Start shaded.
 
#define OPTION_OPACITY   14
 Set the opacity.
 
#define OPTION_MAX_H   15
 Use horizontal maximization.
 
#define OPTION_MAX_V   16
 Use vertical maximization.
 
#define OPTION_NOFOCUS   17
 Don't focus on map.
 
#define OPTION_NOSHADE   18
 Don't allow shading.
 
#define OPTION_CENTERED   19
 Centered placement.
 
#define OPTION_TILED   20
 Tiled placement.
 
#define OPTION_IIGNORE   21
 Ignore increment when maximized.
 
#define OPTION_NOPAGER   22
 Do not show in pager.
 
#define OPTION_NOTURGENT   23
 Ignore the urgency hint.
 
#define OPTION_CONSTRAIN   24
 Constrain the window to the screen.
 
#define OPTION_FULLSCREEN   25
 Start fullscreen.
 
#define OPTION_NOMIN   26
 Disallow minimization.
 
#define OPTION_NOMAX   27
 Disallow maximization.
 
#define OPTION_NOCLOSE   28
 Disallow closing (from title bar).
 
#define OPTION_NOMOVE   29
 Disallow moving.
 
#define OPTION_NORESIZE   30
 Disallow resizing.
 
#define OPTION_NOFULLSCREEN   31
 Disallow fullscreen.
 
#define OPTION_DRAG   32
 Pass mouse events to JWM.
 
#define OPTION_ILIST   33
 Ignore program-specified list.
 
#define OPTION_IPAGER   34
 Ignore program-specified pager.
 
#define OPTION_FIXED   35
 Keep on the specified desktop.
 
#define OPTION_AEROSNAP   36
 Enable Aero Snap.
 
#define OPTION_NODRAG   37
 Disable mod1+drag/resize.
 

Typedefs

typedef unsigned char OptionType
 Enumeration of group options.
 

Functions

struct GroupTypeCreateGroup (void)
 Create an empty group.
 
void AddGroupClass (struct GroupType *gp, const char *pattern)
 Add a window class to a group.
 
void AddGroupName (struct GroupType *gp, const char *pattern)
 Add a window name to a group.
 
void AddGroupOption (struct GroupType *gp, OptionType option)
 Add a group option that doesn't take a value.
 
void AddGroupOptionString (struct GroupType *gp, OptionType option, const char *value)
 Add a group option that takes a string.
 
void AddGroupOptionUnsigned (struct GroupType *gp, OptionType option, unsigned int value)
 Add a group option that takes an unsigned integer.
 
void ApplyGroups (struct ClientNode *np)
 Apply any matching groups to a client.
 
#define InitializeGroups()   (void)(0)
 
#define StartupGroups()   (void)(0)
 
#define ShutdownGroups()   (void)(0)
 
void DestroyGroups (void)
 Destroy group data.
 

Detailed Description

Functions for handling window groups.

Author
Joe Wingbermuehle
Date
2004-2006

Definition in file group.h.

Macro Definition Documentation

#define InitializeGroups ( )    (void)(0)

Definition at line 58 of file group.h.

Referenced by Initialize().

#define OPTION_AEROSNAP   36

Enable Aero Snap.

Definition at line 54 of file group.h.

Referenced by ApplyGroup().

#define OPTION_BORDER   6

Force a window border.

Definition at line 24 of file group.h.

Referenced by ApplyGroup().

#define OPTION_CENTERED   19

Centered placement.

Definition at line 37 of file group.h.

Referenced by ApplyGroup().

#define OPTION_CONSTRAIN   24

Constrain the window to the screen.

Definition at line 42 of file group.h.

Referenced by ApplyGroup().

#define OPTION_DESKTOP   3

Start on a specific desktop.

Definition at line 21 of file group.h.

Referenced by ApplyGroup(), and ParseGroupOption().

#define OPTION_DRAG   32

Pass mouse events to JWM.

Definition at line 50 of file group.h.

Referenced by ApplyGroup().

#define OPTION_FIXED   35

Keep on the specified desktop.

Definition at line 53 of file group.h.

Referenced by ApplyGroup().

#define OPTION_FULLSCREEN   25

Start fullscreen.

Definition at line 43 of file group.h.

Referenced by ApplyGroup().

#define OPTION_ICON   4

Set the icon to use.

Definition at line 22 of file group.h.

Referenced by ApplyGroup(), and ParseGroupOption().

#define OPTION_IIGNORE   21

Ignore increment when maximized.

Definition at line 39 of file group.h.

Referenced by ApplyGroup().

#define OPTION_ILIST   33

Ignore program-specified list.

Definition at line 51 of file group.h.

Referenced by ApplyGroup().

#define OPTION_INVALID   0

Definition at line 18 of file group.h.

#define OPTION_IPAGER   34

Ignore program-specified pager.

Definition at line 52 of file group.h.

Referenced by ApplyGroup().

#define OPTION_LAYER   2

Start on a specific layer.

Definition at line 20 of file group.h.

Referenced by ApplyGroup(), and ParseGroupOption().

#define OPTION_MAX_H   15

Use horizontal maximization.

Definition at line 33 of file group.h.

Referenced by ApplyGroup().

#define OPTION_MAX_V   16

Use vertical maximization.

Definition at line 34 of file group.h.

Referenced by ApplyGroup().

#define OPTION_MAXIMIZED   11

Start maximized.

Definition at line 29 of file group.h.

Referenced by ApplyGroup().

#define OPTION_MINIMIZED   12

Start minimized.

Definition at line 30 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOBORDER   7

Don't draw a window border.

Definition at line 25 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOCLOSE   28

Disallow closing (from title bar).

Definition at line 46 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NODRAG   37

Disable mod1+drag/resize.

Definition at line 55 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOFOCUS   17

Don't focus on map.

Definition at line 35 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOFULLSCREEN   31

Disallow fullscreen.

Definition at line 49 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOLIST   5

Don't display in the task list.

Definition at line 23 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOMAX   27

Disallow maximization.

Definition at line 45 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOMIN   26

Disallow minimization.

Definition at line 44 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOMOVE   29

Disallow moving.

Definition at line 47 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOPAGER   22

Do not show in pager.

Definition at line 40 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NORESIZE   30

Disallow resizing.

Definition at line 48 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOSHADE   18

Don't allow shading.

Definition at line 36 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOTITLE   9

Don't draw a window title bar.

Definition at line 27 of file group.h.

Referenced by ApplyGroup().

#define OPTION_NOTURGENT   23

Ignore the urgency hint.

Definition at line 41 of file group.h.

Referenced by ApplyGroup().

#define OPTION_OPACITY   14

Set the opacity.

Definition at line 32 of file group.h.

Referenced by ApplyGroup(), and ParseGroupOption().

#define OPTION_PIGNORE   10

Ignore program-specified location.

Definition at line 28 of file group.h.

Referenced by ApplyGroup().

#define OPTION_SHADED   13

Start shaded.

Definition at line 31 of file group.h.

Referenced by ApplyGroup().

#define OPTION_STICKY   1

Start in the sticky state.

Definition at line 19 of file group.h.

Referenced by ApplyGroup().

#define OPTION_TILED   20

Tiled placement.

Definition at line 38 of file group.h.

Referenced by ApplyGroup().

#define OPTION_TITLE   8

Force a window title bar.

Definition at line 26 of file group.h.

Referenced by ApplyGroup().

#define ShutdownGroups ( )    (void)(0)

Definition at line 60 of file group.h.

Referenced by Shutdown().

#define StartupGroups ( )    (void)(0)

Definition at line 59 of file group.h.

Referenced by Startup().

Typedef Documentation

typedef unsigned char OptionType

Enumeration of group options.

Definition at line 14 of file group.h.

Function Documentation

void AddGroupClass ( GroupType gp,
const char *  pattern 
)

Add a window class to a group.

Parameters
gpThe group.
patternA pattern to match with the window class.

Definition at line 106 of file group.c.

References _, AddPattern(), Assert, JLIKELY, MATCH_CLASS, GroupType::patterns, and Warning().

Referenced by ParseGroup().

void AddGroupName ( GroupType gp,
const char *  pattern 
)

Add a window name to a group.

Parameters
gpThe group.
patternA pattern to match with the window name.

Definition at line 117 of file group.c.

References _, AddPattern(), Assert, JLIKELY, MATCH_NAME, GroupType::patterns, and Warning().

Referenced by ParseGroup().

void AddGroupOption ( GroupType gp,
OptionType  option 
)

Add a group option that doesn't take a value.

Parameters
gpThe group.
optionThe option.

Definition at line 141 of file group.c.

References Allocate, OptionListType::next, OptionListType::option, GroupType::options, and OptionListType::svalue.

Referenced by ParseGroupOption().

void AddGroupOptionString ( GroupType gp,
OptionType  option,
const char *  value 
)

Add a group option that takes a string.

Parameters
gpThe group.
optionThe option.
valueThe option value.

Definition at line 152 of file group.c.

References Allocate, Assert, CopyString(), OptionListType::next, OptionListType::option, GroupType::options, and OptionListType::svalue.

Referenced by ParseGroupOption().

void AddGroupOptionUnsigned ( GroupType gp,
OptionType  option,
unsigned int  value 
)

Add a group option that takes an unsigned integer.

Parameters
gpThe group.
optionThe option.
valueThe option value.

Definition at line 165 of file group.c.

References Allocate, Assert, OptionListType::next, OptionListType::option, GroupType::options, OptionListType::svalue, and OptionListType::uvalue.

Referenced by ParseGroupOption().

void ApplyGroups ( ClientNode np)

Apply any matching groups to a client.

Parameters
npThe client.

Definition at line 178 of file group.c.

References ApplyGroup(), Assert, ClientNode::className, Debug(), ClientNode::instanceName, Match(), PatternListType::match, MATCH_CLASS, MATCH_NAME, PatternListType::next, GroupType::next, PatternListType::pattern, and GroupType::patterns.

Referenced by AddClientWindow().

struct GroupType* CreateGroup ( void  )
read

Create an empty group.

Returns
An empty group.

Definition at line 94 of file group.c.

References Allocate, groups, GroupType::next, GroupType::options, and GroupType::patterns.

Referenced by ParseGroup().

void DestroyGroups ( void  )

Destroy group data.

Definition at line 55 of file group.c.

References GroupType::next, GroupType::options, GroupType::patterns, Release, ReleaseOptionList(), and ReleasePatternList().

Referenced by Destroy().

joewing.net / Projects / JWM