• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.gitlab/issue_templates/H03-May-2022-2110

data/H08-Oct-2020-13297

m4/H08-Oct-2020-177157

src/H08-Oct-2020-67,40062,363

.gitignoreH A D08-Oct-20201 KiB6564

COPYINGH A D08-Oct-202017.7 KiB340281

LICENSE_CC_BY_SA4H A D08-Oct-202019.7 KiB429330

Makefile.amH A D08-Oct-2020881 3226

README.mdH A D08-Oct-202013 KiB341269

README.window-listH A D03-May-20221,010 2920

autogen.shH A D08-Oct-2020239 1710

configure.acH A D08-Oct-20205.9 KiB167140

README.md

1<img src=".gitlab/logo_thumb_small.png" alt="Logo" align="left" width="85" height="85"/>
2
3### Plata-theme
4
5A Gtk theme based on Material Design Refresh.
6
7----------------------------------------------
8
9Typography
10----------
11
12Plata strongly depends on Material Design resources, especially its **fonts**.
13
14 1. [**Roboto**](https://fonts.google.com/specimen/Roboto)
15   - Very famous as the default truetype font in Android (English ver.).
16   - Multilingual support is not good.
17   - Weight used in Plata: 300, 400, 500, 700
18
19| |Primary|Fallback|
20|:-----|:-----:|:-----:|
21|Gnome-Shell =< 3.34|**Roboto**|Sans-serif|
22|Gnome-Shell >= 3.36|follow system settings||
23|Cinnamon   |**Roboto**|Sans-serif|
24
25Plata is designed with nominal **13px (or 14px)** Roboto Regular font.
26In Gnome, "window-scaling-factor = 1.0" means `-gtk-dpi = 96`, it also means:
27  ```
28  13 [px] x 72 [pt/inch] / 96 [px/inch] = 9.75 [pt]
29  14 [px] x 72 [pt/inch] / 96 [px/inch] = 10.5 [pt]
30  ```
31That's the reason why `13.33px = 10pt` is used for rem/px conversion in Gtk 3.2x/4.0 theming.
32
33> **Note:**
34>
35> NotoSans CJK (ChineseJapaneseKorean) opentype fonts are actually **0.1em taller than Roboto fonts**, so if 10pt Roboto was suitable on your LCDs, set 9pt for NotoSans CJK families.
36
37**Verify the fonts are rendered correctly via font-viewer tools like Gnome-Font-Viewer.**
38
39Required Components
40-------------------
41Plata supports Gtk 2.24.x, 3.20.x, 3.22.x and 3.24.x.
42
43 ```
44 * Gtk-3.0             >= 3.20.0
45 * Gtk-2.0             >= 2.24.30
46 * gtk2-engines-pixbuf  >= 2.24.30
47 * gtk2-engines-murrine >= 0.98.1
48 ```
49
50Supported Desktop Environments
51------------------------------
52
53 ```
54 * GNOME-Shell     >= 3.20.0
55 * GNOME-Flashback >= 3.20
56 * Budgie-Desktop  >= 10.4
57 * Cinnamon        >= 3.2.0
58 * XFce4           >= 4.12.2
59 * Mate            >= 1.22 (Marco >= 1.22.2)
60 * LXDE            >= 0.99.1 (Gtk 2.x only)
61 ```
62
63Unsupported Gtk Based Desktop(s)
64-------------------------------
65 * Pantheon
66 * Unity7
67 * Gnome-Shell customed by downstream (Ubuntu session, Pop! OS ...etc)
68
69 > **Note:**
70 >
71 >   * Plata does NOT support elementaryOS.
72
73Installation from Package(s)
74----------------------------
75 * Arch (AUR): [**plata-theme**](https://aur.archlinux.org/packages/plata-theme)
76 * OpenSUSE: [**Official repository**](https://software.opensuse.org/package/plata-theme)
77 * Solus: Official repository
78 * Void: [**Official repository**](https://github.com/void-linux/void-packages/tree/master/srcpkgs/plata-theme)
79 * Flatpak: Official flathub repository (current package branch = **3.22**)
80 * Fedora (Copr): [**tonyjames/plata-theme**](https://copr.fedorainfracloud.org/coprs/tonyjames/plata-theme/)
81 * My Personal Package Archives (PPA): [**plata-theme**](https://launchpad.net/~tista/+archive/ubuntu/plata-theme)
82
83Installation from Git Source
84----------------------------
851. If previous versions were installed/existed, remove them first.
86
87 ```
88 sudo rm -rf /usr/share/themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}
89 sudo rm -rf /usr/local/share/themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}
90 rm -rf ~/.local/share/themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}
91 rm -rf ~/.themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}
92 ```
93
942. Check build-requirements:
95 Currently Plata bundles neither pre-generated stylesheets nor PNG images.
96 So users and/or contributors should generate proper CSSs, PNGs and gresources at build-time.
97
98 ```
99 * autoconf
100 * automake
101 * inkscape                                  >= 0.91
102 * libgdk-pixbuf2.0-dev (gdk-pixbuf2-devel)  >= 2.32.2
103 * libglib2.0-dev (glib2-devel)              >= 2.48.0
104 * libxml2-utils (libxml2)
105 * pkg-config (pkgconfig)
106 * sassc                                     >= 3.3
107
108 * libmarco-dev (marco-devel)                >= 1.22.2 (if --enable-mate)
109
110 * parallel                                  (if --enable-parallel)
111 * zip                                       (if --enable-telegram)
112 ```
113
114 > **Note:**
115 >
116 >   * In OpenSUSE, add an extra dependency:
117 >
118 >     ```
119 >     gdk-pixbuf-devel        >= 2.32.2
120 >     ```
121 >
122 >   * Plata employs **SassC** wrapper of `libsass` to generate CSS stylesheets.
123 >   * Plata uses `inkscape` to generate installable PNG files.
124 >   * Plata uses `glib-compile-resources` to compile the gresource files for Gtk and Gnome-Shell.
125 >   * `glib-2.0 >= 2.53`, Gnome-Shell 3.26 theming is used if `--enable-gnome`.
126
1273. Build and install system-wide:
128
129 ```
130 ./autogen.sh --prefix=/usr
131 make
132 sudo make install
133 ```
134
135 > **Note:**
136 >
137 >   * Default prefix is `/usr/local`.
138 >   * All 6 variants are installed by default.
139 >   * `make` generates proper CSSs and PNGs to be installed.
140 >     It will take about 5min to 15min to build.
141 >     For example, Ubuntu's build-server takes 10min.
142 >   * `sudo make install` installs multiple versioned theme and Gtk automatically selects the properly versioned one when running.
143
1444. To speed up by using concurrency-build, pass this specific option to `autogen.sh`:
145
146 ```
147 --enable-parallel       enable parallel-build support (type: bool)
148 ```
149
150 > **Note:**
151 >
152 >   * This feature requires GNU `parallel`, so please add `parallel` to build-requirements.
153 >     Parallel can execute multiple scripts and binaries to be suitable for multi-threading.
154 >     It could especially shorten the rendering-time via `inkscape`.
155 >   * `-jN` option to be passed to GNU `make` is surely usable, but Plata currently employs `parallel`.
156 >   * This feature should not be applied when packaging on remote/shared build-servers.
157
1585. To disable some DE supports, pass these specific options to `autogen.sh`:
159
160 ```
161 --disable-gnome         disable gnome-shell support (type: bool)
162 --disable-cinnamon      disable cinnamon support (type: bool)
163 --disable-flashback     disable flashback support (type: bool)
164 --disable-xfce          disable xfce support (type: bool)
165 --disable-mate          disable mate support (type: bool)
166 --disable-openbox       disable openbox support (type: bool)
167 ```
168
169 > **Note:**
170 >
171 >   * The installer installs Budgie-Desktop support even if all of options above were applied.
172 >   * Cinnamon/Mate support hooks metacity-1 directory even if GNOME-Flashback support was disabled.
173
1746. To enable extra Gtk release support, pass these options:
175
176 ```
177 --enable-gtk_next      enable Gtk 4.0 support (type: bool)
178 ```
179
1807. To change the default 4 **Key-Colors**, pass these options:
181
182 ```
183 --with-selection_color        Primary color for 'selected-items' (Default: #3f51b5 = Indigo500, type: string)
184 --with-accent_color           Secondary color for notifications and OSDs (Default: #7986cb = Indigo300, type: string)
185 --with-suggestion_color       Secondary color for 'suggested' buttons (Default: #673ab7 = DPurple500, type: string)
186 --with-destruction_color      Tertiary color for 'destructive' buttons (Default: #f44336 = Red500, type: string)
187 ```
188
189 > **Note:**
190 >
191 >   * Color-codes are defined as `#` + 6-digit `HEX`s (Standard RGB definitions in HTML codes).
192 >   * The Material Design Color Palette can be found [**here**](https://www.google.com/design/spec/style/color.html#color-color-palette).
193 >   * Example: If you would like to use 'Teal500' as selection_color, use this:
194 >
195 >     bash:
196 >
197 >     ```./autogen.sh --with-selection_color=#009688```
198 >
199 >     zsh with extended_glob:
200 >
201 >     ```./autogen.sh --with-selection_color='#009688'```
202 >
203 >     This switchese the theme to Teal selection colors.
204 >   * Basically `selection_color` and `suggestion_color` should use `500` colors,
205 >     and `accent_color` should use `300` colors.
206 >   * While doing `make`, Plata changes those 4 colors in all stylesheets and images,
207 >     and `make clean` cleans up all generated files from source directories.
208
209GtkSourceView/Gedit Color Scheme Support
210----------------------------------------
211 2 theme files `plata-light.xml` and `plata-dark.xml` are installed by default into `Plata*/gtksourceview` directories.
212
213 > **Note:**
214 >
215 >   * The color-scheme can be used in Gnome-Builder, Gnome-Sushi, Meld and Gedit if installed to
216 >     `~/.local/share/gtksourceview-3.0/styles` or `~/.local/share/gtksourceview-4/styles` directory.
217
218Extra Browser Support
219---------------------
220To try our color samples for FirefoxColor test pilot, check these URLs:
221
222  1. [**Plata**](https://color.firefox.com/?theme=XQAAAAL8AAAAAAAAAABBKYhm849SCia2CaaEGccwS-xNKliFvd9NUAF6ENY3kBjKL2oHo45W2-O_o0hH8v9jyb1gPLS8xyg320t5BtQBRbshC37eqwUpEtrNzUXzzCCGCEnPVujOpTgJBqePqVNh4q1nxYUIdLIFaoaGFtpU8UGWTHdYK89VREGS2_uycyNkLyT_fUsp3rt8085FMcIrk2zP6zlQ8nXHifYExWUlXde95kD4F3H_cvgAAA)
223
224  2. [**Plata-Lumine**](https://color.firefox.com/?theme=XQAAAAL8AAAAAAAAAABBKYhm849SCia2CaaEGccwS-xNKliFvd9NUAF6ENY3kBjKL2oHo45W2-O_o0hH8v9jyb1gPLS8xyg3NbO0xf8CWW1IQ-VFBeST-c2ya550Jq-AJT3qXk84PCZgv4Q1Ip6G8KMxah3hVdR8-Zr9ze0kGqgOtR7bn1Nps1cYGNzQQkA8ajSLlQnjaMNzy_Cgfm6TGsTtSGCZPEHAaGevqPSrPV7L_8f2AAA)
225
226  3. [**Plata-Noir**](https://color.firefox.com/?theme=XQAAAAL8AAAAAAAAAABBKYhm849SCia2CaaEGccwS-xNKlhR4U3ii01izoNSwV8EzxA9i34l-h9kNzmmbht5egIz1VwqGu4asy3bC0Iu-fSfcIJAVAwKwUYrdnMCFPHjDRh3WIEk3D10l1b0yhJ2JJ4iidXrDdOeHtPXECgT4mWPRinIv4rInTDn_LmydH4PXIv_OPeKQZiffADmQZvxlSWtpsLQfUznQX8sEtOtxfBaEVM7_-LnUAA)
227
228 > **Note:**
229 >
230 >   * We no longer support "Normal" UI layout in Chrome(ium). Use "Refresh" instead.
231 >
232 >   * Vivaldi can make custom themes via settings like these:
233 >     ```
234 >     Background: #F8F8F8 (#1D1D1D)
235 >     Foreground: #111111 (#F5F5F5)
236 >     Highlight:  #3F51B5
237 >     Accent:     #E7E7E7 (#080808)
238 >     Accent Color from Active Page: [ ]
239 >     Apply Accent Color to Window:  [*]
240 >     Transparent Tabs:              [*]
241 >     Corner Rounding:               2px
242 >     ```
243
244Extra Dock Support
245------------------
246 To try "Plank" theming, pass this option:
247
248 ```
249 --enable-plank         enable Plank support (type: bool)
250 ```
251
252 Then select `Gtk` via `plank --preferences`.
253
254 > **Note:**
255 >
256 >   * Both Plata and Plata-Noir shares the dark theming, Plata-Lumine uses light theming.
257 >   * Don't expect too much. Plank is NOT a themeable widget for me!
258
259Extra Compositor Support
260------------------------
261 Compton is the famous stand-alone compositor that works well with the Openbox window-manager. The installer installs recommended configuration file `compton.conf` into `Plata/openbox-3` directory if Openbox support is enabled.
262
263 Next, copy that file into `~/.config/` and restart compton to read the settings.  That compositor still has some limitations in its features for Plata, however.
264
265Extra Telegram Support
266----------------------
267 To try "Telegram 1.0" theming, pass this option:
268
269 ```
270 --enable-telegram      enable Telegram 1.0 support (type: bool)
271 ```
272
273 The installer installs compressed `tdesktop-theme` files into `Plata*/telegram` directories if Telegram support is enabled.
274 Then open the file via Telegram > Main Menu > Settings > Chat background > Choose from file.
275
276 > **Note:**
277 >
278 >   * The `plata.tdesktop-theme` and `plata-lumine.tdesktop-theme` are for light-variant, and `plata-noir.tdesktop-theme` is for dark-variant.
279 >   * Bundled noise-texture images are for *tiled* mode.
280 >   * Telegram support is a W.I.P currently.
281
282Extra Tweetdeck Support
283-----------------------
284 To try "Colordeck for Tweetdeck" extension theming, pass this option:
285
286 ```
287 --enable-tweetdeck      enable Tweetdeck-colordeck support (type: bool)
288 ```
289
290 The installer installs `cdk` files into `Plata*/tweetdeck` directories if Tweetdeck support is enabled.
291 Then open the file via Colordeck -> import > "Colors" -> Choose File.
292
293 > **Note:**
294 >
295 >   * [**Chrome Web Store**](https://chrome.google.com/webstore/detail/colordeck-for-tweetdeck/jgoilgghdiafcdpgaddhfnlnhjhiejjl)
296 >   * [**Firefox Add-ons**](https://addons.mozilla.org/en-US/firefox/addon/colordeck/)
297 >   * Mixed and dark variants are supported.
298 >   * Currently those files support "Colors" only, so enabling "Colors" checkbox is enough.
299
300Extra Air-for-Steam Support
301---------------------------
302 To try "Air for Steam" colors and themes, pass this option (dark-variant only):
303
304 ```
305 --enable-airforsteam      enable Air-for-Steam support (type: bool)
306 ```
307
308 You should veify that you've already installed Air-for-Steam skin to `~/.steam/skins` directory.
309 The installer installs 2 files into `Plata-Noir/airforsteam` directory if Air-for-Steam support is enabled:
310  * Copy `Resource/colors/plata-noir.styles` to `~/.steam/skins/Air-for-Steam-*/Resource/colors` or
311    `~/.steam/skins/Air-for-Steam-*/Resource/colors/user`.
312  * Copy `Resource/themes/_plata-noir.styles` to `~/.steam/skins/Air-for-Steam-*/Resource/themes`.
313
314 Edit `~/.steam/skins/Air-for-Steam-*/config.init` to activate those styles, then restart the Steam app.
315
316Work in Progress
317----------------
318
319TODO
320----
321
322Public License
323--------------
324 * GPLv2.0 (Codebase)
325
326 * CC BY-SA 4.0 (Asset images)
327
328 > **Note:**
329 >
330 > And an icon-theme in Cinnamon thumbnails:
331 > [**Paper Icons**](http://snwh.org/paper/icons) by Sam Hewitt is licensed under CC-SA-4.0.
332
333Donations
334---------
335
336Special Thanks to
337--------------
338 Nana-4, the developer of Materia (formerly Flat-Plat)
339
340 Sam Hewitt, the developer of Paper-icon theme
341

README.window-list

1/****************************************
2 * Override default window-list styling *
3 ****************************************/
4
5Window-list and Gnome-Classic extension can not accept any user-side theming.
6So we need to do hacky file moving to override...
7
81. Verify the proper path of that extension
9
10  In general,
11  `/usr/local/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com/`
12  has these 2 stylesheets:
13    `classic.css`
14    `stylesheet.css`
15
162. Backup those 2 files as something like "xxx.css.org" or "xxx.css.bak".
17
183. Copy Plata's files into that place:
19  * custom files are placed at
20    "/usr/local/share/themes/Plata/gnome-shell/extensions/window-list/classic.css"
21    "/usr/local/share/themes/Plata/gnome-shell/extensions/window-list/stylesheet.css"
22
23  * copy those 2 files into that place.
24
254. Restart Gnome-Shell:
26  * Press "Alt + F2" and then type "r" and hit "Enter" key.
27
28Those methods are needed in every time when window-list extension package was updated.
29