]> Pileus Git - ~andy/gtk/commitdiff
win32-theme: Add gtk-win32.css
authorAlexander Larsson <alexl@redhat.com>
Fri, 18 Nov 2011 15:20:32 +0000 (16:20 +0100)
committerAlexander Larsson <alexl@redhat.com>
Fri, 18 Nov 2011 15:53:55 +0000 (16:53 +0100)
gtk/Makefile.am
gtk/gtk-win32.css [new file with mode: 0644]

index c12b006008c58ae5b05cf809dca69b2e171e590e..d12c3d5dcf43933a69a585dbe403b4d0d05a4fcd 100644 (file)
@@ -856,6 +856,7 @@ gtk_extra_sources =                         \
        gen-paper-names.c                       \
        gtkstatusicon-quartz.c                  \
        gtk.symbols                             \
+       gtk-win32.css                           \
        gtkversion.h.in                         \
        gtkmarshalers.list                      \
        fallback-c89.c
diff --git a/gtk/gtk-win32.css b/gtk/gtk-win32.css
new file mode 100644 (file)
index 0000000..088fa3d
--- /dev/null
@@ -0,0 +1,608 @@
+@define-color bg_color -gtk-win32-color(button, 15);\r
+\r
+/* Buttons */\r
+\r
+.button {\r
+    background-image: -gtk-win32-theme-part(button, 1 1);\r
+    border-width: 0;\r
+    -GtkWidget-focus-line-width: 1;\r
+    -GtkWidget-focus-padding: 3;\r
+    -GtkButton-interior-focuse: true;\r
+}\r
+\r
+.button:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 1 4);\r
+}\r
+\r
+.button:focused {\r
+    background-image: -gtk-win32-theme-part(button, 1 5);\r
+}\r
+\r
+.button:prelight, .button:prelight:focused {\r
+    background-image: -gtk-win32-theme-part(button, 1 2);\r
+    color: #000000;\r
+}\r
+\r
+.button:active, .button:active:focused, .button:active:focused:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 1 3);\r
+}\r
+\r
+/* Check buttons */\r
+\r
+.check {\r
+    background-image: -gtk-win32-theme-part(button, 3 1);\r
+    border-width: 0;\r
+}\r
+\r
+.check:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 3 4);\r
+}\r
+\r
+.check:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 3 2);\r
+}\r
+\r
+.check:active {\r
+    background-image: -gtk-win32-theme-part(button, 3 5);\r
+}\r
+\r
+.check:active:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 1 8);\r
+}\r
+\r
+.check:active:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 3 6);\r
+}\r
+\r
+.check:inconsistent {\r
+    background-image: -gtk-win32-theme-part(button, 3 9);\r
+}\r
+\r
+.check:inconsistent:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 3 12);\r
+}\r
+\r
+.check:inconsistent:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 3 10);\r
+}\r
+\r
+/* Radio buttons */\r
+\r
+.radio {\r
+    background-image: -gtk-win32-theme-part(button, 2 1);\r
+    border-width: 0;\r
+}\r
+\r
+.radio:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 2 4);\r
+}\r
+\r
+.radio:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 2 2);\r
+}\r
+\r
+.radio:active {\r
+    background-image: -gtk-win32-theme-part(button, 2 5);\r
+}\r
+\r
+.radio:active:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 1 8);\r
+}\r
+\r
+.radio:active:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 2 6);\r
+}\r
+\r
+\r
+.radio:inconsistent {\r
+    background-image: -gtk-win32-theme-part(button, 2 1, mix 2 5);\r
+}\r
+\r
+.radio:inconsistent:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 2 4 , mix 2 6);\r
+}\r
+\r
+/* Scrollbars */\r
+\r
+/* TODO: Win32 has different concept for upper and lower trough, we\r
+   don't use this atm */\r
+\r
+.scrollbar {\r
+    -GtkRange-trough-border: 0;\r
+    -GtkRange-arrow-scaling: 0.0;\r
+    -GtkRange-slider-width: -gtk-win32-size(scrollbar, 3);\r
+}\r
+\r
+.scrollbar.vertical {\r
+    -GtkRange-slider-width: -gtk-win32-size(scrollbar, 2);\r
+}\r
+\r
+.scrollbar.button.bottom {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 5);\r
+}\r
+\r
+.scrollbar.button.bottom:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 6);\r
+}\r
+\r
+.scrollbar.button.bottom:active,\r
+.scrollbar.button.bottom:active:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 7);\r
+}\r
+\r
+.scrollbar.button.bottom:insensitive {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 8);\r
+}\r
+\r
+.scrollbar.button.top {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 1);\r
+}\r
+\r
+.scrollbar.button.top:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 2);\r
+}\r
+\r
+.scrollbar.button.top:active,\r
+.scrollbar.button.top:active:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 3);\r
+}\r
+\r
+.scrollbar.button.top:insensitive {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 4);\r
+}\r
+\r
+.scrollbar.button.left {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 9);\r
+}\r
+\r
+.scrollbar.button.left:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 10);\r
+}\r
+\r
+.scrollbar.button.left:active,\r
+.scrollbar.button.left:active:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 11);\r
+}\r
+\r
+.scrollbar.button.left:insensitive {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 12);\r
+}\r
+\r
+.scrollbar.button.right {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 13);\r
+}\r
+\r
+.scrollbar.button.right:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 14);\r
+}\r
+\r
+.scrollbar.button.right:active,\r
+.scrollbar.button.right:active:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 15);\r
+}\r
+\r
+.scrollbar.button.right:insensitive {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 16);\r
+}\r
+\r
+.scrollbar.trough {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(scrollbar, 2 1, 4 1);\r
+}\r
+\r
+.scrollbar.trough.vertical {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(scrollbar, 2 1, 6 1);\r
+}\r
+\r
+.scrollbar.slider {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(scrollbar, 2 1, 8 1);\r
+}\r
+\r
+.scrollbar.slider:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 2 2, 8 2);\r
+}\r
+\r
+.scrollbar.slider.vertical {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 3 1, 9 1);\r
+}\r
+\r
+.scrollbar.slider.vertical:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 3 2, 9 2);\r
+}\r
+\r
+/* Entry */\r
+\r
+/* TODO: For entries with set_has_frame FALSE we should use 'edit, 3 1', not \r
+   sure how to select for this though */\r
+.entry {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(edit, 1 1);\r
+}\r
+.entry:insensitive {\r
+    background-image: -gtk-win32-theme-part(edit, 1 4);\r
+}\r
+.entry:prelight {\r
+    background-image: -gtk-win32-theme-part(edit, 1 4);\r
+}\r
+\r
+/* Spinbuttons */\r
+\r
+.spinbutton.button,\r
+.spinbutton.button:focused {\r
+    border-width: 1 1 0 0;\r
+    border-style: none;\r
+    background-image: -gtk-win32-theme-part(spin, 1 1);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button:prelight,\r
+.spinbutton.button:prelight:focused {\r
+    background-image: -gtk-win32-theme-part(spin, 1 2);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button:active,\r
+.spinbutton.button:active:prelight {\r
+    background-image: -gtk-win32-theme-part(spin, 1 3);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button:insensitive {\r
+    background-image: -gtk-win32-theme-part(spin, 1 4);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button.bottom,\r
+.spinbutton.button.bottom:focused {\r
+    border-width: 0 1 1 0;\r
+    background-image: -gtk-win32-theme-part(spin, 2 1);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button.bottom:prelight,\r
+.spinbutton.button.bottom:prelight:focused {\r
+    background-image: -gtk-win32-theme-part(spin, 2 2);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button.bottom:active,\r
+.spinbutton.button.bottom:active:prelight {\r
+    background-image: -gtk-win32-theme-part(spin, 2 3);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button.bottom:insensitive {\r
+    background-image: -gtk-win32-theme-part(spin, 2 4);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+/* Ranges */\r
+\r
+/* TODO: The trough is not quite right, it covers everything,\r
+   but in win32 the slider 'sticks out' on the sides of the\r
+   trough */\r
+\r
+.scale {\r
+    -GtkScale-value-spacing: 0;\r
+    -GtkScale-slider-length: 9;\r
+    -GtkRange-slider-width: 20;\r
+    -GtkRange-trough-border: 0;\r
+}\r
+\r
+.scale.trough {\r
+    border-style: none;\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(trackbar, 1 1);\r
+}\r
+\r
+.scale.slider {\r
+    border-width: 0;\r
+    color: rgba(0,0,0,0);\r
+    background-image: -gtk-win32-theme-part(trackbar, 3 1);\r
+}\r
+\r
+.scale.slider:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 3 2);\r
+}\r
+\r
+.scale.slider:active,\r
+.scale.slider:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 3 3);\r
+}\r
+\r
+.scale.slider:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 3 4);\r
+}\r
+\r
+.scale.slider:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 3 5);\r
+}\r
+\r
+.scale.slider.vertical {\r
+    background-image: -gtk-win32-theme-part(trackbar, 6 1);\r
+}\r
+\r
+.scale.slider.vertical:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 6 2);\r
+}\r
+\r
+.scale.slider.vertical:active,\r
+.scale.slider.vertical:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 6 3);\r
+}\r
+\r
+.scale.slider.vertical:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 6 4);\r
+}\r
+\r
+.scale.slider.vertical:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 6 5);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below {\r
+    background-image: -gtk-win32-theme-part(trackbar, 4 1);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 4 2);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below:active,\r
+.scale.slider.scale-has-marks-below:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 4 3);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 4 4);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 4 5);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below.vertical {\r
+    background-image: -gtk-win32-theme-part(trackbar, 8 1);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below.vertical:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 8 2);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below.vertical:active,\r
+.scale.slider.scale-has-marks-below.vertical:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 8 3);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below.vertical:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 8 4);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below.vertical:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 8 5);\r
+}\r
+\r
+\r
+\r
+.scale.slider.scale-has-marks-above {\r
+    background-image: -gtk-win32-theme-part(trackbar, 5 1);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 5 2);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above:active,\r
+.scale.slider.scale-has-marks-above:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 5 3);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 5 4);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 5 5);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above.vertical {\r
+    background-image: -gtk-win32-theme-part(trackbar, 7 1);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above.vertical:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 7 2);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above.vertical:active,\r
+.scale.slider.scale-has-marks-above.vertical:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 7 3);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above.vertical:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 7 4);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above.vertical:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 7 5);\r
+}\r
+\r
+/* Progress bars */\r
+\r
+GtkProgressBar {\r
+    padding: 0;\r
+}\r
+\r
+GtkProgressBar.trough {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(progress, 1 1);\r
+}\r
+\r
+GtkProgressBar.progressbar,\r
+GtkEntry.progressbar {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(progress, 5 1);\r
+}\r
+\r
+GtkProgressBar.progressbar.pulse,\r
+GtkEntry.progressbar.pulse {\r
+    background-image: -gtk-win32-theme-part(progress, 8 1);\r
+}\r
+\r
+GtkProgressBar.trough.vertical {\r
+    background-image: -gtk-win32-theme-part(progress, 2 1);\r
+}\r
+\r
+.progressbar.vertical {\r
+    background-image: -gtk-win32-theme-part(progress, 6 1);\r
+}\r
+\r
+.progressbar.pulse.vertical {\r
+    background-image: -gtk-win32-theme-part(progress, 10 1);\r
+}\r
+\r
+/* Menus */\r
+\r
+.menubar {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(menu, 7 1);\r
+}\r
+\r
+.menubar .menuitem {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(menu, 8 1);\r
+}\r
+\r
+.menubar .menuitem:prelight {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(menu, 8 3);\r
+}\r
+\r
+.menuitem:prelight {\r
+    background-image: -gtk-win32-theme-part(menu, 14 2);\r
+\r
+}\r
+\r
+.menuitem.radio,\r
+.menuitem.radio:prelight {\r
+    background-image: none;\r
+    border-width: 0;\r
+}\r
+\r
+.menuitem.radio:active, \r
+.menuitem.radio:active:prelight {\r
+    background-image: -gtk-win32-theme-part(menu, 11 3);\r
+    border-width: 0;\r
+}\r
+\r
+.menuitem.radio:inconsistent,\r
+.menuitem.radio:inconsistent:prelight {\r
+    background-image: -gtk-win32-theme-part(menu, 11 3, mix 0 0);\r
+    border-width: 0;\r
+}\r
+\r
+.menuitem.radio:insensitive,\r
+.menuitem.radio:insensitive:prelight{\r
+    background-image: -gtk-win32-theme-part(menu, 11 4);\r
+    border-width: 0;\r
+}\r
+\r
+\r
+.menuitem.check,\r
+.menuitem.check:prelight {\r
+    background-image: none;\r
+    border-width: 0;\r
+}\r
+\r
+.menuitem.check:active, \r
+.menuitem.check:active:prelight {\r
+    background-image: -gtk-win32-theme-part(menu, 11 1);\r
+    border-width: 0;\r
+}\r
+\r
+.menuitem.check:inconsistent,\r
+.menuitem.check:inconsistent:prelight {\r
+    background-image: -gtk-win32-theme-part(menu, 11 1, mix 0 0);\r
+    border-width: 0;\r
+}\r
+\r
+.menuitem.check:insensitive,\r
+.menuitem.check:insensitive:prelight{\r
+    background-image: -gtk-win32-theme-part(menu, 11 2);\r
+    border-width: 0;\r
+}\r
+\r
+/* Combobox */\r
+\r
+\r
+GtkComboBox.combobox-entry .button {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(combobox, 1 1);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+GtkComboBox.combobox-entry .button:prelight,\r
+GtkComboBox.combobox-entry .button:focused,\r
+GtkComboBox.combobox-entry .button:prelight:focused {\r
+    background-image: -gtk-win32-theme-part(combobox, 1 2);\r
+}\r
+GtkComboBox.combobox-entry .button:active,\r
+GtkComboBox.combobox-entry .button:active:focused,\r
+GtkComboBox.combobox-entry .button:active:prelight,\r
+GtkComboBox.combobox-entry .button:active:focused:prelight {\r
+    background-image: -gtk-win32-theme-part(combobox, 1 3);\r
+}\r
+GtkComboBox.combobox-entry .button:insensitive {\r
+    background-image: -gtk-win32-theme-part(combobox, 1 4);\r
+}\r
+\r
+/* Notebook */\r
+\r
+.notebook {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(tab, 9 1);\r
+    -GtkNotebook-tab-overlap: 0;\r
+    -GtkNotebook-tab-curvature: 20;\r
+}\r
+\r
+.notebook tab {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(tab, 1 1);\r
+}\r
+\r
+.notebook tab:active {\r
+    background-image: -gtk-win32-theme-part(tab, 1 3);\r
+}\r
+\r
+.notebook {\r
+    background-color: #ffffff;\r
+}\r
+\r
+/* Toolbar */\r
+\r
+.toolbar {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(rebar, 6 1);\r
+}\r
+\r
+.toolbar .button,\r
+.toolbar .button:focused {\r
+    background-image: -gtk-win32-theme-part(toolbar, 1 1);\r
+}\r
+\r
+.toolbar .button:prelight,\r
+.toolbar .button:prelight:focused {\r
+    background-image: -gtk-win32-theme-part(toolbar, 1 2);\r
+}\r
+\r
+.toolbar .button:active {\r
+    background-image: -gtk-win32-theme-part(toolbar, 1 3);\r
+}\r
+\r
+.toolbar .button:active:prelight {\r
+    background-image: -gtk-win32-theme-part(toolbar, 1 6);\r
+}\r
+\r
+.toolbar .button:insensitive {\r
+    background-image: -gtk-win32-theme-part(toolbar, 1 4);\r
+}\r