xsecurelock  1.7.0
XSecureLock is an X11 screen lock utility.
Macros | Functions | Variables
saver_multiplex.c File Reference
#include <X11/X.h>
#include <X11/Xlib.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/select.h>
#include <unistd.h>
#include "../env_settings.h"
#include "../logging.h"
#include "../saver_child.h"
#include "../wait_pgrp.h"
#include "../wm_properties.h"
#include "../xscreensaver_api.h"
#include "monitors.h"

Macros

#define MAX_MONITORS   MAX_SAVERS
 

Functions

static void HandleSIGUSR1 (int signo)
 
static void HandleSIGTERM (int signo)
 
static void WatchSavers (void)
 
static void SpawnSavers (Window parent, int argc, char *const *argv)
 
static void KillSavers (void)
 
int main (int argc, char **argv)
 The main program. More...
 

Variables

static const char * saver_executable
 
static Display * display
 
static Monitor monitors [MAX_MONITORS]
 
static size_t num_monitors
 
static Window windows [MAX_MONITORS]
 

Macro Definition Documentation

◆ MAX_MONITORS

#define MAX_MONITORS   MAX_SAVERS

Function Documentation

◆ HandleSIGTERM()

static void HandleSIGTERM ( int  signo)
static

◆ HandleSIGUSR1()

static void HandleSIGUSR1 ( int  signo)
static

◆ KillSavers()

static void KillSavers ( void  )
static

◆ main()

int main ( int  argc,
char **  argv 
)

The main program.

Usage: XSCREENSAVER_WINDOW=window_id ./saver_multiplex

Spawns spearate saver subprocesses, one on each screen.

◆ SpawnSavers()

static void SpawnSavers ( Window  parent,
int  argc,
char *const *  argv 
)
static

◆ WatchSavers()

static void WatchSavers ( void  )
static

Variable Documentation

◆ display

Display* display
static

◆ monitors

Monitor monitors[MAX_MONITORS]
static

◆ num_monitors

size_t num_monitors
static

◆ saver_executable

const char* saver_executable
static

◆ windows

Window windows[MAX_MONITORS]
static