CTWM
Loading...
Searching...
No Matches
Macros | Functions | Variables
/usr/src/RPM/BUILD/ctwm-4.1.0/session.c File Reference
#include "ctwm.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
#include <limits.h>
#include <X11/Xatom.h>
#include "ctwm_atoms.h"
#include "ctwm_shutdown.h"
#include "icons.h"
#include "list.h"
#include "screen.h"
#include "session.h"
Include dependency graph for session.c:

Go to the source code of this file.

Macros

#define SAVEFILE_VERSION   2
 
#define PATH_MAX   1023
 

Functions

static void SaveYourselfCB (SmcConn smcCon, SmPointer clientData, int saveType, Bool shutdown, int interactStyle, Bool fast)
 
static charGetClientID (Window window)
 
static charGetWindowRole (Window window)
 
static int WriteWinConfigEntry (FILE *configFile, TwmWindow *theWindow, char *clientId, char *windowRole)
 
static int ReadWinConfigEntry (FILE *configFile, unsigned short version, TWMWinConfigEntry **pentry)
 
static void SaveYourselfPhase2CB (SmcConn smcCon, SmPointer clientData)
 
static void DieCB (SmcConn smcCon, SmPointer clientData)
 
static void SaveCompleteCB (SmcConn smcCon, SmPointer clientData)
 
static void ShutdownCancelledCB (SmcConn smcCon, SmPointer clientData)
 
static void ProcessIceMsgProc (XtPointer client_data, int *source, XtInputId *id)
 
static int write_byte (FILE *file, unsigned char b)
 
static int write_ushort (FILE *file, unsigned short s)
 
static int write_short (FILE *file, short s)
 
static int write_int (FILE *file, int i)
 
static int write_counted_string (FILE *file, char *string)
 
static int read_byte (FILE *file, unsigned char *bp)
 
static int read_ushort (FILE *file, unsigned short *shortp)
 
static int read_short (FILE *file, short *shortp)
 
static int read_int (FILE *file, int *intp)
 
static int read_counted_string (FILE *file, char **stringp)
 
void ReadWinConfigFile (char *filename)
 
int GetWindowConfig (TwmWindow *theWindow, short *x, short *y, unsigned short *width, unsigned short *height, bool *iconified, bool *icon_info_present, short *icon_x, short *icon_y, bool *width_ever_changed_by_user, bool *height_ever_changed_by_user, int *occupation)
 
static charunique_filename (char *path, char *prefix, int *fd)
 
void ConnectToSessionManager (char *previous_id)
 
void shutdown_session (void)
 

Variables

SmcConn smcConn = NULL
 
static XtInputId iceInputId
 
static chartwm_clientId
 
static TWMWinConfigEntrywinConfigHead = NULL
 
static bool sent_save_done = false
 

Macro Definition Documentation

◆ PATH_MAX

#define PATH_MAX   1023

Definition at line 876 of file session.c.

Referenced by SaveYourselfPhase2CB().

◆ SAVEFILE_VERSION

#define SAVEFILE_VERSION   2

Definition at line 98 of file session.c.

Referenced by ReadWinConfigFile(), and SaveYourselfPhase2CB().

Function Documentation

◆ ConnectToSessionManager()

void ConnectToSessionManager ( char * previous_id)

◆ DieCB()

static void DieCB ( SmcConn smcCon,
SmPointer clientData )
static

Definition at line 1075 of file session.c.

References DoShutdown(), iceInputId, and PlaceX.

Referenced by ConnectToSessionManager().

◆ GetClientID()

static char * GetClientID ( Window window)
static

Definition at line 103 of file session.c.

References dpy, and PlaceX.

Referenced by GetWindowConfig(), and SaveYourselfPhase2CB().

◆ GetWindowConfig()

int GetWindowConfig ( TwmWindow * theWindow,
short * x,
short * y,
unsigned short * width,
unsigned short * height,
bool * iconified,
bool * icon_info_present,
short * icon_x,
short * icon_y,
bool * width_ever_changed_by_user,
bool * height_ever_changed_by_user,
int * occupation )

Definition at line 704 of file session.c.

References dpy, GetClientID(), GetWindowRole(), PlaceX, ptr, winConfigHead, x, and y.

Referenced by AddWindow().

◆ GetWindowRole()

static char * GetWindowRole ( Window window)
static

Definition at line 143 of file session.c.

References dpy, and PlaceX.

Referenced by GetWindowConfig(), and SaveYourselfPhase2CB().

◆ ProcessIceMsgProc()

static void ProcessIceMsgProc ( XtPointer client_data,
int * source,
XtInputId * id )
static

Definition at line 1108 of file session.c.

References PlaceX.

Referenced by ConnectToSessionManager().

◆ read_byte()

static int read_byte ( FILE * file,
unsigned char * bp )
static

Definition at line 240 of file session.c.

References PlaceX.

Referenced by read_counted_string(), and ReadWinConfigEntry().

