4
<name>HumanLogin</name>
5
<author>kwwii and zniavre</author>
6
<copyright>Canonical LTD</copyright>
8
<description>A theme inspired by Panther (by Grand Masta) and
13
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
15
Modification and distribution of this theme is encouraged.
16
There are only two conditions:
18
1) If you modify this theme or one of its variants, please
19
be sure to acknowledge the previous authors. I'd like to thank
20
Grand Masta for his Panther theme, which inspired this
21
theme. I'd also like to acknowledge Tuomas Kuosmanen
22
(tigert) and everyone at Ximian involved with the
23
excellent Industrial theme.
25
2) Please document any new code you add by making sure that
26
there are comments describing what that new code does.
27
If you feel that a comment is unclear, please feel free
28
to rewrite it. But don't reduce the amount of documen-
29
tation too drastically! Well documented themes will
30
encourage more people to hack and tweak. Making this easier
31
for the next person will improve the number and quality
32
of themes that we have to choose from.
34
Please be sure to include something along the lines of
35
this statement in your theme!
37
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
40
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
41
<!-- DEFINE THE FRAME GEOMETRIES HERE -->
42
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
44
<frame_geometry name="normal" rounded_top_left="true" rounded_bottom_left="true" rounded_top_right="true" rounded_bottom_right="true">
45
<distance name="left_width" value="6"/>
46
<distance name="right_width" value="6"/>
47
<distance name="bottom_height" value="6"/>
48
<distance name="left_titlebar_edge" value="4"/>
49
<distance name="right_titlebar_edge" value="4"/>
50
<distance name="button_width" value="18"/>
51
<distance name="button_height" value="18"/>
52
<distance name="title_vertical_pad" value="2"/>
53
<border name="title_border" left="0" right="0" top="2" bottom="2"/>
54
<border name="button_border" left="0" right="1" top="0" bottom="0"/>
57
<!-- The normal geometry w/ border thicknesses set to zero -->
58
<frame_geometry name="normal_small_borders" parent="normal">
59
<distance name="left_width" value="0"/>
60
<distance name="right_width" value="0"/>
61
<distance name="bottom_height" value="0"/>
62
<distance name="left_titlebar_edge" value="0"/>
63
<distance name="right_titlebar_edge" value="0"/>
66
<!-- Utility windows (palettes, etc) have the same geometry as normal windows -->
67
<frame_geometry name="utility" title_scale="small" parent="normal"/>
69
<frame_geometry name="border" has_title="false">
70
<distance name="left_width" value="4"/>
71
<distance name="right_width" value="4"/>
72
<distance name="bottom_height" value="4"/>
73
<distance name="left_titlebar_edge" value="0"/>
74
<distance name="right_titlebar_edge" value="0"/>
75
<distance name="button_width" value="0"/>
76
<distance name="button_height" value="0"/>
77
<distance name="title_vertical_pad" value="4"/>
78
<border name="title_border" left="0" right="0" top="0" bottom="0"/>
79
<border name="button_border" left="0" right="0" top="0" bottom="0"/>
82
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
83
<!-- Define constants that can be used later -->
84
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
85
<constant name="ThickLineWidth" value="3"/>
86
<constant name="IconTitleSpacing" value="0"/>
89
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
90
<!-- Begin Defining Drawing Operations -->
91
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
93
<!-- First we define how to draw buttons For each button we specify
94
draw_ops for the normal, prelight(hover), and pressed states.-->
96
<!-- The Menu Button -->
97
<draw_ops name="menu_button">
98
<image filename="menu-button.png" x="0" y="0" width="object_width" height="object_height"/>
101
<draw_ops name="menu_button_prelight">
102
<image filename="menu-button-pressed.png" x="0" y="0" width="object_width" height="object_height"/>
105
<draw_ops name="menu_button_pressed">
106
<image filename="menu-button-pressed.png" x="0" y="0" width="object_width" height="object_height"/>
109
<!-- The Minimize Button -->
110
<draw_ops name="minimize_button">
111
<image filename="button-min.png" x="0" y="0" width="object_width" height="object_height"/>
114
<draw_ops name="minimize_button_prelight">
115
<image filename="button-min-focus.png" x="0" y="0" width="object_width" height="object_height"/>
118
<draw_ops name="minimize_button_pressed">
119
<include name="minimize_button"/>
122
<!-- The Maximize Button -->
123
<draw_ops name="maximize_button">
124
<image filename="button-max.png" x="0" y="0" width="object_width" height="object_height"/>
127
<draw_ops name="maximize_button_prelight">
128
<image filename="button-max-focus.png" x="0" y="0" width="object_width" height="object_height"/>
131
<draw_ops name="maximize_button_pressed">
132
<include name="maximize_button"/>
135
<!-- The Restore Button -->
136
<draw_ops name="restore_button">
137
<image filename="button-max.png" x="0" y="0" width="object_width" height="object_height"/>
140
<draw_ops name="restore_button_prelight">
141
<image filename="button-max-focus.png" x="0" y="0" width="object_width" height="object_height"/>
144
<draw_ops name="restore_button_pressed">
145
<include name="restore_button"/>
148
<!-- The Close Button -->
149
<draw_ops name="close_button">
150
<image filename="button-close.png" x="0" y="0" width="object_width" height="object_height"/>
153
<draw_ops name="close_button_prelight">
154
<image filename="button-close-focus.png" x="0" y="0" width="object_width" height="object_height"/>
157
<draw_ops name="close_button_pressed">
158
<include name="close_button"/>
161
<!-- Inactive version of close, min, max, and restore -->
162
<draw_ops name="inactive_button">
163
<image filename="button-inactive.png" x="0" y="0" width="object_width" height="object_height"/>
166
<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
167
<!-- Define Drawing Operations for the Window Frames -->
168
<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
170
<!-- A draw_op that draws nothing -->
171
<draw_ops name="blank">
175
<!-- This draws the background for the windows. It sets up a dark grey outline, a lighter gray frame with a gradient at the top,
176
a window base color the same as the gtk:light[NORMAL] color, and a dark gray interior outline surrounding the "window base"
177
that applications use.-->
178
<draw_ops name="background">
179
<!-- First we draw a filled rectangle set to the window frame color (the light gray on the sides and bottom of the window).-->
180
<rectangle color="#191313" x="0" y="0" width="width" height="height" filled="true"/>
181
<!-- Now we draw the dark gray outline along the outer edge of the window. Note that, since the origin of the window
182
(the upper left corner) is (x,y)=(0,0), the lower right corner is (x,y)=(width-1,height-1). -->
183
<rectangle color="#433434" x="0" y="0" width="width-1" height="height-1" filled="false"/>
184
<!-- The "window base", the background that gtk2 draws things on, is drawn as a filled rectangle.-->
185
<rectangle color="#191313" x="left_width-1" y="top_height-1"
186
width="width-left_width-right_width+2" height="height-top_height-bottom_height" filled="true"/>
187
<!-- Draw a dark gray outline along the outside of the rectangle we just drew-->
188
<rectangle color="#191313"
189
x="left_width-1" y="top_height-1"
190
width="width-left_width-right_width+1"
191
height="height-top_height-bottom_height+1"/>
192
<!-- This is a somewhat better way of doing the corners and does not have a problem with the top right -->
194
<line color="#433434" x1="0" y1="6" x2="1" y2="2"/>
195
<line color="#433434" x1="1" y1="3" x2="1" y2="4"/>
196
<line color="#433434" x1="1" y1="3" x2="2" y2="2"/>
197
<line color="#433434" x1="3" y1="1" x2="4" y2="1"/>
198
<line color="#433434" x1="3" y1="1" x2="1" y2="1"/>
201
<line color="#433434" x1="width-1" y1="6" x2="width-1" y2="2"/>
202
<line color="#433434" x1="width-2" y1="3" x2="width-2" y2="4"/>
203
<line color="#433434" x1="width-2" y1="3" x2="width-3" y2="2"/>
204
<line color="#433434" x1="width-4" y1="1" x2="width-5" y2="1"/>
205
<line color="#433434" x1="width-4" y1="1" x2="width-1" y2="1"/>
208
<line color="#433434" x1="1" y1="height-4" x2="0" y2="height-7"/>
209
<line color="#433434" x1="1" y1="height-4" x2="1" y2="height-5"/>
210
<line color="#433434" x1="2" y1="height-3" x2="2" y2="height-3"/>
211
<line color="#433434" x1="2" y1="height-2" x2="4" y2="height-2"/>
213
<!-- bottom right -->
214
<line color="#433434" x1="width-2" y1="height-4" x2="width-1" y2="height-7"/>
215
<line color="#433434" x1="width-2" y1="height-4" x2="width-2" y2="height-5"/>
216
<line color="#433434" x1="width-3" y1="height-3" x2="width-3" y2="height-3"/>
217
<line color="#433434" x1="width-4" y1="height-2" x2="width-5" y2="height-2"/>
221
<!-- Now we set up draw_ops for drawing the title text in different window types -->
223
<!-- This is for drawing the title text in a focused window. We draw the title twice; one in medium gray
224
and then again in black to give a slight shadow effect. If it looks bad, simply remove the first <title/>
225
operation. The title is centered in the window, as opposed to centered in the title area. -->
226
<constant name="IconSpacing" value="40"/> <!-- spacing between mini-icon and title text -->
228
<draw_ops name="title_text_focused">
231
<!-- This draws the title text in background (unfocused) windows. -->
232
<draw_ops name="title_text">
235
<!-- Set up draw_ops for drawing the actual title. These could be more involved,
236
but right now we just include the draw_ops we just defined for drawing the
237
title text in the titlebar. -->
239
<draw_ops name="title_normal">
240
<include name="title_text"/>
243
<draw_ops name="title_focused">
244
<include name="title_text_focused"/>
247
<draw_ops name="title_utility">
248
<include name="title_text"/>
251
<draw_ops name="title_utility_focused">
252
<include name="title_text_focused"/>
255
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
256
<!-- Define how to use the draw_ops to draw the window frames.
257
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
259
<!-- First we set up normal, focused windows. They use the normal window
261
<frame_style name="normal_focused" geometry="normal">
262
<piece position="entire_background" draw_ops="background"/>
263
<piece position="title" draw_ops="title_focused"/>
265
<!-- Use the button definitions we made earlier, telling metacity how to draw
266
buttons in normal, prelight, and pressed states. Any undefined state
267
defautls to the normal style. -->
268
<button function="close" state="normal" draw_ops="close_button"/>
269
<button function="close" state="prelight" draw_ops="close_button_prelight"/>
270
<button function="close" state="pressed" draw_ops="close_button_pressed"/>
271
<button function="minimize" state="normal" draw_ops="minimize_button"/>
272
<button function="minimize" state="prelight" draw_ops="minimize_button_prelight"/>
273
<button function="minimize" state="pressed" draw_ops="minimize_button_pressed"/>
274
<button function="maximize" state="normal" draw_ops="maximize_button"/>
275
<button function="maximize" state="prelight" draw_ops="maximize_button_prelight"/>
276
<button function="maximize" state="pressed" draw_ops="maximize_button_pressed"/>
277
<button function="menu" state="normal" draw_ops="menu_button"/>
278
<button function="menu" state="prelight" draw_ops="menu_button_prelight"/>
279
<button function="menu" state="pressed" draw_ops="menu_button_pressed"/>
282
<!-- This sets up background (unfocused) windows. They have grayed out title text
283
and their buttons are drawn in the inactive style. -->
284
<frame_style name="normal_unfocused" geometry="normal">
285
<piece position="entire_background" draw_ops="background"/>
286
<piece position="title" draw_ops="title_normal"/>
288
<!-- Even though buttons are drawn as inactive, we define pressed states since you
289
can press a button on a window when it is unfocused. Depending on the button,
290
the window may or may not change focus before the mouse button is released.-->
291
<button function="close" state="normal" draw_ops="inactive_button"/>
292
<button function="close" state="pressed" draw_ops="close_button_pressed"/>
293
<button function="minimize" state="normal" draw_ops="inactive_button"/>
294
<button function="minimize" state="pressed" draw_ops="minimize_button_pressed"/>
295
<button function="maximize" state="normal" draw_ops="inactive_button"/>
296
<button function="maximize" state="pressed" draw_ops="maximize_button_pressed"/>
297
<button function="menu" state="normal" draw_ops="menu_button"/>
298
<button function="menu" state="pressed" draw_ops="menu_button_pressed"/>
301
<!-- Frame style for a window that is "rolled up" (windowshade or shaded mode). This
302
needs fixing, as the outlines on the bottom corners are not drawn correctly. -->
303
<frame_style name="shaded_focused" geometry="normal" parent="normal_focused">
304
<piece position="title" draw_ops="title_focused"/>
307
<frame_style name="maximized_unfocused" geometry="normal_small_borders" parent="normal_unfocused">
308
<piece position="entire_background" draw_ops="blank"/>
311
<frame_style name="maximized_focused" geometry="normal_small_borders" parent="normal_focused">
314
<frame_style name="utility_unfocused" geometry="utility" parent="normal_unfocused">
315
<piece position="title" draw_ops="title_utility"/>
318
<frame_style name="utility_focused" geometry="utility" parent="normal_focused">
319
<piece position="title" draw_ops="title_utility_focused"/>
322
<frame_style name="border" geometry="border" parent="normal_unfocused">
323
<piece position="entire_background" draw_ops="background"/>
324
<piece position="title" draw_ops="blank"/>
327
<frame_style_set name="normal">
328
<frame focus="yes" state="normal" resize="both" style="normal_focused"/>
329
<frame focus="no" state="normal" resize="both" style="normal_unfocused"/>
330
<frame focus="yes" state="maximized" style="maximized_focused"/>
331
<frame focus="no" state="maximized" style="maximized_unfocused"/>
332
<frame focus="yes" state="shaded" style="shaded_focused"/>
333
<frame focus="no" state="shaded" style="normal_unfocused"/>
334
<frame focus="yes" state="maximized_and_shaded" style="maximized_focused"/>
335
<frame focus="no" state="maximized_and_shaded" style="maximized_unfocused"/>
338
<frame_style_set name="utility" parent="normal">
339
<frame focus="yes" state="normal" resize="both" style="utility_focused"/>
340
<frame focus="no" state="normal" resize="both" style="utility_unfocused"/>
341
<frame focus="yes" state="maximized" style="utility_focused"/>
342
<frame focus="no" state="maximized" style="utility_unfocused"/>
343
<frame focus="yes" state="shaded" style="utility_focused"/>
344
<frame focus="no" state="shaded" style="utility_unfocused"/>
345
<frame focus="yes" state="maximized_and_shaded" style="utility_focused"/>
346
<frame focus="no" state="maximized_and_shaded" style="utility_unfocused"/>
349
<frame_style_set name="border" parent="normal">
350
<frame focus="yes" state="normal" resize="both" style="border"/>
351
<frame focus="no" state="normal" resize="both" style="border"/>
352
<frame focus="yes" state="maximized" style="utility_focused"/>
353
<frame focus="no" state="maximized" style="utility_unfocused"/>
354
<frame focus="yes" state="shaded" style="utility_focused"/>
355
<frame focus="no" state="shaded" style="utility_unfocused"/>
356
<frame focus="yes" state="maximized_and_shaded" style="utility_focused"/>
357
<frame focus="no" state="maximized_and_shaded" style="utility_unfocused"/>
360
<window type="normal" style_set="normal"/>
361
<window type="dialog" style_set="normal"/>
362
<window type="modal_dialog" style_set="normal"/>
363
<window type="menu" style_set="normal"/>
364
<window type="utility" style_set="utility"/>
365
<window type="border" style_set="border"/>
367
<menu_icon function="close" state="normal" draw_ops="close_button"/>
368
<menu_icon function="maximize" state="normal" draw_ops="maximize_button"/>
369
<menu_icon function="unmaximize" state="normal" draw_ops="restore_button"/>
370
<menu_icon function="minimize" state="normal" draw_ops="minimize_button"/>