JWM Source Documentation
Macros | Functions | Variables
clientlist.h File Reference

Functions to manage lists of clients. More...

#include "hint.h"

Go to the source code of this file.

Macros

#define IsClientOnCurrentDesktop(np)
 Determine if a client is on the current desktop.
 

Functions

char ShouldFocus (const struct ClientNode *np, char current)
 Determine if a client is allowed focus.
 
void StartWindowWalk (void)
 Start walking the window client list.
 
void StartWindowStackWalk ()
 Start walking the window stack.
 
void WalkWindowStack (char forward)
 Move to the next/previous window in the window stack.
 
void StopWindowWalk (void)
 Stop walking the window stack or client list.
 
void FocusNextStacked (struct ClientNode *np)
 Set the keyboard focus to the next client.
 

Variables

struct ClientNodenodes [LAYER_COUNT]
 Client windows in linked lists for each layer.
 
struct ClientNodenodeTail [LAYER_COUNT]
 Client windows in linked lists for each layer (pointer to the tail).
 

Detailed Description

Functions to manage lists of clients.

Author
Joe Wingbermuehle
Date
2007

Definition in file clientlist.h.

Macro Definition Documentation

#define IsClientOnCurrentDesktop (   np)
Value:
((np->state.desktop == currentDesktop) \
|| (np->state.status & STAT_STICKY))

Determine if a client is on the current desktop.

Parameters
npThe client.
Returns
1 if on the current desktop, 0 otherwise.

Definition at line 27 of file clientlist.h.

Referenced by FocusGroup(), ProcessTaskButtonEvent(), Render(), ShouldFocus(), SubtractStrutBounds(), TileClient(), and TryTileClient().

Function Documentation

void FocusNextStacked ( ClientNode np)

Set the keyboard focus to the next client.

This is used to focus the next client in the stacking order.

Parameters
npThe client before the client to focus.

Definition at line 220 of file clientlist.c.

References Assert, display, eventTime, FIRST_LAYER, FocusClient(), JXSetInputFocus, ClientState::layer, ClientNode::next, rootWindow, STAT_HIDDEN, STAT_MAPPED, STAT_SHADED, ClientNode::state, ClientState::status, and ClientNode::x.

Referenced by KillClientHandler(), MinimizeTransients(), RemoveClient(), and SetClientWithdrawn().

char ShouldFocus ( const struct ClientNode np,
char  current 
)

Determine if a client is allowed focus.

Parameters
npThe client.
current1 if only showing clients on the current desktop.
Returns
1 if focus is allowed, 0 otherwise.
void StartWindowStackWalk ( void  )
void StartWindowWalk ( void  )

Start walking the window client list.

Definition at line 57 of file clientlist.c.

References display, JXGrabKeyboard, RaiseTrays(), rootWindow, and walkingWindows.

Referenced by HandleKeyPress().

void StopWindowWalk ( void  )
void WalkWindowStack ( char  forward)

Variable Documentation

struct ClientNode* nodes[LAYER_COUNT]
struct ClientNode* nodeTail[LAYER_COUNT]

Client windows in linked lists for each layer (pointer to the tail).

Definition at line 19 of file clientlist.c.

Referenced by AddClientWindow(), DoSnapBorder(), DrawPager(), MinimizeTransients(), RaiseClient(), RemoveClient(), RestackClient(), RestackTransients(), SetClientLayer(), ShutdownClients(), StartupClients(), and UpdateState().

joewing.net / Projects / JWM