{"id":15720808,"url":"https://github.com/sbakker/adwaita-steven","last_synced_at":"2025-06-23T13:34:17.101Z","repository":{"id":113560292,"uuid":"98192036","full_name":"sbakker/Adwaita-Steven","owner":"sbakker","description":"Make Adwaita Great Again! (Or, at the very least, tweakable.)","archived":false,"fork":false,"pushed_at":"2023-08-06T09:34:39.000Z","size":508,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-13T02:55:27.383Z","etag":null,"topics":["adwaita","adwaita-theme","css-files","dark-themes","gnome","gtk2","gtk3-theme","shades","tweaks"],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sbakker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-24T13:10:38.000Z","updated_at":"2024-10-01T18:28:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"0f21a089-70f2-4768-8d8a-d48f685476f7","html_url":"https://github.com/sbakker/Adwaita-Steven","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sbakker/Adwaita-Steven","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbakker%2FAdwaita-Steven","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbakker%2FAdwaita-Steven/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbakker%2FAdwaita-Steven/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbakker%2FAdwaita-Steven/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbakker","download_url":"https://codeload.github.com/sbakker/Adwaita-Steven/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbakker%2FAdwaita-Steven/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261487343,"owners_count":23166067,"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":["adwaita","adwaita-theme","css-files","dark-themes","gnome","gtk2","gtk3-theme","shades","tweaks"],"created_at":"2024-10-03T22:00:18.260Z","updated_at":"2025-06-23T13:34:12.090Z","avatar_url":"https://github.com/sbakker.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Make Adwaita Great Again!\n\n_... or at least tweakable._\n\n***NOTE: These tweaks are optimised for dark themes only (Zenburn being a dark theme)***\n\nOriginal Adwaita Dark (GNOME 3.36):\n![screenshot](./screens/widget-factory-orig-s.png)\n\nTweaked Adwaita Dark (GNOME 3.36):\n![screenshot](./screens/widget-factory-tweaked-s.png)\n\nThe Adwaita theme is now the default theme for Gnome3 and its \"dark\" version is fine for most uses.\nHowever, I don't agree with all color choices, and would like to add a bit of Zenburn to it (mostly green for highlighting, rather than blue).\n\nGnome2 and Gtk2 used to support setting the `gtk-color-scheme` variable (in `gtkrc`), that allowed color tweaks to stock themes, by changing a limited set of base colors.\n\nSince Gtk3 moved to CSS, this is no longer possible. To make any tweaks, one has to copy the theme files to one's `~/.themes` directory, and modify the colors in the CSS files. That in itself wouldn't be so bad if only the theme were expressed in shades of the base colors. That's not the case, unfortunately. The CSS files of the Adwaita dark theme alone contain 110 unique colors (the light theme 102), each one specified as a literal RGB value.\n\nOf course, what we get in our distributed themes is a compiled version of the Adwaita sources, which I'm sure are full of macros and handy tools. The thing is, I don't want to set up a complete tool chain just to tweak a few colors.\n\nSo, I came up with another approach:\n\n * Define a set of base colors for the theme.\n * Express all other colors as shades of these base colors.\n\nWith that done, a tweak of a single base color *should* modify related colors in a way that is hopefully not too jarring.\n\nAll I can say is, \"it works for me\", but YMMV, and I'm fairly sure the whole thing breaks down when you make extreme color modifications.\n\nSo, below I'll outline what I did, along with instructions on reproducing this.\n\n# Compatibility\n\nWorks for me on:\n\n * GNOME 3.24 through GNOME 3.36 (GTK3)\n * Works for GNOME 3.38 (GTK3/GTK4)\n\n# Requirements\n\n## gnome-tweaks\n\nIn order to select and activate the tweaked theme, you need the `gnome-tweaks` tool installed.\n\n * Fedora/RHEL/CentOS: `sudo dnf install gnome-tweaks`\n * Debian/Ubuntu: `sudo apt install gnome-tweaks`\n\n## gresource\n\nThe `gresource` utility is needed to extract the CSS resources from the compiled Adwaita resource file (either a `.gtkresource` file or the GTK+ 3 shared library).\n\nFor Fedora, `gresource` is included in `glib2-devel`:\n```\nsudo dnf install glib2-devel\n```\n\nFor Debian/Ubuntu, `gresource` is included in `libglib2.0-bin`:\n```\nsudo apt install libglib2.0-bin\n```\n\n# Installation\n\n## Clone the repository\n\nFirst clone the repository to your own environment:\n\n```\nmkdir -p ~/.themes\ncd ~/.themes\ngit clone https://github.com/sbakker/Adwaita-Steven.git Adwaita-Tweaked\ncd Adwaita-Tweaked\n# Needed for pulling in `axxapy`'s `Adwaita-dark-gtk2` theme.\ngit submodule update --init --recursive\n```\n\n## Create the GTK-3 theme\n\n```\ncd ~/.themes/Adwaita-Tweaked\n./make_theme.sh\n```\n\nThis will extract/copy the Adwaita theme to the `Adwaita-Tweaked` directory and modify the CSS files to express all colors as shades of the base colors.\n\nSee the script itself for more details.\n\n## Activating the theme\n\n * Start `gnome-tweaks`\n * In the *Appearance* tab, under *Themes*, the dropdown menu for *Applications* should now contain *Adwaita-Tweaked*\n * Select *Adwaita-Tweaked* for *Applications*\n\n## Customising the theme\n\n### GTK-3\n\nAs mentioned above, the theme is expressed as shades of a limited set of base colors. These base colors are defined in `gtk-3.0/gtk-zenburn-theme-dark.css`. This file contains 25 color definitions, but most color definitions refer to others, and in the end, there are only 7 colors directly expressed as RGB values.\n\nThe `gtk-3.0/gtk-zenburn-overrides-dark.css` contains some overrides for a few applications that don't work well with the tweaked theme, or dark themes in general (Evolution being one of them). You probably don't have to touch this.\n\n### GTK-2\n\nLegacy (GNOME2) applications will use the GTK-2 theme, which can be tweaked by modifying the `gtk-color-scheme` variable in `gtk-2.0/gtkrc`\n\n```\ngtk-color-scheme = \"base_color:#efefef\\nfg_color:#000000\\ntooltip_fg_color:#000000\\nselected_bg_color:#688060\\nselected_fg_color:#ffffff\\ntext_color:#000000\\nbg_color:#dfdfdf\\ninsensitive_bg_color:#F4F4F2\\ntooltip_bg_color:#f5f5b5\"\n```\n\n## Activating theme changes\n\nIf you customise any of the settings above, you will need to reload the theme. The easiest is to use `gnome-tweak` to first change the theme to `Adwaita`, then back to `Adwaita-Tweaked`.\n\n# Implementation Information\n\n## Modifications from original\n\n### index.theme\n\n* Description changes\n\n### Gtk2 theme\n\nUse `axxapy`'s `Adwaita-dark-gtk2` theme as the basis for the Gtk2 dark theme.\n\n  * https://github.com/axxapy/Adwaita-dark-gtk2\n\nThis is set up as a submodule, so if you clone this repository, you need to execute:\n\n```\ngit submodule update --init --recursive\n```\n\n#### gtk-2.0/\n\nMost entries in the `gtk-2.0` directory are symlinks to their counterparts in\nthe `Adwaita-dark-gtk2/gtk-2.0` directory, except one.\n\n##### gtk-2.0/gtkrc\n\n* Add `gtk-color-scheme` variable:\n\n```\ngtk-color-scheme = \"base_color:#efefef\\nfg_color:#000000\\ntooltip_fg_color:#000000\\nselected_bg_color:#688060\\nselected_fg_color:#ffffff\\ntext_color:#000000\\nbg_color:#dfdfdf\\ninsensitive_bg_color:#F4F4F2\\ntooltip_bg_color:#f5f5b5\"\n```\n\n### Gtk3 Theme\n\n#### Additional files in gtk-3.0:\n\n##### Static:\n\n  * `gtk.css`, `gtk-dark.css`:\n\n    Ties together the original Adwaita theme, and the Zenburn-like modifications.  It ensures that:\n\n    * The original Adwaita resources are read.\n    * The Zenburn theme (base) colors are defined.\n    * The Adwaita colors are re-defined as shades of the base colors.\n    * Any overrides on the original Adwaita scheme are applied.\n\n  * `gtk-zenburn-theme.css`, `gtk-zenburn-theme-dark.css`\n\n    Defines the \"theme\" (base) colors of the theme, with the same values as the `gtk-color-scheme` configuration setting above.\n\n  * `gtk-zenburn-overrides.css`, `gtk-zenburn-overrides-dark.css`\n\n    Explicit overrides on top of the Adwaita scheme.\n\n##### Generated:\n\n  * `gtk-color-names.css`, `gtk-color-names-dark.css`\n\n    Contains `@define-color` statements for each and every colour that is specified in the original theme (`gtk-contained.css` and `gtk-contained-dark.css`, resp.). Each unique colour gets its own name, e.g. `#cc0000` is defined as `color1`.\n\n  * `gtk-zenburn-colors.css`, `gtk-zenburn-colors-dark.css`\n\n    Contains the colours in the \"`names`\" files above, expressed as shades of the base theme colors.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbakker%2Fadwaita-steven","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbakker%2Fadwaita-steven","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbakker%2Fadwaita-steven/lists"}