mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-04-08 08:21:16 -04:00
support isfakefullscreen as windowrule property
This commit is contained in:
parent
d8b8d71fed
commit
52703a638f
2 changed files with 9 additions and 0 deletions
|
|
@ -58,6 +58,7 @@ typedef struct {
|
||||||
uint32_t tags;
|
uint32_t tags;
|
||||||
int32_t isfloating;
|
int32_t isfloating;
|
||||||
int32_t isfullscreen;
|
int32_t isfullscreen;
|
||||||
|
int32_t isfakefullscreen;
|
||||||
float scroller_proportion;
|
float scroller_proportion;
|
||||||
const char *animation_type_open;
|
const char *animation_type_open;
|
||||||
const char *animation_type_close;
|
const char *animation_type_close;
|
||||||
|
|
@ -1918,6 +1919,7 @@ bool parse_option(Config *config, char *key, char *value) {
|
||||||
// int32_t rule value, relay to a client property
|
// int32_t rule value, relay to a client property
|
||||||
rule->isfloating = -1;
|
rule->isfloating = -1;
|
||||||
rule->isfullscreen = -1;
|
rule->isfullscreen = -1;
|
||||||
|
rule->isfakefullscreen = -1;
|
||||||
rule->isnoborder = -1;
|
rule->isnoborder = -1;
|
||||||
rule->isnoshadow = -1;
|
rule->isnoshadow = -1;
|
||||||
rule->isnoanimation = -1;
|
rule->isnoanimation = -1;
|
||||||
|
|
@ -2054,6 +2056,8 @@ bool parse_option(Config *config, char *key, char *value) {
|
||||||
rule->scroller_proportion = atof(val);
|
rule->scroller_proportion = atof(val);
|
||||||
} else if (strcmp(key, "isfullscreen") == 0) {
|
} else if (strcmp(key, "isfullscreen") == 0) {
|
||||||
rule->isfullscreen = atoi(val);
|
rule->isfullscreen = atoi(val);
|
||||||
|
} else if (strcmp(key, "isfakefullscreen") == 0) {
|
||||||
|
rule->isfakefullscreen = atoi(val);
|
||||||
} else if (strcmp(key, "globalkeybinding") == 0) {
|
} else if (strcmp(key, "globalkeybinding") == 0) {
|
||||||
char mod_str[256], keysym_str[256];
|
char mod_str[256], keysym_str[256];
|
||||||
sscanf(val, "%255[^-]-%255[a-zA-Z]", mod_str, keysym_str);
|
sscanf(val, "%255[^-]-%255[a-zA-Z]", mod_str, keysym_str);
|
||||||
|
|
|
||||||
|
|
@ -1307,6 +1307,7 @@ static void apply_rule_properties(Client *c, const ConfigWinRule *r) {
|
||||||
APPLY_INT_PROP(c, r, no_force_center);
|
APPLY_INT_PROP(c, r, no_force_center);
|
||||||
APPLY_INT_PROP(c, r, isfloating);
|
APPLY_INT_PROP(c, r, isfloating);
|
||||||
APPLY_INT_PROP(c, r, isfullscreen);
|
APPLY_INT_PROP(c, r, isfullscreen);
|
||||||
|
APPLY_INT_PROP(c, r, isfakefullscreen);
|
||||||
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, isnoanimation);
|
APPLY_INT_PROP(c, r, isnoanimation);
|
||||||
|
|
@ -1506,6 +1507,10 @@ void applyrules(Client *c) {
|
||||||
|
|
||||||
setfullscreen(c, fullscreen_state_backup);
|
setfullscreen(c, fullscreen_state_backup);
|
||||||
|
|
||||||
|
if (c->isfakefullscreen) {
|
||||||
|
setfakefullscreen(c, 1);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if there is a new non-floating window in the current tag, the fullscreen
|
if there is a new non-floating window in the current tag, the fullscreen
|
||||||
window in the current tag will exit fullscreen and participate in tiling
|
window in the current tag will exit fullscreen and participate in tiling
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue