{"id":15720739,"url":"https://github.com/gzgavinzhao/plata-theme","last_synced_at":"2025-05-13T02:49:11.779Z","repository":{"id":65558357,"uuid":"472057214","full_name":"GZGavinZhao/plata-theme","owner":"GZGavinZhao","description":"A GTK 2\u00263 theme based on Material Design Refresh.","archived":false,"fork":false,"pushed_at":"2022-05-21T01:21:42.000Z","size":1344,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T06:02:44.662Z","etag":null,"topics":["desktop","desktop-theme","gtk","gtk2","gtk2-theme","gtk3","gtk3-theme","linux","material-design","theme"],"latest_commit_sha":null,"homepage":"","language":"SCSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GZGavinZhao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-20T17:46:39.000Z","updated_at":"2025-02-25T14:41:41.000Z","dependencies_parsed_at":"2023-01-29T12:31:05.277Z","dependency_job_id":null,"html_url":"https://github.com/GZGavinZhao/plata-theme","commit_stats":null,"previous_names":[],"tags_count":79,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GZGavinZhao%2Fplata-theme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GZGavinZhao%2Fplata-theme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GZGavinZhao%2Fplata-theme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GZGavinZhao%2Fplata-theme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GZGavinZhao","download_url":"https://codeload.github.com/GZGavinZhao/plata-theme/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253862736,"owners_count":21975583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop","desktop-theme","gtk","gtk2","gtk2-theme","gtk3","gtk3-theme","linux","material-design","theme"],"created_at":"2024-10-03T22:00:02.618Z","updated_at":"2025-05-13T02:49:11.761Z","avatar_url":"https://github.com/GZGavinZhao.png","language":"SCSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e Please be aware that I'm migrating this project from Automake to CMake, so\n\u003e dependencies and options may change.\n\u003e \n\u003e The most notable difference is that we're using Dart Sass instead of\n\u003e `libsass`. View [here](https://sass-lang.com/install) for info on how to get\n\u003e it. If you don't want to install it globally, I tried to use `npm` to install\n\u003e a local version without modifying your path if CMake can't find Dart Sass. If\n\u003e that doesn't work, open an issue.\n\u003e\n\u003e Lastly, for now CMake only covers Gtk 3-4, not even Gnome Shell. To build a\n\u003e copy equivalent to Solus', use the following:\n\u003e ```\n\u003e cmake -B build -DCMAKE_INSTALL_PREFIX=/usr -DSELECTION_COLOR=#5294e2 -DACCENT_COLOR=#84beea -DSUGGESTION_COLOR=#4fa2e1 -DDESTRUCTION_COLOR=#f05f7e\n\u003e cmake --build build\n\u003e sudo make -C build install\n\u003e ```\n\u003e\n\u003e Feel free to report any problem you encountered during this process. I\n\u003e recommend you to keep the distribution-provided `plata-theme` installed, so\n\u003e that at least your system would have a fall-back option in case something is\n\u003e missing.\n\n\u003cimg src=\".gitlab/logo_thumb_small.png\" alt=\"Logo\" align=\"left\" width=\"85\" height=\"85\"/\u003e\n\n### Plata-theme\n\nA Gtk theme based on Material Design Refresh.\n\n----------------------------------------------\n\nTypography\n----------\n\nPlata strongly depends on Material Design resources, especially its **fonts**.\n\n 1. [**Roboto**](https://fonts.google.com/specimen/Roboto)\n   - Very famous as the default truetype font in Android (English ver.).\n   - Multilingual support is not good.\n   - Weight used in Plata: 300, 400, 500, 700\n\n| |Primary|Fallback|\n|:-----|:-----:|:-----:|\n|Gnome-Shell =\u003c 3.34|**Roboto**|Sans-serif|\n|Gnome-Shell \u003e= 3.36|follow system settings||\n|Cinnamon   |**Roboto**|Sans-serif|\n\nPlata is designed with nominal **13px (or 14px)** Roboto Regular font.\nIn Gnome, \"window-scaling-factor = 1.0\" means `-gtk-dpi = 96`, it also means:\n  ```\n  13 [px] x 72 [pt/inch] / 96 [px/inch] = 9.75 [pt]\n  14 [px] x 72 [pt/inch] / 96 [px/inch] = 10.5 [pt]\n  ```\nThat's the reason why `13.33px = 10pt` is used for rem/px conversion in Gtk 3.2x/4.0 theming.\n\n\u003e **Note:**\n\u003e\n\u003e 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.\n\n**Verify the fonts are rendered correctly via font-viewer tools like Gnome-Font-Viewer.**\n\nRequired Components\n-------------------\nPlata supports Gtk 2.24.x, 3.20.x, 3.22.x and 3.24.x.\n\n ```\n * Gtk-3.0             \u003e= 3.20.0\n * Gtk-2.0             \u003e= 2.24.30\n * gtk2-engines-pixbuf  \u003e= 2.24.30\n * gtk2-engines-murrine \u003e= 0.98.1\n ```\n\nSupported Desktop Environments\n------------------------------\n\n ```\n * GNOME-Shell     \u003e= 3.20.0\n * GNOME-Flashback \u003e= 3.20\n * Budgie-Desktop  \u003e= 10.4\n * Cinnamon        \u003e= 3.2.0\n * XFce4           \u003e= 4.12.2\n * Mate            \u003e= 1.22 (Marco \u003e= 1.22.2)\n * LXDE            \u003e= 0.99.1 (Gtk 2.x only)\n ```\n\nUnsupported Gtk Based Desktop(s)\n-------------------------------\n * Pantheon\n * Unity7\n * Gnome-Shell customed by downstream (Ubuntu session, Pop! OS ...etc)\n\n \u003e **Note:**\n \u003e\n \u003e   * Plata does NOT support elementaryOS.\n\nInstallation from Package(s)\n----------------------------\n * Arch (AUR): [**plata-theme**](https://aur.archlinux.org/packages/plata-theme)\n * OpenSUSE: [**Official repository**](https://software.opensuse.org/package/plata-theme)\n * Solus: Official repository\n * Void: [**Official repository**](https://github.com/void-linux/void-packages/tree/master/srcpkgs/plata-theme)\n * Flatpak: Official flathub repository (current package branch = **3.22**)\n * Fedora (Copr): [**tonyjames/plata-theme**](https://copr.fedorainfracloud.org/coprs/tonyjames/plata-theme/) \n * My Personal Package Archives (PPA): [**plata-theme**](https://launchpad.net/~tista/+archive/ubuntu/plata-theme)\n\nInstallation from Git Source\n----------------------------\n1. If previous versions were installed/existed, remove them first.\n\n ```\n sudo rm -rf /usr/share/themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}\n sudo rm -rf /usr/local/share/themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}\n rm -rf ~/.local/share/themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}\n rm -rf ~/.themes/{Plata,Plata-Compact,Plata-Lumine,Plata-Lumine-Compact,Plata-Noir,Plata-Noir-Compact}\n ```\n\n2. Check build-requirements:\n Currently Plata bundles neither pre-generated stylesheets nor PNG images.\n So users and/or contributors should generate proper CSSs, PNGs and gresources at build-time.\n\n ```\n * autoconf\n * automake\n * inkscape                                  \u003e= 0.91\n * libgdk-pixbuf2.0-dev (gdk-pixbuf2-devel)  \u003e= 2.32.2\n * libglib2.0-dev (glib2-devel)              \u003e= 2.48.0\n * libxml2-utils (libxml2)\n * pkg-config (pkgconfig)\n * sassc                                     \u003e= 3.3\n\n * libmarco-dev (marco-devel)                \u003e= 1.22.2 (if --enable-mate)\n\n * parallel                                  (if --enable-parallel)\n * zip                                       (if --enable-telegram)\n ```\n\n \u003e **Note:**\n \u003e\n \u003e   * In OpenSUSE, add an extra dependency:\n \u003e\n \u003e     ```\n \u003e     gdk-pixbuf-devel        \u003e= 2.32.2\n \u003e     ```\n \u003e\n \u003e   * Plata employs **SassC** wrapper of `libsass` to generate CSS stylesheets.\n \u003e   * Plata uses `inkscape` to generate installable PNG files.\n \u003e   * Plata uses `glib-compile-resources` to compile the gresource files for Gtk and Gnome-Shell.\n \u003e   * `glib-2.0 \u003e= 2.53`, Gnome-Shell 3.26 theming is used if `--enable-gnome`.\n\n3. Build and install system-wide:\n\n ```\n ./autogen.sh --prefix=/usr\n make\n sudo make install\n ```\n\n \u003e **Note:**\n \u003e\n \u003e   * Default prefix is `/usr/local`.\n \u003e   * All 6 variants are installed by default.\n \u003e   * `make` generates proper CSSs and PNGs to be installed.\n \u003e     It will take about 5min to 15min to build.\n \u003e     For example, Ubuntu's build-server takes 10min.\n \u003e   * `sudo make install` installs multiple versioned theme and Gtk automatically selects the properly versioned one when running.\n\n4. To speed up by using concurrency-build, pass this specific option to `autogen.sh`:\n\n ```\n --enable-parallel       enable parallel-build support (type: bool)\n ```\n\n \u003e **Note:**\n \u003e\n \u003e   * This feature requires GNU `parallel`, so please add `parallel` to build-requirements.\n \u003e     Parallel can execute multiple scripts and binaries to be suitable for multi-threading.\n \u003e     It could especially shorten the rendering-time via `inkscape`.\n \u003e   * `-jN` option to be passed to GNU `make` is surely usable, but Plata currently employs `parallel`.\n \u003e   * This feature should not be applied when packaging on remote/shared build-servers.\n\n5. To disable some DE supports, pass these specific options to `autogen.sh`:\n\n ```\n --disable-gnome         disable gnome-shell support (type: bool)\n --disable-cinnamon      disable cinnamon support (type: bool)\n --disable-flashback     disable flashback support (type: bool)\n --disable-xfce          disable xfce support (type: bool)\n --disable-mate          disable mate support (type: bool)\n --disable-openbox       disable openbox support (type: bool)\n ```\n\n \u003e **Note:**\n \u003e\n \u003e   * The installer installs Budgie-Desktop support even if all of options above were applied.\n \u003e   * Cinnamon/Mate support hooks metacity-1 directory even if GNOME-Flashback support was disabled.\n\n6. To enable extra Gtk release support, pass these options:\n\n ```\n --enable-gtk_next      enable Gtk 4.0 support (type: bool)\n ```\n\n7. To change the default 4 **Key-Colors**, pass these options:\n\n ```\n --with-selection_color        Primary color for 'selected-items' (Default: #3f51b5 = Indigo500, type: string)\n --with-accent_color           Secondary color for notifications and OSDs (Default: #7986cb = Indigo300, type: string)\n --with-suggestion_color       Secondary color for 'suggested' buttons (Default: #673ab7 = DPurple500, type: string)\n --with-destruction_color      Tertiary color for 'destructive' buttons (Default: #f44336 = Red500, type: string)\n ```\n\n \u003e **Note:**\n \u003e\n \u003e   * Color-codes are defined as `#` + 6-digit `HEX`s (Standard RGB definitions in HTML codes).\n \u003e   * The Material Design Color Palette can be found [**here**](https://www.google.com/design/spec/style/color.html#color-color-palette).\n \u003e   * Example: If you would like to use 'Teal500' as selection_color, use this:\n \u003e\n \u003e     bash:\n \u003e\n \u003e     ```./autogen.sh --with-selection_color=#009688```\n \u003e\n \u003e     zsh with extended_glob:\n \u003e\n \u003e     ```./autogen.sh --with-selection_color='#009688'```\n \u003e\n \u003e     This switchese the theme to Teal selection colors.\n \u003e   * Basically `selection_color` and `suggestion_color` should use `500` colors,\n \u003e     and `accent_color` should use `300` colors.\n \u003e   * While doing `make`, Plata changes those 4 colors in all stylesheets and images,\n \u003e     and `make clean` cleans up all generated files from source directories.\n\nGtkSourceView/Gedit Color Scheme Support\n----------------------------------------\n 2 theme files `plata-light.xml` and `plata-dark.xml` are installed by default into `Plata*/gtksourceview` directories.\n\n \u003e **Note:**\n \u003e\n \u003e   * The color-scheme can be used in Gnome-Builder, Gnome-Sushi, Meld and Gedit if installed to \n \u003e     `~/.local/share/gtksourceview-3.0/styles` or `~/.local/share/gtksourceview-4/styles` directory.\n\nExtra Browser Support\n---------------------\nTo try our color samples for FirefoxColor test pilot, check these URLs:\n\n  1. [**Plata**](https://color.firefox.com/?theme=XQAAAAL8AAAAAAAAAABBKYhm849SCia2CaaEGccwS-xNKliFvd9NUAF6ENY3kBjKL2oHo45W2-O_o0hH8v9jyb1gPLS8xyg320t5BtQBRbshC37eqwUpEtrNzUXzzCCGCEnPVujOpTgJBqePqVNh4q1nxYUIdLIFaoaGFtpU8UGWTHdYK89VREGS2_uycyNkLyT_fUsp3rt8085FMcIrk2zP6zlQ8nXHifYExWUlXde95kD4F3H_cvgAAA)\n\n  2. [**Plata-Lumine**](https://color.firefox.com/?theme=XQAAAAL8AAAAAAAAAABBKYhm849SCia2CaaEGccwS-xNKliFvd9NUAF6ENY3kBjKL2oHo45W2-O_o0hH8v9jyb1gPLS8xyg3NbO0xf8CWW1IQ-VFBeST-c2ya550Jq-AJT3qXk84PCZgv4Q1Ip6G8KMxah3hVdR8-Zr9ze0kGqgOtR7bn1Nps1cYGNzQQkA8ajSLlQnjaMNzy_Cgfm6TGsTtSGCZPEHAaGevqPSrPV7L_8f2AAA)\n\n  3. [**Plata-Noir**](https://color.firefox.com/?theme=XQAAAAL8AAAAAAAAAABBKYhm849SCia2CaaEGccwS-xNKlhR4U3ii01izoNSwV8EzxA9i34l-h9kNzmmbht5egIz1VwqGu4asy3bC0Iu-fSfcIJAVAwKwUYrdnMCFPHjDRh3WIEk3D10l1b0yhJ2JJ4iidXrDdOeHtPXECgT4mWPRinIv4rInTDn_LmydH4PXIv_OPeKQZiffADmQZvxlSWtpsLQfUznQX8sEtOtxfBaEVM7_-LnUAA)\n\n \u003e **Note:**\n \u003e\n \u003e   * We no longer support \"Normal\" UI layout in Chrome(ium). Use \"Refresh\" instead.\n \u003e\n \u003e   * Vivaldi can make custom themes via settings like these:\n \u003e     ```\n \u003e     Background: #F8F8F8 (#1D1D1D)\n \u003e     Foreground: #111111 (#F5F5F5)\n \u003e     Highlight:  #3F51B5\n \u003e     Accent:     #E7E7E7 (#080808)\n \u003e     Accent Color from Active Page: [ ]\n \u003e     Apply Accent Color to Window:  [*]\n \u003e     Transparent Tabs:              [*]\n \u003e     Corner Rounding:               2px\n \u003e     ```\n\nExtra Dock Support\n------------------\n To try \"Plank\" theming, pass this option:\n\n ```\n --enable-plank         enable Plank support (type: bool)\n ```\n\n Then select `Gtk` via `plank --preferences`.\n\n \u003e **Note:**\n \u003e\n \u003e   * Both Plata and Plata-Noir shares the dark theming, Plata-Lumine uses light theming.\n \u003e   * Don't expect too much. Plank is NOT a themeable widget for me!\n\nExtra Compositor Support\n------------------------\n 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.\n\n 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.\n\nExtra Telegram Support\n----------------------\n To try \"Telegram 1.0\" theming, pass this option:\n\n ```\n --enable-telegram      enable Telegram 1.0 support (type: bool)\n ```\n\n The installer installs compressed `tdesktop-theme` files into `Plata*/telegram` directories if Telegram support is enabled.\n Then open the file via Telegram \u003e Main Menu \u003e Settings \u003e Chat background \u003e Choose from file.\n\n \u003e **Note:**\n \u003e\n \u003e   * The `plata.tdesktop-theme` and `plata-lumine.tdesktop-theme` are for light-variant, and `plata-noir.tdesktop-theme` is for dark-variant.\n \u003e   * Bundled noise-texture images are for *tiled* mode.\n \u003e   * Telegram support is a W.I.P currently.\n\nExtra Tweetdeck Support\n-----------------------\n To try \"Colordeck for Tweetdeck\" extension theming, pass this option:\n\n ```\n --enable-tweetdeck      enable Tweetdeck-colordeck support (type: bool)\n ```\n\n The installer installs `cdk` files into `Plata*/tweetdeck` directories if Tweetdeck support is enabled.\n Then open the file via Colordeck -\u003e import \u003e \"Colors\" -\u003e Choose File.\n\n \u003e **Note:**\n \u003e\n \u003e   * [**Chrome Web Store**](https://chrome.google.com/webstore/detail/colordeck-for-tweetdeck/jgoilgghdiafcdpgaddhfnlnhjhiejjl)\n \u003e   * [**Firefox Add-ons**](https://addons.mozilla.org/en-US/firefox/addon/colordeck/)\n \u003e   * Mixed and dark variants are supported.\n \u003e   * Currently those files support \"Colors\" only, so enabling \"Colors\" checkbox is enough.\n\nExtra Air-for-Steam Support\n---------------------------\n To try \"Air for Steam\" colors and themes, pass this option (dark-variant only):\n\n ```\n --enable-airforsteam      enable Air-for-Steam support (type: bool)\n ```\n\n You should veify that you've already installed Air-for-Steam skin to `~/.steam/skins` directory.\n The installer installs 2 files into `Plata-Noir/airforsteam` directory if Air-for-Steam support is enabled:\n  * Copy `Resource/colors/plata-noir.styles` to `~/.steam/skins/Air-for-Steam-*/Resource/colors` or\n    `~/.steam/skins/Air-for-Steam-*/Resource/colors/user`.\n  * Copy `Resource/themes/_plata-noir.styles` to `~/.steam/skins/Air-for-Steam-*/Resource/themes`.\n\n Edit `~/.steam/skins/Air-for-Steam-*/config.init` to activate those styles, then restart the Steam app.\n\nWork in Progress\n----------------\n\nTODO\n----\n\nPublic License\n--------------\n * GPLv2.0 (Codebase)\n\n * CC BY-SA 4.0 (Asset images)\n\n \u003e **Note:**\n \u003e\n \u003e And an icon-theme in Cinnamon thumbnails:\n \u003e [**Paper Icons**](http://snwh.org/paper/icons) by Sam Hewitt is licensed under CC-SA-4.0.\n\nDonations\n---------\n\nSpecial Thanks to\n--------------\n Nana-4, the developer of Materia (formerly Flat-Plat)\n\n Sam Hewitt, the developer of Paper-icon theme\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgzgavinzhao%2Fplata-theme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgzgavinzhao%2Fplata-theme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgzgavinzhao%2Fplata-theme/lists"}