Add setting "enable_border_for_single_window"
This commit is contained in:
parent
3334607311
commit
3f04c324b8
16
dwm.c
16
dwm.c
|
@ -567,7 +567,8 @@ centeredmaster(Monitor *m)
|
|||
const int top_left_half_gap = gap_size / 2;
|
||||
const int bottom_right_half_gap = gap_size - top_left_half_gap;
|
||||
|
||||
const int border_width = n == 1 ? 0 : settings_get_border_width();
|
||||
const bool enable_border_for_single_window = settings_get_enable_border_for_single_window();
|
||||
const int border_width = (n > 1 || enable_border_for_single_window) ? settings_get_border_width() : 0;
|
||||
|
||||
unsigned int oty = 0, ety = 0, my = 0;
|
||||
Client *c = nexttiled(m->clients);
|
||||
|
@ -1454,14 +1455,17 @@ monocle(Monitor *m)
|
|||
const bool enable_gap_for_single_window = settings_get_enable_gap_for_single_window();
|
||||
const int gap_size = enable_gap_for_single_window ? settings_get_gap_size() : 0;
|
||||
|
||||
const bool enable_border_for_single_window = settings_get_enable_border_for_single_window();
|
||||
const int border_width = enable_border_for_single_window ? settings_get_border_width() : 0;
|
||||
|
||||
for (Client *c = nexttiled(m->clients); c; c = nexttiled(c->next)) {
|
||||
resize(
|
||||
c,
|
||||
m->wx + gap_size,
|
||||
m->wy + gap_size,
|
||||
m->ww - 2 * gap_size,
|
||||
m->wh - 2 * gap_size,
|
||||
0,
|
||||
m->ww - 2 * border_width - 2 * gap_size,
|
||||
m->wh - 2 * border_width - 2 * gap_size,
|
||||
border_width,
|
||||
0
|
||||
);
|
||||
}
|
||||
|
@ -2200,7 +2204,9 @@ tile(Monitor *m)
|
|||
const int top_left_half_gap = gap_size / 2;
|
||||
const int bottom_right_half_gap = gap_size - top_left_half_gap;
|
||||
|
||||
const int border_width = n == 1 ? 0 : settings_get_border_width();
|
||||
const bool enable_border_for_single_window = settings_get_enable_border_for_single_window();
|
||||
const int border_width = (n > 1 || enable_border_for_single_window) ? settings_get_border_width() : 0;
|
||||
|
||||
const unsigned int mw = n > m->nmaster ? (m->nmaster ? m->ww * m->mfact : 0) : m->ww;
|
||||
|
||||
Client *c = nexttiled(m->clients);
|
||||
|
|
12
settings.c
12
settings.c
|
@ -2,6 +2,7 @@
|
|||
|
||||
static int border_width = 2;
|
||||
static int default_clients_in_master = 1;
|
||||
static bool enable_border_for_single_window = true;
|
||||
static bool enable_gap_for_single_window = true;
|
||||
static bool focus_on_wheel = true;
|
||||
static int gap_size = 10;
|
||||
|
@ -30,6 +31,17 @@ void settings_set_default_clients_in_master(const int new_default_clients_in_mas
|
|||
default_clients_in_master = new_default_clients_in_master;
|
||||
}
|
||||
|
||||
bool settings_get_enable_border_for_single_window()
|
||||
{
|
||||
return enable_border_for_single_window;
|
||||
}
|
||||
|
||||
void settings_set_enable_border_for_single_window(const bool new_enable_border_for_single_window)
|
||||
{
|
||||
enable_border_for_single_window = new_enable_border_for_single_window;
|
||||
// TODO: notify WM to rearrange clients
|
||||
}
|
||||
|
||||
bool settings_get_enable_gap_for_single_window()
|
||||
{
|
||||
return enable_gap_for_single_window;
|
||||
|
|
|
@ -9,6 +9,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);
|
||||
|
||||
bool settings_get_enable_border_for_single_window();
|
||||
void settings_set_enable_border_for_single_window(bool new_enable_border_for_single_window);
|
||||
|
||||
bool settings_get_enable_gap_for_single_window();
|
||||
void settings_set_enable_gap_for_single_window(bool new_enable_gap_for_single_window);
|
||||
|
||||
|
|
Loading…
Reference in New Issue