feat: add windowrule option isnoradius

This commit is contained in:
DreamMaoMao
2025-12-20 11:39:53 +08:00
parent df0e18481b
commit 471c71f65c
3 changed files with 11 additions and 2 deletions

View File

@@ -240,7 +240,8 @@ void buffer_set_effect(Client *c, BufferData data) {
if (c == grabc) if (c == grabc)
data.should_scale = false; data.should_scale = false;
if (c->isfullscreen || (no_radius_when_single && c->mon && if (c->isnoradius || c->isfullscreen ||
(no_radius_when_single && c->mon &&
c->mon->visible_tiling_clients == 1)) { c->mon->visible_tiling_clients == 1)) {
data.corner_location = CORNER_LOCATION_NONE; data.corner_location = CORNER_LOCATION_NONE;
} }

View File

@@ -64,6 +64,7 @@ typedef struct {
const char *layer_animation_type_close; const char *layer_animation_type_close;
int isnoborder; int isnoborder;
int isnoshadow; int isnoshadow;
int isnoradius;
int isnoanimation; int isnoanimation;
int isopensilent; int isopensilent;
int istagsilent; int istagsilent;
@@ -1705,6 +1706,7 @@ void parse_option(Config *config, char *key, char *value) {
rule->isfullscreen = -1; rule->isfullscreen = -1;
rule->isnoborder = -1; rule->isnoborder = -1;
rule->isnoshadow = -1; rule->isnoshadow = -1;
rule->isnoradius = -1;
rule->isnoanimation = -1; rule->isnoanimation = -1;
rule->isopensilent = -1; rule->isopensilent = -1;
rule->istagsilent = -1; rule->istagsilent = -1;
@@ -1794,6 +1796,8 @@ void parse_option(Config *config, char *key, char *value) {
rule->isnoborder = atoi(val); rule->isnoborder = atoi(val);
} else if (strcmp(key, "isnoshadow") == 0) { } else if (strcmp(key, "isnoshadow") == 0) {
rule->isnoshadow = atoi(val); rule->isnoshadow = atoi(val);
} else if (strcmp(key, "isnoradius") == 0) {
rule->isnoradius = atoi(val);
} else if (strcmp(key, "isnoanimation") == 0) { } else if (strcmp(key, "isnoanimation") == 0) {
rule->isnoanimation = atoi(val); rule->isnoanimation = atoi(val);
} else if (strcmp(key, "isopensilent") == 0) { } else if (strcmp(key, "isopensilent") == 0) {

View File

@@ -364,6 +364,7 @@ struct Client {
int isglobal; int isglobal;
int isnoborder; int isnoborder;
int isnoshadow; int isnoshadow;
int isnoradius;
int isnoanimation; int isnoanimation;
int isopensilent; int isopensilent;
int istagsilent; int istagsilent;
@@ -1214,6 +1215,7 @@ static void apply_rule_properties(Client *c, const ConfigWinRule *r) {
APPLY_INT_PROP(c, r, isfullscreen); APPLY_INT_PROP(c, r, isfullscreen);
APPLY_INT_PROP(c, r, isnoborder); APPLY_INT_PROP(c, r, isnoborder);
APPLY_INT_PROP(c, r, isnoshadow); APPLY_INT_PROP(c, r, isnoshadow);
APPLY_INT_PROP(c, r, isnoradius);
APPLY_INT_PROP(c, r, isnoanimation); APPLY_INT_PROP(c, r, isnoanimation);
APPLY_INT_PROP(c, r, isopensilent); APPLY_INT_PROP(c, r, isopensilent);
APPLY_INT_PROP(c, r, istagsilent); APPLY_INT_PROP(c, r, istagsilent);
@@ -3721,6 +3723,8 @@ void init_client_properties(Client *c) {
c->no_force_center = 0; c->no_force_center = 0;
c->isnoborder = 0; c->isnoborder = 0;
c->isnosizehint = 0; c->isnosizehint = 0;
c->isnoradius = 0;
c->isnoshadow = 0;
c->ignore_maximize = 1; c->ignore_maximize = 1;
c->ignore_minimize = 1; c->ignore_minimize = 1;
c->iscustomsize = 0; c->iscustomsize = 0;