This file is indexed.

/usr/include/KDecoration2/kdecoration2/decorationdefines.h is in libkdecorations2-dev 4:5.8.4-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
/*
 * Copyright 2014  Martin Gräßlin <mgraesslin@kde.org>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) version 3, or any
 * later version accepted by the membership of KDE e.V. (or its
 * successor approved by the membership of KDE e.V.), which shall
 * act as a proxy defined in Section 6 of version 3 of the license.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
 */
#ifndef KDECORATION2_DECORATION_DEFINES_H
#define KDECORATION2_DECORATION_DEFINES_H

namespace KDecoration2
{

/**
 * The DecorationButtonType is a helper type for the DecorationButton.
 * A Decoration should provide a DecorationButton for each of the types,
 * if it wants to provide further buttons it should use the Custom type.
 * The DecorationButton gets configured depending on the type. E.g. the
 * Close button gets disabled if the DecoratedClient is not closeable.
 **/
enum class DecorationButtonType
{
    /**
     * The Menu button requests showing the window menu on left or right click.
     **/
    Menu,
    /**
     * The ApplicationMenu button requests showing the application's menu on left or right click.
     */
    ApplicationMenu,
    /**
     * The OnAllDesktops button requests toggling the DecoratedClient's on all desktops state.
     * The DecoratedButton is only visible if multiple virtual desktops are available.
     **/
    OnAllDesktops,
    /**
     * The Minimize button requests minimizing the DecoratedClient. The DecorationButton is only
     * enabled if the DecoratedClient is minimizeable.
     **/
    Minimize,
    /**
     * The Maximize button requests maximizing the DecoratedClient. The DecorationButton is checkable
     * and if the DecoratedClient is maximized the DecorationButton is checked. The DecorationButton
     * supports multiple mouse buttons to change horizontal, vertical and overall maximized state.
     *
     * The DecorationButton is only enabled if the DecoratedClient is maximizeable.
     **/
    Maximize,
    /**
     * The Close button requests closing the DecoratedClient. The DecorationButton is only enabled
     * if the DecoratedClient is closeable.
     **/
    Close,
    /**
     * The ContextHelp button requests entering the context help mode. The DecorationButton is only
     * visible if the DecoratedClient provides context help.
     **/
    ContextHelp,
    /**
     * The Shade button requests toggling the DecoratedClient's shaded state. The DecoratedButton
     * is only enabled if the DecoratedClient is shadeable.
     **/
    Shade,
    /**
     * The KeepBelow button requests toggling the DecoratedClient's keep below state.
     **/
    KeepBelow,
    /**
     * The KeepAbove button requests toggling the DecoratedClient's keep above state.
     **/
    KeepAbove,
    /**
     * The Custom type allows a Decoration to provide custom DecorationButtons.
     **/
    Custom
};


/**
 * Border sizes are a combination of visual and accessibility features.
 * Larger borders should be used to increase the non title bar borders to
 * make it easier to resize the decoration
 **/
enum class BorderSize {
    /**
     * Border sizes of all non title bar sides should be set to 0.
     **/
    None,
    /**
     * Border sizes of the sides should be set to 0. Title bar and
     * the border on opposite side of the title bar should follow the
     * Normal settings.
     **/
    NoSides,
    /**
     * Borders should be smaller than Normal, e.g. a factor of 0.5.
     **/
    Tiny,
    /**
     * The default border size with borders on each side. This should
     * be the base for calculating other border sizes.
     **/
    Normal,
    /**
     * Increased border sizes, considered a factor of 1.5.
     **/
    Large,
    /**
     * Increased border sizes, considered a factor of 2.0.
     **/
    VeryLarge,
    /**
     * Increased border sizes, considered a factor of 2.5.
     **/
    Huge,
    /**
     * Increased border sizes, considered a factor of 3.0.
     **/
    VeryHuge,
    /**
     * Increased border sizes, considered a factor of 5.0.
     **/
    Oversized
};

/**
 * Color groups are used for DecoratedClient::color().
 * @since 5.3
 **/
enum class ColorGroup {
    /**
     * Inactive color, used for unfocused windows.
     **/
    Inactive,
    /**
     * Active color, used for focused windows.
     **/
    Active,
    /**
     * Warning color, can only be used with ColorRole::Foreground. If used with other roles,
     * a invalid QColor is returned. It can be used for close buttons and is typically red.
     **/
    Warning
};

/**
 * Color roles are used for DecoratedClient::color().
 * @since 5.3
 **/
enum class ColorRole {
    /**
     * The decoration's frame background color.
     **/
    Frame,
    /**
     * The decoration's title bar background color
     **/
    TitleBar,
    /**
     * The decoration's title bar forground color
     **/
    Foreground
};

}

#endif