Allow to change default number of clients in master area with settings
This commit is contained in:
parent
16f841ef53
commit
f5d69ec1ad
|
@ -37,7 +37,6 @@ static const Rule rules[] = {
|
||||||
|
|
||||||
/* layout(s) */
|
/* layout(s) */
|
||||||
static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
|
static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
|
||||||
static const int nmaster = 1; /* number of clients in master area */
|
|
||||||
|
|
||||||
static const Layout layouts[] = {
|
static const Layout layouts[] = {
|
||||||
/* symbol arrange function */
|
/* symbol arrange function */
|
||||||
|
|
4
dwm.c
4
dwm.c
|
@ -826,7 +826,7 @@ createmon(void)
|
||||||
m = ecalloc(1, sizeof(Monitor));
|
m = ecalloc(1, sizeof(Monitor));
|
||||||
m->tagset[0] = m->tagset[1] = 1;
|
m->tagset[0] = m->tagset[1] = 1;
|
||||||
m->mfact = mfact;
|
m->mfact = mfact;
|
||||||
m->nmaster = nmaster;
|
m->nmaster = settings_get_default_clients_in_master();
|
||||||
m->showbar = showbar;
|
m->showbar = showbar;
|
||||||
m->topbar = topbar;
|
m->topbar = topbar;
|
||||||
m->lt[0] = &layouts[0];
|
m->lt[0] = &layouts[0];
|
||||||
|
@ -1630,7 +1630,7 @@ void
|
||||||
resetnmaster(const Arg *arg)
|
resetnmaster(const Arg *arg)
|
||||||
{
|
{
|
||||||
const int max_clients_in_master = settings_get_max_clients_in_master();
|
const int max_clients_in_master = settings_get_max_clients_in_master();
|
||||||
const int new_clients_in_master = arg->i == 0 ? 0 : nmaster;
|
const int new_clients_in_master = arg->i == 0 ? 0 : settings_get_default_clients_in_master();
|
||||||
|
|
||||||
selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag] =
|
selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag] =
|
||||||
max_clients_in_master == 0
|
max_clients_in_master == 0
|
||||||
|
|
11
settings.c
11
settings.c
|
@ -1,10 +1,21 @@
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
|
||||||
|
static int default_clients_in_master = 1;
|
||||||
static bool focus_on_wheel = true;
|
static bool focus_on_wheel = true;
|
||||||
static int max_clients_in_master = 0; // 0 for no maximum
|
static int max_clients_in_master = 0; // 0 for no maximum
|
||||||
static bool respect_resize_hints_in_floating_layout = false;
|
static bool respect_resize_hints_in_floating_layout = false;
|
||||||
static unsigned int snap_distance = 32;
|
static unsigned int snap_distance = 32;
|
||||||
|
|
||||||
|
int settings_get_default_clients_in_master()
|
||||||
|
{
|
||||||
|
return default_clients_in_master >= 1 ? default_clients_in_master : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void settings_set_default_clients_in_master(const int new_default_clients_in_master)
|
||||||
|
{
|
||||||
|
default_clients_in_master = new_default_clients_in_master;
|
||||||
|
}
|
||||||
|
|
||||||
bool settings_get_focus_on_wheel()
|
bool settings_get_focus_on_wheel()
|
||||||
{
|
{
|
||||||
return focus_on_wheel;
|
return focus_on_wheel;
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
int settings_get_default_clients_in_master();
|
||||||
|
void settings_set_default_clients_in_master(int new_default_clients_in_master);
|
||||||
|
|
||||||
bool settings_get_focus_on_wheel();
|
bool settings_get_focus_on_wheel();
|
||||||
void settings_set_focus_on_wheel(bool new_focus_on_wheel);
|
void settings_set_focus_on_wheel(bool new_focus_on_wheel);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue