i3
Functions | Variables
display_version.c File Reference
#include "all.h"
#include <fcntl.h>
#include <time.h>
#include <unistd.h>
Include dependency graph for display_version.c:

Go to the source code of this file.

Functions

static int version_string (void *ctx, const unsigned char *val, size_t len)
 
static int version_map_key (void *ctx, const unsigned char *stringval, size_t stringlen)
 
void display_running_version (void)
 Connects to i3 to find out the currently running version. More...
 

Variables

static bool human_readable_key
 
static bool loaded_config_file_name_key
 
static char * human_readable_version
 
static char * loaded_config_file_name
 
static yajl_callbacks version_callbacks
 

Function Documentation

◆ display_running_version()

void display_running_version ( void  )

Connects to i3 to find out the currently running version.

Useful since it might be different from the version compiled into this binary (maybe the user didn’t correctly install i3 or forgot te restart it).

The output looks like this: Running i3 version: 4.2-202-gb8e782c (2012-08-12, branch "next") (pid 14804)

The i3 binary you just called: /home/michael/i3/i3 The i3 binary you are running: /home/michael/i3/i3

Definition at line 53 of file display_version.c.

References conn, conn_screen, ELOG, human_readable_version, ipc_connect(), ipc_recv_message(), ipc_send_message(), loaded_config_file_name, root_atom_contents(), sasprintf(), smalloc(), srealloc(), state, and version_callbacks.

Referenced by main().

Here is the call graph for this function:

◆ version_map_key()

static int version_map_key ( void *  ctx,
const unsigned char *  stringval,
size_t  stringlen 
)
static

Definition at line 28 of file display_version.c.

References human_readable_key, and loaded_config_file_name_key.

◆ version_string()

static int version_string ( void *  ctx,
const unsigned char *  val,
size_t  len 
)
static

Definition at line 20 of file display_version.c.

References human_readable_key, human_readable_version, loaded_config_file_name, loaded_config_file_name_key, and sasprintf().

Here is the call graph for this function:

Variable Documentation

◆ human_readable_key

bool human_readable_key
static

Definition at line 17 of file display_version.c.

Referenced by version_map_key(), and version_string().

◆ human_readable_version

char* human_readable_version
static

Definition at line 18 of file display_version.c.

Referenced by display_running_version(), and version_string().

◆ loaded_config_file_name

char * loaded_config_file_name
static

Definition at line 18 of file display_version.c.

Referenced by display_running_version(), and version_string().

◆ loaded_config_file_name_key

bool loaded_config_file_name_key
static

Definition at line 17 of file display_version.c.

Referenced by version_map_key(), and version_string().

◆ version_callbacks

yajl_callbacks version_callbacks
static
Initial value:
= {
.yajl_string = version_string,
.yajl_map_key = version_map_key,
}
static int version_map_key(void *ctx, const unsigned char *stringval, size_t stringlen)
static int version_string(void *ctx, const unsigned char *val, size_t len)

Definition at line 36 of file display_version.c.

Referenced by display_running_version().