mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-10-29 05:40:21 -04:00
feat: windowrule add ignore_minimize
This commit is contained in:
parent
c02add7553
commit
15e6b10c20
2 changed files with 8 additions and 2 deletions
|
|
@ -51,6 +51,7 @@ typedef struct {
|
|||
int isglobal;
|
||||
int isoverlay;
|
||||
int ignore_maximize;
|
||||
int ignore_minimize;
|
||||
int isnosizehint;
|
||||
const char *monitor;
|
||||
int offsetx;
|
||||
|
|
@ -1413,6 +1414,7 @@ void parse_config_line(Config *config, const char *line) {
|
|||
rule->isglobal = -1;
|
||||
rule->isoverlay = -1;
|
||||
rule->ignore_maximize = -1;
|
||||
rule->ignore_minimize = -1;
|
||||
rule->isnosizehint = -1;
|
||||
rule->isterm = -1;
|
||||
rule->noswallow = -1;
|
||||
|
|
@ -1498,6 +1500,8 @@ void parse_config_line(Config *config, const char *line) {
|
|||
rule->isoverlay = atoi(val);
|
||||
} else if (strcmp(key, "ignore_maximize") == 0) {
|
||||
rule->ignore_maximize = atoi(val);
|
||||
} else if (strcmp(key, "ignore_minimize") == 0) {
|
||||
rule->ignore_minimize = atoi(val);
|
||||
} else if (strcmp(key, "isnosizehint") == 0) {
|
||||
rule->isnosizehint = atoi(val);
|
||||
} else if (strcmp(key, "isterm") == 0) {
|
||||
|
|
|
|||
|
|
@ -266,7 +266,7 @@ struct Client {
|
|||
struct wlr_foreign_toplevel_handle_v1 *foreign_toplevel;
|
||||
int isfloating, isurgent, isfullscreen, isfakefullscreen,
|
||||
need_float_size_reduce, isminied, isoverlay, isnosizehint,
|
||||
ignore_maximize;
|
||||
ignore_maximize, ignore_minimize;
|
||||
int ismaxmizescreen;
|
||||
int overview_backup_bw;
|
||||
int fullscreen_backup_x, fullscreen_backup_y, fullscreen_backup_w,
|
||||
|
|
@ -1043,6 +1043,7 @@ static void apply_rule_properties(Client *c, const ConfigWinRule *r) {
|
|||
APPLY_INT_PROP(c, r, isglobal);
|
||||
APPLY_INT_PROP(c, r, isoverlay);
|
||||
APPLY_INT_PROP(c, r, ignore_maximize);
|
||||
APPLY_INT_PROP(c, r, ignore_minimize);
|
||||
APPLY_INT_PROP(c, r, isnosizehint);
|
||||
APPLY_INT_PROP(c, r, isunglobal);
|
||||
APPLY_INT_PROP(c, r, scratchpad_width);
|
||||
|
|
@ -3295,6 +3296,7 @@ void init_client_properties(Client *c) {
|
|||
c->isnoborder = 0;
|
||||
c->isnosizehint = 0;
|
||||
c->ignore_maximize = 0;
|
||||
c->ignore_minimize = 0;
|
||||
}
|
||||
|
||||
void // old fix to 0.5
|
||||
|
|
@ -3472,7 +3474,7 @@ minimizenotify(struct wl_listener *listener, void *data) {
|
|||
if (!c || !c->mon || c->iskilling || c->isminied)
|
||||
return;
|
||||
|
||||
if (client_request_minimize(c, data)) {
|
||||
if (!c->ignore_minimize && client_request_minimize(c, data)) {
|
||||
set_minized(c);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue