summaryrefslogtreecommitdiff
path: root/src/desktop/rule/windowRule/WindowRuleEffectContainer.cpp
blob: 660bf8716d5bb3cdff44c7c71ee6e9b6a9cfc6d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include "WindowRuleEffectContainer.hpp"

using namespace Desktop;
using namespace Desktop::Rule;

//
SP<CWindowRuleEffectContainer> Rule::windowEffects() {
    static SP<CWindowRuleEffectContainer> container = makeShared<CWindowRuleEffectContainer>();
    return container;
}

static const std::vector<std::string> EFFECT_STRINGS = {
    "__internal_none",        //
    "float",                  //
    "tile",                   //
    "fullscreen",             //
    "maximize",               //
    "fullscreen_state",       //
    "move",                   //
    "size",                   //
    "center",                 //
    "pseudo",                 //
    "monitor",                //
    "workspace",              //
    "no_initial_focus",       //
    "pin",                    //
    "group",                  //
    "suppress_event",         //
    "content",                //
    "no_close_for",           //
    "rounding",               //
    "rounding_power",         //
    "persistent_size",        //
    "animation",              //
    "border_color",           //
    "idle_inhibit",           //
    "opacity",                //
    "tag",                    //
    "max_size",               //
    "min_size",               //
    "border_size",            //
    "allows_input",           //
    "dim_around",             //
    "decorate",               //
    "focus_on_activate",      //
    "keep_aspect_ratio",      //
    "nearest_neighbor",       //
    "no_anim",                //
    "no_blur",                //
    "no_dim",                 //
    "no_focus",               //
    "no_follow_mouse",        //
    "no_max_size",            //
    "no_shadow",              //
    "no_shortcuts_inhibit",   //
    "opaque",                 //
    "force_rgbx",             //
    "sync_fullscreen",        //
    "immediate",              //
    "xray",                   //
    "render_unfocused",       //
    "no_screen_share",        //
    "no_vrr",                 //
    "scroll_mouse",           //
    "scroll_touchpad",        //
    "stay_focused",           //
    "__internal_last_static", //
};

// This is here so that if we change the rules, we get reminded to update
// the strings.
static_assert(WINDOW_RULE_EFFECT_LAST_STATIC == 54);

CWindowRuleEffectContainer::CWindowRuleEffectContainer() : IEffectContainer<eWindowRuleEffect>(std::vector<std::string>{EFFECT_STRINGS}) {
    ;
}