New framework

This commit is contained in:
Muhammad Rivan 2021-04-08 07:09:27 +07:00
parent 422060b7db
commit 65ebe753a1
368 changed files with 1971 additions and 791292 deletions

10
.gitignore vendored Normal file
View 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
View 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
View file

@ -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
View file

@ -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
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

BIN
docs/dash-to-dock.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

BIN
docs/download-button.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
docs/firefox.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

BIN
docs/gdm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 KiB

BIN
docs/icons.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
docs/macbook.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 842 KiB

BIN
docs/nautilus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
docs/sandboxes.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
docs/sidebars.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 KiB

BIN
docs/whitesur-kde-theme.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

BIN
docs/whitesur-wallpaper.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

File diff suppressed because it is too large Load diff

513
lib-core.sh Normal file
View 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
View 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
}

View file

@ -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..."

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

View file

@ -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';

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more