CTWM
Loading...
Searching...
No Matches
/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 char * GetClientID (Window window)
static char * GetWindowRole (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 char * unique_filename (char *path, char *prefix, int *fd)
void ConnectToSessionManager (char *previous_id)
void shutdown_session (void)

Variables

SmcConn smcConn = NULL
static XtInputId iceInputId
static char * twm_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()

void DieCB ( SmcConn smcCon,
SmPointer clientData )
static

Definition at line 1075 of file session.c.

References DieCB(), DoShutdown(), and iceInputId.

Referenced by ConnectToSessionManager(), and DieCB().

◆ GetClientID()

char * GetClientID ( Window window)
static

Definition at line 103 of file session.c.

References dpy, and GetClientID().

Referenced by GetClientID(), GetWindowConfig(), and SaveYourselfPhase2CB().

◆ GetWindowConfig()

◆ GetWindowRole()

char * GetWindowRole ( Window window)
static

Definition at line 143 of file session.c.

References dpy, and GetWindowRole().

Referenced by GetWindowConfig(), GetWindowRole(), and SaveYourselfPhase2CB().

◆ ProcessIceMsgProc()

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

Definition at line 1108 of file session.c.

References ProcessIceMsgProc().

Referenced by ConnectToSessionManager(), and ProcessIceMsgProc().

◆ read_byte()

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

Definition at line 240 of file session.c.

References read_byte().

Referenced by read_byte(), read_counted_string(), and ReadWinConfigEntry().

◆ read_counted_string()

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

Definition at line 295 of file session.c.

References read_byte(), and read_counted_string().

Referenced by read_counted_string(), and ReadWinConfigEntry().

◆ read_int()

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

Definition at line 279 of file session.c.

References read_int().

Referenced by read_int(), and ReadWinConfigEntry().

◆ read_short()

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

Definition at line 263 of file session.c.

References read_short().

Referenced by read_short(), and ReadWinConfigEntry().

◆ read_ushort()

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

Definition at line 250 of file session.c.

References read_ushort().

Referenced by read_ushort(), ReadWinConfigEntry(), and ReadWinConfigFile().

◆ ReadWinConfigEntry()

◆ ReadWinConfigFile()

void ReadWinConfigFile ( char * filename)

◆ SaveCompleteCB()

void SaveCompleteCB ( SmcConn smcCon,
SmPointer clientData )
static

Definition at line 1087 of file session.c.

References SaveCompleteCB().

Referenced by ConnectToSessionManager(), and SaveCompleteCB().

◆ SaveYourselfCB()

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

Definition at line 1057 of file session.c.

References SaveYourselfCB(), SaveYourselfPhase2CB(), and sent_save_done.

Referenced by ConnectToSessionManager(), and SaveYourselfCB().

◆ SaveYourselfPhase2CB()

◆ shutdown_session()

void shutdown_session ( void )

Definition at line 1174 of file session.c.

References shutdown_session(), and smcConn.

Referenced by DoRestart(), and shutdown_session().

◆ ShutdownCancelledCB()

void ShutdownCancelledCB ( SmcConn smcCon,
SmPointer clientData )
static

Definition at line 1097 of file session.c.

References sent_save_done, and ShutdownCancelledCB().

Referenced by ConnectToSessionManager(), and ShutdownCancelledCB().

◆ unique_filename()

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

Definition at line 839 of file session.c.

References unique_filename().

Referenced by SaveYourselfPhase2CB(), and unique_filename().

◆ write_byte()

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

Definition at line 160 of file session.c.

References write_byte().

Referenced by write_byte(), write_counted_string(), and WriteWinConfigEntry().

◆ write_counted_string()

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

Definition at line 217 of file session.c.

References write_byte(), and write_counted_string().

Referenced by write_counted_string(), and WriteWinConfigEntry().

◆ write_int()

int write_int ( FILE * file,
int i )
static

Definition at line 201 of file session.c.

References write_int().

Referenced by write_int(), and WriteWinConfigEntry().

◆ write_short()

int write_short ( FILE * file,
short s )
static

Definition at line 184 of file session.c.

References write_short().

Referenced by write_short(), and WriteWinConfigEntry().

◆ write_ushort()

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

Definition at line 170 of file session.c.

References write_ushort().

Referenced by SaveYourselfPhase2CB(), write_ushort(), and WriteWinConfigEntry().

◆ WriteWinConfigEntry()

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().