JWM Source Documentation

client.h File Reference

Header file client window functions. More...

#include "border.h"
#include "hint.h"

Go to the source code of this file.

Data Structures

struct  ColormapNode
 Colormap window linked list. More...
struct  AspectRatio
 The aspect ratio of a window. More...
struct  ClientNode
 Struture to store information about a client window. More...

Defines

#define BORDER_DEFAULT
 The default border flags.

Typedefs

typedef struct ColormapNode ColormapNode
 Colormap window linked list.
typedef struct AspectRatio AspectRatio
 The aspect ratio of a window.
typedef struct ClientNode ClientNode
 Struture to store information about a client window.

Enumerations

enum  BorderFlags {
  BORDER_NONE = 0, BORDER_OUTLINE = 1 << 0, BORDER_TITLE = 1 << 1, BORDER_MIN = 1 << 2,
  BORDER_MAX = 1 << 3, BORDER_CLOSE = 1 << 4, BORDER_RESIZE = 1 << 5, BORDER_MOVE = 1 << 6,
  BORDER_MAX_V = 1 << 7, BORDER_MAX_H = 1 << 8
}
 Window border flags. More...
enum  StatusFlags {
  STAT_NONE = 0, STAT_ACTIVE = 1 << 0, STAT_MAPPED = 1 << 1, STAT_HMAX = 1 << 2,
  STAT_VMAX = 1 << 3, STAT_HIDDEN = 1 << 4, STAT_STICKY = 1 << 5, STAT_NOLIST = 1 << 6,
  STAT_MINIMIZED = 1 << 7, STAT_SHADED = 1 << 8, STAT_WMDIALOG = 1 << 9, STAT_PIGNORE = 1 << 10,
  STAT_SHAPE = 1 << 11, STAT_SDESKTOP = 1 << 12, STAT_FULLSCREEN = 1 << 13, STAT_OPACITY = 1 << 14,
  STAT_NOFOCUS = 1 << 15
}
 Window status flags. More...

Functions

ClientNodeFindClientByWindow (Window w)
 Find a client by window or parent window.
ClientNodeFindClientByParent (Window p)
 Find a client by its parent window.
ClientNodeGetActiveClient ()
 Get the active client.
void InitializeClients ()
void StartupClients ()
void ShutdownClients ()
void DestroyClients ()
ClientNodeAddClientWindow (Window w, char alreadyMapped, char notOwner)
 Add a window to management.
void RemoveClient (ClientNode *np)
 Remove a client from management.
void MinimizeClient (ClientNode *np)
 Minimize a client.
void ShadeClient (ClientNode *np)
 Shade a client.
void UnshadeClient (ClientNode *np)
 Unshade a client.
void SetClientWithdrawn (ClientNode *np)
 Set a client's status to withdrawn.
void RestoreClient (ClientNode *np, char raise)
 Restore a client from minimized state.
void MaximizeClient (ClientNode *np, char horiz, char vert)
 Maximize a client.
void MaximizeClientDefault (ClientNode *np)
 Maximize a client using the default maximize settings.
void SetClientFullScreen (ClientNode *np, char fullScreen)
 Set the full screen status of a client.
void FocusClient (ClientNode *np)
 Set the keyboard focus to a client.
void RefocusClient ()
 Set the keyboard focus back to the active client.
void DeleteClient (ClientNode *np)
 Tell a client to exit.
void KillClient (ClientNode *np)
 Force a client to exit.
void RaiseClient (ClientNode *np)
 Raise a client to the top of its layer.
void LowerClient (ClientNode *np)
 Lower a client to the bottom of its layer.
void RestackClients ()
 Restack the clients.
void SetClientLayer (ClientNode *np, unsigned int layer)
 Set the layer of a client.
void SetClientDesktop (ClientNode *np, unsigned int desktop)
 Set the desktop for a client.
void SetClientSticky (ClientNode *np, char isSticky)
 Set the sticky status of a client.
void HideClient (ClientNode *np)
 Hide a client.
void ShowClient (ClientNode *np)
 Show a client.
void UpdateClientColormap (ClientNode *np)
 Update a client's colormap.
void SetShape (ClientNode *np)
 Update the shape of a client using the shape extension.
void SendConfigureEvent (ClientNode *np)
 Send a configure event to a client.
void SendClientMessage (Window w, AtomType type, AtomType message)
 Send a message to a client.
void SetActiveClientOpacity (const char *str)
 Set the opacity for active clients.
void SetInactiveClientOpacity (const char *str)
 Set the opacity range for inactive clients.

Detailed Description

Header file client window functions.

Author:
Joe Wingbermuehle
Date:
2004-2007

Definition in file client.h.


Define Documentation

#define BORDER_DEFAULT
Value:

The default border flags.

Definition at line 31 of file client.h.


Typedef Documentation

typedef struct AspectRatio AspectRatio

The aspect ratio of a window.

typedef struct ClientNode ClientNode

Struture to store information about a client window.

typedef struct ColormapNode ColormapNode

Colormap window linked list.


Enumeration Type Documentation

Window border flags.

Enumerator:
BORDER_NONE 
BORDER_OUTLINE 

Window has a border.

BORDER_TITLE 

Window has a title bar.

BORDER_MIN 

Window supports minimize.

BORDER_MAX 

Window supports maximize.

BORDER_CLOSE 

Window supports close.

BORDER_RESIZE 

Window supports resizing.

BORDER_MOVE 

Window supports moving.

BORDER_MAX_V 

Maximize vertically.

BORDER_MAX_H 

Maximize horizontally.

Definition at line 17 of file client.h.

Window status flags.

Enumerator:
STAT_NONE 
STAT_ACTIVE 

This client has focus.

STAT_MAPPED 

This client is shown (on some desktop).

STAT_HMAX 

This client is maximized horizonatally.

STAT_VMAX 

This client is maximized vertically.

STAT_HIDDEN 

This client is not on the current desktop.

STAT_STICKY 

This client is on all desktops.

STAT_NOLIST 

Skip this client in the task list.

STAT_MINIMIZED 

This client is minimized.

STAT_SHADED 

This client is shaded.

STAT_WMDIALOG 

This is a JWM dialog window.

STAT_PIGNORE 

Ignore the program-specified position.

STAT_SHAPE 

This client uses the shape extension.

STAT_SDESKTOP 

This client was minimized to show desktop.

STAT_FULLSCREEN 

This client wants to be full screen.

STAT_OPACITY 

This client has a fixed opacity.

STAT_NOFOCUS 

Don't focus on map.

Definition at line 43 of file client.h.


Function Documentation

ClientNode* AddClientWindow ( Window  w,
char  alreadyMapped,
char  notOwner 
)

Add a window to management.

Parameters:
wThe client window.
alreadyMapped1 if the window is mapped, 0 if not.
notOwner1 if JWM doesn't own this window, 0 if JWM is the owner.
Returns:
The client window data.
void DeleteClient ( ClientNode np)

Tell a client to exit.

Parameters:
npThe client to delete.
void DestroyClients ( )
ClientNode* FindClientByParent ( Window  p)

Find a client by its parent window.

Parameters:
pThe parent window.
Returns:
The client (NULL if not found).
ClientNode* FindClientByWindow ( Window  w)

Find a client by window or parent window.

Parameters:
wThe window.
Returns:
The client (NULL if not found).
void FocusClient ( ClientNode np)

Set the keyboard focus to a client.

Parameters:
npThe client to focus.
ClientNode* GetActiveClient ( )

Get the active client.

Returns:
The active client (NULL if no client is active).
void HideClient ( ClientNode np)

Hide a client.

This is used for changing desktops.

Parameters:
npThe client to hide.
void InitializeClients ( )
void KillClient ( ClientNode np)

Force a client to exit.

Parameters:
npThe client to kill.
void LowerClient ( ClientNode np)

Lower a client to the bottom of its layer.

Parameters:
npThe client to lower.
void MaximizeClient ( ClientNode np,
char  horiz,
char  vert 
)

Maximize a client.

Parameters:
npThe client to maximize.
horizSet to maximize the client horizontally.
vertSet to maximize the client vertically.
void MaximizeClientDefault ( ClientNode np)

Maximize a client using the default maximize settings.

Parameters:
npThe client to maximize.
void MinimizeClient ( ClientNode np)

Minimize a client.

Parameters:
npThe client to minimize.
void RaiseClient ( ClientNode np)

Raise a client to the top of its layer.

Parameters:
npThe client to raise.
void RefocusClient ( )

Set the keyboard focus back to the active client.

void RemoveClient ( ClientNode np)

Remove a client from management.

Parameters:
npThe client to remove.
void RestackClients ( )

Restack the clients.

This is used when a client is mapped so that the stacking order remains consistent.

void RestoreClient ( ClientNode np,
char  raise 
)

Restore a client from minimized state.

Parameters:
npThe client to restore.
raise1 to raise the client, 0 to leave stacking unchanged.
void SendClientMessage ( Window  w,
AtomType  type,
AtomType  message 
)

Send a message to a client.

Parameters:
wThe client window.
typeThe type of message to send.
messageThe message to send.
void SendConfigureEvent ( ClientNode np)

Send a configure event to a client.

This will send updated location and size information to a client.

Parameters:
npThe client to get the event.
void SetActiveClientOpacity ( const char *  str)

Set the opacity for active clients.

Parameters:
strThe opacity to use.
void SetClientDesktop ( ClientNode np,
unsigned int  desktop 
)

Set the desktop for a client.

Parameters:
npThe client.
desktopThe desktop to be assigned to the client.
void SetClientFullScreen ( ClientNode np,
char  fullScreen 
)

Set the full screen status of a client.

Parameters:
npThe client.
fullScreen1 to make full screen, 0 to make not full screen.
void SetClientLayer ( ClientNode np,
unsigned int  layer 
)

Set the layer of a client.

Parameters:
npThe client whose layer to set.
layerthe layer to assign to the client.
void SetClientSticky ( ClientNode np,
char  isSticky 
)

Set the sticky status of a client.

A sticky client will appear on all desktops.

Parameters:
npThe client.
isSticky1 to make the client sticky, 0 to make it not sticky.
void SetClientWithdrawn ( ClientNode np)

Set a client's status to withdrawn.

A withdrawn client is a client that is not visible in any way to the user. This may be a window that an application keeps around so that it can be reused at a later time.

Parameters:
npThe client whose status to change.
void SetInactiveClientOpacity ( const char *  str)

Set the opacity range for inactive clients.

Parameters:
strThe opacity range to use.
void SetShape ( ClientNode np)

Update the shape of a client using the shape extension.

Parameters:
npThe client to update.
void ShadeClient ( ClientNode np)

Shade a client.

Parameters:
npThe client to shade.
void ShowClient ( ClientNode np)

Show a client.

This is used for changing desktops.

Parameters:
npThe client to show.
void ShutdownClients ( )
void StartupClients ( )
void UnshadeClient ( ClientNode np)

Unshade a client.

Parameters:
npThe client to unshade.
void UpdateClientColormap ( ClientNode np)

Update a client's colormap.

Parameters:
npThe client.