New framework
10
.gitignore
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
.DS_store
|
||||
.sass-cache
|
||||
_theme-options-temp.scss
|
||||
*.css.map
|
||||
src/main/gtk-3.0/gtk*.css
|
||||
src/main/cinnamon/cinnamon*.css
|
||||
src/main/gnome-shell/gnome-shell*.css
|
||||
src/main/gnome-shell/gdm3*.css
|
||||
src/other/dash-to-dock/stylesheet.css
|
||||
src/other/dash-to-dock/stylesheet-dark.css
|
83
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,83 @@
|
|||
# WhiteSur GTK theme
|
||||
|
||||
## Summary
|
||||
|
||||
- Do not edit the CSS directly, edit the source SCSS files and process them with SASS (run
|
||||
`./parse-sass.sh` when you have the required software installed, as described below)
|
||||
- To be able to use the latest/adequate version of sass, install sassc.
|
||||
|
||||
## How to tweak the theme
|
||||
|
||||
WhiteSur (highly infuenced by Adwaita) is a complex theme, so to keep it maintainable, it's written
|
||||
and processed in SASS. The generated CSS is then transformed into a gresource file during gtk build
|
||||
and used at runtime in a non-legible or editable form.
|
||||
|
||||
It is very likely your change will happen in the _common.scss file. That's where all the widget
|
||||
selectors are defined. Here's a rundown of the "supporting" stylesheets, that are unlikely to be the
|
||||
right place for a drive by stylesheet fix:
|
||||
|
||||
_colors.scss - global color definitions. We keep the number of defined colors to a necessary minimum,
|
||||
most colors are derived from a handful of basics. It covers both the light variant and
|
||||
the dark variant.
|
||||
|
||||
_colors-public.scss - SCSS colors exported through gtk to allow for 3rd party apps color mixing.
|
||||
|
||||
_drawing.scss - drawing helper mixings/functions to allow easier definition of widget drawing under
|
||||
specific context. This is why Adwaita isn't 15000 LOC.
|
||||
|
||||
_common.scss - actual definitions of style for each widget. This is where you are likely to add/remove
|
||||
your changes.
|
||||
|
||||
You can read about SASS at http://sass-lang.com/documentation/. Once you make your changes to the
|
||||
_common.scss file, you can either run the ./parse-sass.sh script or keep SASS watching for changes as you
|
||||
edit.
|
||||
|
||||
|
||||
# WhiteSur Firefox theme
|
||||
A MacOS Big Sur theme for Firefox 70+
|
||||
|
||||
## Known bugs
|
||||
|
||||
### CSD have sharp corners
|
||||
See upstream [bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1408360).
|
||||
|
||||
### Icons color broken
|
||||
Icons might appear black where they should be white on some systems. I have no idea why, but you can adjust them in the `theme/colors/light.css` or `theme/colors/dark.css` files, look for `--gnome-icons-hack-filter` var and play with css filters.
|
||||
|
||||
## Development
|
||||
|
||||
If you wanna mess around the styles and change something, you might find these
|
||||
things useful.
|
||||
|
||||
To use the Inspector to debug the UI, open the developer tools (F12) on any
|
||||
page, go to options, check both of those:
|
||||
|
||||
- Enable browser chrome and add-on debugging toolboxes
|
||||
- Enable remote debugging
|
||||
|
||||
Now you can close those tools and press Ctrl+Alt+Shift+I to Inspect the browser
|
||||
UI.
|
||||
|
||||
Also you can inspect any GTK3 application, for example type this into a terminal
|
||||
and it will run Epiphany with the GTK Inspector, so you can check the CSS styles
|
||||
of its elements too.
|
||||
|
||||
```sh
|
||||
GTK_DEBUG=interactive epiphany
|
||||
```
|
||||
|
||||
Feel free to use any parts of my code to develop your own themes, I don't force
|
||||
any specific license on your code.
|
||||
|
||||
## Credits
|
||||
Developed by **Rafael Mardojai** and [contributors](https://github.com/rafaelmardojai/firefox-gnome-theme/graphs/contributors). Based on **[Sai Kurogetsu](https://github.com/kurogetsusai/firefox-gnome-theme)** original work.
|
||||
|
||||
# WhiteSur GDM and GNOME Shell theme
|
||||
## Known bugs
|
||||
### Can't change GDM background on OpenSUSE Tumbleweed
|
||||
See upstream [bug](https://github.com/juhaku/loginized#known-limitations-and-issues).
|
||||
|
||||
## Features under development
|
||||
### GNOME 40 support
|
||||
We currently disable the GDM and GNOME Shell theme installation while we're
|
||||
developing them for GNOME 40
|
33
HACKING
|
@ -1,33 +0,0 @@
|
|||
Summary
|
||||
-------
|
||||
|
||||
* Do not edit the CSS directly, edit the source SCSS files and process them with SASS (run
|
||||
`./parse-sass.sh` when you have the required software installed, as described below)
|
||||
* To be able to use the latest/adequate version of sass, install sassc.
|
||||
|
||||
How to tweak the theme
|
||||
----------------------
|
||||
|
||||
Adwaita is a complex theme, so to keep it maintainable, it's written and processed in SASS. The
|
||||
generated CSS is then transformed into a gresource file during gtk build and used at runtime in a
|
||||
non-legible or editable form.
|
||||
|
||||
It is very likely your change will happen in the _common.scss file. That's where all the widget
|
||||
selectors are defined. Here's a rundown of the "supporting" stylesheets, that are unlikely to be the
|
||||
right place for a drive by stylesheet fix:
|
||||
|
||||
_colors.scss - global color definitions. We keep the number of defined colors to a necessary minimum,
|
||||
most colors are derived from a handful of basics. It covers both the light variant and
|
||||
the dark variant.
|
||||
|
||||
_colors-public.scss - SCSS colors exported through gtk to allow for 3rd party apps color mixing.
|
||||
|
||||
_drawing.scss - drawing helper mixings/functions to allow easier definition of widget drawing under
|
||||
specific context. This is why Adwaita isn't 15000 LOC.
|
||||
|
||||
_common.scss - actual definitions of style for each widget. This is where you are likely to add/remove
|
||||
your changes.
|
||||
|
||||
You can read about SASS at http://sass-lang.com/documentation/. Once you make your changes to the
|
||||
_common.scss file, you can either run the ./parse-sass.sh script or keep SASS watching for changes as you
|
||||
edit.
|
308
README.md
|
@ -1,145 +1,217 @@
|
|||
<img src="https://github.com/vinceliuice/Sierra-gtk-theme/blob/imgs/logo.png" alt="Logo" align="right" /> WhiteSur Gtk Theme
|
||||
======
|
||||
<h1 align="center"> WhiteSur GTK Theme </h1>
|
||||
<p align="center"> <img src="docs/macbook.png"/> </p>
|
||||
|
||||
WhiteSur is a MacOS Big Sur like theme for GTK 3, GTK 2 and Gnome-Shell which supports GTK 3 and GTK 2 based desktop environments like Gnome, Pantheon, XFCE, Mate, etc.
|
||||
<br>
|
||||
**<p align="center"> A macOS BigSur-like theme for your GTK apps </p>**
|
||||
<br>
|
||||
|
||||
## Requirements
|
||||
### GTK2 Murrine engine requirements.
|
||||
# Installation is easy!
|
||||
<details> <summary> Required dependencies info for nerds </summary>
|
||||
|
||||
- gtk-murrine-engine `Fedora/RedHat`
|
||||
- gtk2-engines-murrine `Ubuntu/Mint/Debian`
|
||||
- gtk-engine-murrine `Arch/Manjaro`
|
||||
|
||||
### GTK2 pixbuf engine requirements.
|
||||
|
||||
- gtk2-engines `Fedora/RedHat`
|
||||
- gtk2-engines-pixbuf `Ubuntu/Mint/Debian`
|
||||
- gtk-engines `Arch/Manjaro`
|
||||
|
||||
### Installed Dependency requirements.
|
||||
|
||||
- sassc
|
||||
- optipng
|
||||
- inkscape
|
||||
- imagemagick
|
||||
- dialog
|
||||
- optipng (optional for asset rendering)
|
||||
- inkscape (optional for asset rendering)
|
||||
- libglib2.0-dev-bin `ubuntu 20.04`
|
||||
- libglib2.0-dev `ubuntu 18.04` `debian 10.03` `linux mint 19`
|
||||
- libxml2-utils `ubuntu 18.04` `debian 10.03` `linux mint 19`
|
||||
- glib2-devel `Fedora` `Redhat`
|
||||
|
||||
## Installation
|
||||
Don't worry, WhiteSur installer already provides all of those dependencies.
|
||||
</details>
|
||||
|
||||
### From source
|
||||
## Quick install
|
||||
You can run `./install.sh` to install the default WhiteSur GTK theme pack which includes
|
||||
GNOME Shell (Pantheon), Cinnamon, XFWM (XFCE), Metacity, and Plank themes.
|
||||
|
||||
After all dependencies are installed, you can run:
|
||||
```bash
|
||||
./install.sh
|
||||
```
|
||||
#### Install tips
|
||||
## There's so many customizations you can do!
|
||||
Usage: `./install.sh [OPTIONS...]`
|
||||
|
||||
Usage: `./install.sh` **[OPTIONS...]**
|
||||
### <p align="center" > Change theme color and accent </p>
|
||||
<p align="center"> <img src="docs/colors-themes.png"/> </p>
|
||||
|
||||
| OPTIONS: | |
|
||||
|:--------------------|:-------------|
|
||||
|-d, --dest | Specify theme destination directory (Default: $HOME/.themes)|
|
||||
|-n, --name | Specify theme name (Default: WhiteSur)|
|
||||
|-c, --color | Specify theme color variant(s) **[light/dark]** (Default: All variants)|
|
||||
|-o, --opacity | Specify theme opacity variant(s) **[standard/solid]** (Default: All variants)|
|
||||
|-a, --alt | Specify titlebutton variant(s) **[standard/alt/all]** (Default: standard variant)|
|
||||
|-t, --theme | Specify primary theme color variant(s) **[default/blue/purple/pink/red/orange/yellow/green/grey/all]** (Default: MacOS blue)|
|
||||
|-p, --panel | Change the panel opacty **[default/25/35/45/55/65/75/85]** (Default: 16)|
|
||||
|-s, --size | Change the nautilus sidebar width size **[default/220/240/260/280]** (Default: 200px)|
|
||||
|-i, --icon | Activities icon variant(s) **[standard/normal/gnome/ubuntu/arch/manjaro/fedora/debian/void]** (Default: standard variant)|
|
||||
|-g, --gdm | Install GDM theme, you should run this with sudo!|
|
||||
|-r, --remove | Remove theme, this will remove all installed themes!|
|
||||
|--dialog | Run terminal dialog, this will Run terminal dialog to install themes!|
|
||||
|--nautilus-use-colors| Change the nautilus sidebar style to Mojave like |
|
||||
|-h, --help | Show this help|
|
||||
#### Install theme color
|
||||
Parameter: `--color` `-c` (repeatable)
|
||||
|
||||
### <p align="center" > 1. Change primary theme color </p>
|
||||
If you want to change primary theme color! (Default color is MacOS blue)
|
||||
then you can run: `for example`
|
||||
```bash
|
||||
./install.sh -t green # Install green primary(accent) color version
|
||||
|
||||
./install.sh -c dark -o solid -t all # Install All primary(accent) color dark solid versions
|
||||
```
|
||||
![1](https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/pictures/pictures/install-tip-01.png)
|
||||
|
||||
### <p align="center" > 2. Install GDM theme </p>
|
||||
If you want to install GDM theme!
|
||||
then you can run: `for example`
|
||||
```bash
|
||||
sudo ./install.sh -g # install default dark version
|
||||
|
||||
sudo ./install.sh -g -c light # install light version
|
||||
|
||||
sudo ./install.sh -g -r # remove installed GDM theme
|
||||
```
|
||||
![2](https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/pictures/pictures/install-tip-02.png)
|
||||
|
||||
### <p align="center" > 3. Change nautilus sidebar width size </p>
|
||||
If you want to change nautilus sidebar width size! (Default size is 200px)
|
||||
(Nautilus cannot change the structure of the sidebar, so I added a picture as a background to achieve the effect of bigsur)
|
||||
then you can run: 'for example'
|
||||
```bash
|
||||
./install.sh -s 260 # Install 260px width version
|
||||
```
|
||||
![3](https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/pictures/pictures/install-tip-03.png)
|
||||
|
||||
### <p align="center" > 4. Change gnome-shell activities icon </p>
|
||||
If you want to change gnome-shell activities icon! (Default icon is Apple)
|
||||
then you can run: `for example`
|
||||
```bash
|
||||
./install.sh -i manjaro # Install Manjaro icon
|
||||
```
|
||||
![4](https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/pictures/pictures/install-tip-04.png)
|
||||
|
||||
### <p align="center" > 5. Change nautilus sidebar style </p>
|
||||
If you want to use Mojave like sidebar style! (Default is Big Sur style)
|
||||
then you can run:
|
||||
```bash
|
||||
./install.sh --nautilus-use-colors
|
||||
```
|
||||
![5](https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/pictures/pictures/install-tip-05.png)
|
||||
|
||||
### Fix For Flatpak apps
|
||||
Just run this:
|
||||
Example:
|
||||
|
||||
```bash
|
||||
sudo flatpak override --filesystem=~/.themes
|
||||
./install.sh -c light # install light theme color only
|
||||
./install.sh -c dark -c light # install dark and light theme colors
|
||||
```
|
||||
|
||||
### On Snapcraft
|
||||
#### Install theme accent
|
||||
Parameter: `--theme` `-t` (repeatable)
|
||||
|
||||
<a href="https://snapcraft.io/whitesur-gtk-theme">
|
||||
<img alt="Get it from the Snap Store" src="https://snapcraft.io/static/images/badges/en/snap-store-black.svg" />
|
||||
</a>
|
||||
|
||||
You can install the theme from the Snap Store, or by running:
|
||||
Example:
|
||||
|
||||
```bash
|
||||
sudo snap install whitesur-gtk-theme
|
||||
```
|
||||
To connect the theme to an app, run:
|
||||
```bash
|
||||
sudo snap connect [other snap]:gtk-3-themes whitesur-gtk-theme:gtk-3-themes
|
||||
```
|
||||
```bash
|
||||
sudo snap connect [other snap]:icon-themes whitesur-gtk-theme:icon-themes
|
||||
```
|
||||
To connect the theme to all apps which have available plugs to gtk-common-themes, you can run:
|
||||
```bash
|
||||
for i in $(snap connections | grep gtk-common-themes:gtk-3-themes | awk '{print $2}'); do sudo snap connect $i whitesur-gtk-theme:gtk-3-themes; done
|
||||
./install.sh -t red # install red theme accent only
|
||||
./install.sh -t red -t green # install red and green theme accents
|
||||
./install.sh -t all # install all available theme accents
|
||||
```
|
||||
|
||||
### Suggested themes
|
||||
| Suggested themes | Links | Preview |
|
||||
|:--------------------|:-------------|:-------------|
|
||||
| Kde theme | [WhiteSur-kde](https://github.com/vinceliuice/WhiteSur-kde)| ![kde](https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/pictures/pictures/whitesur-kde-theme.png) |
|
||||
| Icon theme | [WhiteSur-icon](https://github.com/vinceliuice/WhiteSur-icon-theme)| ![icon](https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/pictures/pictures/whitesur-icon-theme.png) |
|
||||
| Wallpaper | [WhiteSur wallpaper](https://github.com/vinceliuice/WhiteSur-kde/tree/master/wallpaper)| ![wallpaper](https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/pictures/pictures/whitesur-wallpaper.png) |
|
||||
| Firefox theme | [WhiteSur firefox theme](src/other/firefox)| ![firefox](https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/pictures/pictures/firefox-theme.png) |
|
||||
| Dash to Dock theme | [WhiteSur dash-to-dock theme](src/other/dash-to-dock)| ![firefox](https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/pictures/pictures/dash-to-dock.png) |
|
||||
### <p align="center" > Change Nautilus sidebar minimum width </p>
|
||||
<p align="center"> <img src="docs/sidebars.png"/> </p>
|
||||
|
||||
## Theme Preview
|
||||
![gtk](https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/pictures/pictures/preview-gtk.png)
|
||||
Parameter: `--sidebar` `-s`
|
||||
|
||||
Example: `./install.sh -s 220`
|
||||
|
||||
|
||||
### <p align="center" > Change GNOME Shell 'Activities' icon </p>
|
||||
<p align="center"> <img src="docs/icons.png"/> </p>
|
||||
|
||||
Parameter: `--icon` `-i`
|
||||
|
||||
Example: `./install.sh -i fedora`
|
||||
|
||||
|
||||
### <p align="center" > Change Nautilus style </p>
|
||||
<p align="center"> <img src="docs/nautilus.png"/> </p>
|
||||
|
||||
Parameter: `--nautilus-style` `-N`
|
||||
|
||||
Example: `./install.sh -N mojave`
|
||||
|
||||
|
||||
### <p align="center" > Explore more customization features! </p>
|
||||
You can run `./install.sh -h` to explore more customization features we have
|
||||
like changing panel opacity, theme opacity (normal and solid variant), window
|
||||
control button variant, etc.
|
||||
|
||||
|
||||
# Let's tweak!
|
||||
Usage: `./tweaks.sh [OPTIONS...]`
|
||||
|
||||
## There's more themes you can try!
|
||||
### <p align="center" > Install and edit Firefox theme </p>
|
||||
<p align="center"> <img src="docs/firefox.png"/> </p>
|
||||
|
||||
#### Install Firefox theme
|
||||
Parameter: `--firefox` `-f`
|
||||
|
||||
Example: `./tweaks.sh -f`
|
||||
|
||||
#### Edit Firefox theme
|
||||
Parameter: `--edit-firefox` `-e`
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
./tweaks.sh -f -e # install and edit Firefox theme
|
||||
./tweaks.sh -e -f # it's reversible!
|
||||
./tweaks.sh -e # edit the installed Firefox theme
|
||||
```
|
||||
|
||||
### <p align="center" > Install and customize Dash to Dock theme </p>
|
||||
<p align="center"> <img src="docs/dash-to-dock.png"/> </p>
|
||||
|
||||
#### Install Dash to Dock theme
|
||||
Parameter: `--dash-to-dock` `-d`
|
||||
|
||||
Example: `./tweaks.sh -d`
|
||||
|
||||
#### Change its color
|
||||
Parameter: `--color` `-c`
|
||||
|
||||
Example: `./tweaks.sh -d -c dark`
|
||||
|
||||
### <p align="center" > Install and customize GDM theme </p>
|
||||
<p align="center"> <img src="docs/gdm.png"/> </p>
|
||||
|
||||
#### Install GDM theme
|
||||
Parameter: `--gdm` `-g` (requires to be ran as root)
|
||||
|
||||
Example: `sudo ./tweaks.sh -g`
|
||||
|
||||
#### Change the background
|
||||
Parameter: `--background` `-b`
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
sudo ./tweaks.sh -g -b "my picture.jpg" # use the custom background
|
||||
sudo ./tweaks.sh -g -b default # use the default background
|
||||
sudo ./tweaks.sh -g -b blank # make it blank
|
||||
```
|
||||
|
||||
#### Make the background darker
|
||||
Parameter: `--darken` `-D`
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
sudo ./tweaks.sh -g -D # darken the default background
|
||||
sudo ./tweaks.sh -g -D -b "wallpapers/snow.jpg" # darken the custom background
|
||||
```
|
||||
|
||||
#### Don't blur the background
|
||||
Parameter: `--no-blur` `-n`
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
sudo ./tweaks.sh -g -n # don't blur the default background
|
||||
sudo ./tweaks.sh -g -n -b "wallpapers/rocks.jpg" # don't blur the custom background
|
||||
```
|
||||
|
||||
#### Do more GDM customizations
|
||||
You can do [the similar customization features in `./install.sh`]
|
||||
(#explore-more-customization-features) like changing theme color
|
||||
(dark and light variant) and accent, GNOME Shell 'Activities' icon, etc.
|
||||
related to GDM. Run `./tweaks.sh -h` to explore!
|
||||
|
||||
## Using WhiteSur theme on app sandboxing platforms
|
||||
<p align="center"> <img src="docs/sandboxes.png"/> </p>
|
||||
|
||||
### <p align="center" > Connect WhiteSur theme to Flatpak </p>
|
||||
Parameter: `--flatpak` `-F`
|
||||
|
||||
Example: `./tweaks.sh -F`
|
||||
|
||||
### <p align="center" > Connect WhiteSur theme to your Snap apps </p>
|
||||
Parameter: `--snap` `-S`
|
||||
|
||||
Example: `./tweaks.sh -S`
|
||||
|
||||
Note:
|
||||
|
||||
> This can only connect WhiteSur theme to your currently installed Snap
|
||||
> apps. You may need to run this command again to connect to your newly installed
|
||||
> Snap apps
|
||||
|
||||
# Other recommended stuffs
|
||||
## Whitesur KDE Theme
|
||||
<p align="center"> <a href="https://github.com/vinceliuice/WhiteSur-kde">
|
||||
<img src="docs/whitesur-kde-theme.png"/>
|
||||
|
||||
<br><br>
|
||||
|
||||
<img src="docs/download-button.png"/>
|
||||
</a> </p>
|
||||
|
||||
## Whitesur Icon Theme
|
||||
<p align="center"> <a href="https://github.com/vinceliuice/WhiteSur-icon-theme">
|
||||
<img src="docs/whitesur-icon-theme.png"/>
|
||||
|
||||
<br><br>
|
||||
|
||||
<img src="docs/download-button.png"/>
|
||||
</a> </p>
|
||||
|
||||
## Whitesur Wallpaper
|
||||
<p align="center"> <a href="https://github.com/vinceliuice/WhiteSur-kde/tree/master/wallpaper">
|
||||
<img src="docs/whitesur-wallpaper.png"/>
|
||||
|
||||
<br><br>
|
||||
|
||||
<img src="docs/download-button.png"/>
|
||||
</a> </p>
|
||||
<br>
|
||||
# Technical details and getting involved
|
||||
Please go read [CONTRIBUTING.md](CONTRIBUTING.md) for more info
|
||||
|
|
7
clean-git.sh
Executable file
|
@ -0,0 +1,7 @@
|
|||
#! /usr/bin/env bash
|
||||
#
|
||||
# Clean ignored files
|
||||
#
|
||||
|
||||
git clean -d -f -X
|
||||
git add .
|
BIN
docs/colors-themes.png
Normal file
After Width: | Height: | Size: 93 KiB |
BIN
docs/dash-to-dock.png
Normal file
After Width: | Height: | Size: 77 KiB |
BIN
docs/download-button.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
docs/firefox.png
Normal file
After Width: | Height: | Size: 198 KiB |
BIN
docs/gdm.png
Normal file
After Width: | Height: | Size: 333 KiB |
BIN
docs/icons.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
docs/macbook.png
Normal file
After Width: | Height: | Size: 842 KiB |
BIN
docs/nautilus.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
docs/sandboxes.png
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
docs/sidebars.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
docs/whitesur-icon-theme.png
Normal file
After Width: | Height: | Size: 335 KiB |
BIN
docs/whitesur-kde-theme.png
Normal file
After Width: | Height: | Size: 442 KiB |
BIN
docs/whitesur-wallpaper.png
Normal file
After Width: | Height: | Size: 62 KiB |
997
install.sh
513
lib-core.sh
Normal file
|
@ -0,0 +1,513 @@
|
|||
# WARNING: Please make this shell not working-directory dependant, for example
|
||||
# instead of using 'cd blabla', use 'cd "${REPO_DIR}/blabla"'
|
||||
#
|
||||
# WARNING: Don't use "cd" in this shell, use it in a subshell instead,
|
||||
# for example ( cd blabla && do_blabla ) or $( cd .. && do_blabla )
|
||||
#
|
||||
# WARNING: Please don't use sudo directly here since it steals our EXIT trap
|
||||
#
|
||||
# WARNING: Please set REPO_DIR variable before using this lib
|
||||
|
||||
###############################################################################
|
||||
# VARIABLES #
|
||||
###############################################################################
|
||||
|
||||
if [[ "${LIB_CORE_IMPORTED}" == "true" ]]; then
|
||||
echo "ERROR: lib-core.sh is already imported"; exit 1
|
||||
else LIB_CORE_IMPORTED="true"; fi
|
||||
|
||||
export WHITESUR_PID=$$
|
||||
MY_USERNAME="$(logname 2> /dev/null || echo ${SUDO_USER:-${USER}})"
|
||||
|
||||
if command -v gnome-shell &> /dev/null; then
|
||||
if (( $(gnome-shell --version | cut -d ' ' -f 3 | cut -d . -f 1) >= 4 )); then
|
||||
GNOME_VERSION="new"
|
||||
else
|
||||
GNOME_VERSION="old"
|
||||
fi
|
||||
else
|
||||
GNOME_VERSION="none"
|
||||
fi
|
||||
|
||||
# Program options
|
||||
SASSC_OPT="-M -t expanded"
|
||||
|
||||
if [[ "$(uname -s)" =~ "BSD" || "$(uname -s)" == "Darwin" ]]; then
|
||||
SED_OPT="-i """
|
||||
else
|
||||
SED_OPT="-i"
|
||||
fi
|
||||
|
||||
# Directories
|
||||
THEME_SRC_DIR="${REPO_DIR}/src"
|
||||
DASH_TO_DOCK_SRC_DIR="${REPO_DIR}/src/other/dash-to-dock"
|
||||
DASH_TO_DOCK_DIR_ROOT="/usr/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com"
|
||||
DASH_TO_DOCK_DIR_HOME="/home/${MY_USERNAME}/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com"
|
||||
FIREFOX_SRC_DIR="${REPO_DIR}/src/other/firefox"
|
||||
FIREFOX_DIR_HOME="/home/${MY_USERNAME}/.mozilla/firefox"
|
||||
export WHITESUR_TMP_DIR="/tmp/WhiteSur.lock"
|
||||
|
||||
if [[ -w "/" ]]; then
|
||||
THEME_DIR="/usr/share/themes"
|
||||
else
|
||||
THEME_DIR="$HOME/.themes"
|
||||
fi
|
||||
|
||||
# GDM
|
||||
WHITESUR_GS_DIR="/usr/share/gnome-shell/theme/WhiteSur"
|
||||
COMMON_CSS_FILE="/usr/share/gnome-shell/theme/gnome-shell.css"
|
||||
UBUNTU_CSS_FILE="/usr/share/gnome-shell/theme/ubuntu.css"
|
||||
ZORIN_CSS_FILE="/usr/share/gnome-shell/theme/zorin.css"
|
||||
ETC_CSS_FILE="/etc/alternatives/gdm3.css"
|
||||
ETC_GR_FILE="/etc/alternatives/gdm3-theme.gresource"
|
||||
YARU_GR_FILE="/usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource"
|
||||
POP_OS_GR_FILE="/usr/share/gnome-shell/theme/Pop/gnome-shell-theme.gresource"
|
||||
MISC_GR_FILE="/usr/share/gnome-shell/gnome-shell-theme.gresource"
|
||||
GS_GR_XML_FILE="${THEME_SRC_DIR}/main/gnome-shell/gnome-shell-theme.gresource.xml"
|
||||
|
||||
# Theme
|
||||
THEME_NAME="WhiteSur"
|
||||
COLOR_VARIANTS=('light' 'dark')
|
||||
OPACITY_VARIANTS=('normal' 'solid')
|
||||
ALT_VARIANTS=('normal' 'alt')
|
||||
THEME_VARIANTS=('default' 'blue' 'purple' 'pink' 'red' 'orange' 'yellow' 'green' 'grey')
|
||||
ICON_VARIANTS=('standard' 'simple' 'gnome' 'ubuntu' 'arch' 'manjaro' 'fedora' 'debian' 'void')
|
||||
SIDEBAR_SIZE_VARIANTS=('default' '220' '240' '260' '280')
|
||||
PANEL_OPACITY_VARIANTS=('default' '30' '45' '60' '75')
|
||||
NAUTILUS_STYLE_VARIANTS=('default' 'mojave' 'glassy')
|
||||
|
||||
# Customization, default values
|
||||
dest="${THEME_DIR}"
|
||||
name="${THEME_NAME}"
|
||||
colors=("${COLOR_VARIANTS[0]}")
|
||||
opacities=("${OPACITY_VARIANTS[0]}")
|
||||
alts=("${ALT_VARIANTS[0]}")
|
||||
themes=("${THEME_VARIANTS[0]}")
|
||||
icon="${ICON_VARIANTS[0]}"
|
||||
sidebar_size="${SIDEBAR_SIZE_VARIANTS[0]}"
|
||||
panel_opacity="${PANEL_OPACITY_VARIANTS[0]}"
|
||||
nautilus_style="${NAUTILUS_STYLE_VARIANTS[0]}"
|
||||
background="default"
|
||||
|
||||
# Ambigous arguments checking and overriding default values
|
||||
declare -A has_set=([-b]="false" [-s]="false" [-p]="false" [-d]="false" [-n]="false" [-a]="false" [-o]="false" [-c]="false" [-i]="false" [-t]="false" [-N]="false")
|
||||
declare -A need_dialog=([-b]="false" [-s]="false" [-p]="false" [-d]="false" [-n]="false" [-a]="false" [-o]="false" [-c]="false" [-i]="false" [-t]="false" [-N]="false")
|
||||
|
||||
# Tweaks
|
||||
need_help="false"
|
||||
uninstall="false"
|
||||
interactive="false"
|
||||
|
||||
darken="false"
|
||||
no_blur="false"
|
||||
|
||||
firefox="false"
|
||||
edit_firefox="false"
|
||||
flatpak="false"
|
||||
snap="false"
|
||||
gdm="false"
|
||||
dash_to_dock="false"
|
||||
|
||||
# Misc
|
||||
msg="Run '${0} --help' to explore more customization features!"
|
||||
process_ids=()
|
||||
ANIM_PID="0"
|
||||
has_any_error="false"
|
||||
|
||||
# Colors and animation
|
||||
c_default="\033[0m"
|
||||
c_blue="\033[1;34m"
|
||||
c_magenta="\033[1;35m"
|
||||
c_cyan="\033[1;36m"
|
||||
c_green="\033[1;32m"
|
||||
c_red="\033[1;31m"
|
||||
c_yellow="\033[1;33m"
|
||||
|
||||
anim=(
|
||||
"${c_blue}•${c_green}•${c_red}•${c_magenta}• "
|
||||
" ${c_green}•${c_red}•${c_magenta}•${c_blue}• "
|
||||
" ${c_red}•${c_magenta}•${c_blue}•${c_green}• "
|
||||
" ${c_magenta}•${c_blue}•${c_green}•${c_red}• "
|
||||
" ${c_blue}•${c_green}•${c_red}•${c_magenta}• "
|
||||
)
|
||||
|
||||
###############################################################################
|
||||
# UTILITIES #
|
||||
###############################################################################
|
||||
|
||||
start_animation() {
|
||||
setterm -cursor off
|
||||
|
||||
(
|
||||
while true; do
|
||||
for i in {0..4}; do
|
||||
echo -ne "\r\033[2K ${anim[i]}"
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
for i in {4..0}; do
|
||||
echo -ne "\r\033[2K ${anim[i]}"
|
||||
sleep 0.1
|
||||
done
|
||||
done
|
||||
) &
|
||||
|
||||
ANIM_PID="${!}"
|
||||
}
|
||||
|
||||
stop_animation() {
|
||||
kill -13 "${ANIM_PID}" &> /dev/null
|
||||
setterm -cursor on
|
||||
}
|
||||
|
||||
# Echo like ... with flag type and display message colors
|
||||
prompt() {
|
||||
case "${1}" in
|
||||
"-s")
|
||||
echo -e " ${c_green}${2}${c_default}" ;; # print success message
|
||||
"-e")
|
||||
echo -e " ${c_red}${2}${c_default}" ;; # print error message
|
||||
"-w")
|
||||
echo -e " ${c_yellow}${2}${c_default}" ;; # print warning message
|
||||
"-i")
|
||||
echo -e " ${c_cyan}${2}${c_default}" ;; # print info message
|
||||
esac
|
||||
}
|
||||
|
||||
helpify_title() {
|
||||
printf "${c_cyan}%s${c_blue}%s ${c_green}%s\n\n" "Usage: " "$0" "[OPTIONS...]"
|
||||
printf "${c_cyan}%s\n" "OPTIONS:"
|
||||
}
|
||||
|
||||
helpify() {
|
||||
printf " ${c_blue}%s ${c_green}%s\n ${c_magenta}%s. ${c_cyan}%s\n\n${c_default}" "${1}" "${2}" "${3}" "${4}"
|
||||
}
|
||||
|
||||
# Check command availability
|
||||
has_command() {
|
||||
command -v "$1" &> /dev/null
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# PARAMETERS #
|
||||
###############################################################################
|
||||
|
||||
destify() {
|
||||
case "${1}" in
|
||||
normal|default|standard)
|
||||
echo "" ;;
|
||||
*)
|
||||
echo "-${1}" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
parsimplify() {
|
||||
case "${1}" in
|
||||
--size)
|
||||
echo "-s" ;;
|
||||
--panel)
|
||||
echo "-p" ;;
|
||||
--name|-n)
|
||||
# workaround for echo
|
||||
echo "~-n" | cut -c 2- ;;
|
||||
--dest)
|
||||
echo "-d" ;;
|
||||
--alt)
|
||||
echo "-a" ;;
|
||||
--opacity)
|
||||
echo "-o" ;;
|
||||
--color)
|
||||
echo "-c" ;;
|
||||
--icon)
|
||||
echo "-i" ;;
|
||||
--theme)
|
||||
echo "-t" ;;
|
||||
--nautilus-style)
|
||||
echo "-N" ;;
|
||||
--background)
|
||||
echo "-b" ;;
|
||||
*)
|
||||
echo "${1}" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
check_param() {
|
||||
local global_param="$(parsimplify "${1}")"
|
||||
local display_param="${2}" # used for aliases
|
||||
local value="${3}"
|
||||
local must_not_ambigous="${4}" # options: must, optional, not-at-all
|
||||
local must_have_value="${5}" # options: must, optional, not-at-all
|
||||
local value_must_found="${6}" # options: must, optional, not-at-all
|
||||
local allow_all_choice="${7}" # options: true, false
|
||||
|
||||
local has_any_ambiguity_error="false"
|
||||
local variant_found="false"
|
||||
if [[ "${has_set["${global_param}"]}" == "true" ]]; then
|
||||
need_dialog["${global_param}"]="true"
|
||||
|
||||
case "${must_not_ambigous}" in
|
||||
must)
|
||||
prompt -e "ERROR: Ambigous '${display_param}' option. Choose one only."; has_any_error="true" ;;
|
||||
optional)
|
||||
prompt -w "WARNING: Ambigous '${display_param}' option. We'll show a chooser dialog when possible" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [[ "${value}" == "" || "${value}" == "-"* ]]; then
|
||||
need_dialog["${global_param}"]="true"
|
||||
|
||||
case "${must_have_value}" in
|
||||
must)
|
||||
prompt -e "ERROR: '${display_param}' can't be empty."; has_any_error="true" ;;
|
||||
optional)
|
||||
prompt -w "WARNING: '${display_param}' can't be empty. We'll show a chooser dialog when possible" ;;
|
||||
esac
|
||||
|
||||
has_set["${global_param}"]="true"; return 1
|
||||
else
|
||||
if [[ "${has_set["${global_param}"]}" == "false" ]]; then
|
||||
case "${global_param}" in
|
||||
-a)
|
||||
alts=() ;;
|
||||
-o)
|
||||
opacities=() ;;
|
||||
-c)
|
||||
colors=() ;;
|
||||
-t)
|
||||
themes=() ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
case "${global_param}" in
|
||||
-d)
|
||||
if [[ "$(readlink -m "${value}")" =~ "${REPO_DIR}" ]]; then
|
||||
prompt -e "'${display_param}' ERROR: Can't install in the source directory."
|
||||
has_any_error="true"
|
||||
elif [[ ! -w "${value}" && ! -w "$(dirname "${value}")" ]]; then
|
||||
prompt -e "'${display_param}' ERROR: You have no permission to access that directory."
|
||||
has_any_error="true"
|
||||
else
|
||||
if [[ ! -d "${value}" ]]; then
|
||||
prompt -w "Destination directory does not exist. Let's make a new one..."; echo
|
||||
mkdir -p "${value}"
|
||||
fi
|
||||
|
||||
dest="${value}"
|
||||
fi
|
||||
|
||||
remind_relative_path "${display_param}" "${value}"; variant_found="skip" ;;
|
||||
-b)
|
||||
if [[ "${value}" == "blank" || "${value}" == "default" ]]; then
|
||||
background="${value}"
|
||||
elif [[ ! -r "${value}" ]]; then
|
||||
prompt -e "'${display_param}' ERROR: Image file is not found or unreadable."
|
||||
has_any_error="true"
|
||||
elif file "${value}" | grep -qE "image|bitmap"; then
|
||||
background="${value}"
|
||||
else
|
||||
prompt -e "'${display_param}' ERROR: Invalid image file."
|
||||
has_any_error="true"
|
||||
fi
|
||||
|
||||
remind_relative_path "${display_param}" "${value}"; variant_found="skip" ;;
|
||||
-n)
|
||||
name="${value}"; variant_found="skip" ;;
|
||||
-s)
|
||||
for i in {0..4}; do
|
||||
if [[ "${value}" == "${SIDEBAR_SIZE_VARIANTS[i]}" ]]; then
|
||||
sidebar_size="${value}"; variant_found="true"; break
|
||||
fi
|
||||
done ;;
|
||||
-p)
|
||||
for i in {0..4}; do
|
||||
if [[ "${value}" == "${PANEL_OPACITY_VARIANTS[i]}" ]]; then
|
||||
panel_opacity="${value}"; variant_found="true"; break
|
||||
fi
|
||||
done ;;
|
||||
-a)
|
||||
[[ "${alts_set}" == "false" ]] && alts=()
|
||||
|
||||
if [[ "${value}" == "all" ]]; then
|
||||
for i in {0..2}; do
|
||||
alts+=("${ALT_VARIANTS[i]}")
|
||||
done
|
||||
|
||||
variant_found="true"
|
||||
else
|
||||
for i in {0..2}; do
|
||||
if [[ "${value}" == "${ALT_VARIANTS[i]}" ]]; then
|
||||
alts+=("${ALT_VARIANTS[i]}"); variant_found="true"; break
|
||||
fi
|
||||
done
|
||||
fi ;;
|
||||
-o)
|
||||
for i in {0..1}; do
|
||||
if [[ "${value}" == "${OPACITY_VARIANTS[i]}" ]]; then
|
||||
opacities+=("${OPACITY_VARIANTS[i]}"); variant_found="true"; break
|
||||
fi
|
||||
done ;;
|
||||
-c)
|
||||
for i in {0..1}; do
|
||||
if [[ "${value}" == "${COLOR_VARIANTS[i]}" ]]; then
|
||||
colors+=("${COLOR_VARIANTS[i]}"); variant_found="true"; break
|
||||
fi
|
||||
done ;;
|
||||
-i)
|
||||
for i in {0..8}; do
|
||||
if [[ "${value}" == "${ICON_VARIANTS[i]}" ]]; then
|
||||
icon="${ICON_VARIANTS[i]}"; variant_found="true"; break
|
||||
fi
|
||||
done ;;
|
||||
-t)
|
||||
if [[ "${value}" == "all" ]]; then
|
||||
for i in {0..8}; do
|
||||
themes+=("${THEME_VARIANTS[i]}")
|
||||
done
|
||||
|
||||
variant_found="true"
|
||||
else
|
||||
for i in {0..8}; do
|
||||
if [[ "${value}" == "${THEME_VARIANTS[i]}" ]]; then
|
||||
themes+=("${THEME_VARIANTS[i]}")
|
||||
variant_found="true"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi ;;
|
||||
-N)
|
||||
for i in {0..2}; do
|
||||
if [[ "${value}" == "${NAUTILUS_STYLE_VARIANTS[i]}" ]]; then
|
||||
nautilus_style="${NAUTILUS_STYLE_VARIANTS[i]}"; variant_found="true"; break
|
||||
fi
|
||||
done ;;
|
||||
esac
|
||||
|
||||
if [[ "${variant_found}" == "false" && "${variant_found}" != "skip" ]]; then
|
||||
case "${value_must_found}" in
|
||||
must)
|
||||
prompt -e "ERROR: Unrecognized '${display_param}' variant: '${value}'."; has_any_error="true" ;;
|
||||
optional)
|
||||
prompt -w "WARNING: '${display_param}' variant of '${value}' isn't recognized. We'll show a chooser dialog when possible"
|
||||
need_dialog["${global_param}"]="true" ;;
|
||||
esac
|
||||
elif [[ "${allow_all_choice}" == "false" && "${value}" == "all" ]]; then
|
||||
prompt -e "ERROR: Can't choose all '${display_param}' variants."; has_any_error="true"
|
||||
fi
|
||||
|
||||
has_set["${global_param}"]="true"; return 0
|
||||
fi
|
||||
}
|
||||
|
||||
avoid_variant_duplicates() {
|
||||
colors=($(printf "%s\n" "${colors[@]}" | sort -u))
|
||||
opacities=($(printf "%s\n" "${opacities[@]}" | sort -u))
|
||||
alts=($(printf "%s\n" "${alts[@]}" | sort -u))
|
||||
themes=($(printf "%s\n" "${themes[@]}" | sort -u))
|
||||
}
|
||||
|
||||
# 'finalize_argument_parsing' is in the 'systems' section
|
||||
|
||||
###############################################################################
|
||||
# FILES #
|
||||
###############################################################################
|
||||
|
||||
restore_file() {
|
||||
if [[ -f "${1}.bak" ]]; then
|
||||
case "${2}" in
|
||||
rootify)
|
||||
rootify rm -rf "${1}"; rootify mv "${1}"{".bak",""} ;;
|
||||
userify)
|
||||
userify rm -rf "${1}"; userify mv "${1}"{".bak",""} ;;
|
||||
*)
|
||||
rm -rf "${1}"; mv "${1}"{".bak",""} ;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
backup_file() {
|
||||
if [[ -f "${1}" ]]; then
|
||||
case "${2}" in
|
||||
rootify)
|
||||
rootify mv -n "${1}"{"",".bak"} ;;
|
||||
userify)
|
||||
userify mv -n "${1}"{"",".bak"} ;;
|
||||
*)
|
||||
mv -n "${1}"{"",".bak"} ;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
check_theme_file() {
|
||||
[[ -f "${1}" || -f "${1}.bak" ]] && return 0 || return 1
|
||||
}
|
||||
|
||||
remind_relative_path() {
|
||||
[[ "${2}" =~ "~" ]] && prompt -w "'${1}' REMEMBER: ~/'path to somewhere' and '~/path to somewhere' are different."
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# SYSTEMS #
|
||||
###############################################################################
|
||||
|
||||
lockWhiteSur() {
|
||||
while [[ -e "/proc/${WHITESUR_PID}" ]]; do sleep 0.1; done
|
||||
rm -rf "${WHITESUR_TMP_DIR}"
|
||||
}; export -f lockWhiteSur
|
||||
|
||||
rootify() {
|
||||
trap true SIGINT
|
||||
prompt -w "Executing '$(echo "${@}" | cut -c -35 )...' as root"
|
||||
sudo ${@} || operation_canceled
|
||||
trap sig_c SIGINT
|
||||
}
|
||||
|
||||
full_rootify() {
|
||||
if [[ ! -w "/" ]]; then
|
||||
prompt -e "ERROR: '${1}' needs a root priviledge. Please run this '${0}' as root"
|
||||
has_any_error="true"
|
||||
fi
|
||||
}
|
||||
|
||||
userify() {
|
||||
trap true SIGINT
|
||||
sudo -u "${MY_USERNAME}" ${@} || operation_canceled
|
||||
trap sig_c SIGINT
|
||||
}
|
||||
|
||||
sig_c() {
|
||||
kill -13 "${process_ids[@]}" &> /dev/null
|
||||
stop_animation; wait "${process_ids[@]}"; operation_canceled
|
||||
}
|
||||
|
||||
operation_canceled() {
|
||||
clear; prompt -e "\n\n Oops! Operation has been canceled or failed...\n\n"; exit 1
|
||||
}
|
||||
|
||||
usage() {
|
||||
prompt -e "Usage function is not implemented"; exit 1
|
||||
}
|
||||
|
||||
finalize_argument_parsing() {
|
||||
if [[ "${need_help}" == "true" ]]; then
|
||||
echo; usage
|
||||
[[ "${has_any_error}" == "true" ]] && exit 1 || exit 0
|
||||
elif [[ "${has_any_error}" == "true" ]]; then
|
||||
echo; prompt -i "Try '$0 --help' for more information."; exit 1
|
||||
else
|
||||
trap sig_c SIGINT
|
||||
[[ "${need_dialog[@]}" =~ "true" ]] && echo
|
||||
|
||||
if [[ -d "${WHITESUR_TMP_DIR}" ]]; then
|
||||
start_animation; sleep 2; stop_animation; echo
|
||||
|
||||
if [[ -d "${WHITESUR_TMP_DIR}" ]]; then
|
||||
prompt -e "ERROR: Whitesur installer or tweaks is already running. Probably it's run by '$(ls -ld "${WHITESUR_TMP_DIR}" | awk '{print $3}')'"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
rm -rf "${WHITESUR_TMP_DIR}"; mkdir -p "${WHITESUR_TMP_DIR}"
|
||||
rm -rf "${THEME_SRC_DIR}/sass/_theme-options-temp.scss"
|
||||
nohup bash -c lockWhiteSur &> /dev/null 2> /dev/null & disown ${!}
|
||||
fi
|
||||
}
|
506
lib-install.sh
Normal file
|
@ -0,0 +1,506 @@
|
|||
# WARNING: Please make this shell not working-directory dependant, for example
|
||||
# instead of using 'cd blabla', use 'cd "${REPO_DIR}/blabla"'
|
||||
#
|
||||
# WARNING: Don't use "cd" in this shell, use it in a subshell instead,
|
||||
# for example ( cd blabla && do_blabla ) or $( cd .. && do_blabla )
|
||||
#
|
||||
# WARNING: Please don't use sudo directly here since it steals our EXIT trap
|
||||
#
|
||||
# WARNING: Please set REPO_DIR variable before using this lib
|
||||
|
||||
###############################################################################
|
||||
# VARIABLES #
|
||||
###############################################################################
|
||||
|
||||
if [[ "${LIB_INSTALL_IMPORTED}" == "true" ]]; then
|
||||
echo "ERROR: lib-install.sh is already imported"; exit 1
|
||||
else LIB_INSTALL_IMPORTED="true"; fi
|
||||
|
||||
source "${REPO_DIR}/lib-core.sh"
|
||||
|
||||
###############################################################################
|
||||
# DEPENDENCIES #
|
||||
###############################################################################
|
||||
|
||||
install_theme_deps() {
|
||||
if [[ ! "$(which glib-compile-resources 2> /dev/null)" || ! "$(which sassc 2> /dev/null)" || \
|
||||
! "$(which convert 2> /dev/null)" || ! -r "/usr/share/gtk-engines/murrine.xml" || \
|
||||
! "$(which xmllint 2> /dev/null)" || ! "$(which dialog 2> /dev/null)" ]]; then
|
||||
echo; prompt -w "'glib2.0', 'sassc', 'imagemagick', 'xmllint', 'libmurrine', and 'dialog' are required for this shell."
|
||||
|
||||
if has_command zypper; then
|
||||
rootify zypper in -y sassc glib2-devel ImageMagick gtk2-engine-murrine libxml2-tools dialog
|
||||
elif has_command apt; then
|
||||
rootify apt install -y sassc libglib2.0-dev-bin imagemagick gtk2-engines-murrine libxml2-utils dialog
|
||||
elif has_command dnf; then
|
||||
rootify dnf install -y sassc glib2-devel ImageMagick gtk-murrine-engine libxml2 dialog
|
||||
elif has_command yum; then
|
||||
rootify yum install -y sassc glib2-devel ImageMagick gtk-murrine-engine libxml2 dialog
|
||||
elif has_command pacman; then
|
||||
rootify pacman -S --noconfirm --needed sassc glib2 imagemagick gtk-engine-murrine libxml2 dialog
|
||||
else
|
||||
prompt -w "WARNING: We're sorry, your distro isn't officially supported yet."
|
||||
prompt -w "INSTRUCTION: Please make sure you have installed all of the required dependencies. We'll continue the installation in 15 seconds"
|
||||
prompt -w "INSTRUCTION: Press 'ctrl'+'c' to cancel the installation if you haven't install them yet"
|
||||
start_animation; sleep 15; stop_animation
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# THEME MODULES #
|
||||
###############################################################################
|
||||
|
||||
install_beggy() {
|
||||
local CONVERT_OPT=""
|
||||
|
||||
[[ "${no_blur}" == "false" ]] && CONVERT_OPT+=" -scale 1280x -blur 0x60 "
|
||||
[[ "${darken}" == "true" ]] && CONVERT_OPT+=" -fill black -colorize 45% "
|
||||
|
||||
case "${background}" in
|
||||
blank)
|
||||
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/common-assets/background-blank.png" "${WHITESUR_TMP_DIR}/beggy.png" ;;
|
||||
default)
|
||||
convert "${THEME_SRC_DIR}/assets/gnome-shell/common-assets/background-default.png" ${CONVERT_OPT} "${WHITESUR_TMP_DIR}/beggy.png" ;;
|
||||
*)
|
||||
convert "${background}" ${CONVERT_OPT} "${WHITESUR_TMP_DIR}/beggy.png" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
install_darky() {
|
||||
local opacity="$(destify ${1})"
|
||||
local theme="$(destify ${2})"
|
||||
|
||||
sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-3.0/gtk-dark${opacity}${theme}.scss" "${WHITESUR_TMP_DIR}/darky${opacity}${theme}.css"
|
||||
}
|
||||
|
||||
install_shelly() {
|
||||
local color="$(destify ${1})"
|
||||
local opacity="$(destify ${2})"
|
||||
local alt="$(destify ${3})"
|
||||
local theme="$(destify ${4})"
|
||||
local icon="$(destify ${5})"
|
||||
local TARGET_DIR=
|
||||
|
||||
if [[ -z "${6}" ]]; then
|
||||
TARGET_DIR="${dest}/${name}${color}${opacity}${alt}${theme}/gnome-shell"
|
||||
else TARGET_DIR="${6}"; fi
|
||||
|
||||
mkdir -p "${TARGET_DIR}"
|
||||
mkdir -p "${TARGET_DIR}/assets"
|
||||
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/icons" "${TARGET_DIR}"
|
||||
cp -r "${THEME_SRC_DIR}/main/gnome-shell/pad-osd.css" "${TARGET_DIR}"
|
||||
sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gnome-shell/gnome-shell${color}${opacity}${alt}${theme}.scss" "${TARGET_DIR}/gnome-shell.css"
|
||||
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/common-assets/"*".svg" "${TARGET_DIR}/assets"
|
||||
|
||||
if [[ "${theme}" != '' ]]; then
|
||||
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/common-assets${theme}/"*".svg" "${TARGET_DIR}/assets"
|
||||
fi
|
||||
|
||||
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/assets${color}/"*".svg" "${TARGET_DIR}/assets"
|
||||
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/activities/activities${icon}.svg" "${TARGET_DIR}/assets/activities.svg"
|
||||
cp -r "${WHITESUR_TMP_DIR}/beggy.png" "${TARGET_DIR}/assets/background.png"
|
||||
|
||||
(
|
||||
cd "${TARGET_DIR}"
|
||||
mv -f "assets/no-events.svg" "no-events.svg"
|
||||
mv -f "assets/process-working.svg" "process-working.svg"
|
||||
mv -f "assets/no-notifications.svg" "no-notifications.svg"
|
||||
)
|
||||
|
||||
if [[ "${alt}" == '-alt' || "${opacity}" == '-solid' ]] && [[ "${color}" == '-light' ]]; then
|
||||
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/activities-black/activities${icon}.svg" "${TARGET_DIR}/assets/activities.svg"
|
||||
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/activities/activities${icon}.svg" "${TARGET_DIR}/assets/activities-white.svg"
|
||||
fi
|
||||
}
|
||||
|
||||
install_theemy() {
|
||||
local color="$(destify ${1})"
|
||||
local opacity="$(destify ${2})"
|
||||
local alt="$(destify ${3})"
|
||||
local theme="$(destify ${4})"
|
||||
local icon="$(destify ${5})"
|
||||
|
||||
local TARGET_DIR="${dest}/${name}${color}${opacity}${alt}${theme}"
|
||||
local TMP_DIR="${WHITESUR_TMP_DIR}/gtk${color}${opacity}${alt}${theme}"
|
||||
|
||||
mkdir -p "${TARGET_DIR}"
|
||||
local desktop_entry="
|
||||
[Desktop Entry]
|
||||
Type=X-GNOME-Metatheme
|
||||
Name=${name}${color}${opacity}${alt}${theme}
|
||||
Comment=A MacOS BigSur like Gtk+ theme based on Elegant Design
|
||||
Encoding=UTF-8
|
||||
|
||||
[X-GNOME-Metatheme]
|
||||
GtkTheme=${name}${color}${opacity}${alt}${theme}
|
||||
MetacityTheme=${name}${color}${opacity}${alt}${theme}
|
||||
IconTheme=${name}${color}
|
||||
CursorTheme=${name}${color}
|
||||
ButtonLayout=close,minimize,maximize:menu"
|
||||
echo "${desktop_entry}" > "${TARGET_DIR}/index.theme"
|
||||
|
||||
#----------------------GTK-----------------------#
|
||||
|
||||
mkdir -p "${TMP_DIR}"
|
||||
cp -r "${THEME_SRC_DIR}/assets/gtk-3.0/common-assets/assets" "${TMP_DIR}"
|
||||
cp -r "${THEME_SRC_DIR}/assets/gtk-3.0/windows-assets/titlebutton${alt}" "${TMP_DIR}/windows-assets"
|
||||
|
||||
if [[ "${theme}" != '' ]]; then
|
||||
cp -r "${THEME_SRC_DIR}/assets/gtk-3.0/common-assets/assets${theme}/"*".png" "${TMP_DIR}/assets"
|
||||
fi
|
||||
|
||||
if [[ "${color}" == '-light' ]]; then
|
||||
sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-3.0/gtk-light${opacity}${theme}.scss" "${TMP_DIR}/gtk.css"
|
||||
else
|
||||
cp -r "${WHITESUR_TMP_DIR}/darky${opacity}${theme}.css" "${TMP_DIR}/gtk.css"
|
||||
fi
|
||||
|
||||
cp -r "${WHITESUR_TMP_DIR}/darky${opacity}${theme}.css" "${TMP_DIR}/gtk-dark.css"
|
||||
|
||||
mkdir -p "${TARGET_DIR}/gtk-3.0"
|
||||
cp -r "${THEME_SRC_DIR}/assets/gtk-3.0/thumbnails/thumbnail${color}${theme}.png" "${TARGET_DIR}/gtk-3.0/thumbnail.png"
|
||||
echo '@import url("resource:///org/gnome/theme/gtk.css");' > "${TARGET_DIR}/gtk-3.0/gtk.css"
|
||||
echo '@import url("resource:///org/gnome/theme/gtk-dark.css");' > "${TARGET_DIR}/gtk-3.0/gtk-dark.css"
|
||||
glib-compile-resources --sourcedir="${TMP_DIR}" --target="${TARGET_DIR}/gtk-3.0/gtk.gresource" "${THEME_SRC_DIR}/main/gtk-3.0/gtk.gresource.xml"
|
||||
|
||||
#----------------Cinnamon-----------------#
|
||||
|
||||
mkdir -p "${TARGET_DIR}/cinnamon"
|
||||
sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/cinnamon/cinnamon${color}${opacity}${theme}.scss" "${TARGET_DIR}/cinnamon/cinnamon.css"
|
||||
cp -r "${THEME_SRC_DIR}/assets/cinnamon/common-assets" "${TARGET_DIR}/cinnamon/assets"
|
||||
|
||||
if [[ ${theme} != '' ]]; then
|
||||
cp -r "${THEME_SRC_DIR}/assets/cinnamon/common-assets${theme}/"*".svg" "${TARGET_DIR}/cinnamon/assets"
|
||||
fi
|
||||
|
||||
cp -r "${THEME_SRC_DIR}/assets/cinnamon/assets${color}/"*".svg" "${TARGET_DIR}/cinnamon/assets"
|
||||
cp -r "${THEME_SRC_DIR}/assets/cinnamon/thumbnails/thumbnail${color}${theme}.png" "${TARGET_DIR}/cinnamon/thumbnail.png"
|
||||
|
||||
#----------------Misc------------------#
|
||||
|
||||
mkdir -p "${TARGET_DIR}/gtk-2.0"
|
||||
cp -r "${THEME_SRC_DIR}/main/gtk-2.0/gtkrc${color}${theme}" "${TARGET_DIR}/gtk-2.0/gtkrc"
|
||||
cp -r "${THEME_SRC_DIR}/main/gtk-2.0/menubar-toolbar${color}.rc" "${TARGET_DIR}/gtk-2.0/menubar-toolbar.rc"
|
||||
cp -r "${THEME_SRC_DIR}/main/gtk-2.0/common/"*".rc" "${TARGET_DIR}/gtk-2.0"
|
||||
cp -r "${THEME_SRC_DIR}/assets/gtk-2.0/assets${color}" "${TARGET_DIR}/gtk-2.0/assets"
|
||||
|
||||
if [[ "${theme}" != '' ]]; then
|
||||
cp -r "${THEME_SRC_DIR}/assets/gtk-2.0/assets${color}${theme}/"*".png" "${TARGET_DIR}/gtk-2.0/assets"
|
||||
fi
|
||||
|
||||
mkdir -p "${TARGET_DIR}/metacity-1"
|
||||
cp -r "${THEME_SRC_DIR}/main/metacity-1/metacity-theme${color}.xml" "${TARGET_DIR}/metacity-1/metacity-theme-1.xml"
|
||||
cp -r "${THEME_SRC_DIR}/main/metacity-1/metacity-theme-3.xml" "${TARGET_DIR}/metacity-1"
|
||||
cp -r "${THEME_SRC_DIR}/assets/metacity-1/assets/"*".png" "${TARGET_DIR}/metacity-1"
|
||||
cp -r "${THEME_SRC_DIR}/assets/metacity-1/thumbnail${color}.png" "${TARGET_DIR}/metacity-1/thumbnail.png"
|
||||
( cd "${TARGET_DIR}/metacity-1" && ln -s "metacity-theme-1.xml" "metacity-theme-2.xml" )
|
||||
|
||||
mkdir -p "${TARGET_DIR}/xfwm4"
|
||||
cp -r "${THEME_SRC_DIR}/assets/xfwm4/assets${color}/"*".png" "${TARGET_DIR}/xfwm4"
|
||||
cp -r "${THEME_SRC_DIR}/main/xfwm4/themerc${color}" "${TARGET_DIR}/xfwm4/themerc"
|
||||
|
||||
mkdir -p "${TARGET_DIR}/plank"
|
||||
cp -r "${THEME_SRC_DIR}/other/plank/theme${color}/"*".theme" "${TARGET_DIR}/plank"
|
||||
}
|
||||
|
||||
remove_packy() {
|
||||
rm -rf "${dest}/${name}$(destify ${1})$(destify ${2})$(destify ${3})$(destify ${4})"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# THEMES #
|
||||
###############################################################################
|
||||
|
||||
install_themes() {
|
||||
start_animation
|
||||
process_ids=()
|
||||
|
||||
[[ "${GNOME_VERSION}" != 'new' ]] && install_beggy
|
||||
|
||||
for opacity in "${opacities[@]}"; do
|
||||
for alt in "${alts[@]}"; do
|
||||
for theme in "${themes[@]}"; do
|
||||
install_darky "${opacity}" "${theme}"
|
||||
|
||||
for color in "${colors[@]}"; do
|
||||
install_theemy "${color}" "${opacity}" "${alt}" "${theme}" "${icon}" &
|
||||
process_ids+=("${!}")
|
||||
|
||||
if [[ "${GNOME_VERSION}" != 'new' ]]; then
|
||||
install_shelly "${color}" "${opacity}" "${alt}" "${theme}" "${icon}" &
|
||||
process_ids+=("${!}")
|
||||
fi
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
wait "${process_ids[@]}"
|
||||
stop_animation
|
||||
}
|
||||
|
||||
remove_themes() {
|
||||
process_ids=()
|
||||
|
||||
for color in "${COLOR_VARIANTS[@]}"; do
|
||||
for opacity in "${OPACITY_VARIANTS[@]}"; do
|
||||
for alt in "${ALT_VARIANTS[@]}"; do
|
||||
for theme in "${THEME_VARIANTS[@]}"; do
|
||||
remove_packy "${color}" "${opacity}" "${alt}" "${theme}" &
|
||||
process_ids+=("${!}")
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
wait "${process_ids[@]}"
|
||||
}
|
||||
|
||||
install_gdm_theme() {
|
||||
start_animation
|
||||
local TARGET=
|
||||
|
||||
# Let's go!
|
||||
rm -rf "${WHITESUR_GS_DIR}"; install_beggy
|
||||
|
||||
if check_theme_file "${COMMON_CSS_FILE}"; then # CSS-based theme
|
||||
install_shelly "${colors[0]}" "${opacities[0]}" "${alts[0]}" "${themes[0]}" "${icon}" "${WHITESUR_GS_DIR}"
|
||||
sed ${SED_OPT} "s|assets|${WHITESUR_GS_DIR}/assets|" "${WHITESUR_GS_DIR}/gnome-shell.css"
|
||||
|
||||
if check_theme_file "${UBUNTU_CSS_FILE}"; then
|
||||
TARGET="${UBUNTU_CSS_FILE}"
|
||||
elif check_theme_file "${ZORIN_CSS_FILE}"; then
|
||||
TARGET="${ZORIN_CSS_FILE}"
|
||||
fi
|
||||
|
||||
backup_file "${COMMON_CSS_FILE}"; backup_file "${TARGET}"
|
||||
ln -sf "${WHITESUR_GS_DIR}/gnome-shell.css" "${COMMON_CSS_FILE}"
|
||||
ln -sf "${WHITESUR_GS_DIR}/gnome-shell.css" "${TARGET}"
|
||||
|
||||
# Fix previously installed WhiteSur
|
||||
restore_file "${ETC_CSS_FILE}"
|
||||
else # GR-based theme
|
||||
install_shelly "${colors[0]}" "${opacities[0]}" "${alts[0]}" "${themes[0]}" "${icon}" "${WHITESUR_TMP_DIR}/shelly"
|
||||
sed ${SED_OPT} "s|assets|resource:///org/gnome/shell/theme/assets|" "${WHITESUR_TMP_DIR}/shelly/gnome-shell.css"
|
||||
|
||||
if check_theme_file "$POP_OS_GR_FILE"; then
|
||||
TARGET="${POP_OS_GR_FILE}"
|
||||
elif check_theme_file "$YARU_GR_FILE"; then
|
||||
TARGET="${YARU_GR_FILE}"
|
||||
elif check_theme_file "$MISC_GR_FILE"; then
|
||||
TARGET="${MISC_GR_FILE}"
|
||||
fi
|
||||
|
||||
backup_file "${TARGET}"
|
||||
glib-compile-resources --sourcedir="${WHITESUR_TMP_DIR}/shelly" --target="${TARGET}" "${GS_GR_XML_FILE}"
|
||||
|
||||
# Fix previously installed WhiteSur
|
||||
restore_file "${ETC_GR_FILE}"
|
||||
fi
|
||||
|
||||
stop_animation
|
||||
}
|
||||
|
||||
revert_gdm_theme() {
|
||||
rm -rf "${WHITESUR_GS_DIR}"
|
||||
restore_file "${COMMON_CSS_FILE}"; restore_file "${UBUNTU_CSS_FILE}"
|
||||
restore_file "${ZORIN_CSS_FILE}"; restore_file "${ETC_CSS_FILE}"
|
||||
restore_file "${POP_OS_GR_FILE}"; restore_file "${YARU_GR_FILE}"
|
||||
restore_file "${MISC_GR_FILE}"; restore_file "${ETC_GR_FILE}"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# FIREFOX #
|
||||
###############################################################################
|
||||
|
||||
install_firefox_theme() {
|
||||
remove_firefox_theme
|
||||
userify cp -rf "${FIREFOX_SRC_DIR}" "${FIREFOX_DIR_HOME}/WhiteSur-chrome"
|
||||
config_firefox
|
||||
}
|
||||
|
||||
config_firefox() {
|
||||
killall "firefox" &> /dev/null
|
||||
|
||||
for d in "${FIREFOX_DIR_HOME}/"*"default"*; do
|
||||
rm -rf "${d}/chrome"
|
||||
userify ln -sf "${FIREFOX_DIR_HOME}/WhiteSur-chrome" "${d}/chrome"
|
||||
userify echo "user_pref(\"toolkit.legacyUserProfileCustomizations.stylesheets\", true);" >> "${d}/prefs.js"
|
||||
userify echo "user_pref(\"browser.tabs.drawInTitlebar\", true);" >> "${d}/prefs.js"
|
||||
userify echo "user_pref(\"browser.uidensity\", 0);" >> "${d}/prefs.js"
|
||||
userify echo "user_pref(\"layers.acceleration.force-enabled\", true);" >> "${d}/prefs.js"
|
||||
userify echo "user_pref(\"mozilla.widget.use-argb-visuals\", true);" >> "${d}/prefs.js"
|
||||
done
|
||||
}
|
||||
|
||||
edit_firefox_theme_prefs() {
|
||||
[[ ! -d "${FIREFOX_DIR_HOME}/WhiteSur-chrome" ]] && install_firefox_theme ; config_firefox
|
||||
${EDITOR:-nano} "${FIREFOX_DIR_HOME}/WhiteSur-chrome/userChrome.css"
|
||||
${EDITOR:-nano} "${FIREFOX_DIR_HOME}/WhiteSur-chrome/customChrome.css"
|
||||
}
|
||||
|
||||
remove_firefox_theme() {
|
||||
rm -rf "${FIREFOX_DIR_HOME}/"*"default"*"/chrome"
|
||||
rm -rf "${FIREFOX_DIR_HOME}/WhiteSur-chrome"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# DASH TO DOCK #
|
||||
###############################################################################
|
||||
|
||||
install_dash_to_dock_theme() {
|
||||
if [[ -d "${DASH_TO_DOCK_DIR_HOME}" ]]; then
|
||||
backup_file "${DASH_TO_DOCK_DIR_HOME}/stylesheet.css" "userify"
|
||||
userify sassc ${SASSC_OPT} "${DASH_TO_DOCK_SRC_DIR}/stylesheet$(destify ${colors[0]}).scss" "${DASH_TO_DOCK_DIR_HOME}/stylesheet.css"
|
||||
elif [[ -d "${DASH_TO_DOCK_DIR_ROOT}" ]]; then
|
||||
backup_file "${DASH_TO_DOCK_DIR_ROOT}/stylesheet.css" "rootify"
|
||||
rootify sassc ${SASSC_OPT} "${DASH_TO_DOCK_SRC_DIR}/stylesheet$(destify ${colors[0]}).scss" "${DASH_TO_DOCK_DIR_ROOT}/stylesheet.css"
|
||||
fi
|
||||
|
||||
userify dbus-launch gsettings set org.gnome.shell.extensions.dash-to-dock apply-custom-theme true
|
||||
}
|
||||
|
||||
revert_dash_to_dock_theme() {
|
||||
if [[ -d "${DASH_TO_DOCK_DIR_HOME}" ]]; then
|
||||
restore_file "${DASH_TO_DOCK_DIR_HOME}/stylesheet.css" "userify"
|
||||
elif [[ -d "${DASH_TO_DOCK_DIR_ROOT}" ]]; then
|
||||
restore_file "${DASH_TO_DOCK_DIR_ROOT}/stylesheet.css" "rootify"
|
||||
fi
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# FLATPAK & SNAP #
|
||||
###############################################################################
|
||||
|
||||
connect_flatpak() {
|
||||
rootify flatpak override --filesystem=~/.themes
|
||||
}
|
||||
|
||||
disconnect_flatpak() {
|
||||
rootify flatpak override --nofilesystem=~/.themes
|
||||
}
|
||||
|
||||
connect_snap() {
|
||||
rootify snap install whitesur-gtk-theme
|
||||
|
||||
for i in $(snap connections | grep gtk-common-themes | awk '{print $2}' | cut -f1 -d: | sort -u); do
|
||||
rootify snap connect "${i}:gtk-3-themes" "whitesur-gtk-theme:gtk-3-themes"
|
||||
rootify snap connect "${i}:icon-themes" "whitesur-gtk-theme:icon-themes"
|
||||
done
|
||||
}
|
||||
|
||||
disconnect_snap() {
|
||||
for i in $(snap connections | grep gtk-common-themes | awk '{print $2}' | cut -f1 -d: | sort -u); do
|
||||
rootify snap disconnect "${i}:gtk-3-themes" "whitesur-gtk-theme:gtk-3-themes"
|
||||
rootify snap disconnect "${i}:icon-themes" "whitesur-gtk-theme:icon-themes"
|
||||
done
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# CUSTOMIZATIONS #
|
||||
###############################################################################
|
||||
|
||||
customize_theme() {
|
||||
rm -rf "${THEME_SRC_DIR}/sass/_theme-options-temp.scss"
|
||||
cp -rf "${THEME_SRC_DIR}/sass/_theme-options"{".scss","-temp.scss"}
|
||||
|
||||
# Change common apps style for a specific GNOME Shell version
|
||||
if [[ ${GNOME_VERSION} == "new" ]]; then
|
||||
sed ${SED_OPT} "/\$gnome_version/s/old/new/" "${THEME_SRC_DIR}/sass/_theme-options-temp.scss"
|
||||
elif [[ ${GNOME_VERSION} == "none" ]]; then
|
||||
prompt -w "There's no GNOME Shell installed, using style for the older GNOME Shell instead..."
|
||||
fi
|
||||
|
||||
# Change gnome-shell panel transparency
|
||||
if [[ "${panel_opacity}" != 'default' ]]; then
|
||||
prompt -w "Changing panel transparency ..."
|
||||
sed ${SED_OPT} "/\$panel_opacity/s/0.15/0.${panel_opacity}/" "${THEME_SRC_DIR}/sass/_theme-options-temp.scss"
|
||||
fi
|
||||
|
||||
# Change Nautilus sidarbar size
|
||||
if [[ "${sidebar_size}" != 'default' ]]; then
|
||||
prompt -w "Changing Nautilus sidebar size ..."
|
||||
sed ${SED_OPT} "/\$sidebar_size/s/200px/${sidebar_size}px/" "${THEME_SRC_DIR}/sass/_theme-options-temp.scss"
|
||||
fi
|
||||
|
||||
# Change Nautilus style
|
||||
if [[ "${nautilus_style}" != 'default' ]]; then
|
||||
prompt -w "Changing Nautilus style ..."
|
||||
sed ${SED_OPT} "/\$nautilus_style/s/default/${nautilus_style}/" "${THEME_SRC_DIR}/sass/_theme-options-temp.scss"
|
||||
fi
|
||||
}
|
||||
|
||||
#-----------------------------------DIALOGS------------------------------------#
|
||||
|
||||
# The default values here should get manually set and updated. Some of default
|
||||
# values are taken from _variables.scss
|
||||
|
||||
show_panel_opacity_dialog() {
|
||||
if [[ -x /usr/bin/dialog ]]; then
|
||||
tui=$(dialog --backtitle "${THEME_NAME} gtk theme installer" \
|
||||
--radiolist "Choose your panel background opacity
|
||||
(Default is 0.15. The less value, the more transparency!):" 20 50 10 \
|
||||
0 "${PANEL_OPACITY_VARIANTS[0]}" on \
|
||||
1 "0.${PANEL_OPACITY_VARIANTS[1]}" off \
|
||||
2 "0.${PANEL_OPACITY_VARIANTS[2]}" off \
|
||||
3 "0.${PANEL_OPACITY_VARIANTS[3]}" off \
|
||||
4 "0.${PANEL_OPACITY_VARIANTS[4]}" off --output-fd 1 )
|
||||
case "$tui" in
|
||||
0) panel_opacity="${PANEL_OPACITY_VARIANTS[0]}" ;;
|
||||
1) panel_opacity="${PANEL_OPACITY_VARIANTS[1]}" ;;
|
||||
2) panel_opacity="${PANEL_OPACITY_VARIANTS[2]}" ;;
|
||||
3) panel_opacity="${PANEL_OPACITY_VARIANTS[3]}" ;;
|
||||
4) panel_opacity="${PANEL_OPACITY_VARIANTS[4]}" ;;
|
||||
*) operation_canceled ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
clear
|
||||
}
|
||||
|
||||
show_sidebar_size_dialog() {
|
||||
if [[ -x /usr/bin/dialog ]]; then
|
||||
tui=$(dialog --backtitle "${THEME_NAME} gtk theme installer" \
|
||||
--radiolist "Choose your Nautilus sidebar size (default is 200px width):" 15 40 5 \
|
||||
0 "${SIDEBAR_SIZE_VARIANTS[0]}" on \
|
||||
1 "${SIDEBAR_SIZE_VARIANTS[1]}px" off \
|
||||
2 "${SIDEBAR_SIZE_VARIANTS[2]}px" off \
|
||||
3 "${SIDEBAR_SIZE_VARIANTS[3]}px" off \
|
||||
4 "${SIDEBAR_SIZE_VARIANTS[4]}px" off --output-fd 1 )
|
||||
case "$tui" in
|
||||
0) sidebar_size="${SIDEBAR_SIZE_VARIANTS[0]}" ;;
|
||||
1) sidebar_size="${SIDEBAR_SIZE_VARIANTS[1]}" ;;
|
||||
2) sidebar_size="${SIDEBAR_SIZE_VARIANTS[2]}" ;;
|
||||
3) sidebar_size="${SIDEBAR_SIZE_VARIANTS[3]}" ;;
|
||||
4) sidebar_size="${SIDEBAR_SIZE_VARIANTS[4]}" ;;
|
||||
*) operation_canceled ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
clear
|
||||
}
|
||||
|
||||
show_nautilus_style_dialog() {
|
||||
if [[ -x /usr/bin/dialog ]]; then
|
||||
tui=$(dialog --backtitle "${THEME_NAME} gtk theme installer" \
|
||||
--radiolist "Choose your Nautilus style (default is BigSur-like style):" 15 40 5 \
|
||||
0 "${NAUTILUS_STYLE_VARIANTS[0]}" on \
|
||||
1 "${NAUTILUS_STYLE_VARIANTS[1]}" on \
|
||||
2 "${NAUTILUS_STYLE_VARIANTS[2]}" off --output-fd 1 )
|
||||
case "$tui" in
|
||||
0) nautilus_style="${NAUTILUS_STYLE_VARIANTS[0]}" ;;
|
||||
1) nautilus_style="${NAUTILUS_STYLE_VARIANTS[1]}" ;;
|
||||
2) nautilus_style="${NAUTILUS_STYLE_VARIANTS[2]}" ;;
|
||||
*) operation_canceled ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
clear
|
||||
}
|
||||
|
||||
show_needed_dialogs() {
|
||||
[[ "${need_dialog["-p"]}" == "true" ]] && show_panel_opacity_dialog
|
||||
[[ "${need_dialog["-s"]}" == "true" ]] && show_sidebar_size_dialog
|
||||
[[ "${need_dialog["-N"]}" == "true" ]] && show_nautilus_style_dialog
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
# Check command availability
|
||||
function has_command() {
|
||||
command -v $1 > /dev/null
|
||||
}
|
||||
|
||||
if [ ! "$(which sassc 2> /dev/null)" ]; then
|
||||
echo sassc needs to be installed to generate the css.
|
||||
if has_command zypper; then
|
||||
sudo zypper in sassc
|
||||
elif has_command apt; then
|
||||
sudo apt install sassc
|
||||
elif has_command dnf; then
|
||||
sudo dnf install -y sassc
|
||||
elif has_command yum; then
|
||||
sudo yum install sassc
|
||||
elif has_command pacman; then
|
||||
sudo pacman -S --noconfirm sassc
|
||||
fi
|
||||
fi
|
||||
|
||||
SASSC_OPT="-M -t expanded"
|
||||
|
||||
_COLOR_VARIANTS=('-light' '-dark')
|
||||
if [ ! -z "${COLOR_VARIANTS:-}" ]; then
|
||||
IFS=', ' read -r -a _COLOR_VARIANTS <<< "${COLOR_VARIANTS:-}"
|
||||
fi
|
||||
|
||||
_TRANS_VARIANTS=('' '-solid')
|
||||
if [ ! -z "${TRANS_VARIANTS:-}" ]; then
|
||||
IFS=', ' read -r -a _TRANS_VARIANTS <<< "${TRANS_VARIANTS:-}"
|
||||
fi
|
||||
|
||||
_ALT_VARIANTS=('' '-alt')
|
||||
if [ ! -z "${TRANS_VARIANTS:-}" ]; then
|
||||
IFS=', ' read -r -a _TRANS_VARIANTS <<< "${TRANS_VARIANTS:-}"
|
||||
fi
|
||||
|
||||
_THEME_VARIANTS=('' '-blue' '-purple' '-pink' '-red' '-orange' '-yellow' '-green' '-grey')
|
||||
if [ ! -z "${THEME_VARIANTS:-}" ]; then
|
||||
IFS=', ' read -r -a _THEME_VARIANTS <<< "${THEME_VARIANTS:-}"
|
||||
fi
|
||||
|
||||
for color in "${_COLOR_VARIANTS[@]}"; do
|
||||
for trans in "${_TRANS_VARIANTS[@]}"; do
|
||||
for theme in "${_THEME_VARIANTS[@]}"; do
|
||||
sassc $SASSC_OPT src/main/gtk-3.0/gtk${color}${trans}${theme}.{scss,css}
|
||||
echo "==> Generating the gtk${color}${trans}${theme}.css..."
|
||||
sassc $SASSC_OPT src/main/cinnamon/cinnamon${color}${trans}${theme}.{scss,css}
|
||||
echo "==> Generating the cinnamon${color}${trans}${theme}.css..."
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
for color in "${_COLOR_VARIANTS[@]}"; do
|
||||
for trans in "${_TRANS_VARIANTS[@]}"; do
|
||||
for alt in "${_ALT_VARIANTS[@]}"; do
|
||||
for theme in "${_THEME_VARIANTS[@]}"; do
|
||||
sassc $SASSC_OPT src/main/gnome-shell/gnome-shell${color}${trans}${alt}${theme}.{scss,css}
|
||||
echo "==> Generating the gnome-shell${color}${trans}${alt}${theme}.css..."
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
for color in "${_COLOR_VARIANTS[@]}"; do
|
||||
for theme in "${_THEME_VARIANTS[@]}"; do
|
||||
sassc $SASSC_OPT src/main/gnome-shell/gdm3${color}${theme}.{scss,css}
|
||||
echo "==> Generating the gdm3${color}${theme}.css..."
|
||||
done
|
||||
done
|
||||
|
||||
sassc $SASSC_OPT src/other/dash-to-dock/stylesheet.{scss,css}
|
||||
echo "==> Generating dash-to-dock stylesheet.css..."
|
||||
sassc $SASSC_OPT src/other/dash-to-dock/stylesheet-dark.{scss,css}
|
||||
echo "==> Generating dash-to-dock stylesheet-dark.css..."
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
BIN
src/assets/gnome-shell/common-assets/background-blank.png
Normal file
After Width: | Height: | Size: 127 B |
BIN
src/assets/gnome-shell/common-assets/background-default.png
Normal file
After Width: | Height: | Size: 276 KiB |
Before Width: | Height: | Size: 61 KiB |
|
@ -1,29 +0,0 @@
|
|||
$variant: 'dark';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'blue';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'dark';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'green';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'dark';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'grey';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'dark';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'orange';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'dark';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'pink';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'dark';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'purple';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'dark';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'red';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'dark';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'yellow';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'dark';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'default';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'light';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'blue';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'light';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'green';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'light';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'grey';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'light';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'orange';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'light';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'pink';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'light';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'purple';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'light';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'red';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'light';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'yellow';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|
|
@ -1,29 +0,0 @@
|
|||
$variant: 'light';
|
||||
$laptop: 'true';
|
||||
$trans: 'true';
|
||||
$black: 'false';
|
||||
$theme: 'default';
|
||||
|
||||
@import '../../sass/colors';
|
||||
@import '../../sass/variables';
|
||||
@import '../../sass/gnome-shell/drawing';
|
||||
@import '../../sass/gnome-shell/widgets/base';
|
||||
@import '../../sass/gnome-shell/widgets/buttons';
|
||||
@import '../../sass/gnome-shell/widgets/calendar';
|
||||
@import '../../sass/gnome-shell/widgets/checkbox';
|
||||
//@import '../../sass/gnome-shell/widgets/dashboard';
|
||||
//@import '../../sass/gnome-shell/widgets/dialogs';
|
||||
@import '../../sass/gnome-shell/widgets/entrys';
|
||||
@import '../../sass/gnome-shell/widgets/keyboard';
|
||||
@import '../../sass/gnome-shell/widgets/login-dialog';
|
||||
//@import '../../sass/gnome-shell/widgets/looking-glass';
|
||||
//@import '../../sass/gnome-shell/widgets/misc';
|
||||
//@import '../../sass/gnome-shell/widgets/notifications';
|
||||
//@import '../../sass/gnome-shell/widgets/osd';
|
||||
//@import '../../sass/gnome-shell/widgets/overview';
|
||||
@import '../../sass/gnome-shell/widgets/panel';
|
||||
@import '../../sass/gnome-shell/widgets/popovers';
|
||||
@import '../../sass/gnome-shell/widgets/screen-shield';
|
||||
@import '../../sass/gnome-shell/widgets/scrollbar';
|
||||
@import '../../sass/gnome-shell/widgets/slider';
|
||||
@import '../../sass/gnome-shell/widgets/switch';
|