Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: docs/linux_gtk_theme_integration.md

Issue 1318153003: [Docs] fixes (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « docs/linux_graphics_pipeline.md ('k') | docs/linux_hw_video_decode.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Linux GTK Theme Integration 1 # Linux GTK Theme Integration
2 2
3 The GTK+ port of Chromium has a mode where we try to match the user's GTK theme 3 The GTK+ port of Chromium has a mode where we try to match the user's GTK theme
4 (which can be enabled under Wrench -> Options -> Personal Stuff -> Set to GTK+ 4 (which can be enabled under Wrench -> Options -> Personal Stuff -> Set to GTK+
5 theme). The heuristics often don't pick good colors due to a lack of information 5 theme). The heuristics often don't pick good colors due to a lack of information
6 in the GTK themes. 6 in the GTK themes.
7 7
8 Starting in Chrome 9, we're providing a new way for theme authors to control our 8 Starting in Chrome 9, we're providing a new way for theme authors to control our
9 GTK+ theming mode. I am not sure of the earliest build these showed up in, but I 9 GTK+ theming mode. I am not sure of the earliest build these showed up in, but I
10 know 9.0.597 works. 10 know 9.0.597 works.
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 99
100 I am at the very least hoping we can get Radiance and Ambiance patches since we 100 I am at the very least hoping we can get Radiance and Ambiance patches since we
101 make very poor frame decisions on those themes, and hopefully a few others. 101 make very poor frame decisions on those themes, and hopefully a few others.
102 102
103 ### How about control over the min/max/close buttons? 103 ### How about control over the min/max/close buttons?
104 104
105 I actually tried this locally. There's a sort of uncanny valley effect going on; 105 I actually tried this locally. There's a sort of uncanny valley effect going on;
106 as the frame looks more native, it's more obvious that it isn't behaving like a 106 as the frame looks more native, it's more obvious that it isn't behaving like a
107 native frame. (Also my implementation added a startup time hit.) 107 native frame. (Also my implementation added a startup time hit.)
108 108
109 ### Why use style properties instead of (i.e.) `bg[STATE]`? 109 ### Why use style properties instead of (i.e.) bg[STATE]?
110 110
111 There's no way to distinguish between colors set on different classes. Using 111 There's no way to distinguish between colors set on different classes. Using
112 style properties allows us to be backwards compatible and maintain the 112 style properties allows us to be backwards compatible and maintain the
113 heuristics since not everyone is going to modify their themes for chromium (and 113 heuristics since not everyone is going to modify their themes for chromium (and
114 the heuristics do a reasonable job). 114 the heuristics do a reasonable job).
115 115
116 ### Why now? 116 ### Why now?
117 117
118 * I (erg@) was putting off major changes to the window frame stuff in 118 * I (erg@) was putting off major changes to the window frame stuff in
119 anticipation of finally being able to use GTK+'s theme rendering for the 119 anticipation of finally being able to use GTK+'s theme rendering for the
120 window border with client side decorations, but client side decorations 120 window border with client side decorations, but client side decorations
121 either isn't happening or isn't happening anytime soon, so there's no 121 either isn't happening or isn't happening anytime soon, so there's no
122 justification for pushing this task off into the future. 122 justification for pushing this task off into the future.
123 * Chrome looks pretty bad under Ambiance on Maverick. 123 * Chrome looks pretty bad under Ambiance on Maverick.
124 124
125 ### Details about `MetaFrames` and `ChromeGtkFrame` relationship and history? 125 ### Details about `MetaFrames` and `ChromeGtkFrame` relationship and history?
126 126
127 `MetaFrames` is a class that was used in metacity to communicate color 127 `MetaFrames` is a class that was used in metacity to communicate color
128 information to the window manager. During the Hardy Heron days, we slurped up 128 information to the window manager. During the Hardy Heron days, we slurped up
129 the data and used it as a key part of our heuristics. At least on my Lucid Lynx 129 the data and used it as a key part of our heuristics. At least on my Lucid Lynx
130 machine, none of the GNOME GTK+ themes have `MetaFrames` styling. (As mentioned 130 machine, none of the GNOME GTK+ themes have `MetaFrames` styling. (As mentioned
131 above, several of the XFCE themes do, though.) 131 above, several of the XFCE themes do, though.)
132 132
133 Internally to chrome, our `ChromeGtkFrame` class inherits from `MetaFrames` 133 Internally to chrome, our `ChromeGtkFrame` class inherits from `MetaFrames`
134 (again, which inherits from `GtkWindow`) so any old themes that style the 134 (again, which inherits from `GtkWindow`) so any old themes that style the
135 `MetaFrames` class are backwards compatible. 135 `MetaFrames` class are backwards compatible.
OLDNEW
« no previous file with comments | « docs/linux_graphics_pipeline.md ('k') | docs/linux_hw_video_decode.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698