◆ read_counted_string()

static int read_counted_string ( FILE * file,
char ** stringp )
static

Definition at line 295 of file session.c.

References len, PlaceX, and read_byte().

Referenced by ReadWinConfigEntry().

◆ read_int()

static int read_int ( FILE * file,
int * intp )
static

Definition at line 279 of file session.c.

References PlaceX.

Referenced by ReadWinConfigEntry().

◆ read_short()

static int read_short ( FILE * file,
short * shortp )
static

Definition at line 263 of file session.c.

References PlaceX.

Referenced by ReadWinConfigEntry().

◆ read_ushort()

static int read_ushort ( FILE * file,
unsigned short * shortp )
static

Definition at line 250 of file session.c.

References PlaceX.

Referenced by ReadWinConfigEntry(), and ReadWinConfigFile().

◆ ReadWinConfigEntry()

static int ReadWinConfigEntry ( FILE * configFile,
unsigned short version,
TWMWinConfigEntry ** pentry )
static

Definition at line 512 of file session.c.

References PlaceX, read_byte(), read_counted_string(), read_int(), read_short(), and read_ushort().

Referenced by ReadWinConfigFile().

◆ ReadWinConfigFile()

void ReadWinConfigFile ( char * filename)

Definition at line 666 of file session.c.

References PlaceX, read_ushort(), ReadWinConfigEntry(), SAVEFILE_VERSION, and winConfigHead.

Referenced by ctwm_main().

◆ SaveCompleteCB()

static void SaveCompleteCB ( SmcConn smcCon,
SmPointer clientData )
static

Definition at line 1087 of file session.c.

Referenced by ConnectToSessionManager().

◆ SaveYourselfCB()

static void SaveYourselfCB ( SmcConn smcCon,
SmPointer clientData,
int saveType,
Bool shutdown,
int interactStyle,
Bool fast )
static

Definition at line 1057 of file session.c.

References PlaceX, SaveYourselfPhase2CB(), and sent_save_done.

Referenced by ConnectToSessionManager().

◆ SaveYourselfPhase2CB()

static void SaveYourselfPhase2CB ( SmcConn smcCon,
SmPointer clientData )
static

◆ shutdown_session()

void shutdown_session ( void )

Definition at line 1174 of file session.c.

References PlaceX, and smcConn.

Referenced by DoRestart().

◆ ShutdownCancelledCB()

static void ShutdownCancelledCB ( SmcConn smcCon,
SmPointer clientData )
static

Definition at line 1097 of file session.c.

References PlaceX, and sent_save_done.

Referenced by ConnectToSessionManager().

◆ unique_filename()

static char * unique_filename ( char * path,
char * prefix,
int * fd )
static

Definition at line 839 of file session.c.

References PlaceX.

Referenced by SaveYourselfPhase2CB().

◆ write_byte()

static int write_byte ( FILE * file,
unsigned char b )
static

Definition at line 160 of file session.c.

References PlaceX.

Referenced by write_counted_string(), and WriteWinConfigEntry().

◆ write_counted_string()

static int write_counted_string ( FILE * file,
char * string )
static

Definition at line 217 of file session.c.

References PlaceX, and write_byte().

Referenced by WriteWinConfigEntry().

◆ write_int()

static int write_int ( FILE * file,
int i )
static

Definition at line 201 of file session.c.

References PlaceX.

Referenced by WriteWinConfigEntry().

◆ write_short()

static int write_short ( FILE * file,
short s )
static

Definition at line 184 of file session.c.

References PlaceX.

Referenced by WriteWinConfigEntry().

◆ write_ushort()

static int write_ushort ( FILE * file,
unsigned short s )
static

Definition at line 170 of file session.c.

References PlaceX.

Referenced by SaveYourselfPhase2CB(), and WriteWinConfigEntry().

◆ WriteWinConfigEntry()

static int WriteWinConfigEntry ( FILE * configFile,
TwmWindow * theWindow,
char * clientId,
char * windowRole )
static

Variable Documentation

◆ iceInputId

XtInputId iceInputId
static

Definition at line 78 of file session.c.

Referenced by ConnectToSessionManager(), and DieCB().

◆ sent_save_done

bool sent_save_done = false
static

Definition at line 81 of file session.c.

Referenced by SaveYourselfCB(), SaveYourselfPhase2CB(), and ShutdownCancelledCB().

◆ smcConn

SmcConn smcConn = NULL

Definition at line 77 of file session.c.

Referenced by ConnectToSessionManager(), and shutdown_session().

◆ twm_clientId

char* twm_clientId
static

Definition at line 79 of file session.c.

Referenced by ConnectToSessionManager(), and SaveYourselfPhase2CB().

◆ winConfigHead

TWMWinConfigEntry* winConfigHead = NULL
static

Definition at line 80 of file session.c.

Referenced by GetWindowConfig(), and ReadWinConfigFile().