i3
Data Structures | Public Types | Data Fields
Config Struct Reference

Holds part of the configuration (the part which is not already in dedicated structures in include/data.h). More...

#include <config.h>

Collaboration diagram for Config:
Collaboration graph
[legend]

Data Structures

struct  config_bar
 
struct  config_client
 

Public Types

enum  { PDF_SMART = 0, PDF_LEAVE_FULLSCREEN = 1, PDF_IGNORE = 2 }
 What should happen when a new popup is opened during fullscreen mode. More...
 

Data Fields

const char * terminal
 
i3Font font
 
char * ipc_socket_path
 
const char * restart_state_path
 
int default_layout
 
int container_stack_limit
 
int container_stack_limit_value
 
int default_border_width
 
int default_orientation
 Default orientation for new containers.
 
bool disable_focus_follows_mouse
 By default, focus follows mouse.
 
adjacent_t hide_edge_borders
 Remove borders if they are adjacent to the screen edge.
 
bool disable_workspace_bar
 By default, a workspace bar is drawn at the bottom of the screen.
 
bool force_focus_wrapping
 Think of the following layout: Horizontal workspace with a tabbed con on the left of the screen and a terminal on the right of the screen.
 
bool force_xinerama
 By default, use the RandR API for multi-monitor setups.
 
char * fake_outputs
 Overwrites output detection (for testing), see src/fake_outputs.c.
 
bool workspace_auto_back_and_forth
 Automatic workspace back and forth switching.
 
float workspace_urgency_timer
 By default, urgency is cleared immediately when switching to another workspace leads to focusing the con with the urgency hint.
 
border_style_t default_border
 The default border style for new windows.
 
border_style_t default_floating_border
 The default border style for new floating windows.
 
uint32_t floating_modifier
 The modifier which needs to be pressed in combination with your mouse buttons to do things with floating windows (move, resize)
 
int32_t floating_maximum_width
 Maximum and minimum dimensions of a floating window.
 
int32_t floating_maximum_height
 
int32_t floating_minimum_width
 
int32_t floating_minimum_height
 
struct Config::config_client client
 
struct Config::config_bar bar
 
enum Config:: { ... }  popup_during_fullscreen
 

Detailed Description

Holds part of the configuration (the part which is not already in dedicated structures in include/data.h).

Definition at line 93 of file config.h.

Member Enumeration Documentation

anonymous enum

What should happen when a new popup is opened during fullscreen mode.

Enumerator
PDF_SMART 
PDF_LEAVE_FULLSCREEN 
PDF_IGNORE 

Definition at line 193 of file config.h.

Field Documentation

struct Config::config_bar Config::bar

Referenced by load_configuration().

struct Config::config_client Config::client
int Config::container_stack_limit

Definition at line 101 of file config.h.

Referenced by yyparse().

int Config::container_stack_limit_value

Definition at line 102 of file config.h.

Referenced by yyparse().

border_style_t Config::default_border

The default border style for new windows.

Definition at line 163 of file config.h.

Referenced by CFGFUN(), con_new(), load_configuration(), and yyparse().

int Config::default_border_width

Definition at line 103 of file config.h.

Referenced by CFGFUN(), con_border_style_rect(), load_configuration(), and yyparse().

border_style_t Config::default_floating_border

The default border style for new floating windows.

Definition at line 166 of file config.h.

Referenced by CFGFUN(), floating_enable(), load_configuration(), and yyparse().

int Config::default_layout

Definition at line 100 of file config.h.

Referenced by CFGFUN(), create_workspace_on_output(), workspace_get(), and yyparse().

int Config::default_orientation

Default orientation for new containers.

Definition at line 106 of file config.h.

Referenced by _workspace_apply_default_orientation(), CFGFUN(), load_configuration(), output_change_mode(), and yyparse().

bool Config::disable_focus_follows_mouse

By default, focus follows mouse.

If the user explicitly wants to turn this off (and instead rely only on the keyboard for changing focus), we allow him to do this with this relatively special option. It is not planned to add any different focus models.

Definition at line 112 of file config.h.

