mirror of
https://github.com/vale981/bspwm
synced 2025-03-05 09:51:38 -05:00
Remove window borders whenever possible
This commit is contained in:
parent
289d1f5aaa
commit
0b68e16fc8
7 changed files with 13 additions and 15 deletions
|
@ -268,10 +268,6 @@ void set_setting(char *name, char *value)
|
|||
} else if (strcmp(name, "urgent_border_color") == 0) {
|
||||
strcpy(urgent_border_color, value);
|
||||
urgent_border_color_pxl = get_color(urgent_border_color);
|
||||
} else if (strcmp(name, "adaptive_window_border") == 0) {
|
||||
bool b;
|
||||
if (parse_bool(value, &b))
|
||||
adaptive_window_border = b;
|
||||
} else if (strcmp(name, "wm_name") == 0) {
|
||||
strcpy(wm_name, value);
|
||||
ewmh_update_wm_name();
|
||||
|
@ -322,8 +318,6 @@ void get_setting(char *name, char* rsp)
|
|||
sprintf(rsp, "%s (%06X)\n", urgent_border_color, urgent_border_color_pxl);
|
||||
else if (strcmp(name, "wm_name") == 0)
|
||||
sprintf(rsp, "%s\n", wm_name);
|
||||
else if (strcmp(name, "adaptive_window_border") == 0)
|
||||
sprintf(rsp, "%s\n", BOOLSTR(adaptive_window_border));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -51,7 +51,6 @@ void load_settings(void)
|
|||
urgent_border_color_pxl = get_color(urgent_border_color);
|
||||
|
||||
strcpy(wm_name, WM_NAME);
|
||||
adaptive_window_border = ADAPTIVE_WINDOW_BORDER;
|
||||
|
||||
inner_border_width = INNER_BORDER_WIDTH;
|
||||
main_border_width = MAIN_BORDER_WIDTH;
|
||||
|
|
|
@ -20,8 +20,6 @@
|
|||
#define LEFT_PADDING 0
|
||||
#define RIGHT_PADDING 0
|
||||
|
||||
#define ADAPTIVE_WINDOW_BORDER true
|
||||
|
||||
#define ACTIVE_BORDER_COLOR "#7D7F8A"
|
||||
#define NORMAL_BORDER_COLOR "#3F3E3B"
|
||||
#define INNER_BORDER_COLOR "#32312E"
|
||||
|
@ -62,8 +60,6 @@ int bottom_padding;
|
|||
int left_padding;
|
||||
int right_padding;
|
||||
|
||||
bool adaptive_window_border;
|
||||
|
||||
char wm_name[MAXLEN];
|
||||
|
||||
void load_settings(void);
|
||||
|
|
10
tree.c
10
tree.c
|
@ -261,13 +261,19 @@ void apply_layout(desktop_t *d, node_t *n, xcb_rectangle_t rect)
|
|||
if (is_leaf(n)) {
|
||||
if (n->client->fullscreen)
|
||||
return;
|
||||
|
||||
if (n == d->root || (d->layout == LAYOUT_MONOCLE && !is_floating(n->client)))
|
||||
n->client->border_width = 0;
|
||||
else
|
||||
n->client->border_width = border_width;
|
||||
|
||||
xcb_rectangle_t r;
|
||||
if (is_tiled(n->client)) {
|
||||
if (d->layout == LAYOUT_TILED)
|
||||
r = rect;
|
||||
else if (d->layout == LAYOUT_MONOCLE)
|
||||
r = root_rect;
|
||||
int bleed = window_gap + 2 * border_width;
|
||||
int bleed = window_gap + 2 * n->client->border_width;
|
||||
r.width = (bleed < r.width ? r.width - bleed : 1);
|
||||
r.height = (bleed < r.height ? r.height - bleed : 1);
|
||||
n->client->tiled_rectangle = r;
|
||||
|
@ -276,7 +282,7 @@ void apply_layout(desktop_t *d, node_t *n, xcb_rectangle_t rect)
|
|||
}
|
||||
|
||||
window_move_resize(n->client->window, r.x, r.y, r.width, r.height);
|
||||
window_border_width(n->client->window, border_width);
|
||||
window_border_width(n->client->window, n->client->border_width);
|
||||
window_draw_border(n, n == d->focus);
|
||||
|
||||
if (d->layout == LAYOUT_MONOCLE && n == d->focus)
|
||||
|
|
2
types.c
2
types.c
|
@ -2,6 +2,7 @@
|
|||
#include <string.h>
|
||||
#include <xcb/xcb.h>
|
||||
#include <xcb/xcb_event.h>
|
||||
#include "settings.h"
|
||||
#include "types.h"
|
||||
|
||||
node_t *make_node(void)
|
||||
|
@ -29,6 +30,7 @@ client_t *make_client(xcb_window_t win)
|
|||
{
|
||||
client_t *c = malloc(sizeof(client_t));
|
||||
strcpy(c->class_name, MISSING_VALUE);
|
||||
c->border_width = border_width;
|
||||
c->window = win;
|
||||
c->floating = c->transient = c->fullscreen = c->locked = c->urgent = false;
|
||||
return c;
|
||||
|
|
1
types.h
1
types.h
|
@ -70,6 +70,7 @@ typedef enum {
|
|||
typedef struct {
|
||||
xcb_window_t window;
|
||||
char class_name[MAXLEN];
|
||||
unsigned int border_width;
|
||||
bool floating;
|
||||
bool transient; /* transient window are always floating */
|
||||
bool fullscreen;
|
||||
|
|
4
window.c
4
window.c
|
@ -43,7 +43,7 @@ void window_draw_border(node_t *n, bool focused)
|
|||
if (n == NULL)
|
||||
return;
|
||||
|
||||
if (border_width < 1)
|
||||
if (border_width < 1 || n->client->border_width < 1)
|
||||
return;
|
||||
|
||||
xcb_window_t win = n->client->window;
|
||||
|
@ -188,7 +188,7 @@ void toggle_fullscreen(client_t *c)
|
|||
rect = c->floating_rectangle;
|
||||
else
|
||||
rect = c->tiled_rectangle;
|
||||
window_border_width(c->window, border_width);
|
||||
window_border_width(c->window, c->border_width);
|
||||
window_move_resize(c->window, rect.x, rect.y, rect.width, rect.height);
|
||||
} else {
|
||||
c->fullscreen = true;
|
||||
|
|
Loading…
Add table
Reference in a new issue