polytreewm/src/settings.c

190 lines
4.7 KiB
C

#include "settings.h"
#include "constraints.h"
static bool bar_on_top_by_default = true;
static SettingsForSingleWindow border_for_single_window = SETTINGS_FOR_SINGLE_WINDOW_NOBODY_IS_FULLSCREEN;
static int border_width = 2;
static int default_clients_in_master = 1;
static float default_master_area_factor = 0.6;
static SettingsForSingleWindow gap_for_single_window = SETTINGS_FOR_SINGLE_WINDOW_NOBODY_IS_FULLSCREEN;
static bool enable_swallowing = true;
static bool focus_on_wheel = true;
static int gap_size = 10;
static UnitKind master_area_factor_per_unit = UNIT_MONITOR;
static int max_clients_in_master = 0; // 0 for no maximum
static bool respect_resize_hints_in_floating_layout = false;
static bool show_bar_by_default = true;
static UnitKind show_bar_per_unit = UNIT_MONITOR;
static unsigned int snap_distance = 32;
static bool swallow_floating = false;
bool settings_get_bar_on_top_by_default()
{
return bar_on_top_by_default;
}
void settings_set_bar_on_top_by_default(bool new_bar_on_top_by_default)
{
bar_on_top_by_default = new_bar_on_top_by_default;
}
SettingsForSingleWindow settings_get_border_for_single_window()
{
return border_for_single_window;
}
void settings_set_border_for_single_window(const SettingsForSingleWindow new_border_for_single_window)
{
border_for_single_window = new_border_for_single_window;
// TODO: notify WM to rearrange clients
}
int settings_get_border_width()
{
return border_width;
}
void settings_set_border_width(const int new_border_width)
{
border_width = constraints_border_width(new_border_width);
// TODO: notify WM to rearrange clients
}
int settings_get_default_clients_in_master()
{
return default_clients_in_master;
}
void settings_set_default_clients_in_master(const int new_default_clients_in_master)
{
default_clients_in_master = constraints_default_clients_in_master(new_default_clients_in_master);
}
float settings_get_default_master_area_factor()
{
return default_master_area_factor;
}
void settings_set_default_master_area_factor(const float new_default_master_area_factor)
{
default_master_area_factor = constraints_default_master_area_factor(new_default_master_area_factor);
}
SettingsForSingleWindow settings_get_gap_for_single_window()
{
return gap_for_single_window;
}
void settings_set_gap_for_single_window(const SettingsForSingleWindow new_gap_for_single_window)
{
gap_for_single_window = new_gap_for_single_window;
// TODO: notify WM to rearrange clients
}
bool settings_get_enable_swallowing()
{
return enable_swallowing;
}
void settings_set_enable_swallowing(const bool new_enable_swallowing)
{
enable_swallowing = new_enable_swallowing;
}
bool settings_get_focus_on_wheel()
{
return focus_on_wheel;
}
void settings_set_focus_on_wheel(const bool new_focus_on_wheel)
{
focus_on_wheel = new_focus_on_wheel;
}
int settings_get_gap_size()
{
return gap_size;
}
void settings_set_gap_size(const int new_gap_size)
{
gap_size = constraints_gap_size(new_gap_size);
// TODO: notify WM to rearrange clients
}
UnitKind settings_get_master_area_factor_per_unit()
{
return master_area_factor_per_unit;
}
void settings_set_master_area_factor_per_unit(const UnitKind new_master_area_factor_per_unit)
{
master_area_factor_per_unit = new_master_area_factor_per_unit;
// TODO: notify WM to rearrange clients
}
int settings_get_max_clients_in_master()
{
return max_clients_in_master;
}
void settings_set_max_clients_in_master(const int new_max_clients_in_master)
{
max_clients_in_master = constraints_max_clients_in_master(new_max_clients_in_master);
// TODO: notify WM to rearrange clients
}
bool settings_get_respect_resize_hints_in_floating_layout()
{
return respect_resize_hints_in_floating_layout;
}
void settings_set_respect_resize_hints_in_floating_layout(const bool new_respect_resize_hints_in_floating_layout)
{
respect_resize_hints_in_floating_layout = new_respect_resize_hints_in_floating_layout;
// TODO: notify WM to rearrange clients
}
bool settings_get_show_bar_by_default()
{
return show_bar_by_default;
}
void settings_set_show_bar_by_default(const bool new_show_bar_by_default)
{
show_bar_by_default = new_show_bar_by_default;
}
UnitKind settings_get_show_bar_per_unit()
{
return show_bar_per_unit;
}
void settings_set_show_bar_per_unit(const UnitKind new_show_bar_per_unit)
{
show_bar_per_unit = new_show_bar_per_unit;
// TODO: notify WM to rearrange clients
}
unsigned int settings_get_snap_distance()
{
return snap_distance;
}
void settings_set_snap_distance(unsigned int new_snap_distance)
{
snap_distance = constraints_snap_distance(new_snap_distance);
}
bool settings_get_swallow_floating()
{
return swallow_floating;
}
void settings_set_swallow_floating(const bool new_swallow_floating)
{
swallow_floating = new_swallow_floating;
}