Referenced by CFGFUN(), check_crossing_screen_boundary(), handle_enter_notify(), handle_motion_notify(), and yyparse().

bool Config::disable_workspace_bar

By default, a workspace bar is drawn at the bottom of the screen.

If you want to have a more fancy bar, it is recommended to replace the whole bar by dzen2, for example using the i3-wsbar script which comes with i3. Thus, you can turn it off entirely.

Definition at line 124 of file config.h.

Referenced by yyparse().

char* Config::fake_outputs

Overwrites output detection (for testing), see src/fake_outputs.c.

Definition at line 147 of file config.h.

Referenced by CFGFUN(), main(), and yyparse().

int32_t Config::floating_maximum_height

Definition at line 174 of file config.h.

Referenced by CFGFUN(), floating_check_size(), and yyparse().

int32_t Config::floating_maximum_width

Maximum and minimum dimensions of a floating window.

Definition at line 173 of file config.h.

Referenced by CFGFUN(), floating_check_size(), and yyparse().

int32_t Config::floating_minimum_height

Definition at line 176 of file config.h.

Referenced by CFGFUN(), floating_check_size(), and yyparse().

int32_t Config::floating_minimum_width

Definition at line 175 of file config.h.

Referenced by CFGFUN(), floating_check_size(), and yyparse().

uint32_t Config::floating_modifier

The modifier which needs to be pressed in combination with your mouse buttons to do things with floating windows (move, resize)

Definition at line 170 of file config.h.

Referenced by CFGFUN(), handle_button_press(), and yyparse().

i3Font Config::font
bool Config::force_focus_wrapping

Think of the following layout: Horizontal workspace with a tabbed con on the left of the screen and a terminal on the right of the screen.

You are in the second container in the tabbed container and focus to the right. By default, i3 will set focus to the terminal on the right. If you are in the first container in the tabbed container however, focusing to the left will wrap. This option forces i3 to always wrap, which will result in you having to use "focus parent" more often.

Definition at line 134 of file config.h.

Referenced by _tree_next(), CFGFUN(), and yyparse().

bool Config::force_xinerama

By default, use the RandR API for multi-monitor setups.

Unfortunately, the nVidia binary graphics driver doesn't support this API. Instead, it only support the less powerful Xinerama API, which can be enabled by this option.

Note: this option takes only effect on the initial startup (eg. reconfiguration is not possible). On startup, the list of screens is fetched once and never updated.

Definition at line 144 of file config.h.

Referenced by CFGFUN(), main(), and yyparse().

adjacent_t Config::hide_edge_borders

Remove borders if they are adjacent to the screen edge.

This is useful if you are reaching scrollbar on the edge of the screen or do not want to waste a single pixel of displayspace. By default, this is disabled.

Definition at line 118 of file config.h.

Referenced by CFGFUN(), con_border_style_rect(), and yyparse().

char* Config::ipc_socket_path

Definition at line 97 of file config.h.

Referenced by CFGFUN(), main(), and yyparse().

enum { ... } Config::popup_during_fullscreen

Referenced by CFGFUN(), manage_window(), and yyparse().

const char* Config::restart_state_path

Definition at line 98 of file config.h.

Referenced by CFGFUN(), store_restart_layout(), and yyparse().

const char* Config::terminal

Definition at line 94 of file config.h.

bool Config::workspace_auto_back_and_forth

Automatic workspace back and forth switching.

If this is set, a switch to the currently active workspace will switch to the previously focused one instead, making it possible to fast toggle between two workspaces.

Definition at line 153 of file config.h.

Referenced by CFGFUN(), maybe_auto_back_and_forth_workspace(), maybe_back_and_forth(), and yyparse().

float Config::workspace_urgency_timer

By default, urgency is cleared immediately when switching to another workspace leads to focusing the con with the urgency hint.

When having multiple windows on that workspace, the user needs to guess which application raised the event. To prevent this, the reset of the urgency flag can be delayed using an urgency timer.

Definition at line 160 of file config.h.

Referenced by _workspace_show(), CFGFUN(), load_configuration(), and yyparse().


The documentation for this struct was generated from the following file: