Add setting "default_master_area_factor"

This commit is contained in:
Alex Kotov 2021-11-18 20:00:13 +05:00
parent 8fef2295dd
commit 8035db0f2e
Signed by: kotovalexarian
GPG Key ID: 553C0EBBEB5D5F08
4 changed files with 20 additions and 4 deletions

View File

@ -35,8 +35,6 @@ static const Rule rules[] = {
/* layout(s) */
static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
static const Layout layouts[] = {
/* symbol function, arrange function */
{ layouts_symbol_monocle, monocle }, /* first entry is default */

View File

@ -706,7 +706,7 @@ createmon(void)
}
m->tagset[0] = m->tagset[1] = 1;
m->mfact = mfact;
m->mfact = settings_get_default_master_area_factor();
m->nmaster = settings_get_default_clients_in_master();
m->topbar = topbar;
m->lt[0] = &layouts[0];
@ -741,7 +741,7 @@ createmon(void)
m->pertag->sellts[i] = m->sellt;
}
// actial state
// actual state
m->show_bar = unit_get_show_bar(m->pertag->units[m->pertag->curtag]);
return m;

View File

@ -4,6 +4,8 @@
#define MAX_BORDER_WIDTH 10000
#define MIN_DEFAULT_CLIENTS_IN_MASTER 1
#define MAX_DEFAULT_CLIENTS_IN_MASTER 10000
#define MIN_DEFAULT_MASTER_AREA_FACTOR 0.05
#define MAX_DEFAULT_MASTER_AREA_FACTOR 0.95
#define MIN_GAP_SIZE 0
#define MAX_GAP_SIZE 10000
#define MIN_MAX_CLIENTS_IN_MASTER 1
@ -14,6 +16,7 @@
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;
@ -62,6 +65,18 @@ void settings_set_default_clients_in_master(int new_default_clients_in_master)
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(float new_default_master_area_factor)
{
if (new_default_master_area_factor < MIN_DEFAULT_MASTER_AREA_FACTOR) new_default_master_area_factor = MIN_DEFAULT_MASTER_AREA_FACTOR;
if (new_default_master_area_factor > MAX_DEFAULT_MASTER_AREA_FACTOR) new_default_master_area_factor = MAX_DEFAULT_MASTER_AREA_FACTOR;
default_master_area_factor = new_default_master_area_factor;
}
SettingsForSingleWindow settings_get_gap_for_single_window()
{
return gap_for_single_window;

View File

@ -21,6 +21,9 @@ void settings_set_border_width(int new_border_width);
int settings_get_default_clients_in_master();
void settings_set_default_clients_in_master(int new_default_clients_in_master);
float settings_get_default_master_area_factor();
void settings_set_default_master_area_factor(float new_default_master_area_factor);
SettingsForSingleWindow settings_get_gap_for_single_window();
void settings_set_gap_for_single_window(SettingsForSingleWindow new_gap_for_single_window);