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 DoShutdown(), and iceInputId.

Referenced by ConnectToSessionManager().

◆ GetClientID()

char * GetClientID ( Window window)
static

Definition at line 103 of file session.c.

References dpy.

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 TwmWindow::class, dpy, GetClientID(), GetWindowRole(), TwmWindow::name, ptr, TwmWindow::w, winConfigHead, x, and y.

Referenced by AddWindow().

◆ GetWindowRole()

char * GetWindowRole ( Window window)
static

Definition at line 143 of file session.c.

References dpy.

Referenced by GetWindowConfig(), and SaveYourselfPhase2CB().

◆ ProcessIceMsgProc()

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

Definition at line 1108 of file session.c.

Referenced by ConnectToSessionManager().

◆ read_byte()

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

Definition at line 240 of file session.c.

Referenced by 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 len, and read_byte().

Referenced by ReadWinConfigEntry().

◆ read_int()

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

Definition at line 279 of file session.c.

Referenced by ReadWinConfigEntry().

◆ read_short()

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

Definition at line 263 of file session.c.

Referenced by ReadWinConfigEntry().

◆ read_ushort()

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

Definition at line 250 of file session.c.

Referenced by ReadWinConfigEntry(), and ReadWinConfigFile().

◆ ReadWinConfigEntry()

◆ ReadWinConfigFile()

void ReadWinConfigFile ( char * filename)

Definition at line 666 of file session.c.

References TWMWinConfigEntry::next, read_ushort(), ReadWinConfigEntry(), SAVEFILE_VERSION, and winConfigHead.

Referenced by ctwm_main().

◆ SaveCompleteCB()

void SaveCompleteCB ( SmcConn smcCon,
SmPointer clientData )
static

Definition at line 1087 of file session.c.

Referenced by ConnectToSessionManager().

◆ 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 SaveYourselfPhase2CB(), and sent_save_done.

Referenced by ConnectToSessionManager().

◆ SaveYourselfPhase2CB()

void SaveYourselfPhase2CB ( SmcConn smcCon,
SmPointer clientData )
static

◆ shutdown_session()

void shutdown_session ( void )

Definition at line 1174 of file session.c.

References smcConn.

Referenced by DoRestart().

◆ ShutdownCancelledCB()

void ShutdownCancelledCB ( SmcConn smcCon,
SmPointer clientData )
static

Definition at line 1097 of file session.c.

References sent_save_done.

Referenced by ConnectToSessionManager().

◆ unique_filename()

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

Definition at line 839 of file session.c.

Referenced by SaveYourselfPhase2CB().

◆ write_byte()

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

Definition at line 160 of file session.c.

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

Referenced by WriteWinConfigEntry().

◆ write_int()

int write_int ( FILE * file,
int i )
static

Definition at line 201 of file session.c.

Referenced by WriteWinConfigEntry().

◆ write_short()

int write_short ( FILE * file,
short s )
static

Definition at line 184 of file session.c.

Referenced by WriteWinConfigEntry().

◆ write_ushort()

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

Definition at line 170 of file session.c.

Referenced by SaveYourselfPhase2CB(), 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().