Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hörist <forenjunkie@chello.at>2017-05-10 18:16:14 +0300
committerPhilipp Hörist <forenjunkie@chello.at>2017-05-16 17:39:52 +0300
commit6c9e68548bdd62abdf182ed2485bb412656cadd3 (patch)
tree7f38951db44b7c807cef9d0886f4c553261df7e5
parent94be050aa6c35242f8daeb5caae40ff5677bd281 (diff)
Switch to using MSYS2 for Windows build
-rw-r--r--.gitignore1
-rw-r--r--appveyor.yml56
-rw-r--r--build.bat26
-rw-r--r--dependencys.ps111
-rw-r--r--launch.bat3
-rw-r--r--requirements.txt15
-rw-r--r--setup_win32.py137
-rw-r--r--win/README.md32
-rw-r--r--win/_base.sh321
-rw-r--r--win/build.sh31
-rw-r--r--win/dev_env.sh41
-rw-r--r--win/etc/gtk-3.0/settings.ini2
-rw-r--r--win/misc/create-launcher.py204
-rw-r--r--win/misc/depcheck.py104
-rw-r--r--win/misc/gajim-portable.nsi (renamed from gajim-portable.nsi)168
-rw-r--r--win/misc/gajim.icobin0 -> 300318 bytes
-rw-r--r--win/misc/gajim.nsi (renamed from gajim.nsi)703
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/check-checked-symbolic.pngbin0 -> 320 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/check-checked-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/check-dash-symbolic.pngbin0 -> 236 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/check-dash-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/check-unchecked-symbolic.pngbin0 -> 219 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/check-unchecked-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode-dark.pngbin0 -> 498 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode-dark@2.pngbin0 -> 942 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode.pngbin0 -> 582 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode@2.pngbin0 -> 1028 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode-dark.pngbin0 -> 553 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode-dark@2.pngbin0 -> 936 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode.pngbin0 -> 582 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode@2.pngbin0 -> 1028 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode-dark.pngbin0 -> 340 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode-dark@2.pngbin0 -> 618 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode.pngbin0 -> 343 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode@2.pngbin0 -> 603 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode-dark.pngbin0 -> 346 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode-dark@2.pngbin0 -> 614 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode.pngbin0 -> 341 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode@2.pngbin0 -> 593 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/radio-checked-symbolic.pngbin0 -> 532 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/radio-checked-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/radio-dash-symbolic.pngbin0 -> 490 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/radio-dash-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/radio-unchecked-symbolic.pngbin0 -> 485 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/radio-unchecked-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-dark.pngbin0 -> 435 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-dark@2.pngbin0 -> 809 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-dark.pngbin0 -> 420 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-dark@2.pngbin0 -> 808 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive-dark.pngbin0 -> 788 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.pngbin0 -> 1460 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive.pngbin0 -> 700 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive@2.pngbin0 -> 1378 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above.pngbin0 -> 572 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above@2.pngbin0 -> 1076 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-dark.pngbin0 -> 430 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-dark@2.pngbin0 -> 797 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive-dark.pngbin0 -> 782 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.pngbin0 -> 1465 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive.pngbin0 -> 725 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive@2.pngbin0 -> 1393 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below.pngbin0 -> 579 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below@2.pngbin0 -> 1074 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive-dark.pngbin0 -> 787 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive-dark@2.pngbin0 -> 1561 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive.pngbin0 -> 723 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive@2.pngbin0 -> 1434 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-dark.pngbin0 -> 416 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-dark@2.pngbin0 -> 747 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive-dark.pngbin0 -> 789 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.pngbin0 -> 1434 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive.pngbin0 -> 690 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive@2.pngbin0 -> 1283 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above.pngbin0 -> 589 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above@2.pngbin0 -> 1070 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-dark.pngbin0 -> 422 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-dark@2.pngbin0 -> 800 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive-dark.pngbin0 -> 809 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.pngbin0 -> 1505 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive.pngbin0 -> 712 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive@2.pngbin0 -> 1359 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below.pngbin0 -> 615 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below@2.pngbin0 -> 1130 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider.pngbin0 -> 579 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/assets/slider@2.pngbin0 -> 1126 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/check-checked-symbolic.pngbin0 -> 320 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/check-checked-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/check-dash-symbolic.pngbin0 -> 236 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/check-dash-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/check-unchecked-symbolic.pngbin0 -> 219 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/check-unchecked-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode-dark.pngbin0 -> 498 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode-dark@2.pngbin0 -> 942 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode.pngbin0 -> 582 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode@2.pngbin0 -> 1028 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode-dark.pngbin0 -> 553 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode-dark@2.pngbin0 -> 936 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode.pngbin0 -> 582 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode@2.pngbin0 -> 1028 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode-dark.pngbin0 -> 340 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode-dark@2.pngbin0 -> 618 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode.pngbin0 -> 343 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode@2.pngbin0 -> 603 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode-dark.pngbin0 -> 346 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode-dark@2.pngbin0 -> 614 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode.pngbin0 -> 341 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode@2.pngbin0 -> 593 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/radio-checked-symbolic.pngbin0 -> 532 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/radio-checked-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/radio-dash-symbolic.pngbin0 -> 490 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/radio-dash-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/radio-unchecked-symbolic.pngbin0 -> 485 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/radio-unchecked-symbolic.svg3
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-dark.pngbin0 -> 435 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-dark@2.pngbin0 -> 809 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.pngbin0 -> 420 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.pngbin0 -> 808 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.pngbin0 -> 788 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.pngbin0 -> 1460 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.pngbin0 -> 700 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.pngbin0 -> 1378 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above.pngbin0 -> 572 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.pngbin0 -> 1076 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.pngbin0 -> 430 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.pngbin0 -> 797 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.pngbin0 -> 782 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.pngbin0 -> 1465 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.pngbin0 -> 725 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.pngbin0 -> 1393 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below.pngbin0 -> 579 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.pngbin0 -> 1074 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-insensitive-dark.pngbin0 -> 787 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-insensitive-dark@2.pngbin0 -> 1561 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-insensitive.pngbin0 -> 723 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-insensitive@2.pngbin0 -> 1434 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.pngbin0 -> 416 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.pngbin0 -> 747 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.pngbin0 -> 789 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.pngbin0 -> 1434 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.pngbin0 -> 690 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.pngbin0 -> 1283 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above.pngbin0 -> 589 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.pngbin0 -> 1070 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.pngbin0 -> 422 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.pngbin0 -> 800 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.pngbin0 -> 809 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.pngbin0 -> 1505 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.pngbin0 -> 712 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.pngbin0 -> 1359 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below.pngbin0 -> 615 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.pngbin0 -> 1130 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider.pngbin0 -> 579 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/assets/slider@2.pngbin0 -> 1126 bytes
-rw-r--r--win/themes/VimixLight/gtk-3.0/gtk-dark.css3934
-rw-r--r--win/themes/VimixLight/gtk-3.0/gtk.css3934
-rw-r--r--win/themes/VimixLight/index.theme12
156 files changed, 8946 insertions, 825 deletions
diff --git a/.gitignore b/.gitignore
index f441197ba..a9245fcd7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,7 @@ stamp-h1
Makefile
__pycache__/
src/gtk/
+win/_build_root
syntax: regexp
^config\.*
diff --git a/appveyor.yml b/appveyor.yml
index 9af5bf6e1..0f7c8c185 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,8 +1,7 @@
environment:
matrix:
-
- - PYTHON: "C:\\Python34"
+ - MSYS: "C:\\msys64\\mingw32.exe"
branches:
only:
@@ -10,49 +9,36 @@ branches:
clone_depth: 1
-install:
- - git clone --depth=1 --branch=gtk3 https://dev.gajim.org/gajim/gajim-plugins.git c:\projects\gajim-plugins
-
- # Download & Install Dependencys
- - ps: c:\\projects\\gajim\\dependencys.ps1
-
- - set PATH=C:\\MinGW\\bin;%PATH%
- - "%PYTHON%\\python.exe -m pip install --upgrade pip"
- - "%PYTHON%\\python.exe -m pip install -r c:\\projects\\gajim\\requirements.txt"
+# init:
+# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
- - ps: Add-Content C:\Python34\Lib\site-packages\google\__init__.py " "
- - "%PYTHON%\\python.exe -m pip install --no-dependencies python-axolotl"
- - "%PYTHON%\\python.exe -m pip install --global-option=build_ext --global-option --compiler=mingw32 python-axolotl-curve25519"
-
- # Prepare Build Dir
- - cd c:\\projects\\gajim\\
- - xcopy . ..\gajim_built /e /i
- - cd ..\gajim_built
-
- # Copy Shipped Plugins
- - xcopy ..\gajim-plugins\plugin_installer plugins\plugin_installer /e /i
-
- # Compile Translation Strings
- - cmd: for %%l in (po\*.po) do mkdir po\%%~nl & mkdir po\%%~nl\LC_MESSAGES & msgfmt -o po\%%~nl\LC_MESSAGES\gajim.mo %%l
+install:
- # Make Gajim.exe
- - "%PYTHON%\\python.exe setup_win32.py build_exe"
+ - ps: |
+ function bash($command) {
+ Write-Host $command -NoNewline
+ cmd /c start /wait C:\msys64\usr\bin\sh.exe --login -c $command
+ Write-Host " - OK" -ForegroundColor Green
+ }
- - move build\exe.win32-3.4 .
- - rmdir build
- - rename exe.win32-3.4 build
+ bash 'pacman -Sy --noconfirm git'
+ bash 'git clone https://dev.gajim.org/lovetox/gajim.git'
- # Make Installer
- - ps: '& "C:\Program Files (x86)\NSIS\makensis.exe" gajim.nsi'
- - ps: '& "C:\Program Files (x86)\NSIS\makensis.exe" gajim-portable.nsi'
+ - cmd: '%MSYS% C:/msys64/home/appveyor/gajim/win/build.sh'
+ # Ugly workaround, because i found no way to tell when mingw32.exe returns
+ - cmd: timeout 900
# Push Installer Exe
- ps: $env:TIME_STRING=(get-date -UFormat "%Y-%m-%d").ToString()
- - ps: Push-AppveyorArtifact Gajim.exe -FileName "Gajim-default-$($env:TIME_STRING).exe"
- - ps: Push-AppveyorArtifact Gajim-Portable.exe -FileName "Gajim-portable-default-$($env:TIME_STRING).exe"
+ - ps: $env:BUILDROOT="C:\msys64\home\appveyor\gajim\win\_build_root"
+ - ps: Push-AppveyorArtifact "$($env:BUILDROOT)/Gajim.exe" -FileName "Gajim-Master-$($env:TIME_STRING).exe"
+ - ps: Push-AppveyorArtifact "$($env:BUILDROOT)/Gajim-Portable.exe" -FileName "Gajim-Portable-Master-$($env:TIME_STRING).exe"
build: off
+# on_finish:
+# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
+
deploy:
# FTP deployment provider settings
- provider: FTP
diff --git a/build.bat b/build.bat
deleted file mode 100644
index 7b4578fd2..000000000
--- a/build.bat
+++ /dev/null
@@ -1,26 +0,0 @@
-rmdir /S /Q ..\gajim_built
-
-xcopy . ..\gajim_built /e /i
-cd ..
-cd gajim_built
-
-xcopy ..\gajim-plugins\plugin_installer plugins\plugin_installer /e /i
-
-rem copy C:\Python34\Lib\site-packages\gnome\msgfmt.exe gajim_built
-rem copy C:\Windows\System32\msvcr100.dll gajim_built
-
-for %%l in (po\*.po) do mkdir po\%%~nl & mkdir po\%%~nl\LC_MESSAGES & msgfmt -o po\%%~nl\LC_MESSAGES\gajim.mo %%l
-
-"c:\python34\python.exe" setup_win32.py build_exe
-
-move build\exe.win32-3.4 .
-rmdir build
-rename exe.win32-3.4 build
-
-rem xcopy ..\win32com build\win32com /e /i
-
-"C:\Program Files (x86)\NSIS\makensis" gajim.nsi
-
-cd ..
-
-pause \ No newline at end of file
diff --git a/dependencys.ps1 b/dependencys.ps1
deleted file mode 100644
index 83c121f9e..000000000
--- a/dependencys.ps1
+++ /dev/null
@@ -1,11 +0,0 @@
-# Download the file to a specific location
-$clnt = new-object System.Net.WebClient
-$url = "https://gajim.org/downloads/snap/win/build/site-packages.zip"
-$file = "c:\site-packages.zip"
-$clnt.DownloadFile($url,$file)
-
-# Unzip the file to specified location
-$shell_app=new-object -com shell.application
-$zip_file = $shell_app.namespace($file)
-$destination = $shell_app.namespace("C:\Python34\Lib\site-packages")
-$destination.Copyhere($zip_file.items())
diff --git a/launch.bat b/launch.bat
deleted file mode 100644
index 55a64a8a2..000000000
--- a/launch.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-cd src
-python gajim.py
-cd ..
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index 48997f8d2..000000000
--- a/requirements.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-setuptools
-git+https://dev.gajim.org/gajim/python-nbxmpp.git
-protobuf
-pycryptodome
-cryptography
-cx_freeze
-keyring
-pypiwin32
-pyopenssl
-python-gnupg
-pillow
-pycurl
-docutils
-qrcode
-certifi
diff --git a/setup_win32.py b/setup_win32.py
deleted file mode 100644
index 42acba89e..000000000
--- a/setup_win32.py
+++ /dev/null
@@ -1,137 +0,0 @@
-# setup_win32.py (run me as python setup_win32.py py2exe -O2)
-#
-# Copyright (C) 2003-2014 Yann Leboulanger <asterix AT lagaule.org>
-# Copyright (C) 2005-2006 Nikos Kouremenos <kourem AT gmail.com>
-# Copyright (C) 2008 Jonathan Schleifer <js-gajim AT webkeks.org>
-#
-# This file is part of Gajim.
-#
-# Gajim is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published
-# by the Free Software Foundation; version 3 only.
-#
-# Gajim is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Gajim. If not, see <http://www.gnu.org/licenses/>.
-#
-
-
-import sys
-import os
-import site
-from cx_Freeze import setup, Executable
-
-SITEDIR = site.getsitepackages()[1]
-INCLUDE_DLL_PATH = os.path.join(SITEDIR, "gnome")
-sys.path.append('src')
-
-# Collect the list of missing dll when cx_freeze builds the app
-
-MISSING_DLL = ['libgtk-3-0.dll',
- 'libgdk-3-0.dll',
- 'libatk-1.0-0.dll',
- 'libgdk_pixbuf-2.0-0.dll',
- 'libjpeg-8.dll',
- 'libpango-1.0-0.dll',
- 'libpangocairo-1.0-0.dll',
- 'libpangoft2-1.0-0.dll',
- 'libpangowin32-1.0-0.dll',
- 'libgnutls-28.dll',
- 'libp11-kit-0.dll',
- 'libgstrtp-1.0-0.dll',
- 'libgstrtsp-1.0-0.dll',
- 'libgstrtspserver-1.0-0.dll',
- 'libfarstream-0.2-5.dll',
- 'libgstsdp-1.0-0.dll',
- 'libgsttag-1.0-0.dll',
- 'libgssdp-1.0-3.dll',
- 'libgstvideo-1.0-0.dll',
- 'libgstapp-1.0-0.dll',
- 'libgupnp-1.0-4.dll',
- 'libgstaudio-1.0-0.dll',
- 'libgupnp-igd-1.0-4.dll',
- 'libgstbase-1.0-0.dll',
- 'libnice-10.dll',
- 'librsvg-2-2.dll',
- 'libvisual-0.4-0.dll',
- 'libwebp-5.dll',
- 'libgstriff-1.0-0.dll',
- 'libepoxy-0.dll',
- 'libharfbuzz-0.dll',
- 'libtiff-5.dll',
- 'libjasper-1.dll',
- 'libgstpbutils-1.0-0.dll',
- 'liborc-0.4-0.dll',
- 'libgstnet-1.0-0.dll',
- 'libsoup-2.4-1.dll',
- 'liborc-test-0.4-0.dll',
- 'libavcodec-57.dll',
- 'libavutil-55.dll',
- 'libswresample-2.dll',
- 'libavformat-57.dll',
- 'libavfilter-6.dll',
- 'libgssapi-3.dll',
- 'libopenssl.dll',
- 'libsqlite3-0.dll',
- 'libproxy.dll',
- 'libstdc++.dll',
- 'libgstfft-1.0-0.dll']
-
-
-# We need to add all the libraries too (for themes, etc..)
-GTK_LIBS = {
- 'etc': ['dbus-1', 'fonts', 'gtk-3.0', 'pango'],
- 'lib': ['farstream-0.2', 'gdbus-2.0',
- 'gdk-pixbuf-2.0', 'gio', 'girepository-1.0',
- 'gstreamer-1.0', 'gtk-3.0'],
- 'share': ['dbus-1', 'farstream', 'fonts',
- 'glib-2.0',
- 'gst-plugins-base', 'gstreamer-1.0', 'gupnp-av',
- 'gupnp-dlna-2.0', 'icons', 'ssl', 'themes', 'xml']
-}
-
-# Create the list of includes as cx_freeze likes
-INCLUDE_FILES = []
-for dll in MISSING_DLL:
- INCLUDE_FILES.append((os.path.join(INCLUDE_DLL_PATH, dll), dll))
-
-# Let's add gtk libraries folders and files
-for folder in GTK_LIBS:
- for lib in GTK_LIBS[folder]:
- folder_lib = os.path.join(folder, lib)
- INCLUDE_FILES.append((os.path.join(INCLUDE_DLL_PATH, folder_lib),
- folder_lib))
-
-#Let's add gtk locales that we support in Gajim
-for language in next(os.walk('po'))[1]:
- target_dir = os.path.join('share', 'locale', language)
- language_dir = os.path.join(INCLUDE_DLL_PATH, target_dir)
- if os.path.isdir(language_dir):
- INCLUDE_FILES.append((language_dir, target_dir))
-
-OPTIONS = {
- 'build_exe': {
- 'includes': ['gi', 'numbers', 'win32com.client', 'win32com.server'],
- 'packages': ['gi', 'cffi', 'cryptography', 'google', 'axolotl',
- 'pkg_resources', 'Crypto', 'pycparser', 'keyring',
- 'PIL', 'idna', 'qrcode', 'certifi'],
- 'include_files': INCLUDE_FILES,
- }
-}
-
-setup(
- name='Gajim',
- version='0.16.10',
- description='A full featured Jabber client',
- author='Gajim Development Team',
- url='http://gajim.org/',
- download_url='http://gajim.org/downloads.php',
- license='GPL',
- options=OPTIONS,
- executables=[Executable('src/gajim.py', icon='data/pixmaps/gajim.ico',
- base='Win32GUI')],
-)
diff --git a/win/README.md b/win/README.md
new file mode 100644
index 000000000..9862caa68
--- /dev/null
+++ b/win/README.md
@@ -0,0 +1,32 @@
+# Windows Installer
+
+We use [msys2](http://www.msys2.org/) for creating the Windows installer
+and development on Windows.
+
+
+### Development
+-----------
+
+Download [msys2](http://www.msys2.org/) (msys2-x86_64-xxx.exe) and follow the install instructions on the [msys2](http://www.msys2.org/) startpage (**Important!**)
+
+* Fork the master branch on dev.gajim.org
+* Execute ``C:\msys64\mingw32.exe``
+* Run ``pacman -S git`` to install git
+* Run ``git clone https://dev.gajim.org/USERNAME/gajim.git``
+* Run ``cd gajim/win`` to end up where this README exists.
+* Execute ``./dev_env.sh`` to install all the needed dependencies.
+* Now go to the git root dir ``cd ..``
+* Launch Gajim ``./launch.sh``
+
+
+### Build Gajim / Creating an Installer
+---------------------
+
+Follow the steps in the Development section, but instead of ``./dev_env.sh`` execute ``./build.sh``.
+
+You can supply a git tag ``./build.sh [git-tag]``.
+
+Or dont supply it, then current HEAD is build.
+
+Both the installer and the portable installer should appear in ``C:\msys64\home\USER\gajim\win\_build_root``.
+
diff --git a/win/_base.sh b/win/_base.sh
new file mode 100644
index 000000000..ee1521429
--- /dev/null
+++ b/win/_base.sh
@@ -0,0 +1,321 @@
+#!/usr/bin/env bash
+# Copyright 2016 Christoph Reiter
+# Copyright 2017 Philipp Hörist
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+
+set -e
+DIR="$( cd "$( dirname "$0" )" && pwd )"
+cd "${DIR}"
+
+# CONFIG START
+
+ARCH="i686"
+PYTHON_VERSION="3"
+BUILD_VERSION="0"
+
+# CONFIG END
+
+MISC="${DIR}"/misc
+PYTHON_ID="python${PYTHON_VERSION}"
+MINGW="mingw32"
+
+QL_VERSION="0.0.0"
+QL_VERSION_DESC="UNKNOWN"
+
+function set_build_root {
+ BUILD_ROOT="$1"
+ REPO_CLONE="${BUILD_ROOT}/${MINGW}"/gajim
+ MINGW_ROOT="${BUILD_ROOT}/${MINGW}"
+}
+
+set_build_root "${DIR}/_build_root"
+
+function build_pacman {
+ pacman --root "${BUILD_ROOT}" "$@"
+}
+
+function build_pip {
+ "${BUILD_ROOT}"/"${MINGW}"/bin/"${PYTHON_ID}".exe -m pip "$@"
+}
+
+function build_python {
+ "${BUILD_ROOT}"/"${MINGW}"/bin/"${PYTHON_ID}".exe "$@"
+}
+
+function build_compileall {
+ build_python -m compileall -b "$@"
+}
+
+function install_pre_deps {
+ pacman -S --needed --noconfirm p7zip git \
+ mingw-w64-"${ARCH}"-nsis wget intltool mingw-w64-"${ARCH}"-toolchain \
+ mingw-w64-i686-python3
+}
+
+function create_root {
+ mkdir -p "${BUILD_ROOT}"
+
+ mkdir -p "${BUILD_ROOT}"/var/lib/pacman
+ mkdir -p "${BUILD_ROOT}"/var/log
+ mkdir -p "${BUILD_ROOT}"/tmp
+
+ build_pacman -Syu
+ build_pacman --noconfirm -S base
+}
+
+function install_deps {
+ build_pacman --noconfirm -S mingw-w64-"${ARCH}"-gtk3 mingw-w64-"${ARCH}"-"${PYTHON_ID}" \
+ mingw-w64-"${ARCH}"-"${PYTHON_ID}"-gobject \
+ mingw-w64-"${ARCH}"-"${PYTHON_ID}"-pip \
+ mingw-w64-"${ARCH}"-gstreamer \
+ mingw-w64-"${ARCH}"-adwaita-icon-theme
+
+ build_pip install setuptools_scm
+
+ PIP_REQUIREMENTS="\
+pyasn1
+certifi
+git+https://dev.gajim.org/gajim/python-nbxmpp.git
+protobuf
+git+https://github.com/dlitz/pycrypto.git
+cryptography
+pyopenssl
+python-gnupg
+docutils
+qrcode
+keyring
+"
+
+ build_pip install --no-binary ":all:" \
+ --force-reinstall $(echo "$PIP_REQUIREMENTS" | tr ["\\n"] [" "])
+ build_pip install python-axolotl
+
+ build_pacman --noconfirm -Rdd mingw-w64-"${ARCH}"-shared-mime-info \
+ mingw-w64-"${ARCH}"-"${PYTHON_ID}"-pip mingw-w64-"${ARCH}"-ncurses || true
+ build_pacman --noconfirm -Rdd mingw-w64-"${ARCH}"-tk || true
+ build_pacman --noconfirm -Rdd mingw-w64-"${ARCH}"-tcl || true
+ build_pacman --noconfirm -Rdd mingw-w64-"${ARCH}"-gnome-common || true
+ build_pacman --noconfirm -Rdd mingw-w64-"${ARCH}"-gsl || true
+ build_pacman --noconfirm -Rdd mingw-w64-"${ARCH}"-libvpx || true
+
+ # remove the large png icons, they should be used rarely and svg works fine
+ rm -Rf "${MINGW_ROOT}/share/icons/Adwaita/512x512"
+ rm -Rf "${MINGW_ROOT}/share/icons/Adwaita/256x256"
+ rm -Rf "${MINGW_ROOT}/share/icons/Adwaita/96x96"
+ rm -Rf "${MINGW_ROOT}/share/icons/Adwaita/64x64"
+ rm -Rf "${MINGW_ROOT}/share/icons/Adwaita/48x48"
+ "${MINGW_ROOT}"/bin/gtk-update-icon-cache-3.0.exe --force \
+ "${MINGW_ROOT}/share/icons/Adwaita"
+
+}
+
+function install_gajim {
+ [ -z "$1" ] && (echo "Missing arg"; exit 1)
+
+ rm -Rf "${REPO_CLONE}"
+ git clone "${DIR}"/.. "${REPO_CLONE}"
+
+ (cd "${REPO_CLONE}" && git checkout "$1") || exit 1
+
+ if [ "$1" = "master" ]
+ then
+ local GIT_REV=$(git rev-list --count HEAD)
+ local GIT_HASH=$(git rev-parse --short HEAD)
+ QL_VERSION_DESC="QL_VERSION-rev$GIT_REV-$GIT_HASH"
+ else
+ QL_VERSION_DESC=$1
+ QL_VERSION=$1
+ fi
+
+ # Create launchers
+ build_python "${MISC}"/create-launcher.py \
+ "${QL_VERSION}" "${MINGW_ROOT}"/bin
+
+ # Install plugin installer
+ wget -P "${REPO_CLONE}/plugins" -c https://ftp.gajim.org/plugins_1/plugin_installer.zip
+ 7z x -o"${REPO_CLONE}"/plugins "${REPO_CLONE}"/plugins/plugin_installer.zip
+ rm -f "${REPO_CLONE}"/plugins/plugin_installer.zip
+
+ # Install themes
+ rm -Rf "${MINGW_ROOT}"/etc
+ rm -Rf "${MINGW_ROOT}"/share/themes
+ mv "${REPO_CLONE}"/win/etc "${MINGW_ROOT}"
+ mv "${REPO_CLONE}"/win/themes "${MINGW_ROOT}"/share
+
+ # Install our own icons
+ rm -Rf "${MINGW_ROOT}/share/icons/hicolor"
+ mv "${REPO_CLONE}"/icons/hicolor "${MINGW_ROOT}"/share/icons
+
+ # we installed our app icons into hicolor
+ "${MINGW_ROOT}"/bin/gtk-update-icon-cache-3.0.exe --force \
+ "${MINGW_ROOT}/share/icons/hicolor"
+
+ # Create translation files
+ for f in "${REPO_CLONE}"/po/*.po; do
+ fullfilename=$(basename "$f")
+ filename="${fullfilename%.*}"
+ directory="${MINGW_ROOT}"/share/locale/"$filename"
+ if [ ! -d "$directory" ]; then
+ printf "create dir\n"
+ mkdir -p "${directory}"/LC_MESSAGES
+ fi
+ printf "compile $filename\n"
+ msgfmt -o "${directory}"/LC_MESSAGES/gajim.mo "$f"
+ done
+
+}
+
+function cleanup_install {
+ #delete translations we don't support
+ for d in "${MINGW_ROOT}"/share/locale/*/LC_MESSAGES; do
+ if [ ! -f "${d}"/gajim.mo ]; then
+ rm -Rf "${d}"
+ fi
+ done
+
+ find "${MINGW_ROOT}" -regextype "posix-extended" -name "*.exe" -a ! \
+ -iregex ".*/(gajim|python|history_manager)[^/]*\\.exe" \
+ -exec rm -f {} \;
+
+ rm -Rf "${REPO_CLONE}"/.git
+ rm -Rf "${REPO_CLONE}"/debian
+ rm -Rf "${REPO_CLONE}"/doc
+ rm -Rf "${REPO_CLONE}"/m4
+ rm -Rf "${REPO_CLONE}"/scripts
+ rm -Rf "${REPO_CLONE}"/test
+ rm -Rf "${REPO_CLONE}"/win
+ rm -Rf "${REPO_CLONE}"/icons
+ rm -Rf "${REPO_CLONE}"/po
+ rm -Rf "${REPO_CLONE}"/plugins/acronyms_expander
+ rm -Rf "${REPO_CLONE}"/plugins/dbus_plugin
+ rm -Rf "${REPO_CLONE}"/plugins/events_dump
+ rm -Rf "${REPO_CLONE}"/plugins/new_events_example
+ rm -Rf "${REPO_CLONE}"/plugins/roster_buttons
+
+ find "${REPO_CLONE}"/* -maxdepth 0 -type f ! -regex ".*/\(AUTHORS\|COPYING\|THANKS\|THANKS.artists\)" -exec rm -f {} \;
+ find "${REPO_CLONE}"/data/* -maxdepth 0 -type f -exec rm -f {} \;
+
+ rm -Rf "${MINGW_ROOT}"/libexec
+ rm -Rf "${MINGW_ROOT}"/share/gtk-doc
+ rm -Rf "${MINGW_ROOT}"/include
+ rm -Rf "${MINGW_ROOT}"/var
+ rm -Rf "${MINGW_ROOT}"/share/zsh
+ rm -Rf "${MINGW_ROOT}"/share/pixmaps
+ rm -Rf "${MINGW_ROOT}"/share/gnome-shell
+ rm -Rf "${MINGW_ROOT}"/share/dbus-1
+ rm -Rf "${MINGW_ROOT}"/share/gir-1.0
+ rm -Rf "${MINGW_ROOT}"/share/doc
+ rm -Rf "${MINGW_ROOT}"/share/man
+ rm -Rf "${MINGW_ROOT}"/share/info
+ rm -Rf "${MINGW_ROOT}"/share/mime
+ rm -Rf "${MINGW_ROOT}"/share/gettext
+ rm -Rf "${MINGW_ROOT}"/share/libtool
+ rm -Rf "${MINGW_ROOT}"/share/licenses
+ rm -Rf "${MINGW_ROOT}"/share/appdata
+ rm -Rf "${MINGW_ROOT}"/share/aclocal
+ rm -Rf "${MINGW_ROOT}"/share/ffmpeg
+ rm -Rf "${MINGW_ROOT}"/share/vala
+ rm -Rf "${MINGW_ROOT}"/share/readline
+ rm -Rf "${MINGW_ROOT}"/share/xml
+ rm -Rf "${MINGW_ROOT}"/share/bash-completion
+ rm -Rf "${MINGW_ROOT}"/share/common-lisp
+ rm -Rf "${MINGW_ROOT}"/share/emacs
+ rm -Rf "${MINGW_ROOT}"/share/gdb
+ rm -Rf "${MINGW_ROOT}"/share/libcaca
+ rm -Rf "${MINGW_ROOT}"/share/gettext
+ rm -Rf "${MINGW_ROOT}"/share/gst-plugins-base
+ rm -Rf "${MINGW_ROOT}"/share/gtk-3.0
+ rm -Rf "${MINGW_ROOT}"/share/nghttp2
+ rm -Rf "${MINGW_ROOT}"/share/fontconfig
+ rm -Rf "${MINGW_ROOT}"/share/gettext-*
+ rm -Rf "${MINGW_ROOT}"/share/gstreamer-1.0
+
+ find "${MINGW_ROOT}"/share/glib-2.0 -type f ! \
+ -name "*.compiled" -exec rm -f {} \;
+
+ rm -Rf "${MINGW_ROOT}"/lib/"${PYTHON_ID}".*/test
+ rm -Rf "${MINGW_ROOT}"/lib/cmake
+ rm -Rf "${MINGW_ROOT}"/lib/gettext
+ rm -Rf "${MINGW_ROOT}"/lib/gtk-3.0
+ rm -Rf "${MINGW_ROOT}"/lib/mpg123
+ rm -Rf "${MINGW_ROOT}"/lib/p11-kit
+ rm -Rf "${MINGW_ROOT}"/lib/ruby
+ rm -Rf "${MINGW_ROOT}"/lib/tcl8
+ rm -Rf "${MINGW_ROOT}"/lib/tcl8.6
+
+
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstvpx.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstdaala.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstdvdread.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstopenal.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstopenexr.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstopenh264.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstresindvd.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstassrender.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstx265.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstwebp.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstopengl.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstmxf.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstfaac.dll
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstschro.dll
+
+ rm -f "${MINGW_ROOT}"/bin/libharfbuzz-icu-0.dll
+ rm -f "${MINGW_ROOT}"/lib/"${PYTHON_ID}".*/lib-dynload/_tkinter*
+ rm -f "${MINGW_ROOT}"/lib/gstreamer-1.0/libgstcacasink.dll
+
+ rm -Rf "${MINGW_ROOT}"/lib/python2.*
+
+ find "${MINGW_ROOT}" -name "*.a" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.whl" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.h" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.la" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.sh" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.jar" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.def" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.cmd" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.cmake" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.pc" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.desktop" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.manifest" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.pyo" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "*.am" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name ".gitignore" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -name "pylint.rc" -exec rm -f {} \;
+
+ find "${MINGW_ROOT}"/bin -name "*-config" -exec rm -f {} \;
+ find "${MINGW_ROOT}"/bin -name "easy_install*" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -regex ".*/bin/[^.]+" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -regex ".*/bin/[^.]+\\.[0-9]+" -exec rm -f {} \;
+
+ find "${MINGW_ROOT}" -name "gtk30-properties.mo" -exec rm -rf {} \;
+ find "${MINGW_ROOT}" -name "gettext-tools.mo" -exec rm -rf {} \;
+
+ find "${MINGW_ROOT}" -name "old_root.pem" -exec rm -rf {} \;
+ find "${MINGW_ROOT}" -name "weak.pem" -exec rm -rf {} \;
+
+ find "${MINGW_ROOT}"/lib/"${PYTHON_ID}".* -type d -name "test*" \
+ -prune -exec rm -rf {} \;
+
+ find "${MINGW_ROOT}"/lib/"${PYTHON_ID}".* -type d -name "*_test*" \
+ -prune -exec rm -rf {} \;
+
+ find "${MINGW_ROOT}"/bin -name "*.pyo" -exec rm -f {} \;
+ find "${MINGW_ROOT}"/bin -name "*.pyc" -exec rm -f {} \;
+ build_compileall -q "${MINGW_ROOT}"
+ find "${MINGW_ROOT}" -name "*.py" ! -name "gajim.py" ! -name "history_manager.py" -exec rm -f {} \;
+ find "${MINGW_ROOT}"/bin -name "*.pyc" -exec rm -f {} \;
+ find "${MINGW_ROOT}" -type d -name "__pycache__" -prune -exec rm -rf {} \;
+
+ build_python "${MISC}/depcheck.py"
+
+ find "${MINGW_ROOT}" -type d -empty -delete
+
+}
+
+function build_installer {
+ (cd "$BUILD_ROOT" && makensis -NOCD -DVERSION="$QL_VERSION_DESC" "${MISC}"/gajim.nsi)
+ (cd "$BUILD_ROOT" && makensis -NOCD -DVERSION="$QL_VERSION_DESC" "${MISC}"/gajim-portable.nsi)
+}
diff --git a/win/build.sh b/win/build.sh
new file mode 100644
index 000000000..61e3e4420
--- /dev/null
+++ b/win/build.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+# Copyright 2016 Christoph Reiter
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+DIR="$( cd "$( dirname "$0" )" && pwd )"
+source "$DIR"/_base.sh
+
+function main {
+ local GIT_TAG=${1:-"master"}
+
+ [[ -d "${BUILD_ROOT}" ]] && (echo "${BUILD_ROOT} already exists"; exit 1)
+
+ # started from the wrong env -> switch
+ if [ $(echo "$MSYSTEM" | tr '[A-Z]' '[a-z]') != "$MINGW" ]; then
+ "/${MINGW}.exe" "$0"
+ exit $?
+ fi
+
+ install_pre_deps
+ create_root
+ install_deps
+ install_gajim "$GIT_TAG"
+ cleanup_install
+ build_installer
+}
+
+main "$@";
diff --git a/win/dev_env.sh b/win/dev_env.sh
new file mode 100644
index 000000000..852404086
--- /dev/null
+++ b/win/dev_env.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env bash
+
+set -e
+
+function main {
+ pacman --noconfirm -S --needed \
+ git \
+ mingw-w64-i686-toolchain \
+ mingw-w64-i686-gdk-pixbuf2 \
+ mingw-w64-i686-gtk3 \
+ mingw-w64-i686-gstreamer \
+ intltool \
+ mingw-w64-i686-sqlite3 \
+ mingw-w64-i686-python3 \
+ mingw-w64-i686-python3-gobject \
+ mingw-w64-i686-python3-pip
+
+ pip3 install setuptools_scm
+
+ PIP_REQUIREMENTS="\
+pyasn1
+certifi
+git+https://dev.gajim.org/gajim/python-nbxmpp.git
+protobuf
+git+https://github.com/dlitz/pycrypto.git
+cryptography
+pyopenssl
+python-gnupg
+docutils
+qrcode
+keyring
+"
+
+ pip3 install --no-binary ":all:" \
+ --force-reinstall $(echo "$PIP_REQUIREMENTS" | tr ["\\n"] [" "])
+
+ pip3 install python-axolotl
+
+}
+
+main;
diff --git a/win/etc/gtk-3.0/settings.ini b/win/etc/gtk-3.0/settings.ini
new file mode 100644
index 000000000..b95eb04fd
--- /dev/null
+++ b/win/etc/gtk-3.0/settings.ini
@@ -0,0 +1,2 @@
+[Settings]
+gtk-theme-name=VimixLight
diff --git a/win/misc/create-launcher.py b/win/misc/create-launcher.py
new file mode 100644
index 000000000..e625a5295
--- /dev/null
+++ b/win/misc/create-launcher.py
@@ -0,0 +1,204 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright 2016 Christoph Reiter
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+"""Creates simple Python .exe launchers for gui and cli apps
+
+./create-launcher.py "3.8.0" <target-dir>
+"""
+
+import os
+import sys
+import subprocess
+import shlex
+import tempfile
+import shutil
+import struct
+from distutils.spawn import find_executable
+
+
+def build_resource(rc_path, out_path):
+ """Raises subprocess.CalledProcessError"""
+
+ def is_64bit():
+ return struct.calcsize("P") == 8
+
+ subprocess.check_call(
+ ["windres", "-O", "coff", "-F",
+ "pe-x86-64" if is_64bit() else "pe-i386", rc_path,
+ "-o", out_path])
+
+
+def get_build_args():
+ python_name = os.path.splitext(os.path.basename(sys.executable))[0]
+ python_config = os.path.join(
+ os.path.dirname(sys.executable), python_name + "-config")
+
+ cflags = subprocess.check_output(
+ ["sh", python_config, "--cflags"]).strip()
+ libs = subprocess.check_output(
+ ["sh", python_config, "--libs"]).strip()
+
+ cflags = os.fsdecode(cflags)
+ libs = os.fsdecode(libs)
+ return shlex.split(cflags) + shlex.split(libs)
+
+
+def build_exe(source_path, resource_path, is_gui, out_path):
+ args = ["gcc", "-s"]
+ if is_gui:
+ args.append("-mwindows")
+ args.extend(["-o", out_path, source_path, resource_path])
+ args.extend(get_build_args())
+ subprocess.check_call(args)
+
+
+def get_launcher_code(entry_point):
+ template = """\
+#include "Python.h"
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <shellapi.h>
+
+
+int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
+ LPSTR lpCmdLine, int nCmdShow)
+{
+ int result;
+ LPWSTR *szArglist;
+ int nArgs;
+ int i;
+
+ szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs);
+ if( NULL == szArglist )
+ {
+ printf("CommandLineToArgvW failed");
+ return 0;
+ }
+
+ Py_NoUserSiteDirectory = 1;
+ Py_IgnoreEnvironmentFlag = 1;
+ Py_DontWriteBytecodeFlag = 1;
+ Py_FrozenFlag = 1;
+ Py_Initialize();
+ PySys_SetArgvEx(__argc, szArglist, 0);
+ FILE* file = fopen("../gajim/src/%(filename)s", "r");
+ PyRun_SimpleString("import sys; import os;"
+ "os.chdir('../gajim/src');"
+ "sys.path.append(os.getcwd());"
+ "sys.frozen=True;"
+ );
+ result = PyRun_SimpleFile(file, "../gajim/src/%(filename)s");
+ Py_Finalize();
+ return result;
+}
+ """
+
+ return template % {"filename": entry_point}
+
+
+def get_resouce_code(filename, file_version, file_desc, icon_path,
+ product_name, product_version, company_name):
+
+ template = """\
+1 ICON "%(icon_path)s"
+1 VERSIONINFO
+FILEVERSION %(file_version_list)s
+PRODUCTVERSION %(product_version_list)s
+FILEOS 0x4
+FILETYPE 0x1
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "%(company_name)s"
+ VALUE "FileDescription", "%(file_desc)s"
+ VALUE "FileVersion", "%(file_version)s"
+ VALUE "InternalName", "%(internal_name)s"
+ VALUE "OriginalFilename", "%(filename)s"
+ VALUE "ProductName", "%(product_name)s"
+ VALUE "ProductVersion", "%(product_version)s"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1252
+ END
+END
+"""
+
+ def to_ver_list(v):
+ return ",".join(map(str, (list(map(int, v.split("."))) + [0] * 4)[:4]))
+
+ file_version_list = to_ver_list(file_version)
+ product_version_list = to_ver_list(product_version)
+
+ return template % {
+ "icon_path": icon_path, "file_version_list": file_version_list,
+ "product_version_list": product_version_list,
+ "file_version": file_version, "product_version": product_version,
+ "company_name": company_name, "filename": filename,
+ "internal_name": os.path.splitext(filename)[0],
+ "product_name": product_name, "file_desc": file_desc,
+ }
+
+
+def build_launcher(out_path, icon_path, file_desc, product_name, product_version,
+ company_name, entry_point, is_gui):
+
+ src_ico = os.path.abspath(icon_path)
+ target = os.path.abspath(out_path)
+
+ file_version = product_version
+
+ dir_ = os.getcwd()
+ temp = tempfile.mkdtemp()
+ try:
+ os.chdir(temp)
+ with open("launcher.c", "w") as h:
+ h.write(get_launcher_code(entry_point))
+ shutil.copyfile(src_ico, "launcher.ico")
+ with open("launcher.rc", "w") as h:
+ h.write(get_resouce_code(
+ os.path.basename(target), file_version, file_desc,
+ "launcher.ico", product_name, product_version, company_name))
+
+ build_resource("launcher.rc", "launcher.res")
+ build_exe("launcher.c", "launcher.res", is_gui, target)
+ finally:
+ os.chdir(dir_)
+ shutil.rmtree(temp)
+
+
+def main():
+ argv = sys.argv
+
+ version = argv[1]
+ target = argv[2]
+
+ company_name = "Gajim"
+ misc = os.path.dirname(os.path.realpath(__file__))
+
+ build_launcher(
+ os.path.join(target, "Gajim.exe"),
+ os.path.join(misc, "gajim.ico"), "Gajim", "Gajim",
+ version, company_name, 'gajim.py', True)
+
+ build_launcher(
+ os.path.join(target, "Gajim-Debug.exe"),
+ os.path.join(misc, "gajim.ico"), "Gajim", "Gajim",
+ version, company_name, 'gajim.py', False)
+
+ build_launcher(
+ os.path.join(target, "history_manager.exe"),
+ os.path.join(misc, "gajim.ico"), "History Manager", "History Manager",
+ version, company_name, 'history_manager.py', True)
+
+if __name__ == "__main__":
+ main()
diff --git a/win/misc/depcheck.py b/win/misc/depcheck.py
new file mode 100644
index 000000000..01ad4d02a
--- /dev/null
+++ b/win/misc/depcheck.py
@@ -0,0 +1,104 @@
+# -*- coding: utf-8 -*-
+# Copyright 2016 Christoph Reiter
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+"""
+Deletes unneeded DLLs and checks DLL dependencies.
+Execute with the build python, will figure out the rest.
+"""
+
+import subprocess
+import os
+import sys
+
+import gi
+gi.require_version("GIRepository", "2.0")
+from gi.repository import GIRepository
+
+
+def get_required_by_typelibs():
+ deps = set()
+ repo = GIRepository.Repository()
+ for tl in os.listdir(repo.get_search_path()[0]):
+ namespace, version = os.path.splitext(tl)[0].split("-", 1)
+ repo.require(namespace, version, 0)
+ lib = repo.get_shared_library(namespace)
+ if lib:
+ deps.update(lib.split(","))
+ return deps
+
+
+EXTENSIONS = [".exe", ".pyd", ".dll"]
+SYSTEM_LIBS = ['advapi32.dll',
+ "cabinet.dll", "comctl32.dll", "comdlg32.dll", "crypt32.dll", "d3d9.dll",
+ "dnsapi.dll", "dsound.dll", "dwmapi.dll", "gdi32.dll", "imm32.dll",
+ "iphlpapi.dll", "kernel32.dll", "ksuser.dll", "msi.dll", "msimg32.dll",
+ "msvcr71.dll", "msvcr80.dll", "msvcrt.dll", "ole32.dll", "oleaut32.dll",
+ "opengl32.dll", "rpcrt4.dll", "setupapi.dll", "shell32.dll", "user32.dll",
+ "usp10.dll", "winmm.dll", "winspool.drv", "wldap32.dll", "ws2_32.dll",
+ "wsock32.dll", "shlwapi.dll"
+]
+
+
+def get_dependencies(filename):
+ deps = []
+ data = subprocess.check_output(["objdump", "-p", filename])
+ data = data.decode("utf-8")
+ for line in data.splitlines():
+ line = line.strip()
+ if line.startswith("DLL Name:"):
+ deps.append(line.split(":", 1)[-1].strip().lower())
+ return deps
+
+
+def find_lib(root, name):
+ search_path = os.path.join(root, "bin")
+ if os.path.exists(os.path.join(search_path, name)):
+ return os.path.join(search_path, name)
+ elif name in SYSTEM_LIBS:
+ return name
+
+
+def get_things_to_delete(root):
+ all_libs = set()
+ needed = set()
+ for base, dirs, files in os.walk(root):
+ for f in files:
+ path = os.path.join(base, f)
+ if os.path.splitext(path)[-1].lower() in EXTENSIONS:
+ all_libs.add(f.lower())
+ for lib in get_dependencies(path):
+ all_libs.add(lib)
+ needed.add(lib)
+ if not find_lib(root, lib):
+ print("MISSING:", path, lib)
+
+ for lib in get_required_by_typelibs():
+ needed.add(lib)
+ if not find_lib(root, lib):
+ print("MISSING:", path, lib)
+
+ # get rid of things not in the search path,
+ # maybe loaded through other means?
+ not_needed = filter(
+ lambda l: find_lib(root, l) and \
+ os.path.splitext(l)[-1].lower() != ".exe", all_libs - needed)
+
+ return [find_lib(root, l) for l in not_needed]
+
+
+def main():
+ libs = get_things_to_delete(sys.prefix)
+ while libs:
+ for l in libs:
+ print("DELETE:", l)
+ os.unlink(l)
+ libs = get_things_to_delete(sys.prefix)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/gajim-portable.nsi b/win/misc/gajim-portable.nsi
index 5b3decd52..dda15b794 100644
--- a/gajim-portable.nsi
+++ b/win/misc/gajim-portable.nsi
@@ -6,6 +6,7 @@ Unicode true
Name "Gajim"
OutFile "Gajim-Portable.exe"
SetCompressor /final /solid lzma
+SetCompressorDictSize 32
!define myAppName "Gajim"
@@ -14,14 +15,14 @@ RequestExecutionLevel user
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
!define MUI_HEADERIMAGE
-!define MUI_HEADERIMAGE_BITMAP "data\pixmaps\nsis_header.bmp"
-!define MUI_WELCOMEFINISHPAGE_BITMAP "data\pixmaps\nsis_wizard.bmp"
-!define MUI_UNWELCOMEFINISHPAGE_BITMAP "data\pixmaps\nsis_wizard.bmp"
+!define MUI_HEADERIMAGE_BITMAP "mingw32\gajim\data\pixmaps\nsis_header.bmp"
+!define MUI_WELCOMEFINISHPAGE_BITMAP "mingw32\gajim\data\pixmaps\nsis_wizard.bmp"
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP "mingw32\gajim\data\pixmaps\nsis_wizard.bmp"
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_ABORTWARNING
!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "COPYING"
+!insertmacro MUI_PAGE_LICENSE "mingw32\gajim\COPYING"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
@@ -100,163 +101,16 @@ Section "Gajim" SecGajim
SectionIn RO
SetOutPath "$INSTDIR"
- File "AUTHORS"
- File "COPYING"
- File "THANKS"
- File "THANKS.artists"
- File /r "build"
+ File /r "mingw32\*.*"
- SetOutPath "$INSTDIR\data"
- File /r "data\gui"
- File /r "data\moods"
- File /r "data\activities"
- File /r "data\other"
- File /r "data\pixmaps"
- File /r "data\sounds"
-
- SetOutPath "$INSTDIR\icons"
- File /r "icons\hicolor"
+ SetOutPath "$INSTDIR\bin"
+ CreateShortCut "$INSTDIR\Gajim-Portable.lnk" "$INSTDIR\bin\Gajim.exe" \
+ "-c ..\..\UserData" "" "" SW_SHOWNORMAL "" "Gajim Portable"
+ CreateShortCut "$INSTDIR\Gajim-Portable-Debug.lnk" "$INSTDIR\bin\Gajim-Debug.exe" \
+ "-c ..\..\UserData" "" "" SW_SHOWNORMAL "" "Gajim Portable Debug"
- SetOutPath "$INSTDIR\build"
- CreateShortCut "$INSTDIR\Gajim-Portable.lnk" "$INSTDIR\build\Gajim.exe" \
- "-c ..\UserData" "" "" SW_SHOWNORMAL "" "Gajim Portable"
-
-SectionEnd
-
-Section "Plugins" SecPlugins
- SetOutPath "$INSTDIR\plugins"
- File /r "plugins\plugin_installer"
-SectionEnd
-
-SectionGroup $(NAME_Emoticons)
-
-Section "animated" SecEmoticonsAnimated
- SetOutPath "$INSTDIR\data\emoticons"
- File /r "data\emoticons\animated"
-SectionEnd
-
-Section "static" SecEmoticonsStatic
- SectionIn RO
- SetOutPath "$INSTDIR\data\emoticons"
- File /r "data\emoticons\static"
-SectioNEnd
-
-Section "static-big" SecEmoticonsStaticBig
- SetOutPath "$INSTDIR\data\emoticons"
- File /r "data\emoticons\static-big"
-SectionEnd
-
-SectionGroupEnd
-
-SectionGroup $(NAME_Iconsets)
-
-Section "dcraven" SecIconsetsDcraven
- SectionIn RO
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\dcraven"
-SectionEnd
-
-Section "gnome" SecIconsetsGnome
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\gnome"
-SectionEnd
-
-Section "goojim" SecIconsetsGoojim
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\goojim"
-SectionEnd
-
-Section "gota" SecIconsetsGota
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\gota"
-SectionEnd
-
-Section "jabberbulb" SecIconsetsJabberbulb
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\jabberbulb"
SectionEnd
-Section "sun" SecIconsetsSun
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\sun"
-SectionEnd
-
-Section "wroop" SecIconsetsWroop
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\wroop"
-SectionEnd
-
-Section "transports" SecIconsetsTransports
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\transports"
- SectionIn Ro
-SectionEnd
-
-SectionGroupEnd
-
-SectionGroup $(NAME_Languages)
-
-Section "English (UK)" SecLanguagesEnglishUK
- SetOutPath "$INSTDIR\po"
- File /r "po\en_GB"
-SectionEnd
-
-Section "French" SecLanguagesFrench
- SetOutPath "$INSTDIR\po"
- File /r "po\fr"
-SectionEnd
-
-Section "German" SecLanguagesGerman
- SetOutPath "$INSTDIR\po"
- File /r "po\de"
-SectionEnd
-
-Section "Italian" SecLanguagesItalian
- SetOutPath "$INSTDIR\po"
- File /r "po\it"
-SectionEnd
-
-Section "Spanish" SecLanguagesSpanish
- SetOutPath "$INSTDIR\po"
- File /r "po\es"
-SectionEnd
-
-Section "Russian" SecLanguagesRussian
- SetOutPath "$INSTDIR\po"
- File /r "po\ru"
-SectionEnd
-
-Section $(NAME_SecLanguagesOther) SecLanguagesOther
- SetOutPath "$INSTDIR\po"
- File /r "po\be"
- File /r "po\be@latin"
- File /r "po\bg"
- File /r "po\br"
- File /r "po\cs"
- File /r "po\da"
- File /r "po\el"
- File /r "po\eo"
- File /r "po\eu"
- File /r "po\gl"
- File /r "po\he"
- File /r "po\hr"
- File /r "po\lt"
- File /r "po\nb"
- File /r "po\nl"
- File /r "po\no"
- File /r "po\pl"
- File /r "po\pt"
- File /r "po\pt_BR"
- File /r "po\sk"
- File /r "po\sr"
- File /r "po\sr@Latn"
- File /r "po\sv"
- File /r "po\uk"
- File /r "po\zh_CN"
-SectionEnd
-
-SectionGroupEnd
-
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecGajim} $(DESC_SecGajim)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
diff --git a/win/misc/gajim.ico b/win/misc/gajim.ico
new file mode 100644
index 000000000..6f6159527
--- /dev/null
+++ b/win/misc/gajim.ico
Binary files differ
diff --git a/gajim.nsi b/win/misc/gajim.nsi
index 5d1c596f8..0382e8cc5 100644
--- a/gajim.nsi
+++ b/win/misc/gajim.nsi
@@ -1,441 +1,262 @@
-; File encoding 'UTF-8 with BOM'
-
-Unicode true
-!include "MUI2.nsh"
-
-Name "Gajim"
-OutFile "Gajim.exe"
-SetCompressor /final /solid lzma
-
-!define myAppName "Gajim"
-
-InstallDir "$PROGRAMFILES\Gajim"
-InstallDirRegKey HKCU "Software\Gajim" ""
-RequestExecutionLevel admin
-
-Var StartMenuFolder
-
-!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
-!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
-!define MUI_HEADERIMAGE
-!define MUI_HEADERIMAGE_BITMAP "data\pixmaps\nsis_header.bmp"
-!define MUI_WELCOMEFINISHPAGE_BITMAP "data\pixmaps\nsis_wizard.bmp"
-!define MUI_UNWELCOMEFINISHPAGE_BITMAP "data\pixmaps\nsis_wizard.bmp"
-;!define MUI_COMPONENTSPAGE_CHECKBITMAP "${NSISDIR}\Contrib\Graphics\Checks\colorful.bmp"
-!define MUI_COMPONENTSPAGE_SMALLDESC
-!define MUI_ABORTWARNING
-
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "COPYING"
-!insertmacro MUI_PAGE_COMPONENTS
-!insertmacro MUI_PAGE_DIRECTORY
-!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
-!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Gajim"
-!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
-!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
-!insertmacro MUI_PAGE_INSTFILES
-!define MUI_FINISHPAGE_RUN "$INSTDIR\build\Gajim.exe"
-!insertmacro MUI_PAGE_FINISH
-
-!insertmacro MUI_UNPAGE_WELCOME
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-!insertmacro MUI_UNPAGE_FINISH
-
-;Show all languages, despite user's codepage
-!define MUI_LANGDLL_ALLLANGUAGES
-
-!insertmacro MUI_LANGUAGE "English"
-!insertmacro MUI_LANGUAGE "French"
-!insertmacro MUI_LANGUAGE "German"
-!insertmacro MUI_LANGUAGE "Italian"
-!insertmacro MUI_LANGUAGE "Russian"
-!insertmacro MUI_LANGUAGE "Hebrew"
-!insertmacro MUI_RESERVEFILE_LANGDLL
-
-; English
-LangString NAME_Emoticons ${LANG_ENGLISH} "Emoticons"
-LangString NAME_Iconsets ${LANG_ENGLISH} "Iconsets"
-LangString NAME_Languages ${LANG_ENGLISH} "Languages"
-LangString NAME_SecLanguagesOther ${LANG_ENGLISH} "Other"
-LangString NAME_Themes ${LANG_ENGLISH} "Themes"
-LangString NAME_SecDesktopIcon ${LANG_ENGLISH} "Create icon on desktop"
-LangString NAME_SecAutostart ${LANG_ENGLISH} "Start Gajim when Windows starts"
-LangString DESC_SecGajim ${LANG_ENGLISH} "Installs the main Gajim files."
-LangString DESC_SecDesktopIcon ${LANG_ENGLISH} "If set, a shortcut for Gajim will be created on the desktop."
-LangString DESC_SecAutostart ${LANG_ENGLISH} "If set, Gajim will be automatically started when Windows starts."
-LangString STR_Installed ${LANG_ENGLISH} "Apparently, Gajim is already installed. Uninstall it?"
-LangString STR_Running ${LANG_ENGLISH} "It appears that Gajim is currently running.$\n\
- Please quit Gajim and restart the uninstaller."
-
-; French
-LangString NAME_Emoticons ${LANG_FRENCH} "Emoticônes"
-LangString NAME_Iconsets ${LANG_FRENCH} "Bibliothèque d'icônes"
-LangString NAME_Languages ${LANG_FRENCH} "Langues"
-LangString NAME_SecLanguagesOther ${LANG_FRENCH} "Autre"
-LangString NAME_Themes ${LANG_FRENCH} "Thèmes"
-LangString NAME_SecDesktopIcon ${LANG_FRENCH} "Créer une icône sur le bureau"
-LangString NAME_SecAutostart ${LANG_FRENCH} "Lancer Gajim au démarrage de Windows"
-LangString DESC_SecGajim ${LANG_FRENCH} "Installer les fichiers principaux de Gajim."
-LangString DESC_SecDesktopIcon ${LANG_FRENCH} "Si selectionné, un raccourci pour Gajim sera créé sur le bureau."
-LangString DESC_SecAutostart ${LANG_FRENCH} "Si activé, Gajim sera automatiquement lancé au démarrage de Windows."
-LangString STR_Installed ${LANG_FRENCH} "Gajim est apparement déjà installé. Lancer la désinstallation ?"
-LangString STR_Running ${LANG_FRENCH} "Gajim est apparament lancé.$\n\
- Fermez-le et redémarrez le désinstallateur."
-
-; German
-LangString NAME_Emoticons ${LANG_GERMAN} "Emoticons"
-LangString NAME_Iconsets ${LANG_GERMAN} "Symbolsets"
-LangString NAME_Languages ${LANG_GERMAN} "Sprachen"
-LangString NAME_SecLanguagesOther ${LANG_GERMAN} "Sonstige"
-LangString NAME_Themes ${LANG_GERMAN} "Designs"
-LangString NAME_SecDesktopIcon ${LANG_GERMAN} "Desktop-Icon erstellen"
-LangString NAME_SecAutostart ${LANG_GERMAN} "Gajim mit Windows starten"
-LangString DESC_SecGajim ${LANG_GERMAN} "Installiert die Hauptdateien von Gajim."
-LangString DESC_SecDesktopIcon ${LANG_GERMAN} "Wenn dies aktiviert wird, wird ein Icon für Gajim auf dem Desktop erstellt."
-LangString DESC_SecAutostart ${LANG_GERMAN} "Gajim wird automatisch gestartet, sowie Windows startet, wenn dies aktivier wird."
-LangString STR_Installed ${LANG_GERMAN} "Gajim is apparently already installed. Uninstall it?"
-LangString STR_Running ${LANG_GERMAN} "Es scheint, dass Gajim bereits läuft.$\n\
- Bitte beenden Sie es und starten Sie den Installer erneut.."
-
-; Italian
-LangString NAME_Emoticons ${LANG_ITALIAN} "Emoticons"
-LangString NAME_Iconsets ${LANG_ITALIAN} "Set di icone"
-LangString NAME_Languages ${LANG_ITALIAN} "Lingue"
-LangString NAME_SecLanguagesOther ${LANG_ITALIAN} "Altre"
-LangString NAME_Themes ${LANG_ITALIAN} "Temi"
-LangString NAME_SecDesktopIcon ${LANG_ITALIAN} "Crea un'icona sul desktop"
-LangString NAME_SecAutostart ${LANG_ITALIAN} "Lancia Gajim quando parte Windows"
-LangString DESC_SecGajim ${LANG_ITALIAN} "Installa i file principali di Gajim."
-LangString DESC_SecDesktopIcon ${LANG_ITALIAN} "Se selezionato, un'icona verrà creata sul desktop."
-LangString DESC_SecAutostart ${LANG_ITALIAN} "Se selezionato, Gajim sarà eseguito all'avvio di Windows."
-LangString STR_Installed ${LANG_ITALIAN} "Gajim is apparently already installed. Uninstall it?"
-LangString STR_Running ${LANG_ITALIAN} "It appears that Gajim is currently running.$\n\
- Close it and restart uninstaller."
-
-; Russian
-LangString NAME_Emoticons ${LANG_RUSSIAN} "Смайлики"
-LangString NAME_Iconsets ${LANG_RUSSIAN} "Темы иконок"
-LangString NAME_Languages ${LANG_RUSSIAN} "Языки"
-LangString NAME_SecLanguagesOther ${LANG_RUSSIAN} "Другое"
-LangString NAME_Themes ${LANG_RUSSIAN} "Темы"
-LangString NAME_SecDesktopIcon ${LANG_RUSSIAN} "Создать я лык на абочем столе"
-LangString NAME_SecAutostart ${LANG_RUSSIAN} "Запускать Gajim при загрузке Windows"
-LangString DESC_SecGajim ${LANG_RUSSIAN} "Установка основных файлов Gajim."
-LangString DESC_SecDesktopIcon ${LANG_RUSSIAN} "Если отмечено, на рабочем столе будет создан ярлык Gajim."
-LangString DESC_SecAutostart ${LANG_RUSSIAN} "Если отмечено, Gajim будет автоматически запускаться при загрузке Windows."
-LangString STR_Installed ${LANG_RUSSIAN} "Похоже, Gajim уже установлен. Деинсталлировать установленную версию?"
-LangString STR_Running ${LANG_RUSSIAN} "Похоже, Gajim уже запущен.$\n\
- Закройте его и запустите деинсталлятор снова."
-
-; Hebrew
-LangString NAME_Emoticons ${LANG_HEBREW} "רגשונים"
-LangString NAME_Iconsets ${LANG_HEBREW} "מערכי צלמית"
-LangString NAME_Languages ${LANG_HEBREW} "שפות"
-LangString NAME_SecLanguagesOther ${LANG_HEBREW} "אחרות"
-LangString NAME_Themes ${LANG_HEBREW} "ערכאות נושא"
-LangString NAME_SecDesktopIcon ${LANG_HEBREW} "צור סמל בשולחן עבודה"
-LangString NAME_SecAutostart ${LANG_HEBREW} "הפעל את Gajim כאשר Windows מתחיל"
-LangString DESC_SecGajim ${LANG_HEBREW} "מתקין קבצי Gajim עיקריים."
-LangString DESC_SecDesktopIcon ${LANG_HEBREW} "במידה ונקבעת, קיצור דרך עבור Gajim יושם על שולחן העבודה."
-LangString DESC_SecAutostart ${LANG_HEBREW} "במידה ונקבעת, Gajim יופעל אוטומטית כאשר Windows מתחיל."
-LangString STR_Installed ${LANG_HEBREW} "כפי הנראה, Gajim כבר מותקן. להסיר אותו?"
-LangString STR_Running ${LANG_HEBREW} "נראה שהתוכנית Gajim מורצת כעת.$\n\
- אנא צא מן Gajim ואתחל את מסיר ההתקנה."
-
-Section "Gajim" SecGajim
- SectionIn RO
-
- SetOutPath "$INSTDIR"
- File "AUTHORS"
- File "COPYING"
- File "THANKS"
- File "THANKS.artists"
- File /r "build"
- SetOutPath "$INSTDIR\build"
-
- WriteRegStr HKCU "Software\Gajim" "" $INSTDIR
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayName" "Gajim"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "UninstallString" "$INSTDIR\Uninstall.exe"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayIcon" "$INSTDIR\build\Gajim.exe"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayVersion" "0.16.10"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "URLInfoAbout" "http://www.gajim.org/"
- WriteUninstaller "$INSTDIR\Uninstall.exe"
-
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetShellVarContext current
- CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
- CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk" "$INSTDIR\build\Gajim.exe"
- SetShellVarContext all
- CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
- CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk" "$INSTDIR\build\Gajim.exe"
- !insertmacro MUI_STARTMENU_WRITE_END
-
- SetOutPath "$INSTDIR\data"
- File /r "data\gui"
- File /r "data\moods"
- File /r "data\activities"
- File /r "data\other"
- File /r "data\pixmaps"
- File /r "data\sounds"
-
- SetOutPath "$INSTDIR\icons"
- File /r "icons\hicolor"
-SectionEnd
-
-Section "Plugins" SecPlugins
- SetOutPath "$INSTDIR\plugins"
- File /r "plugins\plugin_installer"
-SectionEnd
-
-SectionGroup $(NAME_Emoticons)
-
-Section "animated" SecEmoticonsAnimated
- SetOutPath "$INSTDIR\data\emoticons"
- File /r "data\emoticons\animated"
-SectionEnd
-
-Section "static" SecEmoticonsStatic
- SectionIn RO
- SetOutPath "$INSTDIR\data\emoticons"
- File /r "data\emoticons\static"
-SectioNEnd
-
-Section "static-big" SecEmoticonsStaticBig
- SetOutPath "$INSTDIR\data\emoticons"
- File /r "data\emoticons\static-big"
-SectionEnd
-
-SectionGroupEnd
-
-SectionGroup $(NAME_Iconsets)
-
-Section "dcraven" SecIconsetsDcraven
- SectionIn RO
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\dcraven"
-SectionEnd
-
-Section "gnome" SecIconsetsGnome
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\gnome"
-SectionEnd
-
-Section "goojim" SecIconsetsGoojim
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\goojim"
-SectionEnd
-
-Section "gota" SecIconsetsGota
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\gota"
-SectionEnd
-
-Section "jabberbulb" SecIconsetsJabberbulb
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\jabberbulb"
-SectionEnd
-
-Section "sun" SecIconsetsSun
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\sun"
-SectionEnd
-
-Section "wroop" SecIconsetsWroop
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\wroop"
-SectionEnd
-
-Section "transports" SecIconsetsTransports
- SetOutPath "$INSTDIR\data\iconsets"
- File /r "data\iconsets\transports"
- SectionIn Ro
-SectionEnd
-
-SectionGroupEnd
-
-SectionGroup $(NAME_Languages)
-
-Section "English (UK)" SecLanguagesEnglishUK
- SetOutPath "$INSTDIR\po"
- File /r "po\en_GB"
-SectionEnd
-
-Section "French" SecLanguagesFrench
- SetOutPath "$INSTDIR\po"
- File /r "po\fr"
-SectionEnd
-
-Section "German" SecLanguagesGerman
- SetOutPath "$INSTDIR\po"
- File /r "po\de"
-SectionEnd
-
-Section "Italian" SecLanguagesItalian
- SetOutPath "$INSTDIR\po"
- File /r "po\it"
-SectionEnd
-
-Section "Spanish" SecLanguagesSpanish
- SetOutPath "$INSTDIR\po"
- File /r "po\es"
-SectionEnd
-
-Section "Russian" SecLanguagesRussian
- SetOutPath "$INSTDIR\po"
- File /r "po\ru"
-SectionEnd
-
-Section $(NAME_SecLanguagesOther) SecLanguagesOther
- SetOutPath "$INSTDIR\po"
- File /r "po\be"
- File /r "po\be@latin"
- File /r "po\bg"
- File /r "po\br"
- File /r "po\cs"
- File /r "po\da"
- File /r "po\el"
- File /r "po\eo"
- File /r "po\eu"
- File /r "po\gl"
- File /r "po\he"
- File /r "po\hr"
- File /r "po\lt"
- File /r "po\nb"
- File /r "po\nl"
- File /r "po\no"
- File /r "po\pl"
- File /r "po\pt"
- File /r "po\pt_BR"
- File /r "po\sk"
- File /r "po\sr"
- File /r "po\sr@Latn"
- File /r "po\sv"
- File /r "po\uk"
- File /r "po\zh_CN"
-SectionEnd
-
-SectionGroupEnd
-
-Section $(NAME_SecDesktopIcon) SecDesktopIcon
- SetShellVarContext current
- SetOutPath "$INSTDIR\build"
- CreateShortCut "$DESKTOP\Gajim.lnk" "$INSTDIR\build\Gajim.exe"
-SectionEnd
-
-Section $(NAME_SecAutostart) SecAutostart
- SetShellVarContext current
- SetOutPath "$INSTDIR\build"
- CreateShortCut "$SMSTARTUP\Gajim.lnk" "$INSTDIR\build\Gajim.exe"
-SectionEnd
-
-Section "Uninstall"
- RMDir "$INSTDIR\bin\win32com"
- RMDir /r "$INSTDIR\build"
- RMDir /r "$INSTDIR\data\gui"
- RMDir /r "$INSTDIR\data\moods"
- RMDir /r "$INSTDIR\data\activities"
- RMDir /r "$INSTDIR\data\other"
- RMDir /r "$INSTDIR\data\pixmaps"
- RMDir /r "$INSTDIR\data\sounds"
- RMDir /r "$INSTDIR\data\emoticons\animated"
- RMDir /r "$INSTDIR\data\emoticons\static"
- RMDir /r "$INSTDIR\data\emoticons\static-big"
- RMDir "$INSTDIR\data\emoticons"
- RMDir /r "$INSTDIR\data\iconsets\dcraven"
- RMDir /r "$INSTDIR\data\iconsets\gnome"
- RMDir /r "$INSTDIR\data\iconsets\goojim"
- RMDir /r "$INSTDIR\data\iconsets\gota"
- RMDir /r "$INSTDIR\data\iconsets\jabberbulb"
- RMDir /r "$INSTDIR\data\iconsets\sun"
- RMDir /r "$INSTDIR\data\iconsets\wroop"
- RMDir /r "$INSTDIR\data\iconsets\transports"
- RMDir "$INSTDIR\data\iconsets"
- RMDir "$INSTDIR\data"
- RMDir /r "$INSTDIR\plugins\plugin_installer"
- RMDir "$INSTDIR\plugins"
- RMDir /r "$INSTDIR\icons\hicolor"
- RMDir "$INSTDIR\icons"
- RMDir /r "$INSTDIR\po"
- Delete "$INSTDIR\AUTHORS"
- Delete "$INSTDIR\COPYING"
- Delete "$INSTDIR\THANKS"
- Delete "$INSTDIR\THANKS.artists"
- Delete "$INSTDIR\Uninstall.exe"
- RMDir "$INSTDIR"
-
- !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
-
- SetShellVarContext current
- Delete "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk"
- Delete "$SMPROGRAMS\$StartMenuFolder\Change Theme.lnk"
- RMDir "$SMPROGRAMS\$StartMenuFolder"
- Delete "$DESKTOP\Gajim.lnk"
- Delete "$SMSTARTUP\Gajim.lnk"
- SetShellVarContext all
- Delete "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk"
- Delete "$SMPROGRAMS\$StartMenuFolder\Change Theme.lnk"
- RMDir "$SMPROGRAMS\$StartMenuFolder"
-
- DeleteRegKey /ifempty HKCU "Software\Gajim"
- DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim"
-SectionEnd
-
-!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${SecGajim} $(DESC_SecGajim)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktopIcon} $(DESC_SecDesktopIcon)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecAutostart} $(DESC_SecAutostart)
-!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-Function un.onInit
-; Check that Gajim is not running before uninstalling
- FindWindow $0 "gdkWindowToplevel" "Gajim"
- StrCmp $0 0 Remove
- MessageBox MB_ICONSTOP|MB_OK $(STR_Running)
- Quit
-Remove:
- !insertmacro MUI_UNGETLANGUAGE
-FunctionEnd
-
-Function .onInit
- BringToFront
-; Check if already running
-; If so don't open another but bring to front
- System::Call "kernel32::CreateMutexA(i 0, i 0, t '$(^Name)') i .r0 ?e"
- Pop $0
- StrCmp $0 0 launch
- StrLen $0 "$(^Name)"
- IntOp $0 $0 + 1
- FindWindow $1 '#32770' '' 0 $1
- IntCmp $1 0 +3
- System::Call "user32::ShowWindow(i r1,i 9) i." ; If minimized then maximize
- System::Call "user32::SetForegroundWindow(i r1) i." ; Bring to front
- Abort
-
-launch:
-; Check to see if old install (inno setup) is already installed
- ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Gajim_is1" "UninstallString"
-; remove first and last " char
- StrLen $0 $R0
- IntOp $0 $0 - 2
- strcpy $1 $R0 $0 1
- IfFileExists $1 +1 NotInstalled
- MessageBox MB_YESNO|MB_DEFBUTTON2|MB_TOPMOST $(STR_Installed) IDNO Quit
- StrCmp $R1 2 Quit +1
- ExecWait '$R0 _?=$INSTDIR' $R2
- StrCmp $R2 0 +1 Quit
-
-NotInstalled:
-; Check to see if new installer (NSIS)already installed
- ReadRegStr $R3 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "UninstallString"
- IfFileExists $R3 +1 ReallyNotInstalled
- MessageBox MB_YESNO|MB_DEFBUTTON2|MB_TOPMOST $(STR_Installed) IDNO Quit
- StrCmp $R4 2 Quit +1
- ExecWait '$R3 _?=$INSTDIR' $R5
- StrCmp $R5 0 ReallyNotInstalled Quit
-Quit:
- Quit
-
-ReallyNotInstalled:
- !insertmacro MUI_LANGDLL_DISPLAY
-FunctionEnd
+; File encoding 'UTF-8 with BOM'
+
+Unicode true
+!include "MUI2.nsh"
+
+Name "Gajim"
+OutFile "Gajim.exe"
+SetCompressor /final /solid lzma
+SetCompressorDictSize 32
+
+!define myAppName "Gajim"
+
+InstallDir "$PROGRAMFILES\Gajim"
+InstallDirRegKey HKCU "Software\Gajim" ""
+RequestExecutionLevel admin
+
+Var StartMenuFolder
+
+!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
+!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
+!define MUI_HEADERIMAGE
+!define MUI_HEADERIMAGE_BITMAP "mingw32\gajim\data\pixmaps\nsis_header.bmp"
+!define MUI_WELCOMEFINISHPAGE_BITMAP "mingw32\gajim\data\pixmaps\nsis_wizard.bmp"
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP "mingw32\gajim\data\pixmaps\nsis_wizard.bmp"
+;!define MUI_COMPONENTSPAGE_CHECKBITMAP "${NSISDIR}\Contrib\Graphics\Checks\colorful.bmp"
+!define MUI_COMPONENTSPAGE_SMALLDESC
+!define MUI_ABORTWARNING
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE "mingw32\gajim\COPYING"
+!insertmacro MUI_PAGE_COMPONENTS
+!insertmacro MUI_PAGE_DIRECTORY
+!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
+!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Gajim"
+!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
+!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
+!insertmacro MUI_PAGE_INSTFILES
+!define MUI_FINISHPAGE_RUN "$INSTDIR\bin\Gajim.exe"
+!insertmacro MUI_PAGE_FINISH
+
+!insertmacro MUI_UNPAGE_WELCOME
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+!insertmacro MUI_UNPAGE_FINISH
+
+;Show all languages, despite user's codepage
+!define MUI_LANGDLL_ALLLANGUAGES
+
+!insertmacro MUI_LANGUAGE "English"
+!insertmacro MUI_LANGUAGE "French"
+!insertmacro MUI_LANGUAGE "German"
+!insertmacro MUI_LANGUAGE "Italian"
+!insertmacro MUI_LANGUAGE "Russian"
+!insertmacro MUI_LANGUAGE "Hebrew"
+!insertmacro MUI_RESERVEFILE_LANGDLL
+
+; English
+LangString NAME_Emoticons ${LANG_ENGLISH} "Emoticons"
+LangString NAME_Iconsets ${LANG_ENGLISH} "Iconsets"
+LangString NAME_Languages ${LANG_ENGLISH} "Languages"
+LangString NAME_SecLanguagesOther ${LANG_ENGLISH} "Other"
+LangString NAME_Themes ${LANG_ENGLISH} "Themes"
+LangString NAME_SecDesktopIcon ${LANG_ENGLISH} "Create icon on desktop"
+LangString NAME_SecAutostart ${LANG_ENGLISH} "Start Gajim when Windows starts"
+LangString DESC_SecGajim ${LANG_ENGLISH} "Installs the main Gajim files."
+LangString DESC_SecDesktopIcon ${LANG_ENGLISH} "If set, a shortcut for Gajim will be created on the desktop."
+LangString DESC_SecAutostart ${LANG_ENGLISH} "If set, Gajim will be automatically started when Windows starts."
+LangString STR_Installed ${LANG_ENGLISH} "Apparently, Gajim is already installed. Uninstall it?"
+LangString STR_Running ${LANG_ENGLISH} "It appears that Gajim is currently running.$\n\
+ Please quit Gajim and restart the uninstaller."
+
+; French
+LangString NAME_Emoticons ${LANG_FRENCH} "Emoticônes"
+LangString NAME_Iconsets ${LANG_FRENCH} "Bibliothèque d'icônes"
+LangString NAME_Languages ${LANG_FRENCH} "Langues"
+LangString NAME_SecLanguagesOther ${LANG_FRENCH} "Autre"
+LangString NAME_Themes ${LANG_FRENCH} "Thèmes"
+LangString NAME_SecDesktopIcon ${LANG_FRENCH} "Créer une icône sur le bureau"
+LangString NAME_SecAutostart ${LANG_FRENCH} "Lancer Gajim au démarrage de Windows"
+LangString DESC_SecGajim ${LANG_FRENCH} "Installer les fichiers principaux de Gajim."
+LangString DESC_SecDesktopIcon ${LANG_FRENCH} "Si selectionné, un raccourci pour Gajim sera créé sur le bureau."
+LangString DESC_SecAutostart ${LANG_FRENCH} "Si activé, Gajim sera automatiquement lancé au démarrage de Windows."
+LangString STR_Installed ${LANG_FRENCH} "Gajim est apparement déjà installé. Lancer la désinstallation ?"
+LangString STR_Running ${LANG_FRENCH} "Gajim est apparament lancé.$\n\
+ Fermez-le et redémarrez le désinstallateur."
+
+; German
+LangString NAME_Emoticons ${LANG_GERMAN} "Emoticons"
+LangString NAME_Iconsets ${LANG_GERMAN} "Symbolsets"
+LangString NAME_Languages ${LANG_GERMAN} "Sprachen"
+LangString NAME_SecLanguagesOther ${LANG_GERMAN} "Sonstige"
+LangString NAME_Themes ${LANG_GERMAN} "Designs"
+LangString NAME_SecDesktopIcon ${LANG_GERMAN} "Desktop-Icon erstellen"
+LangString NAME_SecAutostart ${LANG_GERMAN} "Gajim mit Windows starten"
+LangString DESC_SecGajim ${LANG_GERMAN} "Installiert die Hauptdateien von Gajim."
+LangString DESC_SecDesktopIcon ${LANG_GERMAN} "Wenn dies aktiviert wird, wird ein Icon für Gajim auf dem Desktop erstellt."
+LangString DESC_SecAutostart ${LANG_GERMAN} "Gajim wird automatisch gestartet, sowie Windows startet, wenn dies aktivier wird."
+LangString STR_Installed ${LANG_GERMAN} "Gajim is apparently already installed. Uninstall it?"
+LangString STR_Running ${LANG_GERMAN} "Es scheint, dass Gajim bereits läuft.$\n\
+ Bitte beenden Sie es und starten Sie den Installer erneut.."
+
+; Italian
+LangString NAME_Emoticons ${LANG_ITALIAN} "Emoticons"
+LangString NAME_Iconsets ${LANG_ITALIAN} "Set di icone"
+LangString NAME_Languages ${LANG_ITALIAN} "Lingue"
+LangString NAME_SecLanguagesOther ${LANG_ITALIAN} "Altre"
+LangString NAME_Themes ${LANG_ITALIAN} "Temi"
+LangString NAME_SecDesktopIcon ${LANG_ITALIAN} "Crea un'icona sul desktop"
+LangString NAME_SecAutostart ${LANG_ITALIAN} "Lancia Gajim quando parte Windows"
+LangString DESC_SecGajim ${LANG_ITALIAN} "Installa i file principali di Gajim."
+LangString DESC_SecDesktopIcon ${LANG_ITALIAN} "Se selezionato, un'icona verrà creata sul desktop."
+LangString DESC_SecAutostart ${LANG_ITALIAN} "Se selezionato, Gajim sarà eseguito all'avvio di Windows."
+LangString STR_Installed ${LANG_ITALIAN} "Gajim is apparently already installed. Uninstall it?"
+LangString STR_Running ${LANG_ITALIAN} "It appears that Gajim is currently running.$\n\
+ Close it and restart uninstaller."
+
+; Russian
+LangString NAME_Emoticons ${LANG_RUSSIAN} "Смайлики"
+LangString NAME_Iconsets ${LANG_RUSSIAN} "Темы иконок"
+LangString NAME_Languages ${LANG_RUSSIAN} "Языки"
+LangString NAME_SecLanguagesOther ${LANG_RUSSIAN} "Другое"
+LangString NAME_Themes ${LANG_RUSSIAN} "Темы"
+LangString NAME_SecDesktopIcon ${LANG_RUSSIAN} "Создать я лык на абочем столе"
+LangString NAME_SecAutostart ${LANG_RUSSIAN} "Запускать Gajim при загрузке Windows"
+LangString DESC_SecGajim ${LANG_RUSSIAN} "Установка основных файлов Gajim."
+LangString DESC_SecDesktopIcon ${LANG_RUSSIAN} "Если отмечено, на рабочем столе будет создан ярлык Gajim."
+LangString DESC_SecAutostart ${LANG_RUSSIAN} "Если отмечено, Gajim будет автоматически запускаться при загрузке Windows."
+LangString STR_Installed ${LANG_RUSSIAN} "Похоже, Gajim уже установлен. Деинсталлировать установленную версию?"
+LangString STR_Running ${LANG_RUSSIAN} "Похоже, Gajim уже запущен.$\n\
+ Закройте его и запустите деинсталлятор снова."
+
+; Hebrew
+LangString NAME_Emoticons ${LANG_HEBREW} "רגשונים"
+LangString NAME_Iconsets ${LANG_HEBREW} "מערכי צלמית"
+LangString NAME_Languages ${LANG_HEBREW} "שפות"
+LangString NAME_SecLanguagesOther ${LANG_HEBREW} "אחרות"
+LangString NAME_Themes ${LANG_HEBREW} "ערכאות נושא"
+LangString NAME_SecDesktopIcon ${LANG_HEBREW} "צור סמל בשולחן עבודה"
+LangString NAME_SecAutostart ${LANG_HEBREW} "הפעל את Gajim כאשר Windows מתחיל"
+LangString DESC_SecGajim ${LANG_HEBREW} "מתקין קבצי Gajim עיקריים."
+LangString DESC_SecDesktopIcon ${LANG_HEBREW} "במידה ונקבעת, קיצור דרך עבור Gajim יושם על שולחן העבודה."
+LangString DESC_SecAutostart ${LANG_HEBREW} "במידה ונקבעת, Gajim יופעל אוטומטית כאשר Windows מתחיל."
+LangString STR_Installed ${LANG_HEBREW} "כפי הנראה, Gajim כבר מותקן. להסיר אותו?"
+LangString STR_Running ${LANG_HEBREW} "נראה שהתוכנית Gajim מורצת כעת.$\n\
+ אנא צא מן Gajim ואתחל את מסיר ההתקנה."
+
+Section "Gajim" SecGajim
+ SectionIn RO
+
+ SetOutPath "$INSTDIR"
+ File /r "mingw32\*.*"
+
+ WriteRegStr HKCU "Software\Gajim" "" $INSTDIR
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayName" "Gajim"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "UninstallString" "$INSTDIR\Uninstall.exe"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayIcon" "$INSTDIR\bin\Gajim.exe"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayVersion" "${VERSION}"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "URLInfoAbout" "https://www.gajim.org/"
+ WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+ SetOutPath "$INSTDIR\bin"
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ SetShellVarContext current
+ CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
+ CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk" "$INSTDIR\bin\Gajim.exe"
+ SetShellVarContext all
+ CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
+ CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk" "$INSTDIR\bin\Gajim.exe"
+ !insertmacro MUI_STARTMENU_WRITE_END
+
+SectionEnd
+
+Section $(NAME_SecDesktopIcon) SecDesktopIcon
+ SetShellVarContext current
+ SetOutPath "$INSTDIR\bin"
+ CreateShortCut "$DESKTOP\Gajim.lnk" "$INSTDIR\bin\Gajim.exe"
+SectionEnd
+
+Section $(NAME_SecAutostart) SecAutostart
+ SetShellVarContext current
+ SetOutPath "$INSTDIR\bin"
+ CreateShortCut "$SMSTARTUP\Gajim.lnk" "$INSTDIR\bin\Gajim.exe"
+SectionEnd
+
+Section "Uninstall"
+ RMDir /r "$INSTDIR"
+
+ !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
+
+ SetShellVarContext current
+ Delete "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk"
+ Delete "$SMPROGRAMS\$StartMenuFolder\Change Theme.lnk"
+ RMDir "$SMPROGRAMS\$StartMenuFolder"
+ Delete "$DESKTOP\Gajim.lnk"
+ Delete "$SMSTARTUP\Gajim.lnk"
+ SetShellVarContext all
+ Delete "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk"
+ Delete "$SMPROGRAMS\$StartMenuFolder\Change Theme.lnk"
+ RMDir "$SMPROGRAMS\$StartMenuFolder"
+
+ DeleteRegKey /ifempty HKCU "Software\Gajim"
+ DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim"
+SectionEnd
+
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecGajim} $(DESC_SecGajim)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktopIcon} $(DESC_SecDesktopIcon)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecAutostart} $(DESC_SecAutostart)
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+Function un.onInit
+; Check that Gajim is not running before uninstalling
+ FindWindow $0 "gdkWindowToplevel" "Gajim"
+ StrCmp $0 0 Remove
+ MessageBox MB_ICONSTOP|MB_OK $(STR_Running)
+ Quit
+Remove:
+ !insertmacro MUI_UNGETLANGUAGE
+FunctionEnd
+
+Function .onInit
+ BringToFront
+; Check if already running
+; If so don't open another but bring to front
+ System::Call "kernel32::CreateMutexA(i 0, i 0, t '$(^Name)') i .r0 ?e"
+ Pop $0
+ StrCmp $0 0 launch
+ StrLen $0 "$(^Name)"
+ IntOp $0 $0 + 1
+ FindWindow $1 '#32770' '' 0 $1
+ IntCmp $1 0 +3
+ System::Call "user32::ShowWindow(i r1,i 9) i." ; If minimized then maximize
+ System::Call "user32::SetForegroundWindow(i r1) i." ; Bring to front
+ Abort
+
+launch:
+; Check to see if old install (inno setup) is already installed
+ ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Gajim_is1" "UninstallString"
+; remove first and last " char
+ StrLen $0 $R0
+ IntOp $0 $0 - 2
+ strcpy $1 $R0 $0 1
+ IfFileExists $1 +1 NotInstalled
+ MessageBox MB_YESNO|MB_DEFBUTTON2|MB_TOPMOST $(STR_Installed) IDNO Quit
+ StrCmp $R1 2 Quit +1
+ ExecWait '$R0 _?=$INSTDIR' $R2
+ StrCmp $R2 0 +1 Quit
+
+NotInstalled:
+; Check to see if new installer (NSIS)already installed
+ ReadRegStr $R3 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "UninstallString"
+ IfFileExists $R3 +1 ReallyNotInstalled
+ MessageBox MB_YESNO|MB_DEFBUTTON2|MB_TOPMOST $(STR_Installed) IDNO Quit
+ StrCmp $R4 2 Quit +1
+ ExecWait '$R3 _?=$INSTDIR' $R5
+ StrCmp $R5 0 ReallyNotInstalled Quit
+Quit:
+ Quit
+
+ReallyNotInstalled:
+ !insertmacro MUI_LANGDLL_DISPLAY
+FunctionEnd
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/check-checked-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/assets/check-checked-symbolic.png
new file mode 100644
index 000000000..a2d5bad1d
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/check-checked-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/check-checked-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/assets/check-checked-symbolic.svg
new file mode 100644
index 000000000..8567c1317
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/check-checked-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/check-dash-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/assets/check-dash-symbolic.png
new file mode 100644
index 000000000..0184bccbc
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/check-dash-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/check-dash-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/assets/check-dash-symbolic.svg
new file mode 100644
index 000000000..0333c65a3
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/check-dash-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/check-unchecked-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/assets/check-unchecked-symbolic.png
new file mode 100644
index 000000000..79e437ac2
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/check-unchecked-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/check-unchecked-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/assets/check-unchecked-symbolic.svg
new file mode 100644
index 000000000..194814349
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/check-unchecked-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode-dark.png
new file mode 100644
index 000000000..11b898441
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode-dark@2.png
new file mode 100644
index 000000000..b3e6d088e
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode.png
new file mode 100644
index 000000000..c3ebfb781
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode@2.png
new file mode 100644
index 000000000..9ab5306d6
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode-dark.png
new file mode 100644
index 000000000..aee163dad
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode-dark@2.png
new file mode 100644
index 000000000..72c96d18e
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode.png
new file mode 100644
index 000000000..c3ebfb781
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode@2.png
new file mode 100644
index 000000000..9ab5306d6
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode-dark.png
new file mode 100644
index 000000000..cc7bd0884
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode-dark@2.png
new file mode 100644
index 000000000..2f2151779
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode.png
new file mode 100644
index 000000000..879b42b5c
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode@2.png
new file mode 100644
index 000000000..7b0d6654b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode-dark.png
new file mode 100644
index 000000000..29eece76c
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode-dark@2.png
new file mode 100644
index 000000000..1d7b1b354
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode.png
new file mode 100644
index 000000000..6aae01d91
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode@2.png
new file mode 100644
index 000000000..3b7318d38
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/radio-checked-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-checked-symbolic.png
new file mode 100644
index 000000000..cbf264029
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-checked-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/radio-checked-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-checked-symbolic.svg
new file mode 100644
index 000000000..fbcb6a2f8
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-checked-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/radio-dash-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-dash-symbolic.png
new file mode 100644
index 000000000..6ad44075b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-dash-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/radio-dash-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-dash-symbolic.svg
new file mode 100644
index 000000000..4bd32ff5f
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-dash-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="m12 2c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10zm0 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm-5 7v2h10v-2h-10z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/radio-unchecked-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-unchecked-symbolic.png
new file mode 100644
index 000000000..880ca4dca
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-unchecked-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/radio-unchecked-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-unchecked-symbolic.svg
new file mode 100644
index 000000000..535e9178a
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-unchecked-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-dark.png
new file mode 100644
index 000000000..44cfd1818
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-dark@2.png
new file mode 100644
index 000000000..112bfcd32
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-dark.png
new file mode 100644
index 000000000..07dc89ad8
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-dark@2.png
new file mode 100644
index 000000000..44e94858e
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 000000000..8b7dbaa71
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 000000000..60fcd4f95
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive.png
new file mode 100644
index 000000000..ccd77d5c3
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 000000000..8d519e66d
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above.png
new file mode 100644
index 000000000..2b1387c99
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above@2.png
new file mode 100644
index 000000000..ed41f296b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-dark.png
new file mode 100644
index 000000000..ef4333438
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-dark@2.png
new file mode 100644
index 000000000..ded9d8dd5
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 000000000..807b8d0b0
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 000000000..ab94a8b4c
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive.png
new file mode 100644
index 000000000..500e00ca3
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 000000000..91836375c
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below.png
new file mode 100644
index 000000000..b87689c29
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below@2.png
new file mode 100644
index 000000000..572fb1dff
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive-dark.png
new file mode 100644
index 000000000..fa103fa6e
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive-dark@2.png
new file mode 100644
index 000000000..e3d26a9d7
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive.png
new file mode 100644
index 000000000..b7b9cdaa2
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive@2.png
new file mode 100644
index 000000000..2fc383da4
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-dark.png
new file mode 100644
index 000000000..295e62f83
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-dark@2.png
new file mode 100644
index 000000000..36bdfb89b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 000000000..c815b3759
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 000000000..3ab18c7a7
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive.png
new file mode 100644
index 000000000..255068526
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 000000000..d1d95781a
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above.png
new file mode 100644
index 000000000..9e2458b29
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above@2.png
new file mode 100644
index 000000000..49dbe68fd
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-dark.png
new file mode 100644
index 000000000..c1444a14e
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-dark@2.png
new file mode 100644
index 000000000..298be3306
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive-dark.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 000000000..44cc4634b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 000000000..eef0752ec
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive.png
new file mode 100644
index 000000000..bd0261ffa
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 000000000..d36ce647f
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below.png
new file mode 100644
index 000000000..1520ab246
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below@2.png
new file mode 100644
index 000000000..57c74bb85
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider.png
new file mode 100644
index 000000000..3e5466a82
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/assets/slider@2.png b/win/themes/VimixLight/gtk-3.0/assets/assets/slider@2.png
new file mode 100644
index 000000000..dc8ce3b3b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/assets/slider@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/check-checked-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/check-checked-symbolic.png
new file mode 100644
index 000000000..a2d5bad1d
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/check-checked-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/check-checked-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/check-checked-symbolic.svg
new file mode 100644
index 000000000..8567c1317
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/check-checked-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/check-dash-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/check-dash-symbolic.png
new file mode 100644
index 000000000..0184bccbc
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/check-dash-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/check-dash-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/check-dash-symbolic.svg
new file mode 100644
index 000000000..0333c65a3
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/check-dash-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/check-unchecked-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/check-unchecked-symbolic.png
new file mode 100644
index 000000000..79e437ac2
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/check-unchecked-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/check-unchecked-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/check-unchecked-symbolic.svg
new file mode 100644
index 000000000..194814349
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/check-unchecked-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode-dark.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode-dark.png
new file mode 100644
index 000000000..11b898441
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode-dark@2.png
new file mode 100644
index 000000000..b3e6d088e
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png
new file mode 100644
index 000000000..c3ebfb781
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode@2.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode@2.png
new file mode 100644
index 000000000..9ab5306d6
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode-dark.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode-dark.png
new file mode 100644
index 000000000..aee163dad
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode-dark@2.png
new file mode 100644
index 000000000..72c96d18e
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode.png
new file mode 100644
index 000000000..c3ebfb781
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode@2.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode@2.png
new file mode 100644
index 000000000..9ab5306d6
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode-dark.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode-dark.png
new file mode 100644
index 000000000..cc7bd0884
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode-dark@2.png
new file mode 100644
index 000000000..2f2151779
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode.png
new file mode 100644
index 000000000..879b42b5c
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode@2.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode@2.png
new file mode 100644
index 000000000..7b0d6654b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode-dark.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode-dark.png
new file mode 100644
index 000000000..29eece76c
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode-dark@2.png
new file mode 100644
index 000000000..1d7b1b354
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode.png
new file mode 100644
index 000000000..6aae01d91
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode@2.png b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode@2.png
new file mode 100644
index 000000000..3b7318d38
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/radio-checked-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/radio-checked-symbolic.png
new file mode 100644
index 000000000..cbf264029
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/radio-checked-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/radio-checked-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/radio-checked-symbolic.svg
new file mode 100644
index 000000000..fbcb6a2f8
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/radio-checked-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/radio-dash-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/radio-dash-symbolic.png
new file mode 100644
index 000000000..6ad44075b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/radio-dash-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/radio-dash-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/radio-dash-symbolic.svg
new file mode 100644
index 000000000..4bd32ff5f
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/radio-dash-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="m12 2c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10zm0 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm-5 7v2h10v-2h-10z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/radio-unchecked-symbolic.png b/win/themes/VimixLight/gtk-3.0/assets/radio-unchecked-symbolic.png
new file mode 100644
index 000000000..880ca4dca
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/radio-unchecked-symbolic.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/radio-unchecked-symbolic.svg b/win/themes/VimixLight/gtk-3.0/assets/radio-unchecked-symbolic.svg
new file mode 100644
index 000000000..535e9178a
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/radio-unchecked-symbolic.svg
@@ -0,0 +1,3 @@
+<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/>
+</svg>
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-dark.png b/win/themes/VimixLight/gtk-3.0/assets/slider-dark.png
new file mode 100644
index 000000000..44cfd1818
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-dark@2.png
new file mode 100644
index 000000000..112bfcd32
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png
new file mode 100644
index 000000000..07dc89ad8
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png
new file mode 100644
index 000000000..44e94858e
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 000000000..8b7dbaa71
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 000000000..60fcd4f95
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png
new file mode 100644
index 000000000..ccd77d5c3
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 000000000..8d519e66d
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above.png
new file mode 100644
index 000000000..2b1387c99
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png
new file mode 100644
index 000000000..ed41f296b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png
new file mode 100644
index 000000000..ef4333438
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png
new file mode 100644
index 000000000..ded9d8dd5
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 000000000..807b8d0b0
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 000000000..ab94a8b4c
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png
new file mode 100644
index 000000000..500e00ca3
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 000000000..91836375c
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below.png
new file mode 100644
index 000000000..b87689c29
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png
new file mode 100644
index 000000000..572fb1dff
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive-dark.png b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive-dark.png
new file mode 100644
index 000000000..fa103fa6e
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive-dark@2.png
new file mode 100644
index 000000000..e3d26a9d7
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive.png b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive.png
new file mode 100644
index 000000000..b7b9cdaa2
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive@2.png
new file mode 100644
index 000000000..2fc383da4
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png
new file mode 100644
index 000000000..295e62f83
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png
new file mode 100644
index 000000000..36bdfb89b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 000000000..c815b3759
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 000000000..3ab18c7a7
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png
new file mode 100644
index 000000000..255068526
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 000000000..d1d95781a
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above.png
new file mode 100644
index 000000000..9e2458b29
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png
new file mode 100644
index 000000000..49dbe68fd
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png
new file mode 100644
index 000000000..c1444a14e
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png
new file mode 100644
index 000000000..298be3306
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 000000000..44cc4634b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 000000000..eef0752ec
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png
new file mode 100644
index 000000000..bd0261ffa
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 000000000..d36ce647f
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below.png
new file mode 100644
index 000000000..1520ab246
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png
new file mode 100644
index 000000000..57c74bb85
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider.png b/win/themes/VimixLight/gtk-3.0/assets/slider.png
new file mode 100644
index 000000000..3e5466a82
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/assets/slider@2.png b/win/themes/VimixLight/gtk-3.0/assets/slider@2.png
new file mode 100644
index 000000000..dc8ce3b3b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/assets/slider@2.png
Binary files differ
diff --git a/win/themes/VimixLight/gtk-3.0/gtk-dark.css b/win/themes/VimixLight/gtk-3.0/gtk-dark.css
new file mode 100644
index 000000000..86696ec83
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/gtk-dark.css
@@ -0,0 +1,3934 @@
+@keyframes ripple_effect {
+ from {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 0%, transparent 0%), image(alpha(currentColor, 0)); }
+ to {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 100%, transparent 0%), image(alpha(currentColor, 0.15)); } }
+@keyframes flat_ripple_effect {
+ from {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 0%, transparent 0%), image(alpha(currentColor, 0.15)); }
+ to {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 100%, transparent 0%), image(alpha(currentColor, 0.15)); } }
+@keyframes row_ripple_effect {
+ from {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 0%, transparent 0%), image(alpha(currentColor, 0)); }
+ to {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 100%, transparent 0%), image(alpha(currentColor, 0)); } }
+@keyframes tab_ripple_effect {
+ from {
+ background-image: radial-gradient(circle farthest-corner at center, rgba(102, 102, 102, 0.6) 0%, transparent 0%); }
+ 50% {
+ background-image: radial-gradient(circle farthest-corner at center, rgba(102, 102, 102, 0.6) 100%, transparent 0%); }
+ to {
+ background-image: radial-gradient(circle farthest-corner at center, transparent 100%, transparent 0%); } }
+@keyframes header_ripple_effect {
+ from {
+ background-image: radial-gradient(circle farthest-corner at center, #666666 0%, transparent 0%); }
+ to {
+ background-image: radial-gradient(circle farthest-corner at center, #666666 100%, transparent 0%); } }
+* {
+ padding: 0;
+ background-clip: padding-box;
+ -GtkToolButton-icon-spacing: 4;
+ -GtkTextView-error-underline-color: #DD2C00;
+ -GtkScrolledWindow-scrollbar-spacing: 0;
+ -GtkToolItemGroup-expander-size: 11;
+ -GtkWidget-text-handle-width: 24;
+ -GtkWidget-text-handle-height: 24;
+ -GtkDialog-button-spacing: 4;
+ -GtkDialog-action-area-border: 0;
+ outline-style: solid;
+ outline-width: 0;
+ outline-color: alpha(currentColor, 0.3);
+ outline-offset: -4px;
+ -gtk-outline-radius: 2px;
+ -gtk-secondary-caret-color: #666666; }
+
+/***************
+ * Base States *
+ ***************/
+.background {
+ background-color: #484848;
+ color: #FFFFFF; }
+
+/*
+ These wildcard seems unavoidable, need to investigate.
+ Wildcards are bad and troublesome, use them with care,
+ or better, just don't.
+ Everytime a wildcard is used a kitten dies, painfully.
+*/
+*:disabled {
+ -gtk-icon-effect: dim; }
+
+.gtkstyle-fallback {
+ background-color: #484848;
+ color: #FFFFFF; }
+ .gtkstyle-fallback:hover {
+ background-color: #3b3b3b;
+ color: #FFFFFF; }
+ .gtkstyle-fallback:active {
+ background-color: #2f2f2f;
+ color: #FFFFFF; }
+ .gtkstyle-fallback:disabled {
+ background-color: #484848;
+ color: rgba(255, 255, 255, 0.4); }
+ .gtkstyle-fallback:selected {
+ background-color: #666666;
+ color: #FFFFFF; }
+
+.view, iconview {
+ background-color: #404040;
+ color: #FFFFFF; }
+ .view:hover, iconview:hover, .view:active, iconview:active, .view:selected, iconview:selected {
+ border-radius: 2px; }
+ .view:disabled, iconview:disabled {
+ color: rgba(255, 255, 255, 0.4); }
+
+.view text, iconview text,
+textview text {
+ background-color: #404040;
+ color: #FFFFFF; }
+ .view text:disabled, iconview text:disabled,
+ textview text:disabled {
+ color: rgba(255, 255, 255, 0.4); }
+
+textview border {
+ background-color: #444444;
+ color: rgba(255, 255, 255, 0.6); }
+
+.rubberband,
+rubberband,
+flowbox rubberband,
+treeview.view rubberband,
+.content-view rubberband {
+ border: 1px solid #888888;
+ background-color: rgba(136, 136, 136, 0.3); }
+
+flowbox flowboxchild {
+ outline-offset: -2px;
+ padding: 4px;
+ border-radius: 2px; }
+
+label {
+ caret-color: currentColor; }
+ label.separator {
+ color: #FFFFFF; }
+ label selection {
+ background-color: #666666;
+ color: #FFFFFF; }
+ label:disabled {
+ color: rgba(255, 255, 255, 0.4); }
+ tab label:disabled, button label:disabled, menuitem label:disabled {
+ color: inherit; }
+
+.dim-label, label.separator, .titlebar:not(headerbar) .subtitle,
+headerbar .subtitle, .budgie-notification .notification-body {
+ opacity: 0.6; }
+
+assistant .sidebar {
+ padding: 4px 0; }
+assistant .sidebar label {
+ min-height: 36px;
+ padding: 0 12px;
+ color: rgba(255, 255, 255, 0.6);
+ font-weight: 500; }
+ assistant .sidebar label.highlight {
+ color: #FFFFFF; }
+
+popover.background.touch-selection, popover.background.magnifier, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, .csd popover.background.osd, .app-notification, .osd .scale-popup, .nautilus-window .floating-bar, .osd {
+ opacity: 0.9; }
+
+/*********************
+ * Spinner Animation *
+ *********************/
+@keyframes spin {
+ to {
+ -gtk-icon-transform: rotate(1turn); } }
+@keyframes spin_colors {
+ 1% {
+ color: #66BB6A; }
+ 25% {
+ color: #66BB6A; }
+ 26% {
+ color: #42A5F5; }
+ 50% {
+ color: #42A5F5; }
+ 51% {
+ color: #FFA726; }
+ 75% {
+ color: #FFA726; }
+ 76% {
+ color: #EF5350; }
+ 100% {
+ color: #EF5350; } }
+spinner {
+ background: none;
+ opacity: 0;
+ -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); }
+ spinner:checked {
+ opacity: 1;
+ animation: spin 1s linear infinite, spin_colors 4s linear infinite; }
+ spinner:checked:disabled {
+ opacity: 0.4; }
+
+/****************
+ * Text Entries *
+ ****************/
+spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer entry,
+notebook > stack:not(:only-child) revealer spinbutton:not(.vertical),
+entry {
+ min-height: 36px;
+ padding: 0 8px;
+ border-radius: 2px;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-image: none;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #404040;
+ color: #FFFFFF; }
+ spinbutton:focus:not(.vertical), notebook > stack:not(:only-child) revealer entry:focus,
+ notebook > stack:not(:only-child) revealer spinbutton:focus:not(.vertical),
+ entry:focus {
+ border-image: none;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ spinbutton:disabled:not(.vertical), notebook > stack:not(:only-child) revealer entry:disabled,
+ notebook > stack:not(:only-child) revealer spinbutton:disabled:not(.vertical),
+ entry:disabled {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #444444;
+ color: rgba(255, 255, 255, 0.4); }
+ spinbutton.flat:not(.vertical), notebook > stack:not(:only-child) entry,
+ notebook > stack:not(:only-child) spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer entry.flat,
+ notebook > stack:not(:only-child) revealer spinbutton.flat:not(.vertical), colorchooser .popover.osd spinbutton:not(.vertical), layoutpane entry.search, editortweak entry.search, #login_window entry,
+ entry.flat {
+ border-radius: 0;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 0%, transparent 0%) 0 0 0/0 0 0px;
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3);
+ background-color: transparent;
+ color: #FFFFFF; }
+ spinbutton.flat:focus:not(.vertical), notebook > stack:not(:only-child) entry:focus,
+ notebook > stack:not(:only-child) spinbutton:focus:not(.vertical), colorchooser .popover.osd spinbutton:focus:not(.vertical), layoutpane entry.search:focus, editortweak entry.search:focus, #login_window entry:focus,
+ entry.flat:focus {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 100%, transparent 0%) 0 0 2/0 0 2px;
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3); }
+ spinbutton.flat:disabled:not(.vertical), notebook > stack:not(:only-child) entry:disabled,
+ notebook > stack:not(:only-child) spinbutton:disabled:not(.vertical), colorchooser .popover.osd spinbutton:disabled:not(.vertical), layoutpane entry.search:disabled, editortweak entry.search:disabled, #login_window entry:disabled,
+ entry.flat:disabled {
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3);
+ background-color: transparent;
+ color: rgba(255, 255, 255, 0.4); }
+ spinbutton:not(.vertical) image, notebook > stack:not(:only-child) revealer entry image,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image,
+ entry image {
+ min-height: 24px;
+ min-width: 24px;
+ border-radius: 2px;
+ -gtk-outline-radius: 2px;
+ color: alpha(currentColor, 0.75); }
+ spinbutton:not(.vertical) image:hover, notebook > stack:not(:only-child) revealer entry image:hover,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image:hover, spinbutton:not(.vertical) image:active, notebook > stack:not(:only-child) revealer entry image:active,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image:active,
+ entry image:hover,
+ entry image:active {
+ color: currentColor; }
+ spinbutton:not(.vertical) image:disabled, notebook > stack:not(:only-child) revealer entry image:disabled,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image:disabled,
+ entry image:disabled {
+ color: alpha(currentColor, 0.6); }
+ spinbutton:not(.vertical) image.left, notebook > stack:not(:only-child) revealer entry image.left,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image.left,
+ entry image.left {
+ margin-left: -2px;
+ margin-right: 2px; }
+ spinbutton:not(.vertical) image.right, notebook > stack:not(:only-child) revealer entry image.right,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image.right,
+ entry image.right {
+ margin-left: 2px;
+ margin-right: -2px; }
+ spinbutton:not(.vertical) undershoot.left, notebook > stack:not(:only-child) revealer entry undershoot.left,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) undershoot.left,
+ entry undershoot.left {
+ background-color: transparent;
+ background-image: linear-gradient(to top, rgba(64, 64, 64, 0.3) 50%, rgba(255, 255, 255, 0.3) 50%);
+ padding-left: 1px;
+ background-size: 1px 12px;
+ background-repeat: repeat-y;
+ background-origin: content-box;
+ background-position: left top; }
+ spinbutton:not(.vertical) undershoot.right, notebook > stack:not(:only-child) revealer entry undershoot.right,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) undershoot.right,
+ entry undershoot.right {
+ background-color: transparent;
+ background-image: linear-gradient(to top, rgba(64, 64, 64, 0.3) 50%, rgba(255, 255, 255, 0.3) 50%);
+ padding-right: 1px;
+ background-size: 1px 12px;
+ background-repeat: repeat-y;
+ background-origin: content-box;
+ background-position: right top; }
+ spinbutton.error:not(.vertical), notebook > stack:not(:only-child) revealer entry.error,
+ notebook > stack:not(:only-child) revealer spinbutton.error:not(.vertical),
+ entry.error {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-image: none;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #DD2C00;
+ color: #FFFFFF; }
+ spinbutton.error:focus:not(.vertical), notebook > stack:not(:only-child) revealer entry.error:focus,
+ entry.error:focus {
+ border-image: none;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ spinbutton.error:disabled:not(.vertical), notebook > stack:not(:only-child) revealer entry.error:disabled,
+ entry.error:disabled {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #444444;
+ color: rgba(255, 255, 255, 0.4); }
+ spinbutton.error.flat:not(.vertical), notebook > stack:not(:only-child) entry.error,
+ notebook > stack:not(:only-child) spinbutton.error:not(.vertical), colorchooser .popover.osd spinbutton.error:not(.vertical), layoutpane entry.error.search, editortweak entry.error.search, #login_window entry.error,
+ entry.error.flat {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #DD2C00 0%, transparent 0%) 0 0 0/0 0 0px;
+ box-shadow: inset 0 -1px #DD2C00;
+ background-color: transparent;
+ color: #FFFFFF; }
+ spinbutton.error.flat:focus:not(.vertical), notebook > stack:not(:only-child) entry.error:focus,
+ notebook > stack:not(:only-child) spinbutton.error:focus:not(.vertical), colorchooser .popover.osd spinbutton.error:focus:not(.vertical), layoutpane entry.error.search:focus, editortweak entry.error.search:focus, #login_window entry.error:focus,
+ entry.error.flat:focus {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #DD2C00 100%, transparent 0%) 0 0 2/0 0 2px;
+ box-shadow: inset 0 -1px #DD2C00; }
+ spinbutton.error.flat:disabled:not(.vertical), notebook > stack:not(:only-child) entry.error:disabled,
+ notebook > stack:not(:only-child) spinbutton.error:disabled:not(.vertical), colorchooser .popover.osd spinbutton.error:disabled:not(.vertical), layoutpane entry.error.search:disabled, editortweak entry.error.search:disabled, #login_window entry.error:disabled,
+ entry.error.flat:disabled {
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3);
+ background-color: transparent;
+ color: rgba(255, 255, 255, 0.4); }
+ spinbutton.warning:not(.vertical), notebook > stack:not(:only-child) revealer entry.warning,
+ notebook > stack:not(:only-child) revealer spinbutton.warning:not(.vertical),
+ entry.warning {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-image: none;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #FF6D00;
+ color: #FFFFFF; }
+ spinbutton.warning:focus:not(.vertical), notebook > stack:not(:only-child) revealer entry.warning:focus,
+ entry.warning:focus {
+ border-image: none;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ spinbutton.warning:disabled:not(.vertical), notebook > stack:not(:only-child) revealer entry.warning:disabled,
+ entry.warning:disabled {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #444444;
+ color: rgba(255, 255, 255, 0.4); }
+ spinbutton.warning.flat:not(.vertical), notebook > stack:not(:only-child) entry.warning,
+ notebook > stack:not(:only-child) spinbutton.warning:not(.vertical), colorchooser .popover.osd spinbutton.warning:not(.vertical), layoutpane entry.warning.search, editortweak entry.warning.search, #login_window entry.warning,
+ entry.warning.flat {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #FF6D00 0%, transparent 0%) 0 0 0/0 0 0px;
+ box-shadow: inset 0 -1px #FF6D00;
+ background-color: transparent;
+ color: #FFFFFF; }
+ spinbutton.warning.flat:focus:not(.vertical), notebook > stack:not(:only-child) entry.warning:focus,
+ notebook > stack:not(:only-child) spinbutton.warning:focus:not(.vertical), colorchooser .popover.osd spinbutton.warning:focus:not(.vertical), layoutpane entry.warning.search:focus, editortweak entry.warning.search:focus, #login_window entry.warning:focus,
+ entry.warning.flat:focus {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #FF6D00 100%, transparent 0%) 0 0 2/0 0 2px;
+ box-shadow: inset 0 -1px #FF6D00; }
+ spinbutton.warning.flat:disabled:not(.vertical), notebook > stack:not(:only-child) entry.warning:disabled,
+ notebook > stack:not(:only-child) spinbutton.warning:disabled:not(.vertical), colorchooser .popover.osd spinbutton.warning:disabled:not(.vertical), layoutpane entry.warning.search:disabled, editortweak entry.warning.search:disabled, #login_window entry.warning:disabled,
+ entry.warning.flat:disabled {
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3);
+ background-color: transparent;
+ color: rgba(255, 255, 255, 0.4); }
+spinbutton:not(.vertical) progress, notebook > stack:not(:only-child) revealer entry progress,
+notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) progress,
+entry progress {
+ margin: 2px -6px;
+ border-style: none none solid;
+ border-width: 2px;
+ border-color: #666666;
+ background-color: transparent; }
+.linked:not(.vertical) > spinbutton.flat:not(.vertical), notebook > stack:not(:only-child) .linked:not(.vertical) > entry,
+notebook > stack:not(:only-child) .linked:not(.vertical) > spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer .linked:not(.vertical) > entry.flat,
+notebook > stack:not(:only-child) revealer .linked:not(.vertical) > spinbutton.flat:not(.vertical), colorchooser .popover.osd .linked:not(.vertical) > spinbutton:not(.vertical), layoutpane .linked:not(.vertical) > entry.search, editortweak .linked:not(.vertical) > entry.search, #login_window .linked:not(.vertical) > entry, .linked.vertical > spinbutton.flat:not(.vertical), notebook > stack:not(:only-child) .linked.vertical > entry,
+notebook > stack:not(:only-child) .linked.vertical > spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer .linked.vertical > entry.flat,
+notebook > stack:not(:only-child) revealer .linked.vertical > spinbutton.flat:not(.vertical), colorchooser .popover.osd .linked.vertical > spinbutton:not(.vertical), layoutpane .linked.vertical > entry.search, editortweak .linked.vertical > entry.search, #login_window .linked.vertical > entry, .linked:not(.vertical) >
+entry.flat, .linked.vertical >
+entry.flat {
+ border-radius: 0; }
+
+treeview entry.flat, treeview entry {
+ min-height: 0;
+ padding: 2px;
+ border-radius: 0;
+ background-color: #404040; }
+ treeview entry.flat, treeview entry.flat:focus, treeview entry, treeview entry:focus {
+ border-image: none;
+ box-shadow: none; }
+
+/***********
+ * Buttons *
+ ***********/
+@keyframes needs_attention {
+ from {
+ background-image: -gtk-gradient(radial, center center, 0, center center, 0.001, to(#FAFAFA), to(transparent)); }
+ to {
+ background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#FAFAFA), to(transparent)); } }
+button {
+ min-height: 24px;
+ min-width: 16px;
+ padding: 6px 10px;
+ border-radius: 2px;
+ font-weight: 500;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #505050;
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0));
+ color: rgba(255, 255, 255, 0.75); }
+ button:hover {
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23);
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0));
+ color: #FFFFFF; }
+ button:active {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1), background-image 0;
+ animation: ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23);
+ color: #FFFFFF; }
+ button:disabled {
+ box-shadow: none;
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(255, 255, 255, 0.3); }
+ button:checked {
+ background-color: #666666;
+ color: #FFFFFF; }
+ button:checked:disabled {
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(102, 102, 102, 0.4); }
+ .inline-toolbar
+ button:not(.text-button), modelbutton.flat,
+ .menuitem.button.flat, spinbutton:not(.vertical) button, spinbutton.vertical button, popover.background.menu button,
+ popover.background button.model, notebook > header > tabs > arrow, scrollbar button, check,
+ radio, calendar.button, messagedialog.csd .dialog-action-area button, button.sidebar-button, button.titlebutton, .gedit-search-slider button, PanelToplevel > widget > button, .raven .raven-header:not(.top) button, .drop-shadow button, .budgie-session-dialog .linked.horizontal > button, .lightdm-gtk-greeter button, :not(headerbar) .caja-pathbar button, .caja-pathbar :not(headerbar) button, :not(headerbar)
+ .path-bar button, layouttabbar button, .mate-panel-menu-bar #PanelApplet button:not(.flat), .budgie-panel #tasklist-button, .raven stackswitcher.linked > button, toolbar button, .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action),
+ headerbar button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button,
+ button.flat {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: none;
+ background-color: transparent;
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0));
+ color: alpha(currentColor, 0.75); }
+ .inline-toolbar
+ button:hover:not(.text-button), modelbutton.flat:hover,
+ .menuitem.button.flat:hover, spinbutton:not(.vertical) button:hover, spinbutton.vertical button:hover, popover.background.menu button:hover,
+ popover.background button.model:hover, notebook > header > tabs > arrow:hover, scrollbar button:hover, check:hover,
+ radio:hover, calendar.button:hover, messagedialog.csd .dialog-action-area button:hover, button.sidebar-button:hover, button.titlebutton:hover, .gedit-search-slider button:hover, PanelToplevel > widget > button:hover, .raven .raven-header:not(.top) button:hover, .drop-shadow button:hover, .budgie-session-dialog .linked.horizontal > button:hover, .lightdm-gtk-greeter button:hover, :not(headerbar) .caja-pathbar button:hover, .caja-pathbar :not(headerbar) button:hover, :not(headerbar)
+ .path-bar button:hover, layouttabbar button:hover, .mate-panel-menu-bar #PanelApplet button:hover:not(.flat), .budgie-panel #tasklist-button:hover, .raven stackswitcher.linked > button:hover, toolbar button:hover, .titlebar:not(headerbar) button:hover:not(.suggested-action):not(.destructive-action),
+ headerbar button:hover:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:hover:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button:hover,
+ button.flat:hover {
+ box-shadow: none;
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0.15));
+ color: currentColor; }
+ .inline-toolbar
+ button:active:not(.text-button), modelbutton.flat:active,
+ .menuitem.button.flat:active, spinbutton:not(.vertical) button:active, spinbutton.vertical button:active, popover.background.menu button:active,
+ popover.background button.model:active, notebook > header > tabs > arrow:active, scrollbar button:active, check:active,
+ radio:active, calendar.button:active, messagedialog.csd .dialog-action-area button:active, button.sidebar-button:active, button.titlebutton:active, .gedit-search-slider button:active, PanelToplevel > widget > button:active, .raven .raven-header:not(.top) button:active, .drop-shadow button:active, .budgie-session-dialog .linked.horizontal > button:active, .lightdm-gtk-greeter button:active, :not(headerbar) .caja-pathbar button:active, .caja-pathbar :not(headerbar) button:active, :not(headerbar)
+ .path-bar button:active, layouttabbar button:active, .mate-panel-menu-bar #PanelApplet button:active:not(.flat), .budgie-panel #tasklist-button:active, .raven stackswitcher.linked > button:active, toolbar button:active, .titlebar:not(headerbar) button:active:not(.suggested-action):not(.destructive-action),
+ headerbar button:active:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:active:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button:active,
+ button.flat:active {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), background-image 0;
+ animation: flat_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
+ box-shadow: none;
+ color: currentColor; }
+ .inline-toolbar
+ button:disabled:not(.text-button), modelbutton.flat:disabled,
+ .menuitem.button.flat:disabled, spinbutton:not(.vertical) button:disabled, spinbutton.vertical button:disabled, popover.background.menu button:disabled,
+ popover.background button.model:disabled, notebook > header > tabs > arrow:disabled, scrollbar button:disabled, check:disabled,
+ radio:disabled, calendar.button:disabled, messagedialog.csd .dialog-action-area button:disabled, button.sidebar-button:disabled, button.titlebutton:disabled, .gedit-search-slider button:disabled, PanelToplevel > widget > button:disabled, .raven .raven-header:not(.top) button:disabled, .drop-shadow button:disabled, .budgie-session-dialog .linked.horizontal > button:disabled, .lightdm-gtk-greeter button:disabled, :not(headerbar) .caja-pathbar button:disabled, .caja-pathbar :not(headerbar) button:disabled, :not(headerbar)
+ .path-bar button:disabled, layouttabbar button:disabled, .mate-panel-menu-bar #PanelApplet button:disabled:not(.flat), .budgie-panel #tasklist-button:disabled, .raven stackswitcher.linked > button:disabled, toolbar button:disabled, .titlebar:not(headerbar) button:disabled:not(.suggested-action):not(.destructive-action),
+ headerbar button:disabled:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:disabled:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button:disabled,
+ button.flat:disabled {
+ box-shadow: none;
+ background-color: transparent;
+ color: alpha(currentColor, 0.3); }
+ :not(headerbar) .caja-pathbar button:checked, .caja-pathbar :not(headerbar) button:checked, :not(headerbar)
+ .path-bar button:checked, layouttabbar button:checked, .mate-panel-menu-bar #PanelApplet button:checked:not(.flat), .budgie-panel #tasklist-button:checked, .raven stackswitcher.linked > button:checked, toolbar button:checked, .titlebar:not(headerbar) button:checked:not(.suggested-action):not(.destructive-action),
+ headerbar button:checked:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:checked:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button:checked,
+ button.flat:checked {
+ background-color: alpha(currentColor, 0.3);
+ color: currentColor; }
+ :not(headerbar) .caja-pathbar button:checked:disabled, .caja-pathbar :not(headerbar) button:checked:disabled, :not(headerbar)
+ .path-bar button:checked:disabled, layouttabbar button:checked:disabled, .mate-panel-menu-bar #PanelApplet button:checked:disabled:not(.flat), .budgie-panel #tasklist-button:checked:disabled, .raven stackswitcher.linked > button:checked:disabled, toolbar button:checked:disabled, .titlebar:not(headerbar) button:checked:disabled:not(.suggested-action):not(.destructive-action),
+ headerbar button:checked:disabled:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:checked:disabled:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button:checked:disabled,
+ button.flat:checked:disabled {
+ background-color: alpha(currentColor, 0.3);
+ color: alpha(currentColor, 0.4); }
+ button.text-button {
+ padding-left: 16px;
+ padding-right: 16px; }
+ button.image-button {
+ min-width: 24px;
+ padding: 6px;
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+ button.text-button.image-button {
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+ button.text-button.image-button label:first-child {
+ margin-left: 10px;
+ margin-right: 2px; }
+ button.text-button.image-button label:last-child {
+ margin-left: 2px;
+ margin-right: 10px; }
+ button.text-button.image-button label:only-child {
+ margin-left: 10px;
+ margin-right: 10px; }
+ button.text-button.image-button image:not(:only-child):first-child {
+ margin-left: 4px; }
+ button.text-button.image-button image:not(:only-child):last-child {
+ margin-right: 4px; }
+ toolbar .linked > button, .titlebar:not(headerbar) .linked > button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked > button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked > button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked > button, toolbar .linked.vertical > button, .titlebar:not(headerbar) .linked.vertical > button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked.vertical > button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked.vertical > button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked.vertical > button, .linked >
+ button.flat, .linked.vertical >
+ button.flat {
+ border-radius: 2px; }
+ toolbar .linked > button.image-button, .titlebar:not(headerbar) .linked > button.image-button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked > button.image-button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked > button.image-button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked > button.image-button, toolbar .linked.vertical > button.image-button, .titlebar:not(headerbar) .linked.vertical > button.image-button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked.vertical > button.image-button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked.vertical > button.image-button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked.vertical > button.image-button, .linked >
+ button.flat.image-button, .linked.vertical >
+ button.flat.image-button {
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+ toolbar .linked > button.text-button.image-button, .titlebar:not(headerbar) .linked > button.text-button.image-button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked > button.text-button.image-button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked > button.text-button.image-button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked > button.text-button.image-button, toolbar .linked.vertical > button.text-button.image-button, .titlebar:not(headerbar) .linked.vertical > button.text-button.image-button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked.vertical > button.text-button.image-button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked.vertical > button.text-button.image-button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked.vertical > button.text-button.image-button, .linked >
+ button.flat.text-button.image-button, .linked.vertical >
+ button.flat.text-button.image-button {
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+infobar.info button:disabled, infobar.question button:disabled, infobar.warning button:disabled, infobar.error button:disabled, row:selected
+button:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+button.osd {
+ padding: 12px 16px; }
+ button.osd.image-button {
+ padding: 12px; }
+ button.osd:disabled {
+ opacity: 0; }
+button.suggested-action {
+ background-color: #4CAF50;
+ color: #FFFFFF; }
+ button.suggested-action:disabled {
+ box-shadow: none;
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(255, 255, 255, 0.3); }
+ button.suggested-action:checked {
+ background-color: #82c785; }
+ button.suggested-action.flat {
+ background-color: transparent;
+ color: #4CAF50; }
+ button.suggested-action.flat:disabled {
+ box-shadow: none;
+ background-color: transparent;
+ color: alpha(currentColor, 0.3); }
+button.destructive-action {
+ background-color: #FF5252;
+ color: #FFFFFF; }
+ button.destructive-action:disabled {
+ box-shadow: none;
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(255, 255, 255, 0.3); }
+ button.destructive-action:checked {
+ background-color: #ff8686; }
+ button.destructive-action.flat {
+ background-color: transparent;
+ color: #FF5252; }
+ button.destructive-action.flat:disabled {
+ box-shadow: none;
+ background-color: transparent;
+ color: alpha(currentColor, 0.3); }
+.stack-switcher >
+button {
+ outline-offset: -4px; }
+ .stack-switcher >
+ button > label {
+ padding-left: 6px;
+ padding-right: 6px; }
+ .stack-switcher >
+ button > image {
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ padding-bottom: 3px; }
+ .stack-switcher >
+ button.text-button {
+ padding-left: 10px;
+ padding-right: 10px; }
+ .stack-switcher >
+ button.image-button {
+ padding-left: 4px;
+ padding-right: 4px; }
+ .stack-switcher >
+ button.needs-attention:checked > label,
+ .stack-switcher >
+ button.needs-attention:checked > image {
+ animation: none;
+ background-image: none; }
+button separator {
+ min-width: 0;
+ min-height: 0;
+ background: transparent; }
+.primary-toolbar
+button {
+ -gtk-icon-shadow: none; }
+
+.stack-switcher >
+button.needs-attention > label,
+.stack-switcher >
+button.needs-attention > image, stacksidebar row.needs-attention > label {
+ animation: needs_attention 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
+ background-repeat: no-repeat;
+ background-position: right 3px;
+ background-size: 6px 6px; }
+ .stack-switcher >
+ button.needs-attention > label:dir(rtl),
+ .stack-switcher >
+ button.needs-attention > image:dir(rtl), stacksidebar row.needs-attention > label:dir(rtl) {
+ background-position: left 3px; }
+
+.linked:not(.vertical) > spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer .linked:not(.vertical) > entry,
+notebook > stack:not(:only-child) revealer .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) >
+entry, .linked >
+button, .gedit-search-slider button:dir(ltr), .gedit-search-slider button:dir(rtl), .linked > combobox > box > button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) {
+ border-radius: 0;
+ -gtk-outline-radius: 2px; }
+
+.linked:not(.vertical) > spinbutton:first-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked:not(.vertical) > entry:first-child,
+notebook > stack:not(:only-child) revealer .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) >
+entry:first-child, .linked >
+button:first-child, combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > button.combo, .gedit-search-slider button:first-child:dir(ltr), .gedit-search-slider button:first-child:dir(rtl) {
+ border-top-left-radius: 2px;
+ border-bottom-left-radius: 2px; }
+.linked:not(.vertical) > spinbutton:last-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked:not(.vertical) > entry:last-child,
+notebook > stack:not(:only-child) revealer .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) >
+entry:last-child, .linked >
+button:last-child, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo, .gedit-search-slider button:last-child:dir(ltr), .gedit-search-slider button:last-child:dir(rtl) {
+ border-top-right-radius: 2px;
+ border-bottom-right-radius: 2px; }
+.linked:not(.vertical) > spinbutton:only-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked:not(.vertical) > entry:only-child,
+notebook > stack:not(:only-child) revealer .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) >
+entry:only-child, .linked >
+button:only-child, .linked:not(.vertical) > combobox:only-child > box > button.combo, .gedit-search-slider button:only-child:dir(ltr), .gedit-search-slider button:only-child:dir(rtl) {
+ border-radius: 2px; }
+
+.linked.vertical > spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer .linked.vertical > entry,
+notebook > stack:not(:only-child) revealer .linked.vertical > spinbutton:not(.vertical), .linked.vertical >
+entry, .linked.vertical >
+button, .linked.vertical > combobox > box > button.combo {
+ border-radius: 0;
+ -gtk-outline-radius: 2px; }
+
+.linked.vertical > spinbutton:first-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked.vertical > entry:first-child,
+notebook > stack:not(:only-child) revealer .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical >
+entry:first-child, .linked.vertical >
+button:first-child, .linked.vertical > combobox:first-child > box > button.combo {
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px; }
+.linked.vertical > spinbutton:last-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked.vertical > entry:last-child,
+notebook > stack:not(:only-child) revealer .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical >
+entry:last-child, .linked.vertical >
+button:last-child, .linked.vertical > combobox:last-child > box > button.combo {
+ border-bottom-left-radius: 2px;
+ border-bottom-right-radius: 2px; }
+.linked.vertical > spinbutton:only-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked.vertical > entry:only-child,
+notebook > stack:not(:only-child) revealer .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical >
+entry:only-child, .linked.vertical >
+button:only-child, .linked.vertical > combobox:only-child > box > button.combo {
+ border-radius: 2px; }
+
+/* menu buttons */
+modelbutton.flat,
+.menuitem.button.flat {
+ min-height: 28px;
+ padding: 0 8px;
+ border-radius: 2px;
+ color: inherit; }
+ modelbutton.flat check:not(:checked):not(:indeterminate),
+ modelbutton.flat radio:not(:checked):not(:indeterminate),
+ .menuitem.button.flat check:not(:checked):not(:indeterminate),
+ .menuitem.button.flat radio:not(:checked):not(:indeterminate) {
+ color: alpha(currentColor, 0.6); }
+ modelbutton.flat check, modelbutton.flat check:hover,
+ modelbutton.flat radio,
+ modelbutton.flat radio:hover,
+ .menuitem.button.flat check,
+ .menuitem.button.flat check:hover,
+ .menuitem.button.flat radio,
+ .menuitem.button.flat radio:hover {
+ background-image: none; }
+ modelbutton.flat check:active,
+ modelbutton.flat radio:active,
+ .menuitem.button.flat check:active,
+ .menuitem.button.flat radio:active {
+ animation: none; }
+ modelbutton.flat check:last-child,
+ modelbutton.flat radio:last-child,
+ .menuitem.button.flat check:last-child,
+ .menuitem.button.flat radio:last-child {
+ margin-left: -8px;
+ margin-right: -16px; }
+ modelbutton.flat check:first-child,
+ modelbutton.flat radio:first-child,
+ .menuitem.button.flat check:first-child,
+ .menuitem.button.flat radio:first-child {
+ margin-left: -16px;
+ margin-right: -8px; }
+
+modelbutton.flat arrow {
+ background: none; }
+ modelbutton.flat arrow:hover {
+ background: none; }
+ modelbutton.flat arrow.left {
+ -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+ modelbutton.flat arrow.right {
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+button.color {
+ min-height: 24px;
+ min-width: 24px;
+ padding: 6px; }
+
+/*********
+ * Links *
+ *********/
+*:link, button:link,
+button:visited, *:link:hover, button:hover:link,
+button:hover:visited, *:link:active, button:active:link,
+button:active:visited {
+ color: #FAFAFA; }
+*:link:visited,
+button:visited, *:link:visited:hover,
+button:visited:hover, *:link:visited:active,
+button:visited:active {
+ color: #E040FB; }
+infobar.info *:link, infobar.info button:link,
+infobar.info button:visited, infobar.question *:link, infobar.question button:link,
+infobar.question button:visited, infobar.warning *:link, infobar.warning button:link,
+infobar.warning button:visited, infobar.error *:link, infobar.error button:link,
+infobar.error button:visited, *:link:selected, button:selected:link,
+button:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:link,
+headerbar.selection-mode .subtitle:link, *:selected *:link, *:selected button:link,
+*:selected button:visited {
+ color: #FFFFFF; }
+
+button:link > label,
+button:visited > label {
+ text-decoration-line: underline; }
+
+/*****************
+ * GtkSpinButton *
+ *****************/
+spinbutton:not(.vertical) {
+ padding: 0; }
+ notebook > stack:not(:only-child) spinbutton:not(.vertical) entry,
+ spinbutton:not(.vertical) entry {
+ min-width: 32px;
+ margin: 0;
+ border-image: none;
+ border-radius: 0;
+ box-shadow: none;
+ background-color: transparent; }
+ spinbutton:not(.vertical) button {
+ border: solid 6px transparent; }
+ spinbutton:not(.vertical) button.up:dir(ltr), spinbutton:not(.vertical) button.down:dir(rtl) {
+ margin-left: -3px; }
+ spinbutton:not(.vertical) button.up:dir(rtl), spinbutton:not(.vertical) button.down:dir(ltr) {
+ margin-right: -3px; }
+spinbutton.vertical:disabled {
+ color: rgba(255, 255, 255, 0.4); }
+spinbutton.vertical:drop(active) {
+ box-shadow: none; }
+spinbutton.vertical entry {
+ min-height: 36px;
+ min-width: 48px;
+ padding: 0; }
+spinbutton.vertical button {
+ min-height: 36px;
+ min-width: 48px;
+ padding: 0; }
+ spinbutton.vertical button.up {
+ border-radius: 2px 2px 0 0; }
+ spinbutton.vertical button.down {
+ border-radius: 0 0 2px 2px; }
+treeview spinbutton:not(.vertical) {
+ min-height: 0;
+ border-style: none;
+ border-radius: 0; }
+ treeview spinbutton:not(.vertical) entry {
+ min-height: 0;
+ padding: 1px 2px; }
+
+/**************
+ * ComboBoxes *
+ **************/
+combobox arrow {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+ min-height: 16px;
+ min-width: 16px; }
+combobox button.combo:checked {
+ transition: none; }
+combobox button.combo cellview:dir(ltr) {
+ margin-left: -2px; }
+combobox button.combo cellview:dir(rtl) {
+ margin-right: -2px; }
+combobox #gtk-combobox-popup-menu {
+ padding: 2px 0; }
+ combobox #gtk-combobox-popup-menu menuitem {
+ min-height: 32px;
+ padding: 0 8px; }
+combobox:drop(active) {
+ box-shadow: none; }
+
+#login_window #user_combobox button {
+ border-radius: 0;
+ background-image: none;
+ font-weight: inherit;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 0%, transparent 0%) 0 0 0/0 0 0px;
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3);
+ background-color: transparent;
+ color: #FFFFFF; }
+ #login_window #user_combobox button:hover {
+ box-shadow: inset 0 -2px alpha(currentColor, 0.3); }
+ #login_window #user_combobox button:checked {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 100%, transparent 0%) 0 0 2/0 0 2px; }
+ #login_window #user_combobox button:disabled {
+ color: rgba(255, 255, 255, 0.4); }
+
+/************
+ * Toolbars *
+ ************/
+toolbar {
+ -GtkWidget-window-dragging: true;
+ padding: 3px;
+ background-color: #484848; }
+ .osd toolbar {
+ background-color: transparent; }
+ toolbar.osd, .app-notification, frame.documents-dropdown {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ padding: 6px;
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23), inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: #404040; }
+ toolbar.osd:backdrop, .app-notification:backdrop, frame.documents-dropdown:backdrop {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.1); }
+ toolbar.osd.left, .left.app-notification, frame.left.documents-dropdown, toolbar.osd.right, .right.app-notification, frame.right.documents-dropdown, toolbar.osd.top, .top.app-notification, frame.top.documents-dropdown, toolbar.osd.bottom, .bottom.app-notification, frame.bottom.documents-dropdown {
+ border-radius: 0; }
+ toolbar.horizontal separator {
+ margin: 3px; }
+ toolbar.vertical separator {
+ margin: 3px; }
+ toolbar:not(.inline-toolbar):not(.osd) scale,
+ toolbar:not(.inline-toolbar):not(.osd) entry,
+ toolbar:not(.inline-toolbar):not(.osd) spinbutton,
+ toolbar:not(.inline-toolbar):not(.osd) button {
+ margin: 3px; }
+ toolbar:not(.inline-toolbar):not(.osd) .linked entry:not(:first-child),
+ toolbar:not(.inline-toolbar):not(.osd) .linked spinbutton:not(:first-child),
+ toolbar:not(.inline-toolbar):not(.osd) .linked button:not(:first-child) {
+ margin-left: 0; }
+ toolbar:not(.inline-toolbar):not(.osd) .linked entry:not(:last-child),
+ toolbar:not(.inline-toolbar):not(.osd) .linked spinbutton:not(:last-child),
+ toolbar:not(.inline-toolbar):not(.osd) .linked button:not(:last-child) {
+ margin-right: 0; }
+ toolbar:not(.inline-toolbar):not(.osd) switch {
+ margin: 9px 3px; }
+
+.inline-toolbar {
+ padding: 6px;
+ border-style: solid;
+ border-width: 0 1px 1px;
+ border-color: rgba(0, 0, 0, 0.2);
+ background-color: #444444; }
+
+searchbar,
+.location-bar {
+ padding: 6px;
+ border-style: solid;
+ border-width: 0 0 1px;
+ border-color: rgba(0, 0, 0, 0.2);
+ background-color: #484848;
+ background-clip: border-box; }
+
+/***************
+ * Header bars *
+ ***************/
+.titlebar:not(headerbar),
+headerbar {
+ transition: background-color 0.2s cubic-bezier(0, 0, 0.2, 1);
+ min-height: 48px;
+ padding: 0 6px;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: #444444;
+ color: #FFFFFF; }
+ .titlebar:backdrop:not(headerbar),
+ headerbar:backdrop {
+ color: rgba(255, 255, 255, 0.75); }
+ .titlebar:not(headerbar) .title,
+ headerbar .title {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ padding: 0 12px;
+ font-weight: bold; }
+ .titlebar:not(headerbar) .subtitle,
+ headerbar .subtitle {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ padding: 0 12px;
+ font-size: smaller; }
+ .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action),
+ headerbar button:not(.suggested-action):not(.destructive-action) {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 0%, transparent 0%) 0 0 0/0 0 0px; }
+ .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover,
+ headerbar button:not(.suggested-action):not(.destructive-action):hover {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), alpha(currentColor, 0.8) 100%, transparent 0%) 0 0 2/0 0 2px;
+ background: none; }
+ .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover, .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover:disabled,
+ headerbar button:not(.suggested-action):not(.destructive-action):hover,
+ headerbar button:not(.suggested-action):not(.destructive-action):hover:disabled {
+ background-color: transparent; }
+ .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked,
+ headerbar button:not(.suggested-action):not(.destructive-action):checked {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 100%, transparent 0%) 0 0 2/0 0 2px; }
+ .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked, .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked:disabled,
+ headerbar button:not(.suggested-action):not(.destructive-action):checked,
+ headerbar button:not(.suggested-action):not(.destructive-action):checked:disabled {
+ background-color: transparent; }
+ .titlebar:not(headerbar) button.suggested-action:disabled, .titlebar:not(headerbar) button.destructive-action:disabled,
+ headerbar button.suggested-action:disabled,
+ headerbar button.destructive-action:disabled {
+ color: alpha(currentColor, 0.4); }
+ .titlebar:not(headerbar) button.suggested-action:disabled > label, .titlebar:not(headerbar) button.destructive-action:disabled > label,
+ headerbar button.suggested-action:disabled > label,
+ headerbar button.destructive-action:disabled > label {
+ color: inherit; }
+ .selection-mode.titlebar:not(headerbar),
+ headerbar.selection-mode {
+ transition: background-color 0.00001s 0.3s;
+ animation: header_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: #666666;
+ color: #FFFFFF; }
+ .selection-mode.titlebar:backdrop:not(headerbar),
+ headerbar.selection-mode:backdrop {
+ color: rgba(255, 255, 255, 0.75); }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action),
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action) {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 0%, transparent 0%) 0 0 0/0 0 0px;
+ color: currentColor; }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):disabled,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):disabled {
+ color: alpha(currentColor, 0.4); }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):disabled > label,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):disabled > label {
+ color: inherit; }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):hover {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), alpha(#FFFFFF, 0.8) 100%, transparent 0%) 0 0 2/0 0 2px;
+ background: none;
+ color: alpha(#FFFFFF, 0.8); }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover, .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover:disabled,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):hover,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):hover:disabled {
+ background-color: transparent; }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):checked {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 100%, transparent 0%) 0 0 2/0 0 2px;
+ color: currentColor; }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked:disabled,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):checked:disabled {
+ color: alpha(currentColor, 0.4); }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked:disabled > label,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):checked:disabled > label {
+ color: inherit; }
+ .selection-mode.titlebar:not(headerbar) .selection-menu,
+ headerbar.selection-mode .selection-menu {
+ padding-left: 16px;
+ padding-right: 16px; }
+ .selection-mode.titlebar:not(headerbar) .selection-menu GtkArrow,
+ headerbar.selection-mode .selection-menu GtkArrow {
+ -GtkArrow-arrow-scaling: 1; }
+ .selection-mode.titlebar:not(headerbar) .selection-menu .arrow,
+ headerbar.selection-mode .selection-menu .arrow {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+ .fullscreen .titlebar:not(headerbar), .tiled .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen
+ headerbar, .tiled
+ headerbar, .maximized
+ headerbar {
+ border-radius: 0; }
+ .default-decoration.titlebar:not(headerbar),
+ headerbar.default-decoration {
+ min-height: 24px;
+ padding: 6px;
+ border-width: 0; }
+ .default-decoration.titlebar:not(headerbar) button.titlebutton,
+ headerbar.default-decoration button.titlebutton {
+ min-height: 24px;
+ min-width: 24px;
+ margin: 0;
+ padding: 0; }
+ .default-decoration.titlebar:not(headerbar) button.titlebutton:active,
+ headerbar.default-decoration button.titlebutton:active {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 100%, transparent 0%), image(alpha(currentColor, 0.15)); }
+ .solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd
+ headerbar:dir(rtl), .solid-csd
+ headerbar:dir(ltr) {
+ margin-left: -2px;
+ margin-right: -2px;
+ margin-top: -2px;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); }
+
+headerbar entry,
+headerbar spinbutton,
+headerbar button {
+ margin-top: 6px;
+ margin-bottom: 6px; }
+headerbar switch {
+ margin-top: 12px;
+ margin-bottom: 12px; }
+
+.background:not(.tiled):not(.maximized):not(.fullscreen) .titlebar {
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px; }
+
+window:not(.tiled):not(.maximized):not(.fullscreen) separator:first-child + headerbar, window:not(.tiled):not(.maximized):not(.fullscreen) headerbar:first-child {
+ border-top-left-radius: 0; }
+window:not(.tiled):not(.maximized):not(.fullscreen) headerbar:last-child {
+ border-top-right-radius: 0; }
+
+window.csd > .titlebar:not(headerbar) {
+ padding: 0;
+ background-color: transparent;
+ background-image: none;
+ border-style: none;
+ box-shadow: none; }
+.titlebar:not(headerbar) > separator {
+ background-color: #444444; }
+
+/************
+ * Pathbars *
+ ************/
+.caja-pathbar button,
+.path-bar button {
+ padding-left: 6px;
+ padding-right: 6px; }
+ .caja-pathbar button label:not(:only-child):first-child,
+ .path-bar button label:not(:only-child):first-child {
+ margin-left: 4px; }
+ .caja-pathbar button label:not(:only-child):last-child,
+ .path-bar button label:not(:only-child):last-child {
+ margin-right: 4px; }
+ .caja-pathbar button.slider-button,
+ .path-bar button.slider-button {
+ padding-left: 4px;
+ padding-right: 4px; }
+ :not(headerbar) .caja-pathbar button, .caja-pathbar :not(headerbar) button, :not(headerbar)
+ .path-bar button {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 0%, transparent 0%) 0 0 0/0 0 0px;
+ border-radius: 2px; }
+ :not(headerbar) .caja-pathbar button:checked, .caja-pathbar :not(headerbar) button:checked, :not(headerbar)
+ .path-bar button:checked {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 100%, transparent 0%) 0 0 2/0 0 2px; }
+ :not(headerbar) .caja-pathbar button:checked, .caja-pathbar :not(headerbar) button:checked, :not(headerbar) .caja-pathbar button:checked:disabled, .caja-pathbar :not(headerbar) button:checked:disabled, :not(headerbar)
+ .path-bar button:checked, :not(headerbar)
+ .path-bar button:checked:disabled {
+ background-color: transparent; }
+
+/**************
+ * Tree Views *
+ **************/
+treeview.view {
+ border-left-color: alpha(currentColor, 0.3);
+ border-top-color: rgba(0, 0, 0, 0.2); }
+ * {
+ -GtkTreeView-horizontal-separator: 4;
+ -GtkTreeView-grid-line-width: 1;
+ -GtkTreeView-grid-line-pattern: '';
+ -GtkTreeView-tree-line-width: 1;
+ -GtkTreeView-tree-line-pattern: '';
+ -GtkTreeView-expander-size: 16; }
+ treeview.view:hover, treeview.view:active, treeview.view:selected {
+ border-radius: 0; }
+ treeview.view.separator {
+ min-height: 5px;
+ color: rgba(0, 0, 0, 0.2); }
+ treeview.view:drop(active) {
+ border-style: solid none;
+ border-width: 1px;
+ border-color: #FAFAFA; }
+ treeview.view:drop(active).after {
+ border-top-style: none; }
+ treeview.view:drop(active).before {
+ border-bottom-style: none; }
+ treeview.view.expander {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+ -gtk-icon-transform: rotate(-90deg);
+ color: rgba(255, 255, 255, 0.75); }
+ treeview.view.expander:dir(rtl) {
+ -gtk-icon-transform: rotate(90deg); }
+ treeview.view.expander:checked {
+ -gtk-icon-transform: unset; }
+ treeview.view.expander:hover, treeview.view.expander:active {
+ color: #FFFFFF; }
+ treeview.view.expander:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+ treeview.view.expander:selected {
+ color: rgba(255, 255, 255, 0.75); }
+ treeview.view.expander:selected:hover, treeview.view.expander:selected:active {
+ color: #FFFFFF; }
+ treeview.view.expander:selected:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+ treeview.view.progressbar {
+ border-style: none none solid;
+ border-width: 4px;
+ border-color: #666666;
+ box-shadow: none;
+ background-color: transparent; }
+ treeview.view.progressbar:selected {
+ border-color: currentColor; }
+ treeview.view.trough {
+ border-style: none none solid;
+ border-width: 4px;
+ border-color: rgba(102, 102, 102, 0.3);
+ box-shadow: none;
+ background-color: transparent; }
+ treeview.view.trough:selected {
+ border-color: alpha(currentColor, 0.3); }
+ treeview.view header button {
+ padding: 2px 6px;
+ border-style: none solid solid none;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-radius: 0;
+ background-clip: border-box; }
+ treeview.view header button, treeview.view header button:hover, treeview.view header button:active {
+ box-shadow: none; }
+ treeview.view header button, treeview.view header button:disabled {
+ background-color: #404040; }
+ treeview.view header button:last-child {
+ border-right-style: none; }
+ treeview.view button.dnd,
+ treeview.view header.button.dnd {
+ padding: 2px 6px;
+ border-style: none solid solid;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-radius: 0;
+ box-shadow: none;
+ background-color: #404040;
+ background-clip: border-box;
+ color: #666666; }
+ treeview.view acceleditor > label {
+ background-color: #666666; }
+
+/*********
+ * Menus *
+ *********/
+menubar,
+.menubar {
+ -GtkWidget-window-dragging: true;
+ padding: 0;
+ background-color: #444444; }
+ menubar > menuitem,
+ .menubar > menuitem {
+ transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
+ min-height: 20px;
+ padding: 4px 8px;
+ color: #FFFFFF; }
+ menubar > menuitem:hover,
+ .menubar > menuitem:hover {
+ transition: none;
+ border-radius: 2px;
+ background-color: shade(#666666, 0.9);
+ color: #FFFFFF; }
+ menubar > menuitem:disabled,
+ .menubar > menuitem:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+
+menu,
+.menu,
+.context-menu {
+ margin: 4px;
+ padding: 2px 0px;
+ box-shadow: none;
+ background-color: #444444;
+ border: none; }
+ .csd menu, .csd
+ .menu, .csd
+ .context-menu {
+ border: none;
+ border-radius: 0; }
+ menu menuitem,
+ .menu menuitem,
+ .context-menu menuitem {
+ transition: none;
+ min-height: 20px;
+ min-width: 40px;
+ padding: 4px 8px;
+ font: initial;
+ text-shadow: none;
+ color: #FFFFFF; }
+ menu menuitem:hover,
+ .menu menuitem:hover,
+ .context-menu menuitem:hover {
+ transition: none;
+ background-color: rgba(0, 0, 0, 0.15); }
+ menu menuitem arrow,
+ .menu menuitem arrow,
+ .context-menu menuitem arrow {
+ min-height: 16px;
+ min-width: 16px; }
+ menu menuitem arrow:dir(ltr),
+ .menu menuitem arrow:dir(ltr),
+ .context-menu menuitem arrow:dir(ltr) {
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
+ margin-left: 8px; }
+ menu menuitem arrow:dir(rtl),
+ .menu menuitem arrow:dir(rtl),
+ .context-menu menuitem arrow:dir(rtl) {
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl");
+ margin-right: 8px; }
+ menu menuitem label:dir(rtl), menu menuitem label:dir(ltr),
+ .menu menuitem label:dir(rtl),
+ .menu menuitem label:dir(ltr),
+ .context-menu menuitem label:dir(rtl),
+ .context-menu menuitem label:dir(ltr) {
+ color: inherit; }
+ menu > arrow,
+ .menu > arrow,
+ .context-menu > arrow {
+ min-height: 16px;
+ min-width: 16px;
+ padding: 4px;
+ border-radius: 0;
+ background-color: #444444;
+ color: rgba(255, 255, 255, 0.75); }
+ menu > arrow.top,
+ .menu > arrow.top,
+ .context-menu > arrow.top {
+ margin-top: -4px;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+ -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+ menu > arrow.bottom,
+ .menu > arrow.bottom,
+ .context-menu > arrow.bottom {
+ margin-bottom: -4px;
+ border-top: 1px solid rgba(0, 0, 0, 0.2);
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+ menu > arrow:hover,
+ .menu > arrow:hover,
+ .context-menu > arrow:hover {
+ background-image: image(alpha(currentColor, 0.15));
+ color: #FFFFFF; }
+ menu > arrow:disabled,
+ .menu > arrow:disabled,
+ .context-menu > arrow:disabled {
+ border-color: transparent;
+ background-color: transparent;
+ color: transparent; }
+ menu separator,
+ .menu separator,
+ .context-menu separator {
+ margin: 3px 0;
+ border: none; }
+
+menuitem accelerator {
+ color: alpha(currentColor, 0.6); }
+menuitem check:dir(ltr),
+menuitem radio:dir(ltr) {
+ margin-right: -8px;
+ margin-left: -16px; }
+menuitem check:dir(rtl),
+menuitem radio:dir(rtl) {
+ margin-right: -16px;
+ margin-left: -8px; }
+
+.csd.popup {
+ border-radius: 2px; }
+
+/***************
+ * Popovers *
+ ***************/
+popover.background {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ padding: 0;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23);
+ background-color: #505050; }
+ popover.background:backdrop {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); }
+ popover.background, .csd popover.background {
+ border-style: solid;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.2) rgba(0, 0, 0, 0.3);
+ border-radius: 3px; }
+ popover.background > list,
+ popover.background > .view,
+ popover.background > iconview,
+ popover.background > toolbar {
+ border-style: none;
+ box-shadow: none;
+ background-color: transparent; }
+ popover.background.menu button,
+ popover.background button.model {
+ min-height: 32px;
+ padding: 0 8px;
+ border-radius: 2px; }
+ popover.background.menu button:hover,
+ popover.background button.model:hover {
+ background-color: #666666;
+ color: #FFFFFF; }
+ popover.background.menu button:checked,
+ popover.background button.model:checked {
+ background-color: #666666;
+ color: #FFFFFF; }
+ popover.background separator {
+ margin: 4px 0; }
+ popover.background list separator {
+ margin: 0; }
+
+/*************
+ * Notebooks *
+ *************/
+notebook > header {
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.2);
+ background-color: #484848;
+ background-clip: border-box; }
+ notebook > header.top {
+ border-bottom-style: solid; }
+ notebook > header.top > tabs {
+ margin-bottom: -1px; }
+ notebook > header.top > tabs > tab:hover {
+ box-shadow: inset 0 -3px alpha(#FFFFFF, 0.3); }
+ notebook > header.top > tabs > tab:checked {
+ box-shadow: inset 0 -3px #FFFFFF; }
+ notebook > header.bottom {
+ border-top-style: solid; }
+ notebook > header.bottom > tabs {
+ margin-top: -1px; }
+ notebook > header.bottom > tabs > tab:hover {
+ box-shadow: inset 0 3px alpha(#FFFFFF, 0.3); }
+ notebook > header.bottom > tabs > tab:checked {
+ box-shadow: inset 0 3px #FFFFFF; }
+ notebook > header.left {
+ border-right-style: solid; }
+ notebook > header.left > tabs {
+ margin-right: -1px; }
+ notebook > header.left > tabs > tab:hover {
+ box-shadow: inset -3px 0 alpha(#FFFFFF, 0.3); }
+ notebook > header.left > tabs > tab:checked {
+ box-shadow: inset -3px 0 #FFFFFF; }
+ notebook > header.right {
+ border-left-style: solid; }
+ notebook > header.right > tabs {
+ margin-left: -1px; }
+ notebook > header.right > tabs > tab:hover {
+ box-shadow: inset 3px 0 alpha(#FFFFFF, 0.3); }
+ notebook > header.right > tabs > tab:checked {
+ box-shadow: inset 3px 0 #FFFFFF; }
+ notebook > header.top > tabs > arrow {
+ border-top-style: none; }
+ notebook > header.bottom > tabs > arrow {
+ border-bottom-style: none; }
+ notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow {
+ padding-left: 4px;
+ padding-right: 4px; }
+ notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down {
+ margin-left: -8px;
+ -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+ notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up {
+ margin-right: -8px;
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+ notebook > header.left > tabs > arrow {
+ border-left-style: none; }
+ notebook > header.right > tabs > arrow {
+ border-right-style: none; }
+ notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow {
+ padding-top: 4px;
+ padding-bottom: 4px; }
+ notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down {
+ margin-top: -8px;
+ -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+ notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up {
+ margin-bottom: -8px;
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+ notebook > header > tabs > arrow {
+ min-height: 16px;
+ min-width: 16px;
+ border-radius: 0; }
+ notebook > header tab {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ min-height: 24px;
+ min-width: 24px;
+ padding: 6px 12px;
+ outline-offset: -6px;
+ border-width: 1px;
+ border-color: transparent;
+ color: rgba(255, 255, 255, 0.75);
+ font-weight: 500; }
+ notebook > header tab:hover {
+ color: #FFFFFF; }
+ notebook > header tab:hover.reorderable-page {
+ border-color: rgba(0, 0, 0, 0.2);
+ background-color: #444444; }
+ notebook > header tab:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+ notebook > header tab:checked {
+ animation: tab_ripple_effect 0.9s cubic-bezier(0, 0, 0.2, 1);
+ color: #FFFFFF; }
+ notebook > header tab:checked:disabled {
+ color: rgba(255, 255, 255, 0.4); }
+ notebook > header tab:checked.reorderable-page {
+ border-color: rgba(0, 0, 0, 0.2);
+ background-color: #404040; }
+ notebook > header tab button.flat:last-child {
+ margin-left: 6px;
+ margin-right: -6px; }
+ notebook > header tab button.flat:first-child {
+ margin-left: -6px;
+ margin-right: 6px; }
+ notebook > header.top tabs, notebook > header.bottom tabs {
+ padding-left: 8px;
+ padding-right: 8px; }
+ notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child {
+ margin-left: 0; }
+ notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child {
+ margin-right: 0; }
+ notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page {
+ margin: 0 -1px;
+ border-style: none solid; }
+ notebook > header.left tabs, notebook > header.right tabs {
+ padding-top: 8px;
+ padding-bottom: 8px; }
+ notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child {
+ margin-top: 0; }
+ notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child {
+ margin-bottom: 0; }
+ notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page {
+ margin: -1px 0;
+ border-style: solid none; }
+notebook > stack:not(:only-child) {
+ background-color: #404040; }
+
+/**************
+ * Scrollbars *
+ **************/
+scrollbar {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ background-color: #404040;
+ background-clip: border-box; }
+ * {
+ -GtkScrollbar-has-backward-stepper: false;
+ -GtkScrollbar-has-forward-stepper: false; }
+ scrollbar.top {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
+ scrollbar.bottom {
+ border-top: 1px solid rgba(0, 0, 0, 0.2); }
+ scrollbar.left {
+ border-right: 1px solid rgba(0, 0, 0, 0.2); }
+ scrollbar.right {
+ border-left: 1px solid rgba(0, 0, 0, 0.2); }
+ scrollbar slider {
+ transition: all 0.2s cubic-bezier(0, 0, 0.2, 1), margin 0, border-width 0;
+ min-width: 8px;
+ min-height: 8px;
+ border: 4px solid transparent;
+ border-radius: 100px;
+ background-clip: padding-box;
+ background-color: rgba(255, 255, 255, 0.6); }
+ scrollbar slider:hover {
+ background-color: rgba(255, 255, 255, 0.75); }
+ scrollbar slider:active {
+ background-color: #FFFFFF; }
+ scrollbar slider:disabled {
+ background-color: rgba(255, 255, 255, 0.24); }
+ scrollbar.fine-tune slider {
+ transition: all 0.2s cubic-bezier(0, 0, 0.2, 1), margin 0, border-width 0, min-width 0, min-height 0;
+ min-width: 4px;
+ min-height: 4px; }
+ scrollbar.fine-tune.horizontal slider {
+ margin: 2px 0; }
+ scrollbar.fine-tune.vertical slider {
+ margin: 0 2px; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering) {
+ border-color: transparent;
+ background-color: transparent; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider {
+ min-width: 4px;
+ min-height: 4px;
+ margin: 3px;
+ border: 1px solid rgba(64, 64, 64, 0.3); }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering) button {
+ min-width: 4px;
+ min-height: 4px;
+ margin: 3px;
+ border: 1px solid rgba(64, 64, 64, 0.3);
+ border-radius: 2px;
+ background-color: rgba(255, 255, 255, 0.6);
+ background-clip: padding-box;
+ -gtk-icon-source: none; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering) button:disabled {
+ background-color: rgba(255, 255, 255, 0.24); }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider {
+ min-width: 24px; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button {
+ min-width: 8px; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider {
+ min-height: 24px; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button {
+ min-height: 8px; }
+ scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering {
+ background-color: rgba(64, 64, 64, 0.9); }
+ scrollbar.horizontal slider {
+ min-width: 24px; }
+ scrollbar.vertical slider {
+ min-height: 24px; }
+ scrollbar button {
+ min-width: 16px;
+ min-height: 16px;
+ padding: 0;
+ border-radius: 0; }
+ scrollbar.vertical button.down {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+ scrollbar.vertical button.up {
+ -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+ scrollbar.horizontal button.down {
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+ scrollbar.horizontal button.up {
+ -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+/**********
+ * Switch *
+ **********/
+switch {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ margin: 6px 0;
+ border: 4px solid transparent;
+ border-radius: 100px;
+ background-color: alpha(currentColor, 0.3);
+ background-clip: padding-box;
+ font-size: 0; }
+ switch:disabled {
+ color: alpha(currentColor, 0.4); }
+ switch:checked {
+ background-color: rgba(250, 250, 250, 0.5); }
+ switch:checked:disabled {
+ background-color: rgba(250, 250, 250, 0.2);
+ color: rgba(255, 255, 255, 0.4); }
+ switch slider {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-image: none;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #404040;
+ color: #FFFFFF;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1), margin 0;
+ min-width: 24px;
+ min-height: 24px;
+ margin: -4px 0 -4px -4px;
+ border-radius: 100px;
+ -gtk-outline-radius: 100px; }
+ switch:hover slider {
+ border-image: none;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ switch:checked slider {
+ animation: needs_attention 0.3s cubic-bezier(0, 0, 0.2, 1);
+ margin: -4px -4px -4px 0;
+ background-color: #FAFAFA;
+ color: #FFFFFF; }
+ switch:disabled slider {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #444444;
+ color: rgba(255, 255, 255, 0.4); }
+ switch:checked:disabled slider {
+ animation: none; }
+
+/*************************
+ * Check and Radio items *
+ *************************/
+.view.content-view.check:not(list), iconview.content-view.check:not(list) {
+ -gtk-icon-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ -gtk-icon-source: -gtk-scaled(url("assets/checkbox-selectionmode-dark.png"), url("assets/checkbox-selectionmode-dark@2.png"));
+ margin: 8px;
+ background-color: transparent; }
+
+.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list) {
+ -gtk-icon-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ -gtk-icon-source: -gtk-scaled(url("assets/checkbox-hover-selectionmode-dark.png"), url("assets/checkbox-hover-selectionmode-dark@2.png"));
+ margin: 8px;
+ background-color: transparent; }
+
+.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list) {
+ -gtk-icon-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-selectionmode-dark.png"), url("assets/checkbox-checked-selectionmode-dark@2.png"));
+ margin: 8px;
+ background-color: transparent; }
+
+.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list) {
+ -gtk-icon-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-hover-selectionmode-dark.png"), url("assets/checkbox-checked-hover-selectionmode-dark@2.png"));
+ margin: 8px;
+ background-color: transparent; }
+
+checkbutton.text-button,
+radiobutton.text-button {
+ padding: 2px;
+ outline-offset: 0; }
+ checkbutton.text-button label:not(:only-child),
+ radiobutton.text-button label:not(:only-child) {
+ margin: 0 4px; }
+
+check,
+radio {
+ min-height: 24px;
+ min-width: 24px;
+ margin: -12px;
+ padding: 12px; }
+ check:checked, check:indeterminate,
+ radio:checked,
+ radio:indeterminate {
+ color: #FAFAFA; }
+ check:checked:disabled, check:indeterminate:disabled,
+ radio:checked:disabled,
+ radio:indeterminate:disabled {
+ color: rgba(250, 250, 250, 0.4); }
+ row check:not(:checked):not(:indeterminate), row
+ radio:not(:checked):not(:indeterminate) {
+ color: alpha(currentColor, 0.75); }
+ row check:not(:checked):not(:indeterminate):hover, row check:not(:checked):not(:indeterminate):active, row
+ radio:not(:checked):not(:indeterminate):hover, row
+ radio:not(:checked):not(:indeterminate):active {
+ color: currentColor; }
+ row check:not(:checked):not(:indeterminate):disabled, row
+ radio:not(:checked):not(:indeterminate):disabled {
+ color: alpha(currentColor, 0.3); }
+ menu menuitem check, menu menuitem
+ radio {
+ transition: none;
+ margin: -16px; }
+ menu menuitem check:not(:checked):not(:indeterminate), menu menuitem
+ radio:not(:checked):not(:indeterminate) {
+ color: alpha(currentColor, 0.6); }
+ menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem
+ radio, menu menuitem
+ radio:hover, menu menuitem
+ radio:disabled {
+ background-image: none; }
+
+check {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/check-unchecked-symbolic.svg")), -gtk-recolor(url("assets/check-unchecked-symbolic.png"))); }
+check:checked {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/check-checked-symbolic.svg")), -gtk-recolor(url("assets/check-checked-symbolic.png"))); }
+check:indeterminate {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/check-dash-symbolic.svg")), -gtk-recolor(url("assets/check-dash-symbolic.png"))); }
+
+radio {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.001, to(#FAFAFA), to(transparent)) 24/24px; }
+ radio {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/radio-unchecked-symbolic.svg")), -gtk-recolor(url("assets/radio-unchecked-symbolic.png"))); }
+ radio:indeterminate {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/radio-dash-symbolic.svg")), -gtk-recolor(url("assets/radio-dash-symbolic.png"))); }
+ radio:checked {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.10417, to(#FAFAFA), to(transparent)) 24/24px; }
+ radio:checked:disabled {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.10417, to(rgba(250, 250, 250, 0.4)), to(transparent)) 24/24px; }
+ radio:indeterminate:checked {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.001, to(#FAFAFA), to(transparent)) 24/24px; }
+
+treeview.view check:selected,
+treeview.view check:selected:focus,
+row check:selected,
+row check:selected:focus,
+row.activatable check:selected,
+.view check:selected,
+iconview check:selected,
+treeview.view header button check:selected,
+.budgie-menu button check:selected,
+row.activatable check:selected:focus,
+.view check:selected:focus,
+iconview check:selected:focus,
+treeview.view header button check:selected:focus,
+.budgie-menu button check:selected:focus {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:active,
+treeview.view check:selected:focus:active,
+row check:selected:active,
+row check:selected:focus:active,
+row.activatable check:selected:active,
+.view check:selected:active,
+iconview check:selected:active,
+treeview.view header button check:selected:active,
+.budgie-menu button check:selected:active,
+row.activatable check:selected:focus:active,
+.view check:selected:focus:active,
+iconview check:selected:focus:active,
+treeview.view header button check:selected:focus:active,
+.budgie-menu button check:selected:focus:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:backdrop,
+treeview.view check:selected:focus:backdrop,
+row check:selected:backdrop,
+row check:selected:focus:backdrop,
+row.activatable check:selected:backdrop,
+.view check:selected:backdrop,
+iconview check:selected:backdrop,
+treeview.view header button check:selected:backdrop,
+.budgie-menu button check:selected:backdrop,
+row.activatable check:selected:focus:backdrop,
+.view check:selected:focus:backdrop,
+iconview check:selected:focus:backdrop,
+treeview.view header button check:selected:focus:backdrop,
+.budgie-menu button check:selected:focus:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:indeterminate,
+treeview.view check:selected:focus:indeterminate,
+row check:selected:indeterminate,
+row check:selected:focus:indeterminate,
+row.activatable check:selected:indeterminate,
+.view check:selected:indeterminate,
+iconview check:selected:indeterminate,
+treeview.view header button check:selected:indeterminate,
+.budgie-menu button check:selected:indeterminate,
+row.activatable check:selected:focus:indeterminate,
+.view check:selected:focus:indeterminate,
+iconview check:selected:focus:indeterminate,
+treeview.view header button check:selected:focus:indeterminate,
+.budgie-menu button check:selected:focus:indeterminate {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:indeterminate:backdrop,
+treeview.view check:selected:focus:indeterminate:backdrop,
+row check:selected:indeterminate:backdrop,
+row check:selected:focus:indeterminate:backdrop,
+row.activatable check:selected:indeterminate:backdrop,
+.view check:selected:indeterminate:backdrop,
+iconview check:selected:indeterminate:backdrop,
+treeview.view header button check:selected:indeterminate:backdrop,
+.budgie-menu button check:selected:indeterminate:backdrop,
+row.activatable check:selected:focus:indeterminate:backdrop,
+.view check:selected:focus:indeterminate:backdrop,
+iconview check:selected:focus:indeterminate:backdrop,
+treeview.view header button check:selected:focus:indeterminate:backdrop,
+.budgie-menu button check:selected:focus:indeterminate:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:indeterminate:active,
+treeview.view check:selected:focus:indeterminate:active,
+row check:selected:indeterminate:active,
+row check:selected:focus:indeterminate:active,
+row.activatable check:selected:indeterminate:active,
+.view check:selected:indeterminate:active,
+iconview check:selected:indeterminate:active,
+treeview.view header button check:selected:indeterminate:active,
+.budgie-menu button check:selected:indeterminate:active,
+row.activatable check:selected:focus:indeterminate:active,
+.view check:selected:focus:indeterminate:active,
+iconview check:selected:focus:indeterminate:active,
+treeview.view header button check:selected:focus:indeterminate:active,
+.budgie-menu button check:selected:focus:indeterminate:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:checked,
+treeview.view check:selected:focus:checked,
+row check:selected:checked,
+row check:selected:focus:checked,
+row.activatable check:selected:checked,
+.view check:selected:checked,
+iconview check:selected:checked,
+treeview.view header button check:selected:checked,
+.budgie-menu button check:selected:checked,
+row.activatable check:selected:focus:checked,
+.view check:selected:focus:checked,
+iconview check:selected:focus:checked,
+treeview.view header button check:selected:focus:checked,
+.budgie-menu button check:selected:focus:checked {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:checked:backdrop,
+treeview.view check:selected:focus:checked:backdrop,
+row check:selected:checked:backdrop,
+row check:selected:focus:checked:backdrop,
+row.activatable check:selected:checked:backdrop,
+.view check:selected:checked:backdrop,
+iconview check:selected:checked:backdrop,
+treeview.view header button check:selected:checked:backdrop,
+.budgie-menu button check:selected:checked:backdrop,
+row.activatable check:selected:focus:checked:backdrop,
+.view check:selected:focus:checked:backdrop,
+iconview check:selected:focus:checked:backdrop,
+treeview.view header button check:selected:focus:checked:backdrop,
+.budgie-menu button check:selected:focus:checked:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:checked:active,
+treeview.view check:selected:focus:checked:active,
+row check:selected:checked:active,
+row check:selected:focus:checked:active,
+row.activatable check:selected:checked:active,
+.view check:selected:checked:active,
+iconview check:selected:checked:active,
+treeview.view header button check:selected:checked:active,
+.budgie-menu button check:selected:checked:active,
+row.activatable check:selected:focus:checked:active,
+.view check:selected:focus:checked:active,
+iconview check:selected:focus:checked:active,
+treeview.view header button check:selected:focus:checked:active,
+.budgie-menu button check:selected:focus:checked:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected,
+treeview.view radio:selected:focus,
+row radio:selected,
+row radio:selected:focus,
+row.activatable radio:selected,
+.view radio:selected,
+iconview radio:selected,
+treeview.view header button radio:selected,
+.budgie-menu button radio:selected,
+row.activatable radio:selected:focus,
+.view radio:selected:focus,
+iconview radio:selected:focus,
+treeview.view header button radio:selected:focus,
+.budgie-menu button radio:selected:focus {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:active,
+treeview.view radio:selected:focus:active,
+row radio:selected:active,
+row radio:selected:focus:active,
+row.activatable radio:selected:active,
+.view radio:selected:active,
+iconview radio:selected:active,
+treeview.view header button radio:selected:active,
+.budgie-menu button radio:selected:active,
+row.activatable radio:selected:focus:active,
+.view radio:selected:focus:active,
+iconview radio:selected:focus:active,
+treeview.view header button radio:selected:focus:active,
+.budgie-menu button radio:selected:focus:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:backdrop,
+treeview.view radio:selected:focus:backdrop,
+row radio:selected:backdrop,
+row radio:selected:focus:backdrop,
+row.activatable radio:selected:backdrop,
+.view radio:selected:backdrop,
+iconview radio:selected:backdrop,
+treeview.view header button radio:selected:backdrop,
+.budgie-menu button radio:selected:backdrop,
+row.activatable radio:selected:focus:backdrop,
+.view radio:selected:focus:backdrop,
+iconview radio:selected:focus:backdrop,
+treeview.view header button radio:selected:focus:backdrop,
+.budgie-menu button radio:selected:focus:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:indeterminate,
+treeview.view radio:selected:focus:indeterminate,
+row radio:selected:indeterminate,
+row radio:selected:focus:indeterminate,
+row.activatable radio:selected:indeterminate,
+.view radio:selected:indeterminate,
+iconview radio:selected:indeterminate,
+treeview.view header button radio:selected:indeterminate,
+.budgie-menu button radio:selected:indeterminate,
+row.activatable radio:selected:focus:indeterminate,
+.view radio:selected:focus:indeterminate,
+iconview radio:selected:focus:indeterminate,
+treeview.view header button radio:selected:focus:indeterminate,
+.budgie-menu button radio:selected:focus:indeterminate {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:indeterminate:backdrop,
+treeview.view radio:selected:focus:indeterminate:backdrop,
+row radio:selected:indeterminate:backdrop,
+row radio:selected:focus:indeterminate:backdrop,
+row.activatable radio:selected:indeterminate:backdrop,
+.view radio:selected:indeterminate:backdrop,
+iconview radio:selected:indeterminate:backdrop,
+treeview.view header button radio:selected:indeterminate:backdrop,
+.budgie-menu button radio:selected:indeterminate:backdrop,
+row.activatable radio:selected:focus:indeterminate:backdrop,
+.view radio:selected:focus:indeterminate:backdrop,
+iconview radio:selected:focus:indeterminate:backdrop,
+treeview.view header button radio:selected:focus:indeterminate:backdrop,
+.budgie-menu button radio:selected:focus:indeterminate:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:indeterminate:active,
+treeview.view radio:selected:focus:indeterminate:active,
+row radio:selected:indeterminate:active,
+row radio:selected:focus:indeterminate:active,
+row.activatable radio:selected:indeterminate:active,
+.view radio:selected:indeterminate:active,
+iconview radio:selected:indeterminate:active,
+treeview.view header button radio:selected:indeterminate:active,
+.budgie-menu button radio:selected:indeterminate:active,
+row.activatable radio:selected:focus:indeterminate:active,
+.view radio:selected:focus:indeterminate:active,
+iconview radio:selected:focus:indeterminate:active,
+treeview.view header button radio:selected:focus:indeterminate:active,
+.budgie-menu button radio:selected:focus:indeterminate:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:checked,
+treeview.view radio:selected:focus:checked,
+row radio:selected:checked,
+row radio:selected:focus:checked,
+row.activatable radio:selected:checked,
+.view radio:selected:checked,
+iconview radio:selected:checked,
+treeview.view header button radio:selected:checked,
+.budgie-menu button radio:selected:checked,
+row.activatable radio:selected:focus:checked,
+.view radio:selected:focus:checked,
+iconview radio:selected:focus:checked,
+treeview.view header button radio:selected:focus:checked,
+.budgie-menu button radio:selected:focus:checked {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:checked:backdrop,
+treeview.view radio:selected:focus:checked:backdrop,
+row radio:selected:checked:backdrop,
+row radio:selected:focus:checked:backdrop,
+row.activatable radio:selected:checked:backdrop,
+.view radio:selected:checked:backdrop,
+iconview radio:selected:checked:backdrop,
+treeview.view header button radio:selected:checked:backdrop,
+.budgie-menu button radio:selected:checked:backdrop,
+row.activatable radio:selected:focus:checked:backdrop,
+.view radio:selected:focus:checked:backdrop,
+iconview radio:selected:focus:checked:backdrop,
+treeview.view header button radio:selected:focus:checked:backdrop,
+.budgie-menu button radio:selected:focus:checked:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:checked:active,
+treeview.view radio:selected:focus:checked:active,
+row radio:selected:checked:active,
+row radio:selected:focus:checked:active,
+row.activatable radio:selected:checked:active,
+.view radio:selected:checked:active,
+iconview radio:selected:checked:active,
+treeview.view header button radio:selected:checked:active,
+.budgie-menu button radio:selected:checked:active,
+row.activatable radio:selected:focus:checked:active,
+.view radio:selected:focus:checked:active,
+iconview radio:selected:focus:checked:active,
+treeview.view header button radio:selected:focus:checked:active,
+.budgie-menu button radio:selected:focus:checked:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check,
+menu menuitem check {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check:indeterminate,
+menu menuitem check:indeterminate {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check:checked,
+menu menuitem check:checked {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check:hover,
+menu menuitem check:hover {
+ color: rgba(255, 255, 255, 0.75);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check:indeterminate:hover,
+menu menuitem check:indeterminate:hover {
+ color: rgba(255, 255, 255, 0.75);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check:checked:hover,
+menu menuitem check:checked:hover {
+ color: rgba(255, 255, 255, 0.75);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio,
+menu menuitem radio {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio:indeterminate,
+menu menuitem radio:indeterminate {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio:checked,
+menu menuitem radio:checked {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio:hover,
+menu menuitem radio:hover {
+ color: rgba(255, 255, 255, 0.75);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio:indeterminate:hover,
+menu menuitem radio:indeterminate:hover {
+ color: rgba(255, 255, 255, 0.75);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio:checked:hover,
+menu menuitem radio:checked:hover {
+ color: rgba(255, 255, 255, 0.75);
+ -gtk-icon-shadow: none; }
+
+@keyframes check_check {
+ from {
+ -gtk-icon-transform: rotate(90deg); }
+ to {
+ -gtk-icon-transform: unset; } }
+@keyframes check_radio {
+ from {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.001, to(#FAFAFA), to(transparent)) 24/24px; }
+ to {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.10417, to(#FAFAFA), to(transparent)) 24/24px; } }
+@keyframes check_indeterminate {
+ from {
+ -gtk-icon-transform: unset; }
+ 50% {
+ -gtk-icon-transform: scale(0, 1); }
+ to {
+ -gtk-icon-transform: unset; } }
+modelbutton.flat check:not(:indeterminate):checked,
+.menuitem.button.flat check:not(:indeterminate):checked,
+check:not(:indeterminate):checked {
+ animation: check_check 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
+
+check:not(:indeterminate):checked:active {
+ animation: check_check 0.3s cubic-bezier(0.4, 0, 0.2, 1), flat_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1) forwards; }
+
+modelbutton.flat check:indeterminate:checked, modelbutton.flat radio:indeterminate:checked,
+.menuitem.button.flat check:indeterminate:checked,
+.menuitem.button.flat radio:indeterminate:checked,
+check:indeterminate:checked, radio:indeterminate:checked {
+ animation: check_indeterminate 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
+
+check:indeterminate:checked:active, radio:indeterminate:checked:active {
+ animation: check_indeterminate 0.3s cubic-bezier(0.4, 0, 0.2, 1), flat_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1) forwards; }
+
+menu menuitem check:not(:indeterminate):checked,
+menu menuitem radio:not(:indeterminate):checked,
+menu menuitem check:indeterminate:checked,
+menu menuitem radio:indeterminate:checked {
+ animation: none; }
+
+treeview.view check,
+treeview.view radio {
+ padding: 0; }
+ treeview.view check:hover,
+ treeview.view radio:hover {
+ box-shadow: inset 0 0 0 9999px alpha(#FFFFFF, 0.05);
+ background-image: none; }
+ treeview.view check:hover:disabled,
+ treeview.view radio:hover:disabled {
+ box-shadow: none; }
+ treeview.view check:hover:selected,
+ treeview.view radio:hover:selected {
+ box-shadow: inset 0 0 0 9999px alpha(#FFFFFF, 0.05); }
+ treeview.view check,
+ treeview.view radio {
+ color: rgba(255, 255, 255, 0.75); }
+ treeview.view check:hover, treeview.view check:active,
+ treeview.view radio:hover,
+ treeview.view radio:active {
+ color: #FFFFFF; }
+ treeview.view check:disabled,
+ treeview.view radio:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+ treeview.view check:checked, treeview.view check:indeterminate,
+ treeview.view radio:checked,
+ treeview.view radio:indeterminate {
+ color: #FAFAFA; }
+ treeview.view check:checked:disabled, treeview.view check:indeterminate:disabled,
+ treeview.view radio:checked:disabled,
+ treeview.view radio:indeterminate:disabled {
+ color: rgba(250, 250, 250, 0.4); }
+
+treeview.view radio:checked {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/radio-checked-symbolic.svg")), -gtk-recolor(url("assets/radio-checked-symbolic.png")));
+ border-image: none; }
+
+/************
+ * GtkScale *
+ ************/
+scale {
+ min-height: 12px;
+ min-width: 12px;
+ padding: 12px; }
+ scale * {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1); }
+ scale slider {
+ min-height: 24px;
+ min-width: 24px;
+ margin: -10px; }
+ scale trough {
+ outline-offset: 2px;
+ background-color: alpha(currentColor, 0.3); }
+ scale trough:disabled {
+ color: rgba(255, 255, 255, 0.4); }
+ scale highlight {
+ background-color: #FAFAFA; }
+ scale highlight:disabled {
+ background-color: transparent; }
+ scale fill {
+ background-color: alpha(currentColor, 0.3); }
+ scale fill:disabled {
+ background-color: transparent; }
+ scale slider {
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: calc(100% - 8px); }
+ scale slider {
+ background-image: -gtk-scaled(url("assets/slider-dark.png"), url("assets/slider-dark@2.png")); }
+ scale slider:disabled {
+ background-image: -gtk-scaled(url("assets/slider-insensitive-dark.png"), url("assets/slider-insensitive-dark@2.png")); }
+ scale slider:hover {
+ background-size: calc(100% - 4px); }
+ scale slider:active {
+ background-size: calc(100% - 0px); }
+ scale.fine-tune slider {
+ background-size: calc(100% - 12px); }
+ scale value {
+ color: alpha(currentColor, 0.6); }
+ scale marks {
+ color: alpha(currentColor, 0.3); }
+ scale marks.top {
+ margin-bottom: 8px;
+ margin-top: -16px; }
+ scale marks.bottom {
+ margin-top: 8px;
+ margin-bottom: -16px; }
+ scale marks.top {
+ margin-right: 8px;
+ margin-left: -16px; }
+ scale marks.bottom {
+ margin-left: 8px;
+ margin-right: -16px; }
+ scale.horizontal indicator {
+ min-height: 8px;
+ min-width: 1px; }
+ scale.vertical indicator {
+ min-height: 1px;
+ min-width: 8px; }
+ scale.horizontal.marks-before:not(.marks-after) slider {
+ min-height: 30px;
+ min-width: 24px;
+ margin-top: -16px;
+ background-position: center calc(100% - 4px); }
+ scale.horizontal.marks-before:not(.marks-after) slider {
+ background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); }
+ scale.horizontal.marks-before:not(.marks-after) slider:disabled {
+ background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); }
+ scale.horizontal.marks-before:not(.marks-after) slider:hover {
+ background-position: center calc(100% - 2px); }
+ scale.horizontal.marks-before:not(.marks-after) slider:active {
+ background-position: center calc(100% - 0px); }
+ scale.horizontal.marks-before:not(.marks-after).fine-tune slider {
+ background-position: center calc(100% - 6px); }
+ scale.horizontal.marks-after:not(.marks-before) slider {
+ min-height: 30px;
+ min-width: 24px;
+ margin-bottom: -16px;
+ background-position: center calc(4px); }
+ scale.horizontal.marks-after:not(.marks-before) slider {
+ background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); }
+ scale.horizontal.marks-after:not(.marks-before) slider:disabled {
+ background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); }
+ scale.horizontal.marks-after:not(.marks-before) slider:hover {
+ background-position: center calc(2px); }
+ scale.horizontal.marks-after:not(.marks-before) slider:active {
+ background-position: center calc(0px); }
+ scale.horizontal.marks-after:not(.marks-before).fine-tune slider {
+ background-position: center calc(6px); }
+ scale.vertical.marks-before:not(.marks-after) slider {
+ min-height: 24px;
+ min-width: 30px;
+ margin-left: -16px;
+ background-position: calc(4px) center; }
+ scale.vertical.marks-before:not(.marks-after) slider {
+ background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); }
+ scale.vertical.marks-before:not(.marks-after) slider:disabled {
+ background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); }
+ scale.vertical.marks-before:not(.marks-after) slider:hover {
+ background-position: calc(2px) center; }
+ scale.vertical.marks-before:not(.marks-after) slider:active {
+ background-position: calc(0px) center; }
+ scale.vertical.marks-before:not(.marks-after).fine-tune slider {
+ background-position: calc(6px) center; }
+ scale.vertical.marks-after:not(.marks-before) slider {
+ min-height: 24px;
+ min-width: 30px;
+ margin-right: -16px;
+ background-position: calc(100% - 4px) center; }
+ scale.vertical.marks-after:not(.marks-before) slider {
+ background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); }
+ scale.vertical.marks-after:not(.marks-before) slider:disabled {
+ background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); }
+ scale.vertical.marks-after:not(.marks-before) slider:hover {
+ background-position: calc(100% - 2px) center; }
+ scale.vertical.marks-after:not(.marks-before) slider:active {
+ background-position: calc(100% - 0px) center; }
+ scale.vertical.marks-after:not(.marks-before).fine-tune slider {
+ background-position: calc(100% - 6px) center; }
+ scale.color {
+ min-height: 0;
+ min-width: 0; }
+ scale.color.horizontal {
+ padding: 0 0 12px 0; }
+ scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl) {
+ margin-bottom: -12px;
+ margin-top: -2px; }
+ scale.color.vertical:dir(ltr) {
+ padding: 0 0 0 12px; }
+ scale.color.vertical:dir(ltr) slider {
+ margin-left: -12px;
+ margin-right: -2px; }
+ scale.color.vertical:dir(rtl) {
+ padding: 0 12px 0 0; }
+ scale.color.vertical:dir(rtl) slider {
+ margin-right: -12px;
+ margin-left: -2px; }
+
+/*****************
+ * Progress bars *
+ *****************/
+progressbar {
+ color: rgba(255, 255, 255, 0.6);
+ font-size: smaller; }
+ progressbar.horizontal trough,
+ progressbar.horizontal progress {
+ min-height: 4px; }
+ progressbar.vertical trough,
+ progressbar.vertical progress {
+ min-width: 4px; }
+ progressbar trough {
+ background-color: rgba(238, 238, 238, 0.3); }
+ progressbar progress {
+ background-color: #EEEEEE; }
+
+/*************
+ * Level Bar *
+ *************/
+levelbar block {
+ min-width: 36px;
+ min-height: 4px; }
+levelbar.vertical block {
+ min-width: 4px;
+ min-height: 36px; }
+levelbar trough {
+ padding: 2px;
+ border-radius: 2px;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-image: none;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #404040;
+ color: #FFFFFF; }
+ levelbar trough:disabled {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #444444;
+ color: rgba(255, 255, 255, 0.4); }
+levelbar.horizontal.discrete block {
+ margin: 0 1px; }
+levelbar.vertical.discrete block {
+ margin: 1px 0; }
+levelbar.horizontal.discrete trough {
+ padding: 2px 1px; }
+levelbar.vertical.discrete trough {
+ padding: 1px 2px; }
+levelbar block.low {
+ background-color: #FF6D00; }
+levelbar block.high, levelbar block:not(.empty) {
+ background-color: #666666; }
+levelbar block.full {
+ background-color: #00C853; }
+levelbar block.empty {
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(255, 255, 255, 0.4); }
+
+/****************
+ * Print dialog *
+*****************/
+printdialog paper {
+ padding: 0;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ background: #404040;
+ color: #FFFFFF; }
+printdialog .dialog-action-box {
+ margin: 12px; }
+
+/**********
+ * Frames *
+ **********/
+frame > border,
+.frame {
+ margin: 0;
+ padding: 0;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0;
+ box-shadow: none; }
+ frame > border.flat,
+ .frame.flat {
+ border-style: none; }
+
+actionbar > revealer > box {
+ padding: 6px;
+ border-top: 1px solid rgba(0, 0, 0, 0.2); }
+
+scrolledwindow viewport.frame {
+ border-style: none; }
+overshoot.top {
+ background-image: -gtk-gradient(radial, center top, 0, center top, 0.75, to(rgba(136, 136, 136, 0.3)), to(transparent));
+ background-repeat: no-repeat;
+ background-position: center top;
+ background-color: transparent;
+ border: none;
+ box-shadow: none; }
+overshoot.bottom {
+ background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.75, to(rgba(136, 136, 136, 0.3)), to(transparent));
+ background-repeat: no-repeat;
+ background-position: center bottom;
+ background-color: transparent;
+ border: none;
+ box-shadow: none; }
+overshoot.left {
+ background-image: -gtk-gradient(radial, left center, 0, left center, 0.75, to(rgba(136, 136, 136, 0.3)), to(transparent));
+ background-repeat: no-repeat;
+ background-position: left center;
+ background-color: transparent;
+ border: none;
+ box-shadow: none; }
+overshoot.right {
+ background-image: -gtk-gradient(radial, right center, 0, right center, 0.75, to(rgba(136, 136, 136, 0.3)), to(transparent));
+ background-repeat: no-repeat;
+ background-position: right center;
+ background-color: transparent;
+ border: none;
+ box-shadow: none; }
+undershoot.top {
+ background-color: transparent;
+ background-image: linear-gradient(to left, rgba(64, 64, 64, 0.3) 50%, rgba(255, 255, 255, 0.3) 50%);
+ padding-top: 1px;
+ background-size: 12px 1px;
+ background-repeat: repeat-x;
+ background-origin: content-box;
+ background-position: left top; }
+undershoot.bottom {
+ background-color: transparent;
+ background-image: linear-gradient(to left, rgba(64, 64, 64, 0.3) 50%, rgba(255, 255, 255, 0.3) 50%);
+ padding-bottom: 1px;
+ background-size: 12px 1px;
+ background-repeat: repeat-x;
+ background-origin: content-box;
+ background-position: left bottom; }
+undershoot.left {
+ background-color: transparent;
+ background-image: linear-gradient(to top, rgba(64, 64, 64, 0.3) 50%, rgba(255, 255, 255, 0.3) 50%);
+ padding-left: 1px;
+ background-size: 1px 12px;
+ background-repeat: repeat-y;
+ background-origin: content-box;
+ background-position: left top; }
+undershoot.right {
+ background-color: transparent;
+ background-image: linear-gradient(to top, rgba(64, 64, 64, 0.3) 50%, rgba(255, 255, 255, 0.3) 50%);
+ padding-right: 1px;
+ background-size: 1px 12px;
+ background-repeat: repeat-y;
+ background-origin: content-box;
+ background-position: right top; }
+junction {
+ border-style: solid none none solid;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.2);
+ background-color: #404040; }
+ junction:dir(rtl) {
+ border-style: solid solid none none; }
+
+separator {
+ min-width: 1px;
+ min-height: 1px;
+ background: rgba(0, 0, 0, 0.2); }
+
+/*********
+ * Lists *
+ *********/
+list {
+ border-color: rgba(0, 0, 0, 0.2);
+ background-color: #404040; }
+ list row {
+ padding: 2px; }
+
+row.activatable, .view, iconview, treeview.view header button, .budgie-menu button {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), background-color 0, color 0;
+ box-shadow: inset 0 0 0 9999px alpha(currentColor, 0);
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0)); }
+ row.activatable:hover, .view:hover, iconview:hover, treeview.view header button:hover, .budgie-menu button:hover {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), background-color 0, color 0, box-shadow 0;
+ box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.05);
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0)); }
+ row.activatable.has-open-popup, .has-open-popup.view, iconview.has-open-popup, treeview.view header button.has-open-popup, .budgie-menu button.has-open-popup, row.activatable:active, .view:active, iconview:active, treeview.view header button:active, .budgie-menu button:active {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), background-color 0, color 0, background-image 0;
+ animation: row_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
+ box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.15); }
+
+/*********************
+ * App Notifications *
+ *********************/
+.app-notification {
+ margin: 8px; }
+ .app-notification.frame,
+ .app-notification border {
+ border-style: none; }
+
+/*************
+ * Expanders *
+ *************/
+expander arrow {
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
+ min-width: 16px;
+ min-height: 16px;
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+ -gtk-icon-transform: rotate(-90deg);
+ color: rgba(255, 255, 255, 0.75); }
+ expander arrow:dir(rtl) {
+ -gtk-icon-transform: rotate(90deg); }
+ expander arrow:checked {
+ -gtk-icon-transform: unset; }
+ expander arrow:hover, expander arrow:active {
+ color: #FFFFFF; }
+ expander arrow:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+ expander arrow:selected {
+ color: rgba(255, 255, 255, 0.75); }
+ expander arrow:selected:hover, expander arrow:selected:active {
+ color: #FFFFFF; }
+ expander arrow:selected:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+
+/************
+ * Calendar *
+ ***********/
+calendar {
+ padding: 1px;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ color: #FFFFFF; }
+ calendar:disabled {
+ color: rgba(255, 255, 255, 0.4); }
+ calendar:selected {
+ border-radius: 3px; }
+ calendar.header {
+ border-style: none none solid;
+ border-radius: 0; }
+ calendar.highlight {
+ color: alpha(currentColor, 0.6);
+ font-weight: 500; }
+ calendar:indeterminate {
+ color: alpha(currentColor, 0.4); }
+
+/***********
+ * Dialogs *
+ ***********/
+messagedialog.background {
+ background-color: #505050; }
+messagedialog .titlebar {
+ min-height: 24px;
+ border-style: none;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: #505050;
+ color: #FFFFFF; }
+ messagedialog .titlebar:backdrop {
+ color: rgba(255, 255, 255, 0.75); }
+messagedialog.csd.background {
+ border-bottom-left-radius: 2px;
+ border-bottom-right-radius: 2px; }
+messagedialog.csd .dialog-action-area button {
+ padding: 8px 16px;
+ border-top: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0; }
+ messagedialog.csd .dialog-action-area button:first-child {
+ border-bottom-left-radius: 2px; }
+ messagedialog.csd .dialog-action-area button:last-child {
+ border-bottom-right-radius: 2px; }
+
+filechooser .dialog-action-box {
+ border-top: 1px solid rgba(0, 0, 0, 0.2); }
+filechooser #pathbarbox {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+ background-color: #484848; }
+
+filechooserbutton:drop(active) {
+ box-shadow: none; }
+
+/***********
+ * Sidebar *
+ ***********/
+.sidebar {
+ border-style: none;
+ background-color: #505050; }
+ stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:dir(ltr), .sidebar.left, .sidebar.left:dir(rtl) {
+ border-right: 1px solid rgba(0, 0, 0, 0.2);
+ border-left-style: none; }
+ stacksidebar.sidebar:dir(rtl) list
+ .sidebar:dir(rtl), stacksidebar.sidebar.right list
+ .sidebar:dir(rtl), .sidebar.right {
+ border-left: 1px solid rgba(0, 0, 0, 0.2);
+ border-right-style: none; }
+ .sidebar list {
+ background-color: transparent; }
+ .sidebar row {
+ padding: 0 2px;
+ transition: none; }
+ .sidebar row:hover {
+ color: #DDDDDD;
+ background-color: transparent;
+ box-shadow: inset 3px 0 #EEEEEE; }
+ .sidebar row:active {
+ box-shadow: inset 3px 0 #EEEEEE; }
+ .sidebar row:backdrop:hover {
+ background-color: transparent; }
+ .sidebar row:selected:active {
+ box-shadow: none; }
+ .sidebar row:selected:hover {
+ color: #fff;
+ background-color: rgba(102, 102, 102, 0.8);
+ box-shadow: inset 3px 0 rgba(238, 238, 238, 0.5); }
+ .sidebar row:selected:backdrop {
+ background-color: rgba(102, 102, 102, 0.8); }
+ paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar {
+ border-style: none; }
+
+stacksidebar row {
+ padding: 10px 4px; }
+ stacksidebar row > label {
+ padding-left: 6px;
+ padding-right: 6px; }
+
+/****************
+ * File chooser *
+ ****************/
+placessidebar > viewport.frame {
+ border-style: none; }
+placessidebar list {
+ padding: 1px 0 4px; }
+placessidebar row {
+ min-height: 32px;
+ margin: -1px 0;
+ padding: 0; }
+ placessidebar row > revealer {
+ padding: 0 12px; }
+ placessidebar row:selected {
+ color: #FFFFFF; }
+ placessidebar row:disabled {
+ color: rgba(255, 255, 255, 0.4); }
+ placessidebar row image.sidebar-icon {
+ opacity: 0.6; }
+ placessidebar row image.sidebar-icon:dir(ltr) {
+ padding-right: 8px; }
+ placessidebar row image.sidebar-icon:dir(rtl) {
+ padding-left: 8px; }
+ placessidebar row label.sidebar-label:dir(ltr) {
+ padding-right: 2px; }
+ placessidebar row label.sidebar-label:dir(rtl) {
+ padding-left: 2px; }
+ placessidebar row.sidebar-placeholder-row {
+ min-height: 2px;
+ padding: 0 8px;
+ background-image: image(#FAFAFA);
+ background-clip: content-box; }
+ placessidebar row.sidebar-new-bookmark-row {
+ color: #FAFAFA; }
+ placessidebar row:drop(active):not(:disabled) {
+ box-shadow: inset 0 0 0 2px #FAFAFA; }
+
+placesview .server-list-button > image {
+ -gtk-icon-transform: rotate(0turn); }
+placesview .server-list-button:checked > image {
+ -gtk-icon-transform: rotate(-0.5turn); }
+placesview > actionbar > revealer > box > label {
+ padding-left: 8px;
+ padding-right: 8px; }
+
+/*********
+ * Paned *
+ *********/
+paned > separator {
+ min-width: 1px;
+ min-height: 1px;
+ -gtk-icon-source: none;
+ border-style: none;
+ background-color: transparent;
+ background-image: image(rgba(0, 0, 0, 0.2));
+ background-size: 1px 1px; }
+ paned > separator.wide {
+ min-width: 6px;
+ min-height: 6px;
+ background-color: #484848;
+ background-image: image(rgba(0, 0, 0, 0.2)), image(rgba(0, 0, 0, 0.2));
+ background-size: 1px 1px, 1px 1px; }
+paned.horizontal > separator {
+ background-repeat: repeat-y; }
+ paned.horizontal > separator:dir(ltr) {
+ margin: 0 -8px 0 0;
+ padding: 0 8px 0 0;
+ background-position: left; }
+ paned.horizontal > separator:dir(rtl) {
+ margin: 0 0 0 -8px;
+ padding: 0 0 0 8px;
+ background-position: right; }
+ paned.horizontal > separator.wide {
+ margin: 0;
+ padding: 0;
+ background-repeat: repeat-y, repeat-y;
+ background-position: left, right; }
+paned.vertical > separator {
+ margin: 0 0 -8px 0;
+ padding: 0 0 8px 0;
+ background-repeat: repeat-x;
+ background-position: top; }
+ paned.vertical > separator.wide {
+ margin: 0;
+ padding: 0;
+ background-repeat: repeat-x, repeat-x;
+ background-position: bottom, top; }
+
+/**************
+ * GtkInfoBar *
+ **************/
+infobar {
+ border-style: none; }
+ infobar.info {
+ background-color: #66BB6A; }
+ infobar.question {
+ background-color: #42A5F5; }
+ infobar.warning {
+ background-color: #FFA726; }
+ infobar.error {
+ background-color: #EF5350; }
+ infobar.info > label, infobar.info, infobar.question > label, infobar.question, infobar.warning > label, infobar.warning, infobar.error > label, infobar.error {
+ color: #FFFFFF; }
+
+/************
+ * Tooltips *
+ ************/
+tooltip {
+ border-radius: 2px;
+ box-shadow: none; }
+ tooltip.background {
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: rgba(64, 64, 64, 0.9); }
+ tooltip:not(.csd) {
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 3px;
+ background-clip: border-box; }
+ tooltip decoration {
+ background-color: transparent; }
+ tooltip label {
+ min-height: 20px;
+ padding: 0 2px; }
+
+/*****************
+ * Color Chooser *
+ *****************/
+colorswatch.top {
+ border-top-left-radius: 2.5px;
+ border-top-right-radius: 2.5px; }
+ colorswatch.top overlay {
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px; }
+colorswatch.bottom {
+ border-bottom-left-radius: 2.5px;
+ border-bottom-right-radius: 2.5px; }
+ colorswatch.bottom overlay {
+ border-bottom-left-radius: 2px;
+ border-bottom-right-radius: 2px; }
+colorswatch.left, colorswatch:first-child:not(.top) {
+ border-top-left-radius: 2.5px;
+ border-bottom-left-radius: 2.5px; }
+ colorswatch.left overlay, colorswatch:first-child:not(.top) overlay {
+ border-top-left-radius: 2px;
+ border-bottom-left-radius: 2px; }
+colorswatch.right, colorswatch:last-child:not(.bottom) {
+ border-top-right-radius: 2.5px;
+ border-bottom-right-radius: 2.5px; }
+ colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay {
+ border-top-right-radius: 2px;
+ border-bottom-right-radius: 2px; }
+colorswatch.dark overlay {
+ color: #FFFFFF; }
+colorswatch.light overlay {
+ color: rgba(0, 0, 0, 0.8); }
+colorswatch.dark {
+ color: #FFFFFF; }
+colorswatch.light {
+ color: rgba(0, 0, 0, 0.8); }
+colorswatch:drop(active) {
+ box-shadow: none; }
+ colorswatch:drop(active).light overlay {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), 0 0 0 2px #FAFAFA; }
+ colorswatch:drop(active).dark overlay {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), 0 0 0 2px #FAFAFA; }
+colorswatch overlay {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); }
+ colorswatch overlay:hover {
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+colorswatch#add-color-button {
+ border-radius: 2px 2px 0 0;
+ color: #FFFFFF; }
+ colorswatch#add-color-button:only-child {
+ border-radius: 2px; }
+ colorswatch#add-color-button overlay {
+ background-image: linear-gradient(to right, #EF5350 25%, #FFA726 25%, #FFA726 50%, #66BB6A 50%, #66BB6A 75%, #42A5F5 75%);
+ color: #FFFFFF; }
+colorswatch:disabled {
+ opacity: 0.4; }
+ colorswatch:disabled overlay {
+ box-shadow: none; }
+colorswatch#editor-color-sample {
+ border-radius: 2.5px; }
+ colorswatch#editor-color-sample overlay {
+ border-radius: 2px; }
+
+colorchooser .popover.osd {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23), inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: #404040; }
+ colorchooser .popover.osd:backdrop {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.1); }
+
+/********
+ * Misc *
+ ********/
+.content-view {
+ background-color: #484848; }
+
+/**********************
+ * Window Decorations *
+ *********************/
+decoration {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-radius: 2px 2px 0 0;
+ box-shadow: 0 14px 14px rgba(0, 0, 0, 0.25), 0 10px 5px rgba(0, 0, 0, 0.22), 0 16px 16px transparent;
+ margin: 8px; }
+ decoration:backdrop {
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23), 0 16px 16px transparent; }
+ .maximized decoration, .fullscreen decoration, .tiled decoration {
+ border-radius: 0; }
+ .popup decoration {
+ box-shadow: none; }
+ .ssd decoration {
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16); }
+ .csd.popup decoration {
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ tooltip.csd decoration {
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ messagedialog.csd decoration {
+ border-radius: 2px; }
+ .solid-csd decoration {
+ margin: 0;
+ padding: 4px;
+ box-shadow: inset 0 0 0 4px #444444; }
+
+.view:selected, iconview:selected, .view text selection, iconview text selection,
+textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection, notebook > stack:not(:only-child) revealer entry selection,
+notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) selection,
+entry selection, modelbutton.flat:selected,
+.menuitem.button.flat:selected, row:selected, calendar:selected, .budgie-menu button:checked {
+ background-color: #666666; }
+ row:selected label, label:selected, .view:selected, iconview:selected, .view text selection, iconview text selection,
+ textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection, notebook > stack:not(:only-child) revealer entry selection,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) selection,
+ entry selection, modelbutton.flat:selected,
+ .menuitem.button.flat:selected, row:selected, calendar:selected, .budgie-menu button:checked {
+ color: #FFFFFF; }
+ row:selected label:disabled, label:disabled:selected, .view:disabled:selected, iconview:disabled:selected, .view text selection:disabled, iconview text selection:disabled,
+ textview text selection:disabled, flowbox flowboxchild:disabled:selected, label:disabled selection, spinbutton:not(.vertical) selection:disabled, notebook > stack:not(:only-child) revealer entry selection:disabled,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) selection:disabled,
+ entry selection:disabled, modelbutton.flat:disabled:selected,
+ .menuitem.button.flat:disabled:selected, row:disabled:selected, calendar:disabled:selected, .budgie-menu button:disabled:checked {
+ color: rgba(255, 255, 255, 0.4); }
+
+.monospace {
+ font-family: monospace; }
+
+/**********************
+ * Touch Copy & Paste *
+ *********************/
+cursor-handle {
+ border-radius: 2px;
+ background-color: #FAFAFA;
+ background-image: none; }
+ cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) {
+ padding-left: 6px;
+ border-top-right-radius: 0; }
+ cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) {
+ padding-right: 6px;
+ border-top-left-radius: 0; }
+ cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) {
+ -GtkWidget-text-handle-width: 24;
+ -GtkWidget-text-handle-height: 30;
+ -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); }
+
+.context-menu {
+ font: initial; }
+
+check,
+radio, .nautilus-window headerbar > revealer > button, .raven .expander-button,
+button.circular {
+ border-radius: 100px;
+ -gtk-outline-radius: 100px; }
+
+spinbutton:not(.vertical) button, notebook > header tab button.flat, button.sidebar-button, .nautilus-window .floating-bar button, .gedit-document-panel row button.flat, .pluma-window paned.horizontal box.vertical box.horizontal button.flat {
+ min-height: 24px;
+ min-width: 24px;
+ padding: 0;
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+
+.keycap {
+ min-width: 12px;
+ min-height: 26px;
+ margin-top: 2px;
+ padding-bottom: 2px;
+ padding-left: 8px;
+ padding-right: 8px;
+ border: solid 1px rgba(0, 0, 0, 0.2);
+ border-radius: 3px;
+ box-shadow: inset 0 -2px rgba(0, 0, 0, 0.2);
+ background-color: #404040;
+ color: #FFFFFF;
+ font-size: smaller; }
+
+*:drop(active) {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), inset 0 0 0 2px #FAFAFA;
+ caret-color: #FAFAFA; }
+
+stackswitcher button.text-button {
+ min-width: 100px; }
+
+stackswitcher button.circular,
+stackswitcher button.text-button.circular {
+ min-width: 36px;
+ min-height: 36px;
+ padding: 0; }
+
+/************
+ * Nautilus *
+ ************/
+.nautilus-window,
+.nautilus-window notebook,
+.nautilus-window notebook > stack {
+ background: #404040; }
+
+.nautilus-window notebook > header.top tabs,
+.nautilus-window notebook > header.bottom tabs {
+ padding-left: 0;
+ padding-right: 0; }
+
+.nautilus-window notebook > header.left tabs,
+.nautilus-window notebook > header.right tabs {
+ padding-top: 0;
+ padding-bottom: 0; }
+
+.nautilus-desktop.nautilus-canvas-item, .caja-desktop.caja-canvas-item {
+ color: #FFFFFF;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); }
+
+.nautilus-desktop.nautilus-canvas-item:selected, .caja-desktop.caja-canvas-item:selected {
+ text-shadow: none; }
+
+@keyframes needs_attention_keyframes {
+ from {
+ background-color: transparent; }
+ to {
+ background-color: alpha(currentColor, 0.3); } }
+.nautilus-operations-button-needs-attention {
+ color: #FAFAFA;
+ animation: needs_attention_keyframes 0.3s cubic-bezier(0.4, 0, 0.2, 1) 2 alternate; }
+
+.nautilus-operations-button-needs-attention-multiple {
+ color: #FAFAFA;
+ animation: needs_attention_keyframes 0.3s cubic-bezier(0.4, 0, 0.2, 1) 4 alternate; }
+
+.nautilus-window .floating-bar {
+ min-height: 32px;
+ padding: 0;
+ border-style: solid solid none;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-radius: 3px 3px 0 0;
+ background-color: #404040;
+ background-clip: border-box;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), border-width 0; }
+ .nautilus-window .floating-bar.bottom.left {
+ margin-right: 7px;
+ border-left-style: none;
+ border-top-left-radius: 0; }
+ .nautilus-window .floating-bar.bottom.right {
+ margin-left: 7px;
+ border-right-style: none;
+ border-top-right-radius: 0; }
+ .nautilus-window .floating-bar button {
+ margin: 4px; }
+
+.disk-space-display.unknown {
+ background-color: #FF6D00; }
+
+.disk-space-display.used {
+ background-color: #666666; }
+
+.disk-space-display.free {
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(255, 255, 255, 0.4); }
+
+.documents-entry-tag, .photos-entry-tag {
+ margin: 3px -2px 3px 8px;
+ padding: 0 8px;
+ border-radius: 2px;
+ box-shadow: none;
+ background-color: #666666;
+ color: #FFFFFF; }
+ .documents-entry-tag:hover, .photos-entry-tag:hover {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); }
+
+.documents-entry-tag.button, .button.photos-entry-tag {
+ margin: 0 -2px;
+ padding: 4px;
+ border-radius: 2px;
+ box-shadow: none;
+ color: rgba(255, 255, 255, 0.75); }
+ .documents-entry-tag.button:hover, .button.photos-entry-tag:hover, .documents-entry-tag.button:active, .button.photos-entry-tag:active {
+ color: #FFFFFF; }
+
+.nautilus-window searchbar {
+ border-top: 1px solid rgba(0, 0, 0, 0.2); }
+
+.nautilus-window .searchbar-container {
+ margin-top: -1px; }
+
+/*********
+ * gedit *
+ *********/
+/* Only normal state is handle */
+.open-document-selector-name-label {
+ font-weight: bold; }
+
+/* Only normal state is handle */
+.open-document-selector-path-label {
+ color: alpha(currentColor, 0.6);
+ font-size: smaller; }
+
+.gedit-document-panel {
+ background-color: #505050; }
+
+.gedit-document-panel-group-row,
+.gedit-document-panel-group-row:hover {
+ border-top: 1px solid alpha(currentColor, 0.3); }
+
+.gedit-document-panel-group-row:first-child,
+.gedit-document-panel-group-row:first-child:hover {
+ border-top: 0px; }
+
+/* Try to look as the notebook tab close button */
+.gedit-document-panel row button.flat {
+ margin-top: 8px;
+ margin-bottom: 8px; }
+
+.gedit-side-panel-paned statusbar {
+ border-top: 1px solid rgba(0, 0, 0, 0.2); }
+
+.gedit-search-slider {
+ margin: 4px 4px 8px; }
+ .gedit-search-slider .gedit-search-entry-occurrences-tag {
+ all: unset;
+ padding: 0 4px;
+ color: alpha(currentColor, 0.6); }
+ .gedit-search-slider popover.background {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ padding: 0;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23);
+ background-color: #FFFFFF; }
+ .gedit-search-slider entry:dir(ltr) {
+ margin-right: -72px;
+ padding-right: 80px; }
+ .gedit-search-slider entry:dir(ltr) .gedit-search-entry-occurrences-tag {
+ margin-right: -8px; }
+ .gedit-search-slider entry:dir(rtl) {
+ margin-left: -72px;
+ padding-left: 80px; }
+ .gedit-search-slider entry:dir(rtl) .gedit-search-entry-occurrences-tag {
+ margin-left: -8px; }
+ .gedit-search-slider entry.error ~ button {
+ color: rgba(255, 255, 255, 0.75); }
+ .gedit-search-slider entry.error ~ button:hover, .gedit-search-slider entry.error ~ button:active {
+ color: #FFFFFF; }
+ .gedit-search-slider entry.error ~ button:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+
+.gedit-search-slider .linked:not(.vertical) > entry,
+notebook > stack:not(:only-child) revealer .gedit-search-slider .linked:not(.vertical) > entry {
+ border-radius: 2px; }
+
+/**************
+ * Tweak Tool *
+ **************/
+.tweak-categories {
+ background-image: image(#505050); }
+ .tweak-categories separator {
+ min-width: 0;
+ min-height: 0;
+ background: transparent; }
+
+.tweak {
+ padding: 3px; }
+ .tweak.title:hover {
+ box-shadow: none; }
+
+.tweak-group-white,
+.tweak-white,
+.tweak-white:hover {
+ background-image: image(#404040); }
+
+.tweak-startup,
+.tweak-startup:hover {
+ background-image: image(#404040); }
+
+.tweak-group-startup {
+ background-image: image(#404040);
+ border: 1px solid rgba(0, 0, 0, 0.2); }
+
+/***********
+ * Builder *
+ ***********/
+workbench stack.titlebar {
+ padding: 0; }
+
+workbench:not(.tiled):not(.maximized):not(.fullscreen) stack.titlebar headerbar {
+ border-radius: 2px 2px 0 0; }
+
+perspectiveswitcher {
+ background-color: #484848; }
+
+perspectiveswitcher button:checked {
+ color: #666666; }
+
+layouttabbar {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+ background-color: #484848; }
+
+layouttabbar > box > button {
+ margin: 2px 0; }
+
+layouttab {
+ margin: 0 8px;
+ border-style: none solid;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 -2px #666666;
+ background-color: #404040; }
+
+layouttab separator.vertical {
+ margin: 8px 4px; }
+
+layouttab button.text-button, layouttab button.image-button, layouttab button {
+ margin-top: 8px;
+ margin-bottom: 8px;
+ padding: 0 4px; }
+
+layouttab > box > button.close {
+ border-radius: 2px; }
+
+layout {
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ -PnlDockBin-handle-size: 1; }
+
+entry.search-missing {
+ background-color: #DD2C00;
+ color: #FFFFFF; }
+
+workbench treeview.image {
+ color: alpha(currentColor, 0.6); }
+
+workbench treeview.image:selected {
+ color: rgba(255, 255, 255, 0.6); }
+
+dockbin {
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ -PnlDockBin-handle-size: 1; }
+
+dockpaned {
+ border: 1px solid rgba(0, 0, 0, 0.2); }
+
+eggsearchbar box.search-bar {
+ padding: 0 8px;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+ background-color: #484848; }
+
+docktabstrip {
+ padding: 0 8px;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+ background-color: #484848; }
+
+docktab {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ min-height: 24px;
+ min-width: 24px;
+ margin-bottom: -1px;
+ padding: 6px 6px;
+ outline-offset: -6px;
+ border-width: 1px;
+ border-color: transparent;
+ color: rgba(255, 255, 255, 0.75);
+ font-weight: 500; }
+ docktab:hover {
+ box-shadow: inset 0 -2px alpha(currentColor, 0.3);
+ color: #FFFFFF; }
+ docktab:checked {
+ animation: tab_ripple_effect 0.9s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: inset 0 -2px #666666;
+ color: #FFFFFF; }
+
+dockoverlayedge {
+ background-color: #484848; }
+
+dockoverlayedge docktabstrip {
+ padding: 0;
+ border: none; }
+
+dockoverlayedge.left-edge docktab:hover {
+ box-shadow: inset -2px 0 alpha(currentColor, 0.3); }
+dockoverlayedge.left-edge docktab:checked {
+ box-shadow: inset -2px 0 #666666; }
+
+dockoverlayedge.right-edge docktab:hover {
+ box-shadow: inset 2px 0 alpha(currentColor, 0.3); }
+dockoverlayedge.right-edge docktab:checked {
+ box-shadow: inset 2px 0 #666666; }
+
+pillbox {
+ background-color: #484848;
+ border-radius: 2px; }
+
+buildperspective row {
+ padding: 10px; }
+
+layoutpane entry.search {
+ box-shadow: inset 0 -1px rgba(0, 0, 0, 0.2);
+ background-color: #404040; }
+
+editortweak entry.search {
+ margin-bottom: -1px;
+ box-shadow: none; }
+
+frame.gb-search-frame {
+ border-bottom-right-radius: 5px; }
+
+.gb-search-entry-occurrences-tag {
+ box-shadow: none;
+ background-color: transparent; }
+
+docktabstrip {
+ min-height: 39px; }
+
+workbench preferences preferencesgroup list entry {
+ padding-top: 8px;
+ padding-bottom: 8px; }
+
+/**********
+ * Photos *
+ **********/
+GdMainIconView.content-view {
+ -GdMainIconView-icon-size: 48; }
+
+.documents-counter {
+ margin: 8px;
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23);
+ background-color: #FAFAFA;
+ color: #FFFFFF;
+ font-weight: bold; }
+
+.documents-scrolledwin.frame {
+ border-style: none; }
+
+.photos-fade-in {
+ opacity: 1;
+ transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1); }
+
+.photos-fade-out {
+ opacity: 0;
+ transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1); }
+
+overlay grid.horizontal > revealer > scrolledwindow.frame:dir(ltr) {
+ border-style: none none none solid; }
+overlay grid.horizontal > revealer > scrolledwindow.frame:dir(rtl) {
+ border-style: none solid none none; }
+
+/*********
+ * Music *
+ *********/
+.side-panel:dir(ltr) {
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.2); }
+
+.side-panel:dir(rtl) {
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.2); }
+
+.side-panel .view, .side-panel iconview {
+ background-image: image(#505050); }
+ .side-panel .view:hover, .side-panel iconview:hover {
+ background-image: image(#595959); }
+
+.side-panel .view:selected, .side-panel iconview:selected {
+ background-image: image(#666666); }
+ .side-panel .view:selected:hover, .side-panel iconview:selected:hover {
+ background-image: image(#6e6e6e); }
+
+.songs-list:hover {
+ background-image: image(alpha(currentColor, 0.05)); }
+
+frame.documents-dropdown {
+ margin: 8px; }
+ frame.documents-dropdown > border {
+ border: none; }
+
+box.vertical:not(.titlebar) > revealer > toolbar.search-bar {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
+ box.vertical:not(.titlebar) > revealer > toolbar.search-bar button > widget {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+/*********
+ * To Do *
+ *********/
+task-row {
+ transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
+ margin: 0 -4px; }
+ task-row:hover {
+ transition: none; }
+ task-row label {
+ margin: 0 8px; }
+ task-row image {
+ margin: 0 4px; }
+
+task-list-view > box > revealer > box > button {
+ min-height: 36px;
+ margin: -4px;
+ padding: 0 12px; }
+ task-list-view > box > revealer > box > button label {
+ margin: 0 8px; }
+ task-list-view > box > revealer > box > button image {
+ margin: 0 4px; }
+
+/*******
+ * eog *
+ *******/
+#eog-thumb-nav scrolledwindow {
+ border-top: none; }
+#eog-thumb-nav button {
+ -gtk-outline-radius: 2px; }
+
+/*************
+ * Evolution *
+ *************/
+frame.taskbar > border {
+ border-style: solid none none; }
+
+box.vertical > paned.horizontal notebook widget .frame {
+ border-style: none; }
+
+/********
+ * gitg *
+ ********/
+frame.commit-frame > border {
+ border-style: solid none none; }
+
+/**************
+ * Characters *
+ **************/
+box.dialog-vbox scrolledwindow.related {
+ border: 1px solid rgba(0, 0, 0, 0.2); }
+
+list.categories {
+ background-image: image(#505050); }
+
+/**************
+ * Calculator *
+ **************/
+button.title label {
+ min-height: 36px; }
+
+/************
+ * Terminix *
+ ************/
+.terminix-background box.vertical > widget > box.horizontal {
+ padding: 3px 0 2px; }
+ .terminix-background box.vertical > widget > box.horizontal button {
+ padding: 4px 8px; }
+ .terminix-background box.vertical > widget > box.horizontal button.image-button {
+ padding: 4px; }
+
+.terminix-background revealer > frame > border {
+ border-style: none; }
+
+button.image-button.session-new-button {
+ min-width: 32px; }
+
+overlay > revealer.left > scrolledwindow.frame,
+overlay > revealer.right > scrolledwindow.frame {
+ border-style: none;
+ box-shadow: 0 14px 14px rgba(0, 0, 0, 0.25), 0 10px 5px rgba(0, 0, 0, 0.22); }
+
+overlay > revealer.left > scrolledwindow.frame {
+ margin-right: 32px; }
+
+overlay > revealer.right > scrolledwindow.frame {
+ margin-left: 32px; }
+
+.terminix-session-sidebar {
+ background-image: image(#505050); }
+
+/***********
+ * Eclipse *
+ ***********/
+window.background > box.vertical > scrolledwindow > widget toolbar {
+ padding: 2px; }
+ window.background > box.vertical > scrolledwindow > widget toolbar separator,
+ window.background > box.vertical > scrolledwindow > widget toolbar button {
+ margin: 2px; }
+ window.background > box.vertical > scrolledwindow > widget toolbar button {
+ border-radius: 2px; }
+
+/***********
+ * Firefox *
+ ***********/
+window.background > menu > menuitem > label:disabled {
+ color: #868686; }
+
+window.background > window.background > menu > separator {
+ color: alpha(rgba(0, 0, 0, 0.2), 0.5); }
+
+window.background > widget > frame {
+ color: rgba(0, 0, 0, 0.2); }
+
+window.background > widget > checkbutton > check,
+window.background > widget > radiobutton > radio {
+ margin: 0;
+ padding: 0; }
+
+window.background > widget > radiobutton > radio:checked {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/radio-checked-symbolic.svg")), -gtk-recolor(url("assets/radio-checked-symbolic.png")));
+ border-image: none; }
+
+/***********
+ * Synapse *
+ ***********/
+window.background > box.vertical > widget > widget:selected {
+ background-color: #666666; }
+
+/*********
+ * Unity *
+ *********/
+UnityDecoration {
+ -UnityDecoration-extents: 28px 0 0 0;
+ -UnityDecoration-input-extents: 10px;
+ -UnityDecoration-shadow-offset-x: 0;
+ -UnityDecoration-shadow-offset-y: 3px;
+ -UnityDecoration-active-shadow-color: rgba(0, 0, 0, 0.48);
+ -UnityDecoration-active-shadow-radius: 18px;
+ -UnityDecoration-inactive-shadow-color: rgba(0, 0, 0, 0.32);
+ -UnityDecoration-inactive-shadow-radius: 6px;
+ -UnityDecoration-glow-size: 8px;
+ -UnityDecoration-glow-color: #666666;
+ -UnityDecoration-title-indent: 10px;
+ -UnityDecoration-title-fade: 35px;
+ -UnityDecoration-title-alignment: 0.0; }
+
+UnityDecoration .top {
+ padding: 3px 8px 3px 8px;
+ border-radius: 2px 2px 0px 0px;
+ background-color: #444444;
+ color: #FFFFFF; }
+
+UnityDecoration .top:backdrop {
+ color: alpha(#FFFFFF, 0.9); }
+
+UnityDecoration.menuitem,
+UnityDecoration .menuitem {
+ color: alpha(currentColor, 0.75); }
+
+UnityDecoration.menubar.menuitem:hover,
+UnityDecoration.menubar .menuitem *:hover {
+ box-shadow: inset 0 -2px currentColor;
+ background-color: transparent;
+ color: currentColor; }
+
+.background:not(.csd) headerbar:not(.titlebar) {
+ border-radius: 0;
+ box-shadow: none; }
+ .background:not(.csd) headerbar:not(.titlebar).inline-toolbar {
+ border-style: none; }
+
+UnityPanelWidget,
+.unity-panel {
+ background-color: #444444;
+ background-image: image(#444444);
+ color: #FFFFFF; }
+
+UnityPanelWidget:backdrop,
+.unity-panel:backdrop {
+ color: rgba(255, 255, 255, 0.75); }
+
+.unity-panel.menuitem,
+.unity-panel .menuitem {
+ color: alpha(currentColor, 0.75); }
+
+.unity-panel.menubar.menuitem:hover,
+.unity-panel.menubar .menuitem *:hover {
+ box-shadow: inset 0 -2px #FFFFFF;
+ background-color: transparent;
+ color: currentColor; }
+
+@keyframes playbackmenuitem_spinner {
+ to {
+ -gtk-icon-transform: rotate(1turn); } }
+.menu IdoPlaybackMenuItem.menuitem:active {
+ -gtk-icon-source: -gtk-icontheme("process-working-symbolic");
+ animation: playbackmenuitem_spinner 1s infinite linear;
+ color: #666666; }
+
+menuitem calendar,
+menuitem calendar .button,
+menuitem calendar .header,
+menuitem calendar .view,
+menuitem calendar iconview {
+ background-color: #444444;
+ padding: 5px;
+ color: #FFFFFF; }
+
+/**************
+ * Mate-Panel *
+ **************/
+.mate-panel-menu-bar menubar,
+#PanelApplet-window-menu-applet-button {
+ background-color: transparent; }
+
+#PanelPlug,
+PanelToplevel.background {
+ background-color: #444444;
+ color: #FFFFFF;
+ font-weight: 500; }
+
+PanelToplevel > widget > button {
+ padding: 0 4px;
+ border-radius: 0; }
+
+PanelSeparator {
+ color: rgba(0, 0, 0, 0.2); }
+
+MatePanelAppletFrameDBus {
+ border-style: solid;
+ border-width: 0 1px;
+ border-color: rgba(0, 0, 0, 0.2); }
+
+.mate-panel-menu-bar menubar menuitem {
+ padding: 4px; }
+
+.mate-panel-menu-bar menubar menu menuitem {
+ padding: 6px; }
+
+.mate-panel-menu-bar #PanelApplet button {
+ -GtkWidget-window-dragging: true;
+ padding: 4px;
+ border-radius: 0; }
+
+PanelApplet.wnck-applet .wnck-pager {
+ background-color: transparent;
+ color: #888888; }
+ PanelApplet.wnck-applet .wnck-pager:hover {
+ background-color: alpha(currentColor, 0.15); }
+ PanelApplet.wnck-applet .wnck-pager:active {
+ background-color: alpha(currentColor, 0.3); }
+ PanelApplet.wnck-applet .wnck-pager:selected {
+ background-color: #666666; }
+
+#MatePanelPopupWindow {
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 3px;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); }
+ #MatePanelPopupWindow frame > border {
+ border-style: none; }
+ #MatePanelPopupWindow ClockMap {
+ border: 1px solid rgba(0, 0, 0, 0.2); }
+
+na-tray-applet {
+ -NaTrayApplet-icon-padding: 3px;
+ -NaTrayApplet-icon-size: 16; }
+
+.mate-panel-menu-bar {
+ -PanelMenuBar-icon-visible: true; }
+
+.mate-panel-applet-slider {
+ background: transparent; }
+ .mate-panel-applet-slider frame {
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 3px;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: #484848; }
+ .mate-panel-applet-slider frame frame {
+ all: unset; }
+ .mate-panel-applet-slider frame > border {
+ border-style: none; }
+
+/*********************
+ * CAJA File manager *
+ *********************/
+.caja-navigation-window button.toggle.image-button {
+ border-radius: 2px; }
+
+.caja-pathbar button {
+ margin: 0 -1px 0 -2px; }
+
+.caja-pathbar button > widget {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+ -GtkArrow-arrow-scaling: 1; }
+
+.caja-side-pane notebook viewport.frame,
+.caja-side-pane notebook widget .vertical {
+ background-color: #404040; }
+
+.caja-side-pane notebook .frame,
+.caja-notebook .frame {
+ border-style: none; }
+
+.caja-side-pane notebook,
+.caja-notebook {
+ border-top: 1px solid rgba(0, 0, 0, 0.2); }
+
+.caja-navigation-window statusbar {
+ margin: 0 -10px;
+ padding: 0 4px;
+ border-top: 1px solid rgba(0, 0, 0, 0.2); }
+
+.caja-notebook frame > border {
+ border-style: none; }
+
+#caja-extra-view-widget {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+ background-color: #484848; }
+ #caja-extra-view-widget > box > box > label {
+ font-weight: bold; }
+
+/*********
+ * Pluma *
+ *********/
+.pluma-window statusbar {
+ margin: 0 -10px;
+ padding: 0 4px;
+ border-top: 1px solid rgba(0, 0, 0, 0.2); }
+
+.pluma-window statusbar frame > border {
+ border-style: none; }
+
+.pluma-window statusbar frame button.flat {
+ padding: 0 4px;
+ border-radius: 0; }
+
+.pluma-window statusbar frame button.flat widget {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+ -GtkArrow-arrow-scaling: 1; }
+
+.pluma-print-preview toolbar {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
+
+.pluma-window paned.horizontal box.vertical box.horizontal button.flat {
+ margin: 1px; }
+
+.pluma-window paned.horizontal box.vertical .frame {
+ border-style: none; }
+
+.pluma-window paned.horizontal box.vertical notebook.frame {
+ margin-top: -1px;
+ border-top: 1px solid rgba(0, 0, 0, 0.2); }
+
+.pluma-window paned.horizontal box.vertical notebook.frame box.vertical toolbar.horizontal {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
+
+/*********
+ * Atril *
+ *********/
+.atril-window paned.horizontal box.vertical .frame {
+ border-style: none; }
+
+.atril-window paned.horizontal box.vertical notebook .frame {
+ border-top: 1px solid rgba(0, 0, 0, 0.2); }
+
+/* mate-screensaver lock dialog */
+.lock-dialog {
+ border-radius: 2px;
+ box-shadow: 0 14px 14px rgba(0, 0, 0, 0.25), 0 10px 5px rgba(0, 0, 0, 0.22), inset 0 1px rgba(255, 255, 255, 0.1); }
+ .lock-dialog frame > border {
+ border-style: none; }
+
+/******************
+ * Budgie Desktop *
+ ******************/
+.budgie-container {
+ background-color: transparent; }
+
+.budgie-menu.background {
+ padding: 0; }
+.budgie-menu scrolledwindow:not(.categories) {
+ background-color: #404040; }
+.budgie-menu entry.search {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 2px 2px 0 0;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
+ font-size: 120%; }
+.budgie-menu button {
+ min-height: 32px;
+ padding: 0 8px;
+ border-radius: 0;
+ color: #FFFFFF;
+ font-weight: normal; }
+ .budgie-menu button:disabled {
+ color: rgba(255, 255, 255, 0.4); }
+.budgie-menu row {
+ all: unset; }
+
+button.budgie-menu-launcher {
+ padding: 0 2px; }
+
+.user-menu {
+ padding: 10px; }
+
+button.raven-trigger {
+ padding-left: 2px;
+ padding-right: 2px; }
+
+.budgie-panel {
+ background-color: #444444;
+ color: #FFFFFF;
+ font-weight: 500; }
+ .budgie-panel button {
+ border-radius: 0; }
+ .budgie-panel separator {
+ background-color: alpha(currentColor, 0.3);
+ color: #FFFFFF; }
+ .budgie-panel .alert {
+ color: #FF5252; }
+ .budgie-panel .end-region {
+ border-radius: 2px;
+ background-color: rgba(0, 0, 0, 0.2); }
+
+.budgie-panel #tasklist-button {
+ padding: 0 4px; }
+
+.budgie-panel button.flat.launcher {
+ padding-top: 0;
+ padding-bottom: 0; }
+
+.top .budgie-panel #tasklist-button, .budgie-panel .top #tasklist-button, .top .budgie-panel button.flat.launcher, .budgie-panel .top button.flat.launcher {
+ border-image: radial-gradient(circle closest-corner at center calc(1px), currentColor 0%, transparent 0%) 0 0 0/0px 0 0; }
+ .top .budgie-panel #tasklist-button:checked, .budgie-panel .top #tasklist-button:checked, .top .budgie-panel button.flat.launcher:checked, .budgie-panel .top button.flat.launcher:checked, .top .budgie-panel .unpinned button.flat.launcher, .budgie-panel .unpinned .top button.flat.launcher,
+ .top .budgie-panel .pinned button.flat.launcher.running,
+ .budgie-panel .pinned .top button.flat.launcher.running {
+ border-image: radial-gradient(circle closest-corner at center calc(1px), currentColor 100%, transparent 0%) 2 0 0/2px 0 0; }
+.bottom .budgie-panel #tasklist-button, .budgie-panel .bottom #tasklist-button, .bottom .budgie-panel button.flat.launcher, .budgie-panel .bottom button.flat.launcher {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 0%, transparent 0%) 0 0 0/0 0 0px; }
+ .bottom .budgie-panel #tasklist-button:checked, .budgie-panel .bottom #tasklist-button:checked, .bottom .budgie-panel button.flat.launcher:checked, .budgie-panel .bottom button.flat.launcher:checked, .bottom .budgie-panel .unpinned button.flat.launcher, .budgie-panel .unpinned .bottom button.flat.launcher,
+ .bottom .budgie-panel .pinned button.flat.launcher.running,
+ .budgie-panel .pinned .bottom button.flat.launcher.running {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 100%, transparent 0%) 0 0 2/0 0 2px; }
+.left .budgie-panel #tasklist-button, .budgie-panel .left #tasklist-button, .left .budgie-panel button.flat.launcher, .budgie-panel .left button.flat.launcher {
+ border-image: radial-gradient(circle closest-corner at calc(1px) center, currentColor 0%, transparent 0%) 0 0 0 0/0 0px 0 0; }
+ .left .budgie-panel #tasklist-button:checked, .budgie-panel .left #tasklist-button:checked, .left .budgie-panel button.flat.launcher:checked, .budgie-panel .left button.flat.launcher:checked, .left .budgie-panel .unpinned button.flat.launcher, .budgie-panel .unpinned .left button.flat.launcher,
+ .left .budgie-panel .pinned button.flat.launcher.running,
+ .budgie-panel .pinned .left button.flat.launcher.running {
+ border-image: radial-gradient(circle closest-corner at calc(1px) center, currentColor 100%, transparent 0%) 0 2 0 0/0 2px 0 0; }
+.right .budgie-panel #tasklist-button, .budgie-panel .right #tasklist-button, .right .budgie-panel button.flat.launcher, .budgie-panel .right button.flat.launcher {
+ border-image: radial-gradient(circle closest-corner at calc(100% - 1px) center, currentColor 0%, transparent 0%) 0 0 0 0/0 0 0 0px; }
+ .right .budgie-panel #tasklist-button:checked, .budgie-panel .right #tasklist-button:checked, .right .budgie-panel button.flat.launcher:checked, .budgie-panel .right button.flat.launcher:checked, .right .budgie-panel .unpinned button.flat.launcher, .budgie-panel .unpinned .right button.flat.launcher,
+ .right .budgie-panel .pinned button.flat.launcher.running,
+ .budgie-panel .pinned .right button.flat.launcher.running {
+ border-image: radial-gradient(circle closest-corner at calc(100% - 1px) center, currentColor 100%, transparent 0%) 0 0 0 2/0 0 0 2px; }
+
+frame.raven-frame > border {
+ border-style: none;
+ box-shadow: 0 14px 14px rgba(0, 0, 0, 0.25), 0 10px 5px rgba(0, 0, 0, 0.22); }
+
+.top frame.raven-frame > border {
+ margin-bottom: 32px; }
+
+.bottom frame.raven-frame > border {
+ margin-top: 32px; }
+
+.left frame.raven-frame > border {
+ margin-right: 32px; }
+
+.right frame.raven-frame > border {
+ margin-left: 32px; }
+
+.raven {
+ background-color: #404040; }
+ .raven stackswitcher.linked > button {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #FFA726 0%, transparent 0%) 0 0 0/0 0 0px;
+ border-radius: 0; }
+ .raven stackswitcher.linked > button:checked {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #FFA726 100%, transparent 0%) 0 0 2/0 0 2px;
+ background-color: transparent; }
+ .raven .raven-header {
+ min-height: 36px;
+ padding: 3px;
+ border-style: none none solid;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.2); }
+ .raven .raven-header:not(.top) {
+ margin-top: -6px; }
+ .raven .raven-header:not(.top) button.image-button {
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+ .raven .raven-header.top {
+ padding: 2px 0;
+ border-style: none;
+ background-color: #666666;
+ color: #FFFFFF; }
+ .raven .raven-header.top stackswitcher button {
+ margin: -6px 0;
+ min-height: 36px; }
+ .raven .raven-header.top button.image-button:dir(ltr) {
+ margin-right: 2px; }
+ .raven .raven-header.top button.image-button:dir(rtl) {
+ margin-left: 2px; }
+ .raven .raven-header.top > image {
+ margin: 0 8px; }
+ .raven .raven-header.top > label {
+ margin: 0 -8px;
+ font-weight: bold; }
+ .raven .raven-header.bottom {
+ border-style: solid none none; }
+ .raven viewport.frame .raven-header {
+ margin-top: -8px; }
+ .raven .raven-background {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+ background-color: #505050; }
+ .raven .raven-background.frame {
+ border-style: none none solid; }
+ .raven .raven-background > overlay > image {
+ color: alpha(currentColor, 0.3); }
+ .raven scrolledwindow.raven-background {
+ border-bottom-style: none; }
+ .raven > stack > box > .raven-background {
+ border-bottom-style: none;
+ background-color: #666666;
+ color: #FFFFFF; }
+ .raven > stack > box > .raven-background stackswitcher button {
+ margin: -4px 0; }
+ .raven .powerstrip button {
+ margin: 2px 0 1px;
+ padding: 12px; }
+ .raven .option-subtitle {
+ font-size: smaller; }
+
+calendar.raven-calendar {
+ border-style: none;
+ background-color: transparent; }
+ calendar.raven-calendar:selected {
+ border-radius: 2px;
+ background-color: #666666; }
+
+.raven-mpris {
+ color: white;
+ background-color: rgba(0, 0, 0, 0.6); }
+ .raven-mpris label {
+ min-height: 24px; }
+ .raven-mpris button.image-button {
+ padding: 12px; }
+
+.budgie-notification-window, .budgie-osd-window {
+ background-color: transparent; }
+
+.budgie-notification .notification-title {
+ font-size: 120%; }
+
+.budgie-osd .budgie-osd-text {
+ font-size: 120%; }
+
+.drop-shadow {
+ margin: 5px 9px;
+ padding: 3px;
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23), inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: #505050; }
+ .drop-shadow .linked > button {
+ border-radius: 2px; }
+
+.budgie-session-dialog, .budgie-polkit-dialog, .budgie-run-dialog {
+ border-radius: 2px;
+ background-color: #505050; }
+ .budgie-session-dialog decoration, .budgie-polkit-dialog decoration, .budgie-run-dialog decoration {
+ border-radius: 2px; }
+
+.budgie-session-dialog label:not(:last-child),
+.budgie-session-dialog .dialog-title {
+ font-size: 120%; }
+.budgie-session-dialog .linked.horizontal > button {
+ padding: 8px 16px;
+ border-top: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0; }
+ .budgie-session-dialog .linked.horizontal > button:first-child {
+ border-bottom-left-radius: 2px; }
+ .budgie-session-dialog .linked.horizontal > button:last-child {
+ border-bottom-right-radius: 2px; }
+
+.budgie-polkit-dialog .message {
+ color: rgba(255, 255, 255, 0.6); }
+.budgie-polkit-dialog .failure {
+ color: #FF5252; }
+
+.budgie-run-dialog {
+ background-color: #404040; }
+ .budgie-run-dialog entry.search {
+ font-size: 120%;
+ padding: 6px 14px;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: transparent; }
+ .budgie-run-dialog list .dim-label, .budgie-run-dialog list label.separator, .budgie-run-dialog list .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .budgie-run-dialog list .subtitle,
+ .budgie-run-dialog list headerbar .subtitle,
+ headerbar .budgie-run-dialog list .subtitle, .budgie-run-dialog list .budgie-notification .notification-body, .budgie-notification .budgie-run-dialog list .notification-body {
+ opacity: 1; }
+ .budgie-run-dialog scrolledwindow {
+ border-top: 1px solid rgba(0, 0, 0, 0.2); }
+
+/************************
+ * LightDM GTK+ Greeter *
+ ************************/
+#panel_window {
+ background-color: rgba(0, 0, 0, 0.3); }
+
+#panel_window menubar,
+#panel_window separator {
+ background-color: transparent; }
+
+#login_window,
+#shutdown_dialog,
+#restart_dialog {
+ margin: 8px;
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23), inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: #505050; }
+
+#content_frame {
+ padding-bottom: 20px;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
+
+#buttonbox_frame {
+ padding-top: 24px; }
+ #buttonbox_frame button {
+ margin: -16px; }
+
+#greeter_infobar {
+ margin-top: -1px; }
+
+/* GTK NAMED COLORS
+ ----------------
+ use responsibly! */
+/*
+widget text/foreground color */
+@define-color theme_fg_color #FFFFFF;
+/*
+text color for entries, views and content in general */
+@define-color theme_text_color #FFFFFF;
+/*
+widget base background color */
+@define-color theme_bg_color #484848;
+/*
+text widgets and the like base background color */
+@define-color theme_base_color #404040;
+/*
+base background color of selections */
+@define-color theme_selected_bg_color #666666;
+/*
+text/foreground color of selections */
+@define-color theme_selected_fg_color #FFFFFF;
+/*
+base background color of insensitive widgets */
+@define-color insensitive_bg_color #484848;
+/*
+text foreground color of insensitive widgets */
+@define-color insensitive_fg_color rgba(255, 255, 255, 0.4);
+/*
+insensitive text widgets and the like base background color */
+@define-color insensitive_base_color #444444;
+/*
+widget text/foreground color on backdrop windows */
+@define-color theme_unfocused_fg_color #FFFFFF;
+/*
+text color for entries, views and content in general on backdrop windows */
+@define-color theme_unfocused_text_color #FFFFFF;
+/*
+widget base background color on backdrop windows */
+@define-color theme_unfocused_bg_color #484848;
+/*
+text widgets and the like base background color on backdrop windows */
+@define-color theme_unfocused_base_color #404040;
+/*
+base background color of selections on backdrop windows */
+@define-color theme_unfocused_selected_bg_color #666666;
+/*
+text/foreground color of selections on backdrop windows */
+@define-color theme_unfocused_selected_fg_color #FFFFFF;
+/*
+insensitive color on backdrop windows*/
+@define-color unfocused_insensitive_color rgba(255, 255, 255, 0.4);
+/*
+widgets main borders color */
+@define-color borders rgba(0, 0, 0, 0.2);
+/*
+widgets main borders color on backdrop windows */
+@define-color unfocused_borders rgba(0, 0, 0, 0.2);
+/*
+these are pretty self explicative */
+@define-color warning_color #FF6D00;
+@define-color error_color #DD2C00;
+@define-color success_color #00C853;
+@define-color content_view_bg #404040;
+@define-color placeholder_text_color #b3b3b3;
diff --git a/win/themes/VimixLight/gtk-3.0/gtk.css b/win/themes/VimixLight/gtk-3.0/gtk.css
new file mode 100644
index 000000000..aeaab666b
--- /dev/null
+++ b/win/themes/VimixLight/gtk-3.0/gtk.css
@@ -0,0 +1,3934 @@
+@keyframes ripple_effect {
+ from {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 0%, transparent 0%), image(alpha(currentColor, 0)); }
+ to {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 100%, transparent 0%), image(alpha(currentColor, 0.15)); } }
+@keyframes flat_ripple_effect {
+ from {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 0%, transparent 0%), image(alpha(currentColor, 0.15)); }
+ to {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 100%, transparent 0%), image(alpha(currentColor, 0.15)); } }
+@keyframes row_ripple_effect {
+ from {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 0%, transparent 0%), image(alpha(currentColor, 0)); }
+ to {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 100%, transparent 0%), image(alpha(currentColor, 0)); } }
+@keyframes tab_ripple_effect {
+ from {
+ background-image: radial-gradient(circle farthest-corner at center, rgba(102, 102, 102, 0.6) 0%, transparent 0%); }
+ 50% {
+ background-image: radial-gradient(circle farthest-corner at center, rgba(102, 102, 102, 0.6) 100%, transparent 0%); }
+ to {
+ background-image: radial-gradient(circle farthest-corner at center, transparent 100%, transparent 0%); } }
+@keyframes header_ripple_effect {
+ from {
+ background-image: radial-gradient(circle farthest-corner at center, #666666 0%, transparent 0%); }
+ to {
+ background-image: radial-gradient(circle farthest-corner at center, #666666 100%, transparent 0%); } }
+* {
+ padding: 0;
+ background-clip: padding-box;
+ -GtkToolButton-icon-spacing: 4;
+ -GtkTextView-error-underline-color: #DD2C00;
+ -GtkScrolledWindow-scrollbar-spacing: 0;
+ -GtkToolItemGroup-expander-size: 11;
+ -GtkWidget-text-handle-width: 24;
+ -GtkWidget-text-handle-height: 24;
+ -GtkDialog-button-spacing: 4;
+ -GtkDialog-action-area-border: 0;
+ outline-style: solid;
+ outline-width: 0;
+ outline-color: alpha(currentColor, 0.3);
+ outline-offset: -4px;
+ -gtk-outline-radius: 2px;
+ -gtk-secondary-caret-color: #666666; }
+
+/***************
+ * Base States *
+ ***************/
+.background {
+ background-color: #F5F5F5;
+ color: rgba(0, 0, 0, 0.8); }
+
+/*
+ These wildcard seems unavoidable, need to investigate.
+ Wildcards are bad and troublesome, use them with care,
+ or better, just don't.
+ Everytime a wildcard is used a kitten dies, painfully.
+*/
+*:disabled {
+ -gtk-icon-effect: dim; }
+
+.gtkstyle-fallback {
+ background-color: #F5F5F5;
+ color: rgba(0, 0, 0, 0.8); }
+ .gtkstyle-fallback:hover {
+ background-color: #e8e8e8;
+ color: rgba(0, 0, 0, 0.8); }
+ .gtkstyle-fallback:active {
+ background-color: gainsboro;
+ color: rgba(0, 0, 0, 0.8); }
+ .gtkstyle-fallback:disabled {
+ background-color: #F5F5F5;
+ color: rgba(0, 0, 0, 0.32); }
+ .gtkstyle-fallback:selected {
+ background-color: #666666;
+ color: #FFFFFF; }
+
+.view, iconview {
+ background-color: #FFFFFF;
+ color: rgba(0, 0, 0, 0.8); }
+ .view:hover, iconview:hover, .view:active, iconview:active, .view:selected, iconview:selected {
+ border-radius: 2px; }
+ .view:disabled, iconview:disabled {
+ color: rgba(0, 0, 0, 0.32); }
+
+.view text, iconview text,
+textview text {
+ background-color: #FFFFFF;
+ color: rgba(0, 0, 0, 0.8); }
+ .view text:disabled, iconview text:disabled,
+ textview text:disabled {
+ color: rgba(0, 0, 0, 0.32); }
+
+textview border {
+ background-color: #fafafa;
+ color: rgba(0, 0, 0, 0.48); }
+
+.rubberband,
+rubberband,
+flowbox rubberband,
+treeview.view rubberband,
+.content-view rubberband {
+ border: 1px solid #888888;
+ background-color: rgba(136, 136, 136, 0.3); }
+
+flowbox flowboxchild {
+ outline-offset: -2px;
+ padding: 4px;
+ border-radius: 2px; }
+
+label {
+ caret-color: currentColor; }
+ label.separator {
+ color: rgba(0, 0, 0, 0.8); }
+ label selection {
+ background-color: #666666;
+ color: #FFFFFF; }
+ label:disabled {
+ color: rgba(0, 0, 0, 0.32); }
+ tab label:disabled, button label:disabled, menuitem label:disabled {
+ color: inherit; }
+
+.dim-label, label.separator, .titlebar:not(headerbar) .subtitle,
+headerbar .subtitle, .budgie-notification .notification-body {
+ opacity: 0.6; }
+
+assistant .sidebar {
+ padding: 4px 0; }
+assistant .sidebar label {
+ min-height: 36px;
+ padding: 0 12px;
+ color: rgba(0, 0, 0, 0.48);
+ font-weight: 500; }
+ assistant .sidebar label.highlight {
+ color: rgba(0, 0, 0, 0.8); }
+
+popover.background.touch-selection, popover.background.magnifier, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, .csd popover.background.osd, .app-notification, .osd .scale-popup, .nautilus-window .floating-bar, .osd {
+ opacity: 0.9; }
+
+/*********************
+ * Spinner Animation *
+ *********************/
+@keyframes spin {
+ to {
+ -gtk-icon-transform: rotate(1turn); } }
+@keyframes spin_colors {
+ 1% {
+ color: #66BB6A; }
+ 25% {
+ color: #66BB6A; }
+ 26% {
+ color: #42A5F5; }
+ 50% {
+ color: #42A5F5; }
+ 51% {
+ color: #FFA726; }
+ 75% {
+ color: #FFA726; }
+ 76% {
+ color: #EF5350; }
+ 100% {
+ color: #EF5350; } }
+spinner {
+ background: none;
+ opacity: 0;
+ -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); }
+ spinner:checked {
+ opacity: 1;
+ animation: spin 1s linear infinite, spin_colors 4s linear infinite; }
+ spinner:checked:disabled {
+ opacity: 0.4; }
+
+/****************
+ * Text Entries *
+ ****************/
+spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer entry,
+notebook > stack:not(:only-child) revealer spinbutton:not(.vertical),
+entry {
+ min-height: 36px;
+ padding: 0 8px;
+ border-radius: 2px;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-image: none;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #FFFFFF;
+ color: rgba(0, 0, 0, 0.8); }
+ spinbutton:focus:not(.vertical), notebook > stack:not(:only-child) revealer entry:focus,
+ notebook > stack:not(:only-child) revealer spinbutton:focus:not(.vertical),
+ entry:focus {
+ border-image: none;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ spinbutton:disabled:not(.vertical), notebook > stack:not(:only-child) revealer entry:disabled,
+ notebook > stack:not(:only-child) revealer spinbutton:disabled:not(.vertical),
+ entry:disabled {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #fafafa;
+ color: rgba(0, 0, 0, 0.32); }
+ spinbutton.flat:not(.vertical), notebook > stack:not(:only-child) entry,
+ notebook > stack:not(:only-child) spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer entry.flat,
+ notebook > stack:not(:only-child) revealer spinbutton.flat:not(.vertical), colorchooser .popover.osd spinbutton:not(.vertical), layoutpane entry.search, editortweak entry.search, #login_window entry,
+ entry.flat {
+ border-radius: 0;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 0%, transparent 0%) 0 0 0/0 0 0px;
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3);
+ background-color: transparent;
+ color: rgba(0, 0, 0, 0.8); }
+ spinbutton.flat:focus:not(.vertical), notebook > stack:not(:only-child) entry:focus,
+ notebook > stack:not(:only-child) spinbutton:focus:not(.vertical), colorchooser .popover.osd spinbutton:focus:not(.vertical), layoutpane entry.search:focus, editortweak entry.search:focus, #login_window entry:focus,
+ entry.flat:focus {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 100%, transparent 0%) 0 0 2/0 0 2px;
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3); }
+ spinbutton.flat:disabled:not(.vertical), notebook > stack:not(:only-child) entry:disabled,
+ notebook > stack:not(:only-child) spinbutton:disabled:not(.vertical), colorchooser .popover.osd spinbutton:disabled:not(.vertical), layoutpane entry.search:disabled, editortweak entry.search:disabled, #login_window entry:disabled,
+ entry.flat:disabled {
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3);
+ background-color: transparent;
+ color: rgba(0, 0, 0, 0.32); }
+ spinbutton:not(.vertical) image, notebook > stack:not(:only-child) revealer entry image,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image,
+ entry image {
+ min-height: 24px;
+ min-width: 24px;
+ border-radius: 2px;
+ -gtk-outline-radius: 2px;
+ color: alpha(currentColor, 0.75); }
+ spinbutton:not(.vertical) image:hover, notebook > stack:not(:only-child) revealer entry image:hover,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image:hover, spinbutton:not(.vertical) image:active, notebook > stack:not(:only-child) revealer entry image:active,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image:active,
+ entry image:hover,
+ entry image:active {
+ color: currentColor; }
+ spinbutton:not(.vertical) image:disabled, notebook > stack:not(:only-child) revealer entry image:disabled,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image:disabled,
+ entry image:disabled {
+ color: alpha(currentColor, 0.6); }
+ spinbutton:not(.vertical) image.left, notebook > stack:not(:only-child) revealer entry image.left,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image.left,
+ entry image.left {
+ margin-left: -2px;
+ margin-right: 2px; }
+ spinbutton:not(.vertical) image.right, notebook > stack:not(:only-child) revealer entry image.right,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) image.right,
+ entry image.right {
+ margin-left: 2px;
+ margin-right: -2px; }
+ spinbutton:not(.vertical) undershoot.left, notebook > stack:not(:only-child) revealer entry undershoot.left,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) undershoot.left,
+ entry undershoot.left {
+ background-color: transparent;
+ background-image: linear-gradient(to top, rgba(255, 255, 255, 0.3) 50%, rgba(0, 0, 0, 0.24) 50%);
+ padding-left: 1px;
+ background-size: 1px 12px;
+ background-repeat: repeat-y;
+ background-origin: content-box;
+ background-position: left top; }
+ spinbutton:not(.vertical) undershoot.right, notebook > stack:not(:only-child) revealer entry undershoot.right,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) undershoot.right,
+ entry undershoot.right {
+ background-color: transparent;
+ background-image: linear-gradient(to top, rgba(255, 255, 255, 0.3) 50%, rgba(0, 0, 0, 0.24) 50%);
+ padding-right: 1px;
+ background-size: 1px 12px;
+ background-repeat: repeat-y;
+ background-origin: content-box;
+ background-position: right top; }
+ spinbutton.error:not(.vertical), notebook > stack:not(:only-child) revealer entry.error,
+ notebook > stack:not(:only-child) revealer spinbutton.error:not(.vertical),
+ entry.error {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-image: none;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #DD2C00;
+ color: #FFFFFF; }
+ spinbutton.error:focus:not(.vertical), notebook > stack:not(:only-child) revealer entry.error:focus,
+ entry.error:focus {
+ border-image: none;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ spinbutton.error:disabled:not(.vertical), notebook > stack:not(:only-child) revealer entry.error:disabled,
+ entry.error:disabled {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #fafafa;
+ color: rgba(0, 0, 0, 0.32); }
+ spinbutton.error.flat:not(.vertical), notebook > stack:not(:only-child) entry.error,
+ notebook > stack:not(:only-child) spinbutton.error:not(.vertical), colorchooser .popover.osd spinbutton.error:not(.vertical), layoutpane entry.error.search, editortweak entry.error.search, #login_window entry.error,
+ entry.error.flat {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #DD2C00 0%, transparent 0%) 0 0 0/0 0 0px;
+ box-shadow: inset 0 -1px #DD2C00;
+ background-color: transparent;
+ color: rgba(0, 0, 0, 0.8); }
+ spinbutton.error.flat:focus:not(.vertical), notebook > stack:not(:only-child) entry.error:focus,
+ notebook > stack:not(:only-child) spinbutton.error:focus:not(.vertical), colorchooser .popover.osd spinbutton.error:focus:not(.vertical), layoutpane entry.error.search:focus, editortweak entry.error.search:focus, #login_window entry.error:focus,
+ entry.error.flat:focus {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #DD2C00 100%, transparent 0%) 0 0 2/0 0 2px;
+ box-shadow: inset 0 -1px #DD2C00; }
+ spinbutton.error.flat:disabled:not(.vertical), notebook > stack:not(:only-child) entry.error:disabled,
+ notebook > stack:not(:only-child) spinbutton.error:disabled:not(.vertical), colorchooser .popover.osd spinbutton.error:disabled:not(.vertical), layoutpane entry.error.search:disabled, editortweak entry.error.search:disabled, #login_window entry.error:disabled,
+ entry.error.flat:disabled {
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3);
+ background-color: transparent;
+ color: rgba(0, 0, 0, 0.32); }
+ spinbutton.warning:not(.vertical), notebook > stack:not(:only-child) revealer entry.warning,
+ notebook > stack:not(:only-child) revealer spinbutton.warning:not(.vertical),
+ entry.warning {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-image: none;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #FF6D00;
+ color: #FFFFFF; }
+ spinbutton.warning:focus:not(.vertical), notebook > stack:not(:only-child) revealer entry.warning:focus,
+ entry.warning:focus {
+ border-image: none;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ spinbutton.warning:disabled:not(.vertical), notebook > stack:not(:only-child) revealer entry.warning:disabled,
+ entry.warning:disabled {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #fafafa;
+ color: rgba(0, 0, 0, 0.32); }
+ spinbutton.warning.flat:not(.vertical), notebook > stack:not(:only-child) entry.warning,
+ notebook > stack:not(:only-child) spinbutton.warning:not(.vertical), colorchooser .popover.osd spinbutton.warning:not(.vertical), layoutpane entry.warning.search, editortweak entry.warning.search, #login_window entry.warning,
+ entry.warning.flat {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #FF6D00 0%, transparent 0%) 0 0 0/0 0 0px;
+ box-shadow: inset 0 -1px #FF6D00;
+ background-color: transparent;
+ color: rgba(0, 0, 0, 0.8); }
+ spinbutton.warning.flat:focus:not(.vertical), notebook > stack:not(:only-child) entry.warning:focus,
+ notebook > stack:not(:only-child) spinbutton.warning:focus:not(.vertical), colorchooser .popover.osd spinbutton.warning:focus:not(.vertical), layoutpane entry.warning.search:focus, editortweak entry.warning.search:focus, #login_window entry.warning:focus,
+ entry.warning.flat:focus {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #FF6D00 100%, transparent 0%) 0 0 2/0 0 2px;
+ box-shadow: inset 0 -1px #FF6D00; }
+ spinbutton.warning.flat:disabled:not(.vertical), notebook > stack:not(:only-child) entry.warning:disabled,
+ notebook > stack:not(:only-child) spinbutton.warning:disabled:not(.vertical), colorchooser .popover.osd spinbutton.warning:disabled:not(.vertical), layoutpane entry.warning.search:disabled, editortweak entry.warning.search:disabled, #login_window entry.warning:disabled,
+ entry.warning.flat:disabled {
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3);
+ background-color: transparent;
+ color: rgba(0, 0, 0, 0.32); }
+spinbutton:not(.vertical) progress, notebook > stack:not(:only-child) revealer entry progress,
+notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) progress,
+entry progress {
+ margin: 2px -6px;
+ border-style: none none solid;
+ border-width: 2px;
+ border-color: #666666;
+ background-color: transparent; }
+.linked:not(.vertical) > spinbutton.flat:not(.vertical), notebook > stack:not(:only-child) .linked:not(.vertical) > entry,
+notebook > stack:not(:only-child) .linked:not(.vertical) > spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer .linked:not(.vertical) > entry.flat,
+notebook > stack:not(:only-child) revealer .linked:not(.vertical) > spinbutton.flat:not(.vertical), colorchooser .popover.osd .linked:not(.vertical) > spinbutton:not(.vertical), layoutpane .linked:not(.vertical) > entry.search, editortweak .linked:not(.vertical) > entry.search, #login_window .linked:not(.vertical) > entry, .linked.vertical > spinbutton.flat:not(.vertical), notebook > stack:not(:only-child) .linked.vertical > entry,
+notebook > stack:not(:only-child) .linked.vertical > spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer .linked.vertical > entry.flat,
+notebook > stack:not(:only-child) revealer .linked.vertical > spinbutton.flat:not(.vertical), colorchooser .popover.osd .linked.vertical > spinbutton:not(.vertical), layoutpane .linked.vertical > entry.search, editortweak .linked.vertical > entry.search, #login_window .linked.vertical > entry, .linked:not(.vertical) >
+entry.flat, .linked.vertical >
+entry.flat {
+ border-radius: 0; }
+
+treeview entry.flat, treeview entry {
+ min-height: 0;
+ padding: 2px;
+ border-radius: 0;
+ background-color: #FFFFFF; }
+ treeview entry.flat, treeview entry.flat:focus, treeview entry, treeview entry:focus {
+ border-image: none;
+ box-shadow: none; }
+
+/***********
+ * Buttons *
+ ***********/
+@keyframes needs_attention {
+ from {
+ background-image: -gtk-gradient(radial, center center, 0, center center, 0.001, to(#666666), to(transparent)); }
+ to {
+ background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#666666), to(transparent)); } }
+button {
+ min-height: 24px;
+ min-width: 16px;
+ padding: 6px 10px;
+ border-radius: 2px;
+ font-weight: 500;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #FAFAFA;
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0));
+ color: rgba(0, 0, 0, 0.6); }
+ button:hover {
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23);
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0));
+ color: rgba(0, 0, 0, 0.8); }
+ button:active {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1), background-image 0;
+ animation: ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23);
+ color: rgba(0, 0, 0, 0.8); }
+ button:disabled {
+ box-shadow: none;
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(0, 0, 0, 0.24); }
+ button:checked {
+ background-color: #666666;
+ color: #FFFFFF; }
+ button:checked:disabled {
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(102, 102, 102, 0.4); }
+ .inline-toolbar
+ button:not(.text-button), modelbutton.flat,
+ .menuitem.button.flat, spinbutton:not(.vertical) button, spinbutton.vertical button, popover.background.menu button,
+ popover.background button.model, notebook > header > tabs > arrow, scrollbar button, check,
+ radio, calendar.button, messagedialog.csd .dialog-action-area button, button.sidebar-button, button.titlebutton, .gedit-search-slider button, PanelToplevel > widget > button, .raven .raven-header:not(.top) button, .drop-shadow button, .budgie-session-dialog .linked.horizontal > button, .lightdm-gtk-greeter button, :not(headerbar) .caja-pathbar button, .caja-pathbar :not(headerbar) button, :not(headerbar)
+ .path-bar button, layouttabbar button, .mate-panel-menu-bar #PanelApplet button:not(.flat), .budgie-panel #tasklist-button, .raven stackswitcher.linked > button, toolbar button, .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action),
+ headerbar button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button,
+ button.flat {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: none;
+ background-color: transparent;
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0));
+ color: alpha(currentColor, 0.75); }
+ .inline-toolbar
+ button:hover:not(.text-button), modelbutton.flat:hover,
+ .menuitem.button.flat:hover, spinbutton:not(.vertical) button:hover, spinbutton.vertical button:hover, popover.background.menu button:hover,
+ popover.background button.model:hover, notebook > header > tabs > arrow:hover, scrollbar button:hover, check:hover,
+ radio:hover, calendar.button:hover, messagedialog.csd .dialog-action-area button:hover, button.sidebar-button:hover, button.titlebutton:hover, .gedit-search-slider button:hover, PanelToplevel > widget > button:hover, .raven .raven-header:not(.top) button:hover, .drop-shadow button:hover, .budgie-session-dialog .linked.horizontal > button:hover, .lightdm-gtk-greeter button:hover, :not(headerbar) .caja-pathbar button:hover, .caja-pathbar :not(headerbar) button:hover, :not(headerbar)
+ .path-bar button:hover, layouttabbar button:hover, .mate-panel-menu-bar #PanelApplet button:hover:not(.flat), .budgie-panel #tasklist-button:hover, .raven stackswitcher.linked > button:hover, toolbar button:hover, .titlebar:not(headerbar) button:hover:not(.suggested-action):not(.destructive-action),
+ headerbar button:hover:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:hover:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button:hover,
+ button.flat:hover {
+ box-shadow: none;
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0.15));
+ color: currentColor; }
+ .inline-toolbar
+ button:active:not(.text-button), modelbutton.flat:active,
+ .menuitem.button.flat:active, spinbutton:not(.vertical) button:active, spinbutton.vertical button:active, popover.background.menu button:active,
+ popover.background button.model:active, notebook > header > tabs > arrow:active, scrollbar button:active, check:active,
+ radio:active, calendar.button:active, messagedialog.csd .dialog-action-area button:active, button.sidebar-button:active, button.titlebutton:active, .gedit-search-slider button:active, PanelToplevel > widget > button:active, .raven .raven-header:not(.top) button:active, .drop-shadow button:active, .budgie-session-dialog .linked.horizontal > button:active, .lightdm-gtk-greeter button:active, :not(headerbar) .caja-pathbar button:active, .caja-pathbar :not(headerbar) button:active, :not(headerbar)
+ .path-bar button:active, layouttabbar button:active, .mate-panel-menu-bar #PanelApplet button:active:not(.flat), .budgie-panel #tasklist-button:active, .raven stackswitcher.linked > button:active, toolbar button:active, .titlebar:not(headerbar) button:active:not(.suggested-action):not(.destructive-action),
+ headerbar button:active:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:active:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button:active,
+ button.flat:active {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), background-image 0;
+ animation: flat_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
+ box-shadow: none;
+ color: currentColor; }
+ .inline-toolbar
+ button:disabled:not(.text-button), modelbutton.flat:disabled,
+ .menuitem.button.flat:disabled, spinbutton:not(.vertical) button:disabled, spinbutton.vertical button:disabled, popover.background.menu button:disabled,
+ popover.background button.model:disabled, notebook > header > tabs > arrow:disabled, scrollbar button:disabled, check:disabled,
+ radio:disabled, calendar.button:disabled, messagedialog.csd .dialog-action-area button:disabled, button.sidebar-button:disabled, button.titlebutton:disabled, .gedit-search-slider button:disabled, PanelToplevel > widget > button:disabled, .raven .raven-header:not(.top) button:disabled, .drop-shadow button:disabled, .budgie-session-dialog .linked.horizontal > button:disabled, .lightdm-gtk-greeter button:disabled, :not(headerbar) .caja-pathbar button:disabled, .caja-pathbar :not(headerbar) button:disabled, :not(headerbar)
+ .path-bar button:disabled, layouttabbar button:disabled, .mate-panel-menu-bar #PanelApplet button:disabled:not(.flat), .budgie-panel #tasklist-button:disabled, .raven stackswitcher.linked > button:disabled, toolbar button:disabled, .titlebar:not(headerbar) button:disabled:not(.suggested-action):not(.destructive-action),
+ headerbar button:disabled:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:disabled:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button:disabled,
+ button.flat:disabled {
+ box-shadow: none;
+ background-color: transparent;
+ color: alpha(currentColor, 0.3); }
+ :not(headerbar) .caja-pathbar button:checked, .caja-pathbar :not(headerbar) button:checked, :not(headerbar)
+ .path-bar button:checked, layouttabbar button:checked, .mate-panel-menu-bar #PanelApplet button:checked:not(.flat), .budgie-panel #tasklist-button:checked, .raven stackswitcher.linked > button:checked, toolbar button:checked, .titlebar:not(headerbar) button:checked:not(.suggested-action):not(.destructive-action),
+ headerbar button:checked:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:checked:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button:checked,
+ button.flat:checked {
+ background-color: alpha(currentColor, 0.3);
+ color: currentColor; }
+ :not(headerbar) .caja-pathbar button:checked:disabled, .caja-pathbar :not(headerbar) button:checked:disabled, :not(headerbar)
+ .path-bar button:checked:disabled, layouttabbar button:checked:disabled, .mate-panel-menu-bar #PanelApplet button:checked:disabled:not(.flat), .budgie-panel #tasklist-button:checked:disabled, .raven stackswitcher.linked > button:checked:disabled, toolbar button:checked:disabled, .titlebar:not(headerbar) button:checked:disabled:not(.suggested-action):not(.destructive-action),
+ headerbar button:checked:disabled:not(.suggested-action):not(.destructive-action), actionbar > revealer > box button:checked:disabled:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification button:checked:disabled,
+ button.flat:checked:disabled {
+ background-color: alpha(currentColor, 0.3);
+ color: alpha(currentColor, 0.4); }
+ button.text-button {
+ padding-left: 16px;
+ padding-right: 16px; }
+ button.image-button {
+ min-width: 24px;
+ padding: 6px;
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+ button.text-button.image-button {
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+ button.text-button.image-button label:first-child {
+ margin-left: 10px;
+ margin-right: 2px; }
+ button.text-button.image-button label:last-child {
+ margin-left: 2px;
+ margin-right: 10px; }
+ button.text-button.image-button label:only-child {
+ margin-left: 10px;
+ margin-right: 10px; }
+ button.text-button.image-button image:not(:only-child):first-child {
+ margin-left: 4px; }
+ button.text-button.image-button image:not(:only-child):last-child {
+ margin-right: 4px; }
+ toolbar .linked > button, .titlebar:not(headerbar) .linked > button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked > button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked > button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked > button, toolbar .linked.vertical > button, .titlebar:not(headerbar) .linked.vertical > button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked.vertical > button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked.vertical > button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked.vertical > button, .linked >
+ button.flat, .linked.vertical >
+ button.flat {
+ border-radius: 2px; }
+ toolbar .linked > button.image-button, .titlebar:not(headerbar) .linked > button.image-button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked > button.image-button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked > button.image-button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked > button.image-button, toolbar .linked.vertical > button.image-button, .titlebar:not(headerbar) .linked.vertical > button.image-button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked.vertical > button.image-button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked.vertical > button.image-button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked.vertical > button.image-button, .linked >
+ button.flat.image-button, .linked.vertical >
+ button.flat.image-button {
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+ toolbar .linked > button.text-button.image-button, .titlebar:not(headerbar) .linked > button.text-button.image-button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked > button.text-button.image-button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked > button.text-button.image-button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked > button.text-button.image-button, toolbar .linked.vertical > button.text-button.image-button, .titlebar:not(headerbar) .linked.vertical > button.text-button.image-button:not(.suggested-action):not(.destructive-action),
+ headerbar .linked.vertical > button.text-button.image-button:not(.suggested-action):not(.destructive-action), actionbar > revealer > box .linked.vertical > button.text-button.image-button:not(.suggested-action):not(.destructive-action):not(.server-list-button), .app-notification .linked.vertical > button.text-button.image-button, .linked >
+ button.flat.text-button.image-button, .linked.vertical >
+ button.flat.text-button.image-button {
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+infobar.info button:disabled, infobar.question button:disabled, infobar.warning button:disabled, infobar.error button:disabled, row:selected
+button:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+button.osd {
+ padding: 12px 16px; }
+ button.osd.image-button {
+ padding: 12px; }
+ button.osd:disabled {
+ opacity: 0; }
+button.suggested-action {
+ background-color: #4CAF50;
+ color: #FFFFFF; }
+ button.suggested-action:disabled {
+ box-shadow: none;
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(0, 0, 0, 0.32); }
+ button.suggested-action:checked {
+ background-color: #82c785; }
+ button.suggested-action.flat {
+ background-color: transparent;
+ color: #4CAF50; }
+ button.suggested-action.flat:disabled {
+ box-shadow: none;
+ background-color: transparent;
+ color: alpha(currentColor, 0.4); }
+button.destructive-action {
+ background-color: #FF5252;
+ color: #FFFFFF; }
+ button.destructive-action:disabled {
+ box-shadow: none;
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(0, 0, 0, 0.32); }
+ button.destructive-action:checked {
+ background-color: #ff8686; }
+ button.destructive-action.flat {
+ background-color: transparent;
+ color: #FF5252; }
+ button.destructive-action.flat:disabled {
+ box-shadow: none;
+ background-color: transparent;
+ color: alpha(currentColor, 0.4); }
+.stack-switcher >
+button {
+ outline-offset: -4px; }
+ .stack-switcher >
+ button > label {
+ padding-left: 6px;
+ padding-right: 6px; }
+ .stack-switcher >
+ button > image {
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ padding-bottom: 3px; }
+ .stack-switcher >
+ button.text-button {
+ padding-left: 10px;
+ padding-right: 10px; }
+ .stack-switcher >
+ button.image-button {
+ padding-left: 4px;
+ padding-right: 4px; }
+ .stack-switcher >
+ button.needs-attention:checked > label,
+ .stack-switcher >
+ button.needs-attention:checked > image {
+ animation: none;
+ background-image: none; }
+button separator {
+ min-width: 0;
+ min-height: 0;
+ background: transparent; }
+.primary-toolbar
+button {
+ -gtk-icon-shadow: none; }
+
+.stack-switcher >
+button.needs-attention > label,
+.stack-switcher >
+button.needs-attention > image, stacksidebar row.needs-attention > label {
+ animation: needs_attention 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
+ background-repeat: no-repeat;
+ background-position: right 3px;
+ background-size: 6px 6px; }
+ .stack-switcher >
+ button.needs-attention > label:dir(rtl),
+ .stack-switcher >
+ button.needs-attention > image:dir(rtl), stacksidebar row.needs-attention > label:dir(rtl) {
+ background-position: left 3px; }
+
+.linked:not(.vertical) > spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer .linked:not(.vertical) > entry,
+notebook > stack:not(:only-child) revealer .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) >
+entry, .linked >
+button, .gedit-search-slider button:dir(ltr), .gedit-search-slider button:dir(rtl), .linked > combobox > box > button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) {
+ border-radius: 0;
+ -gtk-outline-radius: 2px; }
+
+.linked:not(.vertical) > spinbutton:first-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked:not(.vertical) > entry:first-child,
+notebook > stack:not(:only-child) revealer .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) >
+entry:first-child, .linked >
+button:first-child, combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > button.combo, .gedit-search-slider button:first-child:dir(ltr), .gedit-search-slider button:first-child:dir(rtl) {
+ border-top-left-radius: 2px;
+ border-bottom-left-radius: 2px; }
+.linked:not(.vertical) > spinbutton:last-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked:not(.vertical) > entry:last-child,
+notebook > stack:not(:only-child) revealer .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) >
+entry:last-child, .linked >
+button:last-child, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo, .gedit-search-slider button:last-child:dir(ltr), .gedit-search-slider button:last-child:dir(rtl) {
+ border-top-right-radius: 2px;
+ border-bottom-right-radius: 2px; }
+.linked:not(.vertical) > spinbutton:only-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked:not(.vertical) > entry:only-child,
+notebook > stack:not(:only-child) revealer .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) >
+entry:only-child, .linked >
+button:only-child, .linked:not(.vertical) > combobox:only-child > box > button.combo, .gedit-search-slider button:only-child:dir(ltr), .gedit-search-slider button:only-child:dir(rtl) {
+ border-radius: 2px; }
+
+.linked.vertical > spinbutton:not(.vertical), notebook > stack:not(:only-child) revealer .linked.vertical > entry,
+notebook > stack:not(:only-child) revealer .linked.vertical > spinbutton:not(.vertical), .linked.vertical >
+entry, .linked.vertical >
+button, .linked.vertical > combobox > box > button.combo {
+ border-radius: 0;
+ -gtk-outline-radius: 2px; }
+
+.linked.vertical > spinbutton:first-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked.vertical > entry:first-child,
+notebook > stack:not(:only-child) revealer .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical >
+entry:first-child, .linked.vertical >
+button:first-child, .linked.vertical > combobox:first-child > box > button.combo {
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px; }
+.linked.vertical > spinbutton:last-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked.vertical > entry:last-child,
+notebook > stack:not(:only-child) revealer .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical >
+entry:last-child, .linked.vertical >
+button:last-child, .linked.vertical > combobox:last-child > box > button.combo {
+ border-bottom-left-radius: 2px;
+ border-bottom-right-radius: 2px; }
+.linked.vertical > spinbutton:only-child:not(.vertical), notebook > stack:not(:only-child) revealer .linked.vertical > entry:only-child,
+notebook > stack:not(:only-child) revealer .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical >
+entry:only-child, .linked.vertical >
+button:only-child, .linked.vertical > combobox:only-child > box > button.combo {
+ border-radius: 2px; }
+
+/* menu buttons */
+modelbutton.flat,
+.menuitem.button.flat {
+ min-height: 28px;
+ padding: 0 8px;
+ border-radius: 2px;
+ color: inherit; }
+ modelbutton.flat check:not(:checked):not(:indeterminate),
+ modelbutton.flat radio:not(:checked):not(:indeterminate),
+ .menuitem.button.flat check:not(:checked):not(:indeterminate),
+ .menuitem.button.flat radio:not(:checked):not(:indeterminate) {
+ color: alpha(currentColor, 0.6); }
+ modelbutton.flat check, modelbutton.flat check:hover,
+ modelbutton.flat radio,
+ modelbutton.flat radio:hover,
+ .menuitem.button.flat check,
+ .menuitem.button.flat check:hover,
+ .menuitem.button.flat radio,
+ .menuitem.button.flat radio:hover {
+ background-image: none; }
+ modelbutton.flat check:active,
+ modelbutton.flat radio:active,
+ .menuitem.button.flat check:active,
+ .menuitem.button.flat radio:active {
+ animation: none; }
+ modelbutton.flat check:last-child,
+ modelbutton.flat radio:last-child,
+ .menuitem.button.flat check:last-child,
+ .menuitem.button.flat radio:last-child {
+ margin-left: -8px;
+ margin-right: -16px; }
+ modelbutton.flat check:first-child,
+ modelbutton.flat radio:first-child,
+ .menuitem.button.flat check:first-child,
+ .menuitem.button.flat radio:first-child {
+ margin-left: -16px;
+ margin-right: -8px; }
+
+modelbutton.flat arrow {
+ background: none; }
+ modelbutton.flat arrow:hover {
+ background: none; }
+ modelbutton.flat arrow.left {
+ -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+ modelbutton.flat arrow.right {
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+button.color {
+ min-height: 24px;
+ min-width: 24px;
+ padding: 6px; }
+
+/*********
+ * Links *
+ *********/
+*:link, button:link,
+button:visited, *:link:hover, button:hover:link,
+button:hover:visited, *:link:active, button:active:link,
+button:active:visited {
+ color: #666666; }
+*:link:visited,
+button:visited, *:link:visited:hover,
+button:visited:hover, *:link:visited:active,
+button:visited:active {
+ color: #E040FB; }
+infobar.info *:link, infobar.info button:link,
+infobar.info button:visited, infobar.question *:link, infobar.question button:link,
+infobar.question button:visited, infobar.warning *:link, infobar.warning button:link,
+infobar.warning button:visited, infobar.error *:link, infobar.error button:link,
+infobar.error button:visited, *:link:selected, button:selected:link,
+button:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:link,
+headerbar.selection-mode .subtitle:link, *:selected *:link, *:selected button:link,
+*:selected button:visited {
+ color: #FFFFFF; }
+
+button:link > label,
+button:visited > label {
+ text-decoration-line: underline; }
+
+/*****************
+ * GtkSpinButton *
+ *****************/
+spinbutton:not(.vertical) {
+ padding: 0; }
+ notebook > stack:not(:only-child) spinbutton:not(.vertical) entry,
+ spinbutton:not(.vertical) entry {
+ min-width: 32px;
+ margin: 0;
+ border-image: none;
+ border-radius: 0;
+ box-shadow: none;
+ background-color: transparent; }
+ spinbutton:not(.vertical) button {
+ border: solid 6px transparent; }
+ spinbutton:not(.vertical) button.up:dir(ltr), spinbutton:not(.vertical) button.down:dir(rtl) {
+ margin-left: -3px; }
+ spinbutton:not(.vertical) button.up:dir(rtl), spinbutton:not(.vertical) button.down:dir(ltr) {
+ margin-right: -3px; }
+spinbutton.vertical:disabled {
+ color: rgba(0, 0, 0, 0.32); }
+spinbutton.vertical:drop(active) {
+ box-shadow: none; }
+spinbutton.vertical entry {
+ min-height: 36px;
+ min-width: 48px;
+ padding: 0; }
+spinbutton.vertical button {
+ min-height: 36px;
+ min-width: 48px;
+ padding: 0; }
+ spinbutton.vertical button.up {
+ border-radius: 2px 2px 0 0; }
+ spinbutton.vertical button.down {
+ border-radius: 0 0 2px 2px; }
+treeview spinbutton:not(.vertical) {
+ min-height: 0;
+ border-style: none;
+ border-radius: 0; }
+ treeview spinbutton:not(.vertical) entry {
+ min-height: 0;
+ padding: 1px 2px; }
+
+/**************
+ * ComboBoxes *
+ **************/
+combobox arrow {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+ min-height: 16px;
+ min-width: 16px; }
+combobox button.combo:checked {
+ transition: none; }
+combobox button.combo cellview:dir(ltr) {
+ margin-left: -2px; }
+combobox button.combo cellview:dir(rtl) {
+ margin-right: -2px; }
+combobox #gtk-combobox-popup-menu {
+ padding: 2px 0; }
+ combobox #gtk-combobox-popup-menu menuitem {
+ min-height: 32px;
+ padding: 0 8px; }
+combobox:drop(active) {
+ box-shadow: none; }
+
+#login_window #user_combobox button {
+ border-radius: 0;
+ background-image: none;
+ font-weight: inherit;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 0%, transparent 0%) 0 0 0/0 0 0px;
+ box-shadow: inset 0 -1px alpha(currentColor, 0.3);
+ background-color: transparent;
+ color: rgba(0, 0, 0, 0.8); }
+ #login_window #user_combobox button:hover {
+ box-shadow: inset 0 -2px alpha(currentColor, 0.3); }
+ #login_window #user_combobox button:checked {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 100%, transparent 0%) 0 0 2/0 0 2px; }
+ #login_window #user_combobox button:disabled {
+ color: rgba(0, 0, 0, 0.32); }
+
+/************
+ * Toolbars *
+ ************/
+toolbar {
+ -GtkWidget-window-dragging: true;
+ padding: 3px;
+ background-color: #F5F5F5; }
+ .osd toolbar {
+ background-color: transparent; }
+ toolbar.osd, .app-notification, frame.documents-dropdown {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ padding: 6px;
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23), inset 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #FFFFFF; }
+ toolbar.osd:backdrop, .app-notification:backdrop, frame.documents-dropdown:backdrop {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.4); }
+ toolbar.osd.left, .left.app-notification, frame.left.documents-dropdown, toolbar.osd.right, .right.app-notification, frame.right.documents-dropdown, toolbar.osd.top, .top.app-notification, frame.top.documents-dropdown, toolbar.osd.bottom, .bottom.app-notification, frame.bottom.documents-dropdown {
+ border-radius: 0; }
+ toolbar.horizontal separator {
+ margin: 3px; }
+ toolbar.vertical separator {
+ margin: 3px; }
+ toolbar:not(.inline-toolbar):not(.osd) scale,
+ toolbar:not(.inline-toolbar):not(.osd) entry,
+ toolbar:not(.inline-toolbar):not(.osd) spinbutton,
+ toolbar:not(.inline-toolbar):not(.osd) button {
+ margin: 3px; }
+ toolbar:not(.inline-toolbar):not(.osd) .linked entry:not(:first-child),
+ toolbar:not(.inline-toolbar):not(.osd) .linked spinbutton:not(:first-child),
+ toolbar:not(.inline-toolbar):not(.osd) .linked button:not(:first-child) {
+ margin-left: 0; }
+ toolbar:not(.inline-toolbar):not(.osd) .linked entry:not(:last-child),
+ toolbar:not(.inline-toolbar):not(.osd) .linked spinbutton:not(:last-child),
+ toolbar:not(.inline-toolbar):not(.osd) .linked button:not(:last-child) {
+ margin-right: 0; }
+ toolbar:not(.inline-toolbar):not(.osd) switch {
+ margin: 9px 3px; }
+
+.inline-toolbar {
+ padding: 6px;
+ border-style: solid;
+ border-width: 0 1px 1px;
+ border-color: rgba(0, 0, 0, 0.1);
+ background-color: #fafafa; }
+
+searchbar,
+.location-bar {
+ padding: 6px;
+ border-style: solid;
+ border-width: 0 0 1px;
+ border-color: rgba(0, 0, 0, 0.1);
+ background-color: #F5F5F5;
+ background-clip: border-box; }
+
+/***************
+ * Header bars *
+ ***************/
+.titlebar:not(headerbar),
+headerbar {
+ transition: background-color 0.2s cubic-bezier(0, 0, 0.2, 1);
+ min-height: 48px;
+ padding: 0 6px;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: #EEEEEE;
+ color: rgba(0, 0, 0, 0.8); }
+ .titlebar:backdrop:not(headerbar),
+ headerbar:backdrop {
+ color: rgba(0, 0, 0, 0.6); }
+ .titlebar:not(headerbar) .title,
+ headerbar .title {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ padding: 0 12px;
+ font-weight: bold; }
+ .titlebar:not(headerbar) .subtitle,
+ headerbar .subtitle {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ padding: 0 12px;
+ font-size: smaller; }
+ .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action),
+ headerbar button:not(.suggested-action):not(.destructive-action) {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 0%, transparent 0%) 0 0 0/0 0 0px; }
+ .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover,
+ headerbar button:not(.suggested-action):not(.destructive-action):hover {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), alpha(currentColor, 0.8) 100%, transparent 0%) 0 0 2/0 0 2px;
+ background: none; }
+ .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover, .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover:disabled,
+ headerbar button:not(.suggested-action):not(.destructive-action):hover,
+ headerbar button:not(.suggested-action):not(.destructive-action):hover:disabled {
+ background-color: transparent; }
+ .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked,
+ headerbar button:not(.suggested-action):not(.destructive-action):checked {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 100%, transparent 0%) 0 0 2/0 0 2px; }
+ .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked, .titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked:disabled,
+ headerbar button:not(.suggested-action):not(.destructive-action):checked,
+ headerbar button:not(.suggested-action):not(.destructive-action):checked:disabled {
+ background-color: transparent; }
+ .titlebar:not(headerbar) button.suggested-action:disabled, .titlebar:not(headerbar) button.destructive-action:disabled,
+ headerbar button.suggested-action:disabled,
+ headerbar button.destructive-action:disabled {
+ color: alpha(currentColor, 0.4); }
+ .titlebar:not(headerbar) button.suggested-action:disabled > label, .titlebar:not(headerbar) button.destructive-action:disabled > label,
+ headerbar button.suggested-action:disabled > label,
+ headerbar button.destructive-action:disabled > label {
+ color: inherit; }
+ .selection-mode.titlebar:not(headerbar),
+ headerbar.selection-mode {
+ transition: background-color 0.00001s 0.3s;
+ animation: header_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.1);
+ background-color: #666666;
+ color: #FFFFFF; }
+ .selection-mode.titlebar:backdrop:not(headerbar),
+ headerbar.selection-mode:backdrop {
+ color: rgba(255, 255, 255, 0.75); }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action),
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action) {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 0%, transparent 0%) 0 0 0/0 0 0px;
+ color: currentColor; }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):disabled,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):disabled {
+ color: alpha(currentColor, 0.4); }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):disabled > label,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):disabled > label {
+ color: inherit; }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):hover {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), alpha(#FFFFFF, 0.8) 100%, transparent 0%) 0 0 2/0 0 2px;
+ background: none;
+ color: alpha(#FFFFFF, 0.8); }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover, .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):hover:disabled,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):hover,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):hover:disabled {
+ background-color: transparent; }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):checked {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 100%, transparent 0%) 0 0 2/0 0 2px;
+ color: currentColor; }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked:disabled,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):checked:disabled {
+ color: alpha(currentColor, 0.4); }
+ .selection-mode.titlebar:not(headerbar) button:not(.suggested-action):not(.destructive-action):checked:disabled > label,
+ headerbar.selection-mode button:not(.suggested-action):not(.destructive-action):checked:disabled > label {
+ color: inherit; }
+ .selection-mode.titlebar:not(headerbar) .selection-menu,
+ headerbar.selection-mode .selection-menu {
+ padding-left: 16px;
+ padding-right: 16px; }
+ .selection-mode.titlebar:not(headerbar) .selection-menu GtkArrow,
+ headerbar.selection-mode .selection-menu GtkArrow {
+ -GtkArrow-arrow-scaling: 1; }
+ .selection-mode.titlebar:not(headerbar) .selection-menu .arrow,
+ headerbar.selection-mode .selection-menu .arrow {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+ .fullscreen .titlebar:not(headerbar), .tiled .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen
+ headerbar, .tiled
+ headerbar, .maximized
+ headerbar {
+ border-radius: 0; }
+ .default-decoration.titlebar:not(headerbar),
+ headerbar.default-decoration {
+ min-height: 24px;
+ padding: 6px;
+ border-width: 0; }
+ .default-decoration.titlebar:not(headerbar) button.titlebutton,
+ headerbar.default-decoration button.titlebutton {
+ min-height: 24px;
+ min-width: 24px;
+ margin: 0;
+ padding: 0; }
+ .default-decoration.titlebar:not(headerbar) button.titlebutton:active,
+ headerbar.default-decoration button.titlebutton:active {
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0.15) 100%, transparent 0%), image(alpha(currentColor, 0.15)); }
+ .solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd
+ headerbar:dir(rtl), .solid-csd
+ headerbar:dir(ltr) {
+ margin-left: -2px;
+ margin-right: -2px;
+ margin-top: -2px;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); }
+
+headerbar entry,
+headerbar spinbutton,
+headerbar button {
+ margin-top: 6px;
+ margin-bottom: 6px; }
+headerbar switch {
+ margin-top: 12px;
+ margin-bottom: 12px; }
+
+.background:not(.tiled):not(.maximized):not(.fullscreen) .titlebar {
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px; }
+
+window:not(.tiled):not(.maximized):not(.fullscreen) separator:first-child + headerbar, window:not(.tiled):not(.maximized):not(.fullscreen) headerbar:first-child {
+ border-top-left-radius: 0; }
+window:not(.tiled):not(.maximized):not(.fullscreen) headerbar:last-child {
+ border-top-right-radius: 0; }
+
+window.csd > .titlebar:not(headerbar) {
+ padding: 0;
+ background-color: transparent;
+ background-image: none;
+ border-style: none;
+ box-shadow: none; }
+.titlebar:not(headerbar) > separator {
+ background-color: #EEEEEE; }
+
+/************
+ * Pathbars *
+ ************/
+.caja-pathbar button,
+.path-bar button {
+ padding-left: 6px;
+ padding-right: 6px; }
+ .caja-pathbar button label:not(:only-child):first-child,
+ .path-bar button label:not(:only-child):first-child {
+ margin-left: 4px; }
+ .caja-pathbar button label:not(:only-child):last-child,
+ .path-bar button label:not(:only-child):last-child {
+ margin-right: 4px; }
+ .caja-pathbar button.slider-button,
+ .path-bar button.slider-button {
+ padding-left: 4px;
+ padding-right: 4px; }
+ :not(headerbar) .caja-pathbar button, .caja-pathbar :not(headerbar) button, :not(headerbar)
+ .path-bar button {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 0%, transparent 0%) 0 0 0/0 0 0px;
+ border-radius: 2px; }
+ :not(headerbar) .caja-pathbar button:checked, .caja-pathbar :not(headerbar) button:checked, :not(headerbar)
+ .path-bar button:checked {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #666666 100%, transparent 0%) 0 0 2/0 0 2px; }
+ :not(headerbar) .caja-pathbar button:checked, .caja-pathbar :not(headerbar) button:checked, :not(headerbar) .caja-pathbar button:checked:disabled, .caja-pathbar :not(headerbar) button:checked:disabled, :not(headerbar)
+ .path-bar button:checked, :not(headerbar)
+ .path-bar button:checked:disabled {
+ background-color: transparent; }
+
+/**************
+ * Tree Views *
+ **************/
+treeview.view {
+ border-left-color: alpha(currentColor, 0.3);
+ border-top-color: rgba(0, 0, 0, 0.1); }
+ * {
+ -GtkTreeView-horizontal-separator: 4;
+ -GtkTreeView-grid-line-width: 1;
+ -GtkTreeView-grid-line-pattern: '';
+ -GtkTreeView-tree-line-width: 1;
+ -GtkTreeView-tree-line-pattern: '';
+ -GtkTreeView-expander-size: 16; }
+ treeview.view:hover, treeview.view:active, treeview.view:selected {
+ border-radius: 0; }
+ treeview.view.separator {
+ min-height: 5px;
+ color: rgba(0, 0, 0, 0.1); }
+ treeview.view:drop(active) {
+ border-style: solid none;
+ border-width: 1px;
+ border-color: #666666; }
+ treeview.view:drop(active).after {
+ border-top-style: none; }
+ treeview.view:drop(active).before {
+ border-bottom-style: none; }
+ treeview.view.expander {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+ -gtk-icon-transform: rotate(-90deg);
+ color: rgba(0, 0, 0, 0.6); }
+ treeview.view.expander:dir(rtl) {
+ -gtk-icon-transform: rotate(90deg); }
+ treeview.view.expander:checked {
+ -gtk-icon-transform: unset; }
+ treeview.view.expander:hover, treeview.view.expander:active {
+ color: rgba(0, 0, 0, 0.8); }
+ treeview.view.expander:disabled {
+ color: rgba(0, 0, 0, 0.24); }
+ treeview.view.expander:selected {
+ color: rgba(255, 255, 255, 0.75); }
+ treeview.view.expander:selected:hover, treeview.view.expander:selected:active {
+ color: #FFFFFF; }
+ treeview.view.expander:selected:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+ treeview.view.progressbar {
+ border-style: none none solid;
+ border-width: 4px;
+ border-color: #666666;
+ box-shadow: none;
+ background-color: transparent; }
+ treeview.view.progressbar:selected {
+ border-color: currentColor; }
+ treeview.view.trough {
+ border-style: none none solid;
+ border-width: 4px;
+ border-color: rgba(102, 102, 102, 0.3);
+ box-shadow: none;
+ background-color: transparent; }
+ treeview.view.trough:selected {
+ border-color: alpha(currentColor, 0.3); }
+ treeview.view header button {
+ padding: 2px 6px;
+ border-style: none solid solid none;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.1);
+ border-radius: 0;
+ background-clip: border-box; }
+ treeview.view header button, treeview.view header button:hover, treeview.view header button:active {
+ box-shadow: none; }
+ treeview.view header button, treeview.view header button:disabled {
+ background-color: #FFFFFF; }
+ treeview.view header button:last-child {
+ border-right-style: none; }
+ treeview.view button.dnd,
+ treeview.view header.button.dnd {
+ padding: 2px 6px;
+ border-style: none solid solid;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.1);
+ border-radius: 0;
+ box-shadow: none;
+ background-color: #FFFFFF;
+ background-clip: border-box;
+ color: #666666; }
+ treeview.view acceleditor > label {
+ background-color: #666666; }
+
+/*********
+ * Menus *
+ *********/
+menubar,
+.menubar {
+ -GtkWidget-window-dragging: true;
+ padding: 0;
+ background-color: #EEEEEE; }
+ menubar > menuitem,
+ .menubar > menuitem {
+ transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
+ min-height: 20px;
+ padding: 4px 8px;
+ color: rgba(0, 0, 0, 0.8); }
+ menubar > menuitem:hover,
+ .menubar > menuitem:hover {
+ transition: none;
+ border-radius: 2px;
+ background-color: shade(#666666, 0.9);
+ color: #FFFFFF; }
+ menubar > menuitem:disabled,
+ .menubar > menuitem:disabled {
+ color: rgba(0, 0, 0, 0.32); }
+
+menu,
+.menu,
+.context-menu {
+ margin: 4px;
+ padding: 2px 0px;
+ box-shadow: none;
+ background-color: #FFFFFF;
+ border: none; }
+ .csd menu, .csd
+ .menu, .csd
+ .context-menu {
+ border: none;
+ border-radius: 0; }
+ menu menuitem,
+ .menu menuitem,
+ .context-menu menuitem {
+ transition: none;
+ min-height: 20px;
+ min-width: 40px;
+ padding: 4px 8px;
+ font: initial;
+ text-shadow: none;
+ color: rgba(0, 0, 0, 0.8); }
+ menu menuitem:hover,
+ .menu menuitem:hover,
+ .context-menu menuitem:hover {
+ transition: none;
+ background-color: rgba(0, 0, 0, 0.15); }
+ menu menuitem arrow,
+ .menu menuitem arrow,
+ .context-menu menuitem arrow {
+ min-height: 16px;
+ min-width: 16px; }
+ menu menuitem arrow:dir(ltr),
+ .menu menuitem arrow:dir(ltr),
+ .context-menu menuitem arrow:dir(ltr) {
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
+ margin-left: 8px; }
+ menu menuitem arrow:dir(rtl),
+ .menu menuitem arrow:dir(rtl),
+ .context-menu menuitem arrow:dir(rtl) {
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl");
+ margin-right: 8px; }
+ menu menuitem label:dir(rtl), menu menuitem label:dir(ltr),
+ .menu menuitem label:dir(rtl),
+ .menu menuitem label:dir(ltr),
+ .context-menu menuitem label:dir(rtl),
+ .context-menu menuitem label:dir(ltr) {
+ color: inherit; }
+ menu > arrow,
+ .menu > arrow,
+ .context-menu > arrow {
+ min-height: 16px;
+ min-width: 16px;
+ padding: 4px;
+ border-radius: 0;
+ background-color: #EEEEEE;
+ color: rgba(255, 255, 255, 0.75); }
+ menu > arrow.top,
+ .menu > arrow.top,
+ .context-menu > arrow.top {
+ margin-top: -4px;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+ menu > arrow.bottom,
+ .menu > arrow.bottom,
+ .context-menu > arrow.bottom {
+ margin-bottom: -4px;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+ menu > arrow:hover,
+ .menu > arrow:hover,
+ .context-menu > arrow:hover {
+ background-image: image(alpha(currentColor, 0.15));
+ color: #FFFFFF; }
+ menu > arrow:disabled,
+ .menu > arrow:disabled,
+ .context-menu > arrow:disabled {
+ border-color: transparent;
+ background-color: transparent;
+ color: transparent; }
+ menu separator,
+ .menu separator,
+ .context-menu separator {
+ margin: 3px 0;
+ border: none; }
+
+menuitem accelerator {
+ color: alpha(currentColor, 0.6); }
+menuitem check:dir(ltr),
+menuitem radio:dir(ltr) {
+ margin-right: -8px;
+ margin-left: -16px; }
+menuitem check:dir(rtl),
+menuitem radio:dir(rtl) {
+ margin-right: -16px;
+ margin-left: -8px; }
+
+.csd.popup {
+ border-radius: 2px; }
+
+/***************
+ * Popovers *
+ ***************/
+popover.background {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ padding: 0;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23);
+ background-color: #FAFAFA; }
+ popover.background:backdrop {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); }
+ popover.background, .csd popover.background {
+ border-style: solid;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.2) rgba(0, 0, 0, 0.3);
+ border-radius: 3px; }
+ popover.background > list,
+ popover.background > .view,
+ popover.background > iconview,
+ popover.background > toolbar {
+ border-style: none;
+ box-shadow: none;
+ background-color: transparent; }
+ popover.background.menu button,
+ popover.background button.model {
+ min-height: 32px;
+ padding: 0 8px;
+ border-radius: 2px; }
+ popover.background.menu button:hover,
+ popover.background button.model:hover {
+ background-color: #666666;
+ color: #FFFFFF; }
+ popover.background.menu button:checked,
+ popover.background button.model:checked {
+ background-color: #666666;
+ color: #FFFFFF; }
+ popover.background separator {
+ margin: 4px 0; }
+ popover.background list separator {
+ margin: 0; }
+
+/*************
+ * Notebooks *
+ *************/
+notebook > header {
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.1);
+ background-color: #F5F5F5;
+ background-clip: border-box; }
+ notebook > header.top {
+ border-bottom-style: solid; }
+ notebook > header.top > tabs {
+ margin-bottom: -1px; }
+ notebook > header.top > tabs > tab:hover {
+ box-shadow: inset 0 -3px alpha(#505050, 0.3); }
+ notebook > header.top > tabs > tab:checked {
+ box-shadow: inset 0 -3px #505050; }
+ notebook > header.bottom {
+ border-top-style: solid; }
+ notebook > header.bottom > tabs {
+ margin-top: -1px; }
+ notebook > header.bottom > tabs > tab:hover {
+ box-shadow: inset 0 3px alpha(#505050, 0.3); }
+ notebook > header.bottom > tabs > tab:checked {
+ box-shadow: inset 0 3px #505050; }
+ notebook > header.left {
+ border-right-style: solid; }
+ notebook > header.left > tabs {
+ margin-right: -1px; }
+ notebook > header.left > tabs > tab:hover {
+ box-shadow: inset -3px 0 alpha(#505050, 0.3); }
+ notebook > header.left > tabs > tab:checked {
+ box-shadow: inset -3px 0 #505050; }
+ notebook > header.right {
+ border-left-style: solid; }
+ notebook > header.right > tabs {
+ margin-left: -1px; }
+ notebook > header.right > tabs > tab:hover {
+ box-shadow: inset 3px 0 alpha(#505050, 0.3); }
+ notebook > header.right > tabs > tab:checked {
+ box-shadow: inset 3px 0 #505050; }
+ notebook > header.top > tabs > arrow {
+ border-top-style: none; }
+ notebook > header.bottom > tabs > arrow {
+ border-bottom-style: none; }
+ notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow {
+ padding-left: 4px;
+ padding-right: 4px; }
+ notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down {
+ margin-left: -8px;
+ -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+ notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up {
+ margin-right: -8px;
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+ notebook > header.left > tabs > arrow {
+ border-left-style: none; }
+ notebook > header.right > tabs > arrow {
+ border-right-style: none; }
+ notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow {
+ padding-top: 4px;
+ padding-bottom: 4px; }
+ notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down {
+ margin-top: -8px;
+ -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+ notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up {
+ margin-bottom: -8px;
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+ notebook > header > tabs > arrow {
+ min-height: 16px;
+ min-width: 16px;
+ border-radius: 0; }
+ notebook > header tab {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ min-height: 24px;
+ min-width: 24px;
+ padding: 6px 12px;
+ outline-offset: -6px;
+ border-width: 1px;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.6);
+ font-weight: 500; }
+ notebook > header tab:hover {
+ color: rgba(0, 0, 0, 0.8); }
+ notebook > header tab:hover.reorderable-page {
+ border-color: rgba(0, 0, 0, 0.1);
+ background-color: #fafafa; }
+ notebook > header tab:disabled {
+ color: rgba(0, 0, 0, 0.24); }
+ notebook > header tab:checked {
+ animation: tab_ripple_effect 0.9s cubic-bezier(0, 0, 0.2, 1);
+ color: rgba(0, 0, 0, 0.8); }
+ notebook > header tab:checked:disabled {
+ color: rgba(0, 0, 0, 0.32); }
+ notebook > header tab:checked.reorderable-page {
+ border-color: rgba(0, 0, 0, 0.1);
+ background-color: #FFFFFF; }
+ notebook > header tab button.flat:last-child {
+ margin-left: 6px;
+ margin-right: -6px; }
+ notebook > header tab button.flat:first-child {
+ margin-left: -6px;
+ margin-right: 6px; }
+ notebook > header.top tabs, notebook > header.bottom tabs {
+ padding-left: 8px;
+ padding-right: 8px; }
+ notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child {
+ margin-left: 0; }
+ notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child {
+ margin-right: 0; }
+ notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page {
+ margin: 0 -1px;
+ border-style: none solid; }
+ notebook > header.left tabs, notebook > header.right tabs {
+ padding-top: 8px;
+ padding-bottom: 8px; }
+ notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child {
+ margin-top: 0; }
+ notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child {
+ margin-bottom: 0; }
+ notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page {
+ margin: -1px 0;
+ border-style: solid none; }
+notebook > stack:not(:only-child) {
+ background-color: #FFFFFF; }
+
+/**************
+ * Scrollbars *
+ **************/
+scrollbar {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ background-color: #FFFFFF;
+ background-clip: padding-box; }
+ * {
+ -GtkScrollbar-has-backward-stepper: false;
+ -GtkScrollbar-has-forward-stepper: false; }
+ scrollbar.top {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
+ scrollbar.bottom {
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+ scrollbar.left {
+ border-right: 1px solid rgba(0, 0, 0, 0.1); }
+ scrollbar.right {
+ border-left: 1px solid rgba(0, 0, 0, 0.1); }
+ scrollbar slider {
+ transition: all 0.2s cubic-bezier(0, 0, 0.2, 1), margin 0, border-width 0;
+ min-width: 8px;
+ min-height: 8px;
+ border: 4px solid transparent;
+ border-radius: 100px;
+ background-clip: padding-box;
+ background-color: rgba(0, 0, 0, 0.48); }
+ scrollbar slider:hover {
+ background-color: rgba(0, 0, 0, 0.6); }
+ scrollbar slider:active {
+ background-color: rgba(0, 0, 0, 0.8); }
+ scrollbar slider:disabled {
+ background-color: rgba(0, 0, 0, 0.192); }
+ scrollbar.fine-tune slider {
+ transition: all 0.2s cubic-bezier(0, 0, 0.2, 1), margin 0, border-width 0, min-width 0, min-height 0;
+ min-width: 4px;
+ min-height: 4px; }
+ scrollbar.fine-tune.horizontal slider {
+ margin: 2px 0; }
+ scrollbar.fine-tune.vertical slider {
+ margin: 0 2px; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering) {
+ border-color: transparent;
+ background-color: transparent; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider {
+ min-width: 4px;
+ min-height: 4px;
+ margin: 3px;
+ border: 1px solid rgba(255, 255, 255, 0.3); }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering) button {
+ min-width: 4px;
+ min-height: 4px;
+ margin: 3px;
+ border: 1px solid rgba(255, 255, 255, 0.3);
+ border-radius: 2px;
+ background-color: rgba(0, 0, 0, 0.48);
+ background-clip: padding-box;
+ -gtk-icon-source: none; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering) button:disabled {
+ background-color: rgba(0, 0, 0, 0.192); }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider {
+ min-width: 24px; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button {
+ min-width: 8px; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider {
+ min-height: 24px; }
+ scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button {
+ min-height: 8px; }
+ scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering {
+ background-color: rgba(255, 255, 255, 0.9); }
+ scrollbar.horizontal slider {
+ min-width: 24px; }
+ scrollbar.vertical slider {
+ min-height: 24px; }
+ scrollbar button {
+ min-width: 16px;
+ min-height: 16px;
+ padding: 0;
+ border-radius: 0; }
+ scrollbar.vertical button.down {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+ scrollbar.vertical button.up {
+ -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+ scrollbar.horizontal button.down {
+ -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+ scrollbar.horizontal button.up {
+ -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+/**********
+ * Switch *
+ **********/
+switch {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ margin: 6px 0;
+ border: 4px solid transparent;
+ border-radius: 100px;
+ background-color: alpha(currentColor, 0.3);
+ background-clip: padding-box;
+ font-size: 0; }
+ switch:disabled {
+ color: alpha(currentColor, 0.4); }
+ switch:checked {
+ background-color: rgba(102, 102, 102, 0.5); }
+ switch:checked:disabled {
+ background-color: rgba(102, 102, 102, 0.2);
+ color: rgba(0, 0, 0, 0.32); }
+ switch slider {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-image: none;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #FFFFFF;
+ color: rgba(0, 0, 0, 0.8);
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1), margin 0;
+ min-width: 24px;
+ min-height: 24px;
+ margin: -4px 0 -4px -4px;
+ border-radius: 100px;
+ -gtk-outline-radius: 100px; }
+ switch:hover slider {
+ border-image: none;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ switch:checked slider {
+ animation: needs_attention 0.3s cubic-bezier(0, 0, 0.2, 1);
+ margin: -4px -4px -4px 0;
+ background-color: #666666;
+ color: #FFFFFF; }
+ switch:disabled slider {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #fafafa;
+ color: rgba(0, 0, 0, 0.32); }
+ switch:checked:disabled slider {
+ animation: none; }
+
+/*************************
+ * Check and Radio items *
+ *************************/
+.view.content-view.check:not(list), iconview.content-view.check:not(list) {
+ -gtk-icon-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ -gtk-icon-source: -gtk-scaled(url("assets/checkbox-selectionmode.png"), url("assets/checkbox-selectionmode@2.png"));
+ margin: 8px;
+ background-color: transparent; }
+
+.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list) {
+ -gtk-icon-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ -gtk-icon-source: -gtk-scaled(url("assets/checkbox-hover-selectionmode.png"), url("assets/checkbox-hover-selectionmode@2.png"));
+ margin: 8px;
+ background-color: transparent; }
+
+.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list) {
+ -gtk-icon-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-selectionmode.png"), url("assets/checkbox-checked-selectionmode@2.png"));
+ margin: 8px;
+ background-color: transparent; }
+
+.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list) {
+ -gtk-icon-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-hover-selectionmode.png"), url("assets/checkbox-checked-hover-selectionmode@2.png"));
+ margin: 8px;
+ background-color: transparent; }
+
+checkbutton.text-button,
+radiobutton.text-button {
+ padding: 2px;
+ outline-offset: 0; }
+ checkbutton.text-button label:not(:only-child),
+ radiobutton.text-button label:not(:only-child) {
+ margin: 0 4px; }
+
+check,
+radio {
+ min-height: 24px;
+ min-width: 24px;
+ margin: -12px;
+ padding: 12px; }
+ check:checked, check:indeterminate,
+ radio:checked,
+ radio:indeterminate {
+ color: #666666; }
+ check:checked:disabled, check:indeterminate:disabled,
+ radio:checked:disabled,
+ radio:indeterminate:disabled {
+ color: rgba(102, 102, 102, 0.4); }
+ row check:not(:checked):not(:indeterminate), row
+ radio:not(:checked):not(:indeterminate) {
+ color: alpha(currentColor, 0.75); }
+ row check:not(:checked):not(:indeterminate):hover, row check:not(:checked):not(:indeterminate):active, row
+ radio:not(:checked):not(:indeterminate):hover, row
+ radio:not(:checked):not(:indeterminate):active {
+ color: currentColor; }
+ row check:not(:checked):not(:indeterminate):disabled, row
+ radio:not(:checked):not(:indeterminate):disabled {
+ color: alpha(currentColor, 0.3); }
+ menu menuitem check, menu menuitem
+ radio {
+ transition: none;
+ margin: -16px; }
+ menu menuitem check:not(:checked):not(:indeterminate), menu menuitem
+ radio:not(:checked):not(:indeterminate) {
+ color: alpha(currentColor, 0.6); }
+ menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem
+ radio, menu menuitem
+ radio:hover, menu menuitem
+ radio:disabled {
+ background-image: none; }
+
+check {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/check-unchecked-symbolic.svg")), -gtk-recolor(url("assets/check-unchecked-symbolic.png"))); }
+check:checked {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/check-checked-symbolic.svg")), -gtk-recolor(url("assets/check-checked-symbolic.png"))); }
+check:indeterminate {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/check-dash-symbolic.svg")), -gtk-recolor(url("assets/check-dash-symbolic.png"))); }
+
+radio {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.001, to(#666666), to(transparent)) 24/24px; }
+ radio {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/radio-unchecked-symbolic.svg")), -gtk-recolor(url("assets/radio-unchecked-symbolic.png"))); }
+ radio:indeterminate {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/radio-dash-symbolic.svg")), -gtk-recolor(url("assets/radio-dash-symbolic.png"))); }
+ radio:checked {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.10417, to(#666666), to(transparent)) 24/24px; }
+ radio:checked:disabled {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.10417, to(rgba(102, 102, 102, 0.4)), to(transparent)) 24/24px; }
+ radio:indeterminate:checked {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.001, to(#666666), to(transparent)) 24/24px; }
+
+treeview.view check:selected,
+treeview.view check:selected:focus,
+row check:selected,
+row check:selected:focus,
+row.activatable check:selected,
+.view check:selected,
+iconview check:selected,
+treeview.view header button check:selected,
+.budgie-menu button check:selected,
+row.activatable check:selected:focus,
+.view check:selected:focus,
+iconview check:selected:focus,
+treeview.view header button check:selected:focus,
+.budgie-menu button check:selected:focus {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:active,
+treeview.view check:selected:focus:active,
+row check:selected:active,
+row check:selected:focus:active,
+row.activatable check:selected:active,
+.view check:selected:active,
+iconview check:selected:active,
+treeview.view header button check:selected:active,
+.budgie-menu button check:selected:active,
+row.activatable check:selected:focus:active,
+.view check:selected:focus:active,
+iconview check:selected:focus:active,
+treeview.view header button check:selected:focus:active,
+.budgie-menu button check:selected:focus:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:backdrop,
+treeview.view check:selected:focus:backdrop,
+row check:selected:backdrop,
+row check:selected:focus:backdrop,
+row.activatable check:selected:backdrop,
+.view check:selected:backdrop,
+iconview check:selected:backdrop,
+treeview.view header button check:selected:backdrop,
+.budgie-menu button check:selected:backdrop,
+row.activatable check:selected:focus:backdrop,
+.view check:selected:focus:backdrop,
+iconview check:selected:focus:backdrop,
+treeview.view header button check:selected:focus:backdrop,
+.budgie-menu button check:selected:focus:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:indeterminate,
+treeview.view check:selected:focus:indeterminate,
+row check:selected:indeterminate,
+row check:selected:focus:indeterminate,
+row.activatable check:selected:indeterminate,
+.view check:selected:indeterminate,
+iconview check:selected:indeterminate,
+treeview.view header button check:selected:indeterminate,
+.budgie-menu button check:selected:indeterminate,
+row.activatable check:selected:focus:indeterminate,
+.view check:selected:focus:indeterminate,
+iconview check:selected:focus:indeterminate,
+treeview.view header button check:selected:focus:indeterminate,
+.budgie-menu button check:selected:focus:indeterminate {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:indeterminate:backdrop,
+treeview.view check:selected:focus:indeterminate:backdrop,
+row check:selected:indeterminate:backdrop,
+row check:selected:focus:indeterminate:backdrop,
+row.activatable check:selected:indeterminate:backdrop,
+.view check:selected:indeterminate:backdrop,
+iconview check:selected:indeterminate:backdrop,
+treeview.view header button check:selected:indeterminate:backdrop,
+.budgie-menu button check:selected:indeterminate:backdrop,
+row.activatable check:selected:focus:indeterminate:backdrop,
+.view check:selected:focus:indeterminate:backdrop,
+iconview check:selected:focus:indeterminate:backdrop,
+treeview.view header button check:selected:focus:indeterminate:backdrop,
+.budgie-menu button check:selected:focus:indeterminate:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:indeterminate:active,
+treeview.view check:selected:focus:indeterminate:active,
+row check:selected:indeterminate:active,
+row check:selected:focus:indeterminate:active,
+row.activatable check:selected:indeterminate:active,
+.view check:selected:indeterminate:active,
+iconview check:selected:indeterminate:active,
+treeview.view header button check:selected:indeterminate:active,
+.budgie-menu button check:selected:indeterminate:active,
+row.activatable check:selected:focus:indeterminate:active,
+.view check:selected:focus:indeterminate:active,
+iconview check:selected:focus:indeterminate:active,
+treeview.view header button check:selected:focus:indeterminate:active,
+.budgie-menu button check:selected:focus:indeterminate:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:checked,
+treeview.view check:selected:focus:checked,
+row check:selected:checked,
+row check:selected:focus:checked,
+row.activatable check:selected:checked,
+.view check:selected:checked,
+iconview check:selected:checked,
+treeview.view header button check:selected:checked,
+.budgie-menu button check:selected:checked,
+row.activatable check:selected:focus:checked,
+.view check:selected:focus:checked,
+iconview check:selected:focus:checked,
+treeview.view header button check:selected:focus:checked,
+.budgie-menu button check:selected:focus:checked {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:checked:backdrop,
+treeview.view check:selected:focus:checked:backdrop,
+row check:selected:checked:backdrop,
+row check:selected:focus:checked:backdrop,
+row.activatable check:selected:checked:backdrop,
+.view check:selected:checked:backdrop,
+iconview check:selected:checked:backdrop,
+treeview.view header button check:selected:checked:backdrop,
+.budgie-menu button check:selected:checked:backdrop,
+row.activatable check:selected:focus:checked:backdrop,
+.view check:selected:focus:checked:backdrop,
+iconview check:selected:focus:checked:backdrop,
+treeview.view header button check:selected:focus:checked:backdrop,
+.budgie-menu button check:selected:focus:checked:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view check:selected:checked:active,
+treeview.view check:selected:focus:checked:active,
+row check:selected:checked:active,
+row check:selected:focus:checked:active,
+row.activatable check:selected:checked:active,
+.view check:selected:checked:active,
+iconview check:selected:checked:active,
+treeview.view header button check:selected:checked:active,
+.budgie-menu button check:selected:checked:active,
+row.activatable check:selected:focus:checked:active,
+.view check:selected:focus:checked:active,
+iconview check:selected:focus:checked:active,
+treeview.view header button check:selected:focus:checked:active,
+.budgie-menu button check:selected:focus:checked:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected,
+treeview.view radio:selected:focus,
+row radio:selected,
+row radio:selected:focus,
+row.activatable radio:selected,
+.view radio:selected,
+iconview radio:selected,
+treeview.view header button radio:selected,
+.budgie-menu button radio:selected,
+row.activatable radio:selected:focus,
+.view radio:selected:focus,
+iconview radio:selected:focus,
+treeview.view header button radio:selected:focus,
+.budgie-menu button radio:selected:focus {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:active,
+treeview.view radio:selected:focus:active,
+row radio:selected:active,
+row radio:selected:focus:active,
+row.activatable radio:selected:active,
+.view radio:selected:active,
+iconview radio:selected:active,
+treeview.view header button radio:selected:active,
+.budgie-menu button radio:selected:active,
+row.activatable radio:selected:focus:active,
+.view radio:selected:focus:active,
+iconview radio:selected:focus:active,
+treeview.view header button radio:selected:focus:active,
+.budgie-menu button radio:selected:focus:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:backdrop,
+treeview.view radio:selected:focus:backdrop,
+row radio:selected:backdrop,
+row radio:selected:focus:backdrop,
+row.activatable radio:selected:backdrop,
+.view radio:selected:backdrop,
+iconview radio:selected:backdrop,
+treeview.view header button radio:selected:backdrop,
+.budgie-menu button radio:selected:backdrop,
+row.activatable radio:selected:focus:backdrop,
+.view radio:selected:focus:backdrop,
+iconview radio:selected:focus:backdrop,
+treeview.view header button radio:selected:focus:backdrop,
+.budgie-menu button radio:selected:focus:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:indeterminate,
+treeview.view radio:selected:focus:indeterminate,
+row radio:selected:indeterminate,
+row radio:selected:focus:indeterminate,
+row.activatable radio:selected:indeterminate,
+.view radio:selected:indeterminate,
+iconview radio:selected:indeterminate,
+treeview.view header button radio:selected:indeterminate,
+.budgie-menu button radio:selected:indeterminate,
+row.activatable radio:selected:focus:indeterminate,
+.view radio:selected:focus:indeterminate,
+iconview radio:selected:focus:indeterminate,
+treeview.view header button radio:selected:focus:indeterminate,
+.budgie-menu button radio:selected:focus:indeterminate {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:indeterminate:backdrop,
+treeview.view radio:selected:focus:indeterminate:backdrop,
+row radio:selected:indeterminate:backdrop,
+row radio:selected:focus:indeterminate:backdrop,
+row.activatable radio:selected:indeterminate:backdrop,
+.view radio:selected:indeterminate:backdrop,
+iconview radio:selected:indeterminate:backdrop,
+treeview.view header button radio:selected:indeterminate:backdrop,
+.budgie-menu button radio:selected:indeterminate:backdrop,
+row.activatable radio:selected:focus:indeterminate:backdrop,
+.view radio:selected:focus:indeterminate:backdrop,
+iconview radio:selected:focus:indeterminate:backdrop,
+treeview.view header button radio:selected:focus:indeterminate:backdrop,
+.budgie-menu button radio:selected:focus:indeterminate:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:indeterminate:active,
+treeview.view radio:selected:focus:indeterminate:active,
+row radio:selected:indeterminate:active,
+row radio:selected:focus:indeterminate:active,
+row.activatable radio:selected:indeterminate:active,
+.view radio:selected:indeterminate:active,
+iconview radio:selected:indeterminate:active,
+treeview.view header button radio:selected:indeterminate:active,
+.budgie-menu button radio:selected:indeterminate:active,
+row.activatable radio:selected:focus:indeterminate:active,
+.view radio:selected:focus:indeterminate:active,
+iconview radio:selected:focus:indeterminate:active,
+treeview.view header button radio:selected:focus:indeterminate:active,
+.budgie-menu button radio:selected:focus:indeterminate:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:checked,
+treeview.view radio:selected:focus:checked,
+row radio:selected:checked,
+row radio:selected:focus:checked,
+row.activatable radio:selected:checked,
+.view radio:selected:checked,
+iconview radio:selected:checked,
+treeview.view header button radio:selected:checked,
+.budgie-menu button radio:selected:checked,
+row.activatable radio:selected:focus:checked,
+.view radio:selected:focus:checked,
+iconview radio:selected:focus:checked,
+treeview.view header button radio:selected:focus:checked,
+.budgie-menu button radio:selected:focus:checked {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:checked:backdrop,
+treeview.view radio:selected:focus:checked:backdrop,
+row radio:selected:checked:backdrop,
+row radio:selected:focus:checked:backdrop,
+row.activatable radio:selected:checked:backdrop,
+.view radio:selected:checked:backdrop,
+iconview radio:selected:checked:backdrop,
+treeview.view header button radio:selected:checked:backdrop,
+.budgie-menu button radio:selected:checked:backdrop,
+row.activatable radio:selected:focus:checked:backdrop,
+.view radio:selected:focus:checked:backdrop,
+iconview radio:selected:focus:checked:backdrop,
+treeview.view header button radio:selected:focus:checked:backdrop,
+.budgie-menu button radio:selected:focus:checked:backdrop {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+treeview.view radio:selected:checked:active,
+treeview.view radio:selected:focus:checked:active,
+row radio:selected:checked:active,
+row radio:selected:focus:checked:active,
+row.activatable radio:selected:checked:active,
+.view radio:selected:checked:active,
+iconview radio:selected:checked:active,
+treeview.view header button radio:selected:checked:active,
+.budgie-menu button radio:selected:checked:active,
+row.activatable radio:selected:focus:checked:active,
+.view radio:selected:focus:checked:active,
+iconview radio:selected:focus:checked:active,
+treeview.view header button radio:selected:focus:checked:active,
+.budgie-menu button radio:selected:focus:checked:active {
+ color: #FFFFFF;
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check,
+menu menuitem check {
+ color: rgba(0, 0, 0, 0.8);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check:indeterminate,
+menu menuitem check:indeterminate {
+ color: rgba(0, 0, 0, 0.8);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check:checked,
+menu menuitem check:checked {
+ color: rgba(0, 0, 0, 0.8);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check:hover,
+menu menuitem check:hover {
+ color: rgba(0, 0, 0, 0.6);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check:indeterminate:hover,
+menu menuitem check:indeterminate:hover {
+ color: rgba(0, 0, 0, 0.6);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.check:checked:hover,
+menu menuitem check:checked:hover {
+ color: rgba(0, 0, 0, 0.6);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio,
+menu menuitem radio {
+ color: rgba(0, 0, 0, 0.8);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio:indeterminate,
+menu menuitem radio:indeterminate {
+ color: rgba(0, 0, 0, 0.8);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio:checked,
+menu menuitem radio:checked {
+ color: rgba(0, 0, 0, 0.8);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio:hover,
+menu menuitem radio:hover {
+ color: rgba(0, 0, 0, 0.6);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio:indeterminate:hover,
+menu menuitem radio:indeterminate:hover {
+ color: rgba(0, 0, 0, 0.6);
+ -gtk-icon-shadow: none; }
+
+menu menuitem.radio:checked:hover,
+menu menuitem radio:checked:hover {
+ color: rgba(0, 0, 0, 0.6);
+ -gtk-icon-shadow: none; }
+
+@keyframes check_check {
+ from {
+ -gtk-icon-transform: rotate(90deg); }
+ to {
+ -gtk-icon-transform: unset; } }
+@keyframes check_radio {
+ from {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.001, to(#666666), to(transparent)) 24/24px; }
+ to {
+ border-image: -gtk-gradient(radial, center center, 0, center center, 0.10417, to(#666666), to(transparent)) 24/24px; } }
+@keyframes check_indeterminate {
+ from {
+ -gtk-icon-transform: unset; }
+ 50% {
+ -gtk-icon-transform: scale(0, 1); }
+ to {
+ -gtk-icon-transform: unset; } }
+modelbutton.flat check:not(:indeterminate):checked,
+.menuitem.button.flat check:not(:indeterminate):checked,
+check:not(:indeterminate):checked {
+ animation: check_check 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
+
+check:not(:indeterminate):checked:active {
+ animation: check_check 0.3s cubic-bezier(0.4, 0, 0.2, 1), flat_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1) forwards; }
+
+modelbutton.flat check:indeterminate:checked, modelbutton.flat radio:indeterminate:checked,
+.menuitem.button.flat check:indeterminate:checked,
+.menuitem.button.flat radio:indeterminate:checked,
+check:indeterminate:checked, radio:indeterminate:checked {
+ animation: check_indeterminate 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
+
+check:indeterminate:checked:active, radio:indeterminate:checked:active {
+ animation: check_indeterminate 0.3s cubic-bezier(0.4, 0, 0.2, 1), flat_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1) forwards; }
+
+menu menuitem check:not(:indeterminate):checked,
+menu menuitem radio:not(:indeterminate):checked,
+menu menuitem check:indeterminate:checked,
+menu menuitem radio:indeterminate:checked {
+ animation: none; }
+
+treeview.view check,
+treeview.view radio {
+ padding: 0; }
+ treeview.view check:hover,
+ treeview.view radio:hover {
+ box-shadow: inset 0 0 0 9999px alpha(rgba(0, 0, 0, 0.8), 0.05);
+ background-image: none; }
+ treeview.view check:hover:disabled,
+ treeview.view radio:hover:disabled {
+ box-shadow: none; }
+ treeview.view check:hover:selected,
+ treeview.view radio:hover:selected {
+ box-shadow: inset 0 0 0 9999px alpha(#FFFFFF, 0.05); }
+ treeview.view check,
+ treeview.view radio {
+ color: rgba(0, 0, 0, 0.6); }
+ treeview.view check:hover, treeview.view check:active,
+ treeview.view radio:hover,
+ treeview.view radio:active {
+ color: rgba(0, 0, 0, 0.8); }
+ treeview.view check:disabled,
+ treeview.view radio:disabled {
+ color: rgba(0, 0, 0, 0.24); }
+ treeview.view check:checked, treeview.view check:indeterminate,
+ treeview.view radio:checked,
+ treeview.view radio:indeterminate {
+ color: #666666; }
+ treeview.view check:checked:disabled, treeview.view check:indeterminate:disabled,
+ treeview.view radio:checked:disabled,
+ treeview.view radio:indeterminate:disabled {
+ color: rgba(102, 102, 102, 0.4); }
+
+treeview.view radio:checked {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/radio-checked-symbolic.svg")), -gtk-recolor(url("assets/radio-checked-symbolic.png")));
+ border-image: none; }
+
+/************
+ * GtkScale *
+ ************/
+scale {
+ min-height: 12px;
+ min-width: 12px;
+ padding: 12px; }
+ scale * {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1); }
+ scale slider {
+ min-height: 24px;
+ min-width: 24px;
+ margin: -10px; }
+ scale trough {
+ outline-offset: 2px;
+ background-color: alpha(currentColor, 0.3); }
+ scale trough:disabled {
+ color: rgba(0, 0, 0, 0.32); }
+ scale highlight {
+ background-color: #666666; }
+ scale highlight:disabled {
+ background-color: transparent; }
+ scale fill {
+ background-color: alpha(currentColor, 0.3); }
+ scale fill:disabled {
+ background-color: transparent; }
+ scale slider {
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: calc(100% - 8px); }
+ scale slider {
+ background-image: -gtk-scaled(url("assets/slider.png"), url("assets/slider@2.png")); }
+ scale slider:disabled {
+ background-image: -gtk-scaled(url("assets/slider-insensitive.png"), url("assets/slider-insensitive@2.png")); }
+ scale slider:hover {
+ background-size: calc(100% - 4px); }
+ scale slider:active {
+ background-size: calc(100% - 0px); }
+ scale.fine-tune slider {
+ background-size: calc(100% - 12px); }
+ scale value {
+ color: alpha(currentColor, 0.6); }
+ scale marks {
+ color: alpha(currentColor, 0.3); }
+ scale marks.top {
+ margin-bottom: 8px;
+ margin-top: -16px; }
+ scale marks.bottom {
+ margin-top: 8px;
+ margin-bottom: -16px; }
+ scale marks.top {
+ margin-right: 8px;
+ margin-left: -16px; }
+ scale marks.bottom {
+ margin-left: 8px;
+ margin-right: -16px; }
+ scale.horizontal indicator {
+ min-height: 8px;
+ min-width: 1px; }
+ scale.vertical indicator {
+ min-height: 1px;
+ min-width: 8px; }
+ scale.horizontal.marks-before:not(.marks-after) slider {
+ min-height: 30px;
+ min-width: 24px;
+ margin-top: -16px;
+ background-position: center calc(100% - 4px); }
+ scale.horizontal.marks-before:not(.marks-after) slider {
+ background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); }
+ scale.horizontal.marks-before:not(.marks-after) slider:disabled {
+ background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive.png"), url("assets/slider-horz-scale-has-marks-above-insensitive@2.png")); }
+ scale.horizontal.marks-before:not(.marks-after) slider:hover {
+ background-position: center calc(100% - 2px); }
+ scale.horizontal.marks-before:not(.marks-after) slider:active {
+ background-position: center calc(100% - 0px); }
+ scale.horizontal.marks-before:not(.marks-after).fine-tune slider {
+ background-position: center calc(100% - 6px); }
+ scale.horizontal.marks-after:not(.marks-before) slider {
+ min-height: 30px;
+ min-width: 24px;
+ margin-bottom: -16px;
+ background-position: center calc(4px); }
+ scale.horizontal.marks-after:not(.marks-before) slider {
+ background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); }
+ scale.horizontal.marks-after:not(.marks-before) slider:disabled {
+ background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive.png"), url("assets/slider-horz-scale-has-marks-below-insensitive@2.png")); }
+ scale.horizontal.marks-after:not(.marks-before) slider:hover {
+ background-position: center calc(2px); }
+ scale.horizontal.marks-after:not(.marks-before) slider:active {
+ background-position: center calc(0px); }
+ scale.horizontal.marks-after:not(.marks-before).fine-tune slider {
+ background-position: center calc(6px); }
+ scale.vertical.marks-before:not(.marks-after) slider {
+ min-height: 24px;
+ min-width: 30px;
+ margin-left: -16px;
+ background-position: calc(4px) center; }
+ scale.vertical.marks-before:not(.marks-after) slider {
+ background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); }
+ scale.vertical.marks-before:not(.marks-after) slider:disabled {
+ background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive.png"), url("assets/slider-vert-scale-has-marks-above-insensitive@2.png")); }
+ scale.vertical.marks-before:not(.marks-after) slider:hover {
+ background-position: calc(2px) center; }
+ scale.vertical.marks-before:not(.marks-after) slider:active {
+ background-position: calc(0px) center; }
+ scale.vertical.marks-before:not(.marks-after).fine-tune slider {
+ background-position: calc(6px) center; }
+ scale.vertical.marks-after:not(.marks-before) slider {
+ min-height: 24px;
+ min-width: 30px;
+ margin-right: -16px;
+ background-position: calc(100% - 4px) center; }
+ scale.vertical.marks-after:not(.marks-before) slider {
+ background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); }
+ scale.vertical.marks-after:not(.marks-before) slider:disabled {
+ background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive.png"), url("assets/slider-vert-scale-has-marks-below-insensitive@2.png")); }
+ scale.vertical.marks-after:not(.marks-before) slider:hover {
+ background-position: calc(100% - 2px) center; }
+ scale.vertical.marks-after:not(.marks-before) slider:active {
+ background-position: calc(100% - 0px) center; }
+ scale.vertical.marks-after:not(.marks-before).fine-tune slider {
+ background-position: calc(100% - 6px) center; }
+ scale.color {
+ min-height: 0;
+ min-width: 0; }
+ scale.color.horizontal {
+ padding: 0 0 12px 0; }
+ scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl) {
+ margin-bottom: -12px;
+ margin-top: -2px; }
+ scale.color.vertical:dir(ltr) {
+ padding: 0 0 0 12px; }
+ scale.color.vertical:dir(ltr) slider {
+ margin-left: -12px;
+ margin-right: -2px; }
+ scale.color.vertical:dir(rtl) {
+ padding: 0 12px 0 0; }
+ scale.color.vertical:dir(rtl) slider {
+ margin-right: -12px;
+ margin-left: -2px; }
+
+/*****************
+ * Progress bars *
+ *****************/
+progressbar {
+ color: rgba(0, 0, 0, 0.48);
+ font-size: smaller; }
+ progressbar.horizontal trough,
+ progressbar.horizontal progress {
+ min-height: 4px; }
+ progressbar.vertical trough,
+ progressbar.vertical progress {
+ min-width: 4px; }
+ progressbar trough {
+ background-color: rgba(68, 68, 68, 0.3); }
+ progressbar progress {
+ background-color: #444444; }
+
+/*************
+ * Level Bar *
+ *************/
+levelbar block {
+ min-width: 36px;
+ min-height: 4px; }
+levelbar.vertical block {
+ min-width: 4px;
+ min-height: 36px; }
+levelbar trough {
+ padding: 2px;
+ border-radius: 2px;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-image: none;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #FFFFFF;
+ color: rgba(0, 0, 0, 0.8); }
+ levelbar trough:disabled {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
+ background-color: #fafafa;
+ color: rgba(0, 0, 0, 0.32); }
+levelbar.horizontal.discrete block {
+ margin: 0 1px; }
+levelbar.vertical.discrete block {
+ margin: 1px 0; }
+levelbar.horizontal.discrete trough {
+ padding: 2px 1px; }
+levelbar.vertical.discrete trough {
+ padding: 1px 2px; }
+levelbar block.low {
+ background-color: #FF6D00; }
+levelbar block.high, levelbar block:not(.empty) {
+ background-color: #666666; }
+levelbar block.full {
+ background-color: #00C853; }
+levelbar block.empty {
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(0, 0, 0, 0.32); }
+
+/****************
+ * Print dialog *
+*****************/
+printdialog paper {
+ padding: 0;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ background: #FFFFFF;
+ color: rgba(0, 0, 0, 0.8); }
+printdialog .dialog-action-box {
+ margin: 12px; }
+
+/**********
+ * Frames *
+ **********/
+frame > border,
+.frame {
+ margin: 0;
+ padding: 0;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ border-radius: 0;
+ box-shadow: none; }
+ frame > border.flat,
+ .frame.flat {
+ border-style: none; }
+
+actionbar > revealer > box {
+ padding: 6px;
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+scrolledwindow viewport.frame {
+ border-style: none; }
+overshoot.top {
+ background-image: -gtk-gradient(radial, center top, 0, center top, 0.75, to(rgba(136, 136, 136, 0.3)), to(transparent));
+ background-repeat: no-repeat;
+ background-position: center top;
+ background-color: transparent;
+ border: none;
+ box-shadow: none; }
+overshoot.bottom {
+ background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.75, to(rgba(136, 136, 136, 0.3)), to(transparent));
+ background-repeat: no-repeat;
+ background-position: center bottom;
+ background-color: transparent;
+ border: none;
+ box-shadow: none; }
+overshoot.left {
+ background-image: -gtk-gradient(radial, left center, 0, left center, 0.75, to(rgba(136, 136, 136, 0.3)), to(transparent));
+ background-repeat: no-repeat;
+ background-position: left center;
+ background-color: transparent;
+ border: none;
+ box-shadow: none; }
+overshoot.right {
+ background-image: -gtk-gradient(radial, right center, 0, right center, 0.75, to(rgba(136, 136, 136, 0.3)), to(transparent));
+ background-repeat: no-repeat;
+ background-position: right center;
+ background-color: transparent;
+ border: none;
+ box-shadow: none; }
+undershoot.top {
+ background-color: transparent;
+ background-image: linear-gradient(to left, rgba(255, 255, 255, 0.3) 50%, rgba(0, 0, 0, 0.24) 50%);
+ padding-top: 1px;
+ background-size: 12px 1px;
+ background-repeat: repeat-x;
+ background-origin: content-box;
+ background-position: left top; }
+undershoot.bottom {
+ background-color: transparent;
+ background-image: linear-gradient(to left, rgba(255, 255, 255, 0.3) 50%, rgba(0, 0, 0, 0.24) 50%);
+ padding-bottom: 1px;
+ background-size: 12px 1px;
+ background-repeat: repeat-x;
+ background-origin: content-box;
+ background-position: left bottom; }
+undershoot.left {
+ background-color: transparent;
+ background-image: linear-gradient(to top, rgba(255, 255, 255, 0.3) 50%, rgba(0, 0, 0, 0.24) 50%);
+ padding-left: 1px;
+ background-size: 1px 12px;
+ background-repeat: repeat-y;
+ background-origin: content-box;
+ background-position: left top; }
+undershoot.right {
+ background-color: transparent;
+ background-image: linear-gradient(to top, rgba(255, 255, 255, 0.3) 50%, rgba(0, 0, 0, 0.24) 50%);
+ padding-right: 1px;
+ background-size: 1px 12px;
+ background-repeat: repeat-y;
+ background-origin: content-box;
+ background-position: right top; }
+junction {
+ border-style: solid none none solid;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.1);
+ background-color: #FFFFFF; }
+ junction:dir(rtl) {
+ border-style: solid solid none none; }
+
+separator {
+ min-width: 1px;
+ min-height: 1px;
+ background: rgba(0, 0, 0, 0.1); }
+
+/*********
+ * Lists *
+ *********/
+list {
+ border-color: rgba(0, 0, 0, 0.1);
+ background-color: #FFFFFF; }
+ list row {
+ padding: 2px; }
+
+row.activatable, .view, iconview, treeview.view header button, .budgie-menu button {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), background-color 0, color 0;
+ box-shadow: inset 0 0 0 9999px alpha(currentColor, 0);
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0)); }
+ row.activatable:hover, .view:hover, iconview:hover, treeview.view header button:hover, .budgie-menu button:hover {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), background-color 0, color 0, box-shadow 0;
+ box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.05);
+ background-image: radial-gradient(circle farthest-corner at center, alpha(currentColor, 0) 100%, transparent 0%), image(alpha(currentColor, 0)); }
+ row.activatable.has-open-popup, .has-open-popup.view, iconview.has-open-popup, treeview.view header button.has-open-popup, .budgie-menu button.has-open-popup, row.activatable:active, .view:active, iconview:active, treeview.view header button:active, .budgie-menu button:active {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), background-color 0, color 0, background-image 0;
+ animation: row_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
+ box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.15); }
+
+/*********************
+ * App Notifications *
+ *********************/
+.app-notification {
+ margin: 8px; }
+ .app-notification.frame,
+ .app-notification border {
+ border-style: none; }
+
+/*************
+ * Expanders *
+ *************/
+expander arrow {
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
+ min-width: 16px;
+ min-height: 16px;
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+ -gtk-icon-transform: rotate(-90deg);
+ color: rgba(0, 0, 0, 0.6); }
+ expander arrow:dir(rtl) {
+ -gtk-icon-transform: rotate(90deg); }
+ expander arrow:checked {
+ -gtk-icon-transform: unset; }
+ expander arrow:hover, expander arrow:active {
+ color: rgba(0, 0, 0, 0.8); }
+ expander arrow:disabled {
+ color: rgba(0, 0, 0, 0.24); }
+ expander arrow:selected {
+ color: rgba(255, 255, 255, 0.75); }
+ expander arrow:selected:hover, expander arrow:selected:active {
+ color: #FFFFFF; }
+ expander arrow:selected:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+
+/************
+ * Calendar *
+ ***********/
+calendar {
+ padding: 1px;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ color: rgba(0, 0, 0, 0.8); }
+ calendar:disabled {
+ color: rgba(0, 0, 0, 0.32); }
+ calendar:selected {
+ border-radius: 3px; }
+ calendar.header {
+ border-style: none none solid;
+ border-radius: 0; }
+ calendar.highlight {
+ color: alpha(currentColor, 0.6);
+ font-weight: 500; }
+ calendar:indeterminate {
+ color: alpha(currentColor, 0.4); }
+
+/***********
+ * Dialogs *
+ ***********/
+messagedialog.background {
+ background-color: #FAFAFA; }
+messagedialog .titlebar {
+ min-height: 24px;
+ border-style: none;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #FAFAFA;
+ color: rgba(0, 0, 0, 0.8); }
+ messagedialog .titlebar:backdrop {
+ color: rgba(0, 0, 0, 0.6); }
+messagedialog.csd.background {
+ border-bottom-left-radius: 2px;
+ border-bottom-right-radius: 2px; }
+messagedialog.csd .dialog-action-area button {
+ padding: 8px 16px;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ border-radius: 0; }
+ messagedialog.csd .dialog-action-area button:first-child {
+ border-bottom-left-radius: 2px; }
+ messagedialog.csd .dialog-action-area button:last-child {
+ border-bottom-right-radius: 2px; }
+
+filechooser .dialog-action-box {
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+filechooser #pathbarbox {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ background-color: #F5F5F5; }
+
+filechooserbutton:drop(active) {
+ box-shadow: none; }
+
+/***********
+ * Sidebar *
+ ***********/
+.sidebar {
+ border-style: none;
+ background-color: #FAFAFA; }
+ stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:dir(ltr), .sidebar.left, .sidebar.left:dir(rtl) {
+ border-right: 1px solid rgba(0, 0, 0, 0.1);
+ border-left-style: none; }
+ stacksidebar.sidebar:dir(rtl) list
+ .sidebar:dir(rtl), stacksidebar.sidebar.right list
+ .sidebar:dir(rtl), .sidebar.right {
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
+ border-right-style: none; }
+ .sidebar list {
+ background-color: transparent; }
+ .sidebar row {
+ padding: 0 2px;
+ transition: none; }
+ .sidebar row:hover {
+ color: #202020;
+ background-color: transparent;
+ box-shadow: inset 3px 0 #444444; }
+ .sidebar row:active {
+ box-shadow: inset 3px 0 #444444; }
+ .sidebar row:backdrop:hover {
+ background-color: transparent; }
+ .sidebar row:selected:active {
+ box-shadow: none; }
+ .sidebar row:selected:hover {
+ color: #fff;
+ background-color: rgba(102, 102, 102, 0.8);
+ box-shadow: inset 3px 0 rgba(68, 68, 68, 0.5); }
+ .sidebar row:selected:backdrop {
+ background-color: rgba(102, 102, 102, 0.8); }
+ paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar {
+ border-style: none; }
+
+stacksidebar row {
+ padding: 10px 4px; }
+ stacksidebar row > label {
+ padding-left: 6px;
+ padding-right: 6px; }
+
+/****************
+ * File chooser *
+ ****************/
+placessidebar > viewport.frame {
+ border-style: none; }
+placessidebar list {
+ padding: 1px 0 4px; }
+placessidebar row {
+ min-height: 32px;
+ margin: -1px 0;
+ padding: 0; }
+ placessidebar row > revealer {
+ padding: 0 12px; }
+ placessidebar row:selected {
+ color: #FFFFFF; }
+ placessidebar row:disabled {
+ color: rgba(0, 0, 0, 0.32); }
+ placessidebar row image.sidebar-icon {
+ opacity: 0.6; }
+ placessidebar row image.sidebar-icon:dir(ltr) {
+ padding-right: 8px; }
+ placessidebar row image.sidebar-icon:dir(rtl) {
+ padding-left: 8px; }
+ placessidebar row label.sidebar-label:dir(ltr) {
+ padding-right: 2px; }
+ placessidebar row label.sidebar-label:dir(rtl) {
+ padding-left: 2px; }
+ placessidebar row.sidebar-placeholder-row {
+ min-height: 2px;
+ padding: 0 8px;
+ background-image: image(#666666);
+ background-clip: content-box; }
+ placessidebar row.sidebar-new-bookmark-row {
+ color: #666666; }
+ placessidebar row:drop(active):not(:disabled) {
+ box-shadow: inset 0 0 0 2px #666666; }
+
+placesview .server-list-button > image {
+ -gtk-icon-transform: rotate(0turn); }
+placesview .server-list-button:checked > image {
+ -gtk-icon-transform: rotate(-0.5turn); }
+placesview > actionbar > revealer > box > label {
+ padding-left: 8px;
+ padding-right: 8px; }
+
+/*********
+ * Paned *
+ *********/
+paned > separator {
+ min-width: 1px;
+ min-height: 1px;
+ -gtk-icon-source: none;
+ border-style: none;
+ background-color: transparent;
+ background-image: image(rgba(0, 0, 0, 0.1));
+ background-size: 1px 1px; }
+ paned > separator.wide {
+ min-width: 6px;
+ min-height: 6px;
+ background-color: #F5F5F5;
+ background-image: image(rgba(0, 0, 0, 0.1)), image(rgba(0, 0, 0, 0.1));
+ background-size: 1px 1px, 1px 1px; }
+paned.horizontal > separator {
+ background-repeat: repeat-y; }
+ paned.horizontal > separator:dir(ltr) {
+ margin: 0 -8px 0 0;
+ padding: 0 8px 0 0;
+ background-position: left; }
+ paned.horizontal > separator:dir(rtl) {
+ margin: 0 0 0 -8px;
+ padding: 0 0 0 8px;
+ background-position: right; }
+ paned.horizontal > separator.wide {
+ margin: 0;
+ padding: 0;
+ background-repeat: repeat-y, repeat-y;
+ background-position: left, right; }
+paned.vertical > separator {
+ margin: 0 0 -8px 0;
+ padding: 0 0 8px 0;
+ background-repeat: repeat-x;
+ background-position: top; }
+ paned.vertical > separator.wide {
+ margin: 0;
+ padding: 0;
+ background-repeat: repeat-x, repeat-x;
+ background-position: bottom, top; }
+
+/**************
+ * GtkInfoBar *
+ **************/
+infobar {
+ border-style: none; }
+ infobar.info {
+ background-color: #66BB6A; }
+ infobar.question {
+ background-color: #42A5F5; }
+ infobar.warning {
+ background-color: #FFA726; }
+ infobar.error {
+ background-color: #EF5350; }
+ infobar.info > label, infobar.info, infobar.question > label, infobar.question, infobar.warning > label, infobar.warning, infobar.error > label, infobar.error {
+ color: #FFFFFF; }
+
+/************
+ * Tooltips *
+ ************/
+tooltip {
+ border-radius: 2px;
+ box-shadow: none; }
+ tooltip.background {
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.4);
+ background-color: rgba(255, 255, 255, 0.9); }
+ tooltip:not(.csd) {
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ border-radius: 3px;
+ background-clip: padding-box; }
+ tooltip decoration {
+ background-color: transparent; }
+ tooltip label {
+ min-height: 20px;
+ padding: 0 2px; }
+
+/*****************
+ * Color Chooser *
+ *****************/
+colorswatch.top {
+ border-top-left-radius: 2.5px;
+ border-top-right-radius: 2.5px; }
+ colorswatch.top overlay {
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px; }
+colorswatch.bottom {
+ border-bottom-left-radius: 2.5px;
+ border-bottom-right-radius: 2.5px; }
+ colorswatch.bottom overlay {
+ border-bottom-left-radius: 2px;
+ border-bottom-right-radius: 2px; }
+colorswatch.left, colorswatch:first-child:not(.top) {
+ border-top-left-radius: 2.5px;
+ border-bottom-left-radius: 2.5px; }
+ colorswatch.left overlay, colorswatch:first-child:not(.top) overlay {
+ border-top-left-radius: 2px;
+ border-bottom-left-radius: 2px; }
+colorswatch.right, colorswatch:last-child:not(.bottom) {
+ border-top-right-radius: 2.5px;
+ border-bottom-right-radius: 2.5px; }
+ colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay {
+ border-top-right-radius: 2px;
+ border-bottom-right-radius: 2px; }
+colorswatch.dark overlay {
+ color: #FFFFFF; }
+colorswatch.light overlay {
+ color: rgba(0, 0, 0, 0.8); }
+colorswatch.dark {
+ color: #FFFFFF; }
+colorswatch.light {
+ color: rgba(0, 0, 0, 0.8); }
+colorswatch:drop(active) {
+ box-shadow: none; }
+ colorswatch:drop(active).light overlay {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), 0 0 0 2px #666666; }
+ colorswatch:drop(active).dark overlay {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), 0 0 0 2px #666666; }
+colorswatch overlay {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); }
+ colorswatch overlay:hover {
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+colorswatch#add-color-button {
+ border-radius: 2px 2px 0 0;
+ color: #FFFFFF; }
+ colorswatch#add-color-button:only-child {
+ border-radius: 2px; }
+ colorswatch#add-color-button overlay {
+ background-image: linear-gradient(to right, #EF5350 25%, #FFA726 25%, #FFA726 50%, #66BB6A 50%, #66BB6A 75%, #42A5F5 75%);
+ color: #FFFFFF; }
+colorswatch:disabled {
+ opacity: 0.4; }
+ colorswatch:disabled overlay {
+ box-shadow: none; }
+colorswatch#editor-color-sample {
+ border-radius: 2.5px; }
+ colorswatch#editor-color-sample overlay {
+ border-radius: 2px; }
+
+colorchooser .popover.osd {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23), inset 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #FFFFFF; }
+ colorchooser .popover.osd:backdrop {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.4); }
+
+/********
+ * Misc *
+ ********/
+.content-view {
+ background-color: #F5F5F5; }
+
+/**********************
+ * Window Decorations *
+ *********************/
+decoration {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ border-radius: 2px 2px 0 0;
+ box-shadow: 0 14px 14px rgba(0, 0, 0, 0.25), 0 10px 5px rgba(0, 0, 0, 0.22), 0 16px 16px transparent;
+ margin: 8px; }
+ decoration:backdrop {
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23), 0 16px 16px transparent; }
+ .maximized decoration, .fullscreen decoration, .tiled decoration {
+ border-radius: 0; }
+ .popup decoration {
+ box-shadow: none; }
+ .ssd decoration {
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16); }
+ .csd.popup decoration {
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ tooltip.csd decoration {
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23); }
+ messagedialog.csd decoration {
+ border-radius: 2px; }
+ .solid-csd decoration {
+ margin: 0;
+ padding: 4px;
+ box-shadow: inset 0 0 0 4px #EEEEEE; }
+
+.view:selected, iconview:selected, .view text selection, iconview text selection,
+textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection, notebook > stack:not(:only-child) revealer entry selection,
+notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) selection,
+entry selection, modelbutton.flat:selected,
+.menuitem.button.flat:selected, row:selected, calendar:selected, .budgie-menu button:checked {
+ background-color: #666666; }
+ row:selected label, label:selected, .view:selected, iconview:selected, .view text selection, iconview text selection,
+ textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection, notebook > stack:not(:only-child) revealer entry selection,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) selection,
+ entry selection, modelbutton.flat:selected,
+ .menuitem.button.flat:selected, row:selected, calendar:selected, .budgie-menu button:checked {
+ color: #FFFFFF; }
+ row:selected label:disabled, label:disabled:selected, .view:disabled:selected, iconview:disabled:selected, .view text selection:disabled, iconview text selection:disabled,
+ textview text selection:disabled, flowbox flowboxchild:disabled:selected, label:disabled selection, spinbutton:not(.vertical) selection:disabled, notebook > stack:not(:only-child) revealer entry selection:disabled,
+ notebook > stack:not(:only-child) revealer spinbutton:not(.vertical) selection:disabled,
+ entry selection:disabled, modelbutton.flat:disabled:selected,
+ .menuitem.button.flat:disabled:selected, row:disabled:selected, calendar:disabled:selected, .budgie-menu button:disabled:checked {
+ color: rgba(255, 255, 255, 0.4); }
+
+.monospace {
+ font-family: monospace; }
+
+/**********************
+ * Touch Copy & Paste *
+ *********************/
+cursor-handle {
+ border-radius: 2px;
+ background-color: #666666;
+ background-image: none; }
+ cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) {
+ padding-left: 6px;
+ border-top-right-radius: 0; }
+ cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) {
+ padding-right: 6px;
+ border-top-left-radius: 0; }
+ cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) {
+ -GtkWidget-text-handle-width: 24;
+ -GtkWidget-text-handle-height: 30;
+ -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); }
+
+.context-menu {
+ font: initial; }
+
+check,
+radio, .nautilus-window headerbar > revealer > button, .raven .expander-button,
+button.circular {
+ border-radius: 100px;
+ -gtk-outline-radius: 100px; }
+
+spinbutton:not(.vertical) button, notebook > header tab button.flat, button.sidebar-button, .nautilus-window .floating-bar button, .gedit-document-panel row button.flat, .pluma-window paned.horizontal box.vertical box.horizontal button.flat {
+ min-height: 24px;
+ min-width: 24px;
+ padding: 0;
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+
+.keycap {
+ min-width: 12px;
+ min-height: 26px;
+ margin-top: 2px;
+ padding-bottom: 2px;
+ padding-left: 8px;
+ padding-right: 8px;
+ border: solid 1px rgba(0, 0, 0, 0.1);
+ border-radius: 3px;
+ box-shadow: inset 0 -2px rgba(0, 0, 0, 0.1);
+ background-color: #FFFFFF;
+ color: rgba(0, 0, 0, 0.8);
+ font-size: smaller; }
+
+*:drop(active) {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), inset 0 0 0 2px #666666;
+ caret-color: #666666; }
+
+stackswitcher button.text-button {
+ min-width: 100px; }
+
+stackswitcher button.circular,
+stackswitcher button.text-button.circular {
+ min-width: 36px;
+ min-height: 36px;
+ padding: 0; }
+
+/************
+ * Nautilus *
+ ************/
+.nautilus-window,
+.nautilus-window notebook,
+.nautilus-window notebook > stack {
+ background: #FFFFFF; }
+
+.nautilus-window notebook > header.top tabs,
+.nautilus-window notebook > header.bottom tabs {
+ padding-left: 0;
+ padding-right: 0; }
+
+.nautilus-window notebook > header.left tabs,
+.nautilus-window notebook > header.right tabs {
+ padding-top: 0;
+ padding-bottom: 0; }
+
+.nautilus-desktop.nautilus-canvas-item, .caja-desktop.caja-canvas-item {
+ color: #FFFFFF;
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); }
+
+.nautilus-desktop.nautilus-canvas-item:selected, .caja-desktop.caja-canvas-item:selected {
+ text-shadow: none; }
+
+@keyframes needs_attention_keyframes {
+ from {
+ background-color: transparent; }
+ to {
+ background-color: alpha(currentColor, 0.3); } }
+.nautilus-operations-button-needs-attention {
+ color: #666666;
+ animation: needs_attention_keyframes 0.3s cubic-bezier(0.4, 0, 0.2, 1) 2 alternate; }
+
+.nautilus-operations-button-needs-attention-multiple {
+ color: #666666;
+ animation: needs_attention_keyframes 0.3s cubic-bezier(0.4, 0, 0.2, 1) 4 alternate; }
+
+.nautilus-window .floating-bar {
+ min-height: 32px;
+ padding: 0;
+ border-style: solid solid none;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.1);
+ border-radius: 3px 3px 0 0;
+ background-color: #FFFFFF;
+ background-clip: padding-box;
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1), border-width 0; }
+ .nautilus-window .floating-bar.bottom.left {
+ margin-right: 7px;
+ border-left-style: none;
+ border-top-left-radius: 0; }
+ .nautilus-window .floating-bar.bottom.right {
+ margin-left: 7px;
+ border-right-style: none;
+ border-top-right-radius: 0; }
+ .nautilus-window .floating-bar button {
+ margin: 4px; }
+
+.disk-space-display.unknown {
+ background-color: #FF6D00; }
+
+.disk-space-display.used {
+ background-color: #666666; }
+
+.disk-space-display.free {
+ background-color: alpha(currentColor, 0.3);
+ color: rgba(0, 0, 0, 0.32); }
+
+.documents-entry-tag, .photos-entry-tag {
+ margin: 3px -2px 3px 8px;
+ padding: 0 8px;
+ border-radius: 2px;
+ box-shadow: none;
+ background-color: #666666;
+ color: #FFFFFF; }
+ .documents-entry-tag:hover, .photos-entry-tag:hover {
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); }
+
+.documents-entry-tag.button, .button.photos-entry-tag {
+ margin: 0 -2px;
+ padding: 4px;
+ border-radius: 2px;
+ box-shadow: none;
+ color: rgba(255, 255, 255, 0.75); }
+ .documents-entry-tag.button:hover, .button.photos-entry-tag:hover, .documents-entry-tag.button:active, .button.photos-entry-tag:active {
+ color: #FFFFFF; }
+
+.nautilus-window searchbar {
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+.nautilus-window .searchbar-container {
+ margin-top: -1px; }
+
+/*********
+ * gedit *
+ *********/
+/* Only normal state is handle */
+.open-document-selector-name-label {
+ font-weight: bold; }
+
+/* Only normal state is handle */
+.open-document-selector-path-label {
+ color: alpha(currentColor, 0.6);
+ font-size: smaller; }
+
+.gedit-document-panel {
+ background-color: #FAFAFA; }
+
+.gedit-document-panel-group-row,
+.gedit-document-panel-group-row:hover {
+ border-top: 1px solid alpha(currentColor, 0.3); }
+
+.gedit-document-panel-group-row:first-child,
+.gedit-document-panel-group-row:first-child:hover {
+ border-top: 0px; }
+
+/* Try to look as the notebook tab close button */
+.gedit-document-panel row button.flat {
+ margin-top: 8px;
+ margin-bottom: 8px; }
+
+.gedit-side-panel-paned statusbar {
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+.gedit-search-slider {
+ margin: 4px 4px 8px; }
+ .gedit-search-slider .gedit-search-entry-occurrences-tag {
+ all: unset;
+ padding: 0 4px;
+ color: alpha(currentColor, 0.6); }
+ .gedit-search-slider popover.background {
+ transition: box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1);
+ padding: 0;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23);
+ background-color: #FFFFFF; }
+ .gedit-search-slider entry:dir(ltr) {
+ margin-right: -72px;
+ padding-right: 80px; }
+ .gedit-search-slider entry:dir(ltr) .gedit-search-entry-occurrences-tag {
+ margin-right: -8px; }
+ .gedit-search-slider entry:dir(rtl) {
+ margin-left: -72px;
+ padding-left: 80px; }
+ .gedit-search-slider entry:dir(rtl) .gedit-search-entry-occurrences-tag {
+ margin-left: -8px; }
+ .gedit-search-slider entry.error ~ button {
+ color: rgba(255, 255, 255, 0.75); }
+ .gedit-search-slider entry.error ~ button:hover, .gedit-search-slider entry.error ~ button:active {
+ color: #FFFFFF; }
+ .gedit-search-slider entry.error ~ button:disabled {
+ color: rgba(255, 255, 255, 0.3); }
+
+.gedit-search-slider .linked:not(.vertical) > entry,
+notebook > stack:not(:only-child) revealer .gedit-search-slider .linked:not(.vertical) > entry {
+ border-radius: 2px; }
+
+/**************
+ * Tweak Tool *
+ **************/
+.tweak-categories {
+ background-image: image(#FAFAFA); }
+ .tweak-categories separator {
+ min-width: 0;
+ min-height: 0;
+ background: transparent; }
+
+.tweak {
+ padding: 3px; }
+ .tweak.title:hover {
+ box-shadow: none; }
+
+.tweak-group-white,
+.tweak-white,
+.tweak-white:hover {
+ background-image: image(#FFFFFF); }
+
+.tweak-startup,
+.tweak-startup:hover {
+ background-image: image(#FFFFFF); }
+
+.tweak-group-startup {
+ background-image: image(#FFFFFF);
+ border: 1px solid rgba(0, 0, 0, 0.1); }
+
+/***********
+ * Builder *
+ ***********/
+workbench stack.titlebar {
+ padding: 0; }
+
+workbench:not(.tiled):not(.maximized):not(.fullscreen) stack.titlebar headerbar {
+ border-radius: 2px 2px 0 0; }
+
+perspectiveswitcher {
+ background-color: #F5F5F5; }
+
+perspectiveswitcher button:checked {
+ color: #666666; }
+
+layouttabbar {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ background-color: #F5F5F5; }
+
+layouttabbar > box > button {
+ margin: 2px 0; }
+
+layouttab {
+ margin: 0 8px;
+ border-style: none solid;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 -2px #666666;
+ background-color: #FFFFFF; }
+
+layouttab separator.vertical {
+ margin: 8px 4px; }
+
+layouttab button.text-button, layouttab button.image-button, layouttab button {
+ margin-top: 8px;
+ margin-bottom: 8px;
+ padding: 0 4px; }
+
+layouttab > box > button.close {
+ border-radius: 2px; }
+
+layout {
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ -PnlDockBin-handle-size: 1; }
+
+entry.search-missing {
+ background-color: #DD2C00;
+ color: #FFFFFF; }
+
+workbench treeview.image {
+ color: alpha(currentColor, 0.6); }
+
+workbench treeview.image:selected {
+ color: rgba(255, 255, 255, 0.6); }
+
+dockbin {
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ -PnlDockBin-handle-size: 1; }
+
+dockpaned {
+ border: 1px solid rgba(0, 0, 0, 0.1); }
+
+eggsearchbar box.search-bar {
+ padding: 0 8px;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ background-color: #F5F5F5; }
+
+docktabstrip {
+ padding: 0 8px;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ background-color: #F5F5F5; }
+
+docktab {
+ transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
+ min-height: 24px;
+ min-width: 24px;
+ margin-bottom: -1px;
+ padding: 6px 6px;
+ outline-offset: -6px;
+ border-width: 1px;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.6);
+ font-weight: 500; }
+ docktab:hover {
+ box-shadow: inset 0 -2px alpha(currentColor, 0.3);
+ color: rgba(0, 0, 0, 0.8); }
+ docktab:checked {
+ animation: tab_ripple_effect 0.9s cubic-bezier(0, 0, 0.2, 1);
+ box-shadow: inset 0 -2px #666666;
+ color: rgba(0, 0, 0, 0.8); }
+
+dockoverlayedge {
+ background-color: #F5F5F5; }
+
+dockoverlayedge docktabstrip {
+ padding: 0;
+ border: none; }
+
+dockoverlayedge.left-edge docktab:hover {
+ box-shadow: inset -2px 0 alpha(currentColor, 0.3); }
+dockoverlayedge.left-edge docktab:checked {
+ box-shadow: inset -2px 0 #666666; }
+
+dockoverlayedge.right-edge docktab:hover {
+ box-shadow: inset 2px 0 alpha(currentColor, 0.3); }
+dockoverlayedge.right-edge docktab:checked {
+ box-shadow: inset 2px 0 #666666; }
+
+pillbox {
+ background-color: #F5F5F5;
+ border-radius: 2px; }
+
+buildperspective row {
+ padding: 10px; }
+
+layoutpane entry.search {
+ box-shadow: inset 0 -1px rgba(0, 0, 0, 0.1);
+ background-color: #FFFFFF; }
+
+editortweak entry.search {
+ margin-bottom: -1px;
+ box-shadow: none; }
+
+frame.gb-search-frame {
+ border-bottom-right-radius: 5px; }
+
+.gb-search-entry-occurrences-tag {
+ box-shadow: none;
+ background-color: transparent; }
+
+docktabstrip {
+ min-height: 39px; }
+
+workbench preferences preferencesgroup list entry {
+ padding-top: 8px;
+ padding-bottom: 8px; }
+
+/**********
+ * Photos *
+ **********/
+GdMainIconView.content-view {
+ -GdMainIconView-icon-size: 48; }
+
+.documents-counter {
+ margin: 8px;
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23);
+ background-color: #666666;
+ color: #FFFFFF;
+ font-weight: bold; }
+
+.documents-scrolledwin.frame {
+ border-style: none; }
+
+.photos-fade-in {
+ opacity: 1;
+ transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1); }
+
+.photos-fade-out {
+ opacity: 0;
+ transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1); }
+
+overlay grid.horizontal > revealer > scrolledwindow.frame:dir(ltr) {
+ border-style: none none none solid; }
+overlay grid.horizontal > revealer > scrolledwindow.frame:dir(rtl) {
+ border-style: none solid none none; }
+
+/*********
+ * Music *
+ *********/
+.side-panel:dir(ltr) {
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.1); }
+
+.side-panel:dir(rtl) {
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.1); }
+
+.side-panel .view, .side-panel iconview {
+ background-image: image(#FAFAFA); }
+ .side-panel .view:hover, .side-panel iconview:hover {
+ background-image: image(rgba(242, 242, 242, 0.99)); }
+
+.side-panel .view:selected, .side-panel iconview:selected {
+ background-image: image(#666666); }
+ .side-panel .view:selected:hover, .side-panel iconview:selected:hover {
+ background-image: image(#6e6e6e); }
+
+.songs-list:hover {
+ background-image: image(alpha(currentColor, 0.05)); }
+
+frame.documents-dropdown {
+ margin: 8px; }
+ frame.documents-dropdown > border {
+ border: none; }
+
+box.vertical:not(.titlebar) > revealer > toolbar.search-bar {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
+ box.vertical:not(.titlebar) > revealer > toolbar.search-bar button > widget {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+/*********
+ * To Do *
+ *********/
+task-row {
+ transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
+ margin: 0 -4px; }
+ task-row:hover {
+ transition: none; }
+ task-row label {
+ margin: 0 8px; }
+ task-row image {
+ margin: 0 4px; }
+
+task-list-view > box > revealer > box > button {
+ min-height: 36px;
+ margin: -4px;
+ padding: 0 12px; }
+ task-list-view > box > revealer > box > button label {
+ margin: 0 8px; }
+ task-list-view > box > revealer > box > button image {
+ margin: 0 4px; }
+
+/*******
+ * eog *
+ *******/
+#eog-thumb-nav scrolledwindow {
+ border-top: none; }
+#eog-thumb-nav button {
+ -gtk-outline-radius: 2px; }
+
+/*************
+ * Evolution *
+ *************/
+frame.taskbar > border {
+ border-style: solid none none; }
+
+box.vertical > paned.horizontal notebook widget .frame {
+ border-style: none; }
+
+/********
+ * gitg *
+ ********/
+frame.commit-frame > border {
+ border-style: solid none none; }
+
+/**************
+ * Characters *
+ **************/
+box.dialog-vbox scrolledwindow.related {
+ border: 1px solid rgba(0, 0, 0, 0.1); }
+
+list.categories {
+ background-image: image(#FAFAFA); }
+
+/**************
+ * Calculator *
+ **************/
+button.title label {
+ min-height: 36px; }
+
+/************
+ * Terminix *
+ ************/
+.terminix-background box.vertical > widget > box.horizontal {
+ padding: 3px 0 2px; }
+ .terminix-background box.vertical > widget > box.horizontal button {
+ padding: 4px 8px; }
+ .terminix-background box.vertical > widget > box.horizontal button.image-button {
+ padding: 4px; }
+
+.terminix-background revealer > frame > border {
+ border-style: none; }
+
+button.image-button.session-new-button {
+ min-width: 32px; }
+
+overlay > revealer.left > scrolledwindow.frame,
+overlay > revealer.right > scrolledwindow.frame {
+ border-style: none;
+ box-shadow: 0 14px 14px rgba(0, 0, 0, 0.25), 0 10px 5px rgba(0, 0, 0, 0.22); }
+
+overlay > revealer.left > scrolledwindow.frame {
+ margin-right: 32px; }
+
+overlay > revealer.right > scrolledwindow.frame {
+ margin-left: 32px; }
+
+.terminix-session-sidebar {
+ background-image: image(#FAFAFA); }
+
+/***********
+ * Eclipse *
+ ***********/
+window.background > box.vertical > scrolledwindow > widget toolbar {
+ padding: 2px; }
+ window.background > box.vertical > scrolledwindow > widget toolbar separator,
+ window.background > box.vertical > scrolledwindow > widget toolbar button {
+ margin: 2px; }
+ window.background > box.vertical > scrolledwindow > widget toolbar button {
+ border-radius: 2px; }
+
+/***********
+ * Firefox *
+ ***********/
+window.background > menu > menuitem > label:disabled {
+ color: #868686; }
+
+window.background > window.background > menu > separator {
+ color: alpha(rgba(0, 0, 0, 0.1), 0.5); }
+
+window.background > widget > frame {
+ color: rgba(0, 0, 0, 0.2); }
+
+window.background > widget > checkbutton > check,
+window.background > widget > radiobutton > radio {
+ margin: 0;
+ padding: 0; }
+
+window.background > widget > radiobutton > radio:checked {
+ -gtk-icon-source: image(-gtk-recolor(url("assets/radio-checked-symbolic.svg")), -gtk-recolor(url("assets/radio-checked-symbolic.png")));
+ border-image: none; }
+
+/***********
+ * Synapse *
+ ***********/
+window.background > box.vertical > widget > widget:selected {
+ background-color: #666666; }
+
+/*********
+ * Unity *
+ *********/
+UnityDecoration {
+ -UnityDecoration-extents: 28px 0 0 0;
+ -UnityDecoration-input-extents: 10px;
+ -UnityDecoration-shadow-offset-x: 0;
+ -UnityDecoration-shadow-offset-y: 3px;
+ -UnityDecoration-active-shadow-color: rgba(0, 0, 0, 0.48);
+ -UnityDecoration-active-shadow-radius: 18px;
+ -UnityDecoration-inactive-shadow-color: rgba(0, 0, 0, 0.32);
+ -UnityDecoration-inactive-shadow-radius: 6px;
+ -UnityDecoration-glow-size: 8px;
+ -UnityDecoration-glow-color: #666666;
+ -UnityDecoration-title-indent: 10px;
+ -UnityDecoration-title-fade: 35px;
+ -UnityDecoration-title-alignment: 0.0; }
+
+UnityDecoration .top {
+ padding: 3px 8px 3px 8px;
+ border-radius: 2px 2px 0px 0px;
+ background-color: #EEEEEE;
+ color: #FFFFFF; }
+
+UnityDecoration .top:backdrop {
+ color: #E0E0E0; }
+
+UnityDecoration.menuitem,
+UnityDecoration .menuitem {
+ color: alpha(currentColor, 0.75); }
+
+UnityDecoration.menubar.menuitem:hover,
+UnityDecoration.menubar .menuitem *:hover {
+ box-shadow: inset 0 -2px currentColor;
+ background-color: transparent;
+ color: currentColor; }
+
+.background:not(.csd) headerbar:not(.titlebar) {
+ border-radius: 0;
+ box-shadow: none; }
+ .background:not(.csd) headerbar:not(.titlebar).inline-toolbar {
+ border-style: none; }
+
+UnityPanelWidget,
+.unity-panel {
+ background-color: #444444;
+ background-image: image(#444444);
+ color: #FFFFFF; }
+
+UnityPanelWidget:backdrop,
+.unity-panel:backdrop {
+ color: rgba(255, 255, 255, 0.75); }
+
+.unity-panel.menuitem,
+.unity-panel .menuitem {
+ color: alpha(currentColor, 0.75); }
+
+.unity-panel.menubar.menuitem:hover,
+.unity-panel.menubar .menuitem *:hover {
+ box-shadow: inset 0 -2px #666666;
+ background-color: transparent;
+ color: currentColor; }
+
+@keyframes playbackmenuitem_spinner {
+ to {
+ -gtk-icon-transform: rotate(1turn); } }
+.menu IdoPlaybackMenuItem.menuitem:active {
+ -gtk-icon-source: -gtk-icontheme("process-working-symbolic");
+ animation: playbackmenuitem_spinner 1s infinite linear;
+ color: #666666; }
+
+menuitem calendar,
+menuitem calendar .button,
+menuitem calendar .header,
+menuitem calendar .view,
+menuitem calendar iconview {
+ background-color: #EEEEEE;
+ padding: 5px;
+ color: #FFFFFF; }
+
+/**************
+ * Mate-Panel *
+ **************/
+.mate-panel-menu-bar menubar,
+#PanelApplet-window-menu-applet-button {
+ background-color: transparent; }
+
+#PanelPlug,
+PanelToplevel.background {
+ background-color: #444444;
+ color: #FFFFFF;
+ font-weight: 500; }
+
+PanelToplevel > widget > button {
+ padding: 0 4px;
+ border-radius: 0; }
+
+PanelSeparator {
+ color: rgba(0, 0, 0, 0.1); }
+
+MatePanelAppletFrameDBus {
+ border-style: solid;
+ border-width: 0 1px;
+ border-color: rgba(0, 0, 0, 0.1); }
+
+.mate-panel-menu-bar menubar menuitem {
+ padding: 4px; }
+
+.mate-panel-menu-bar menubar menu menuitem {
+ padding: 6px; }
+
+.mate-panel-menu-bar #PanelApplet button {
+ -GtkWidget-window-dragging: true;
+ padding: 4px;
+ border-radius: 0; }
+
+PanelApplet.wnck-applet .wnck-pager {
+ background-color: transparent;
+ color: #888888; }
+ PanelApplet.wnck-applet .wnck-pager:hover {
+ background-color: alpha(currentColor, 0.15); }
+ PanelApplet.wnck-applet .wnck-pager:active {
+ background-color: alpha(currentColor, 0.3); }
+ PanelApplet.wnck-applet .wnck-pager:selected {
+ background-color: #666666; }
+
+#MatePanelPopupWindow {
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ border-radius: 3px;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); }
+ #MatePanelPopupWindow frame > border {
+ border-style: none; }
+ #MatePanelPopupWindow ClockMap {
+ border: 1px solid rgba(0, 0, 0, 0.1); }
+
+na-tray-applet {
+ -NaTrayApplet-icon-padding: 3px;
+ -NaTrayApplet-icon-size: 16; }
+
+.mate-panel-menu-bar {
+ -PanelMenuBar-icon-visible: true; }
+
+.mate-panel-applet-slider {
+ background: transparent; }
+ .mate-panel-applet-slider frame {
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ border-radius: 3px;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #F5F5F5; }
+ .mate-panel-applet-slider frame frame {
+ all: unset; }
+ .mate-panel-applet-slider frame > border {
+ border-style: none; }
+
+/*********************
+ * CAJA File manager *
+ *********************/
+.caja-navigation-window button.toggle.image-button {
+ border-radius: 2px; }
+
+.caja-pathbar button {
+ margin: 0 -1px 0 -2px; }
+
+.caja-pathbar button > widget {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+ -GtkArrow-arrow-scaling: 1; }
+
+.caja-side-pane notebook viewport.frame,
+.caja-side-pane notebook widget .vertical {
+ background-color: #FFFFFF; }
+
+.caja-side-pane notebook .frame,
+.caja-notebook .frame {
+ border-style: none; }
+
+.caja-side-pane notebook,
+.caja-notebook {
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+.caja-navigation-window statusbar {
+ margin: 0 -10px;
+ padding: 0 4px;
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+.caja-notebook frame > border {
+ border-style: none; }
+
+#caja-extra-view-widget {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ background-color: #F5F5F5; }
+ #caja-extra-view-widget > box > box > label {
+ font-weight: bold; }
+
+/*********
+ * Pluma *
+ *********/
+.pluma-window statusbar {
+ margin: 0 -10px;
+ padding: 0 4px;
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+.pluma-window statusbar frame > border {
+ border-style: none; }
+
+.pluma-window statusbar frame button.flat {
+ padding: 0 4px;
+ border-radius: 0; }
+
+.pluma-window statusbar frame button.flat widget {
+ -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+ -GtkArrow-arrow-scaling: 1; }
+
+.pluma-print-preview toolbar {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
+
+.pluma-window paned.horizontal box.vertical box.horizontal button.flat {
+ margin: 1px; }
+
+.pluma-window paned.horizontal box.vertical .frame {
+ border-style: none; }
+
+.pluma-window paned.horizontal box.vertical notebook.frame {
+ margin-top: -1px;
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+.pluma-window paned.horizontal box.vertical notebook.frame box.vertical toolbar.horizontal {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
+
+/*********
+ * Atril *
+ *********/
+.atril-window paned.horizontal box.vertical .frame {
+ border-style: none; }
+
+.atril-window paned.horizontal box.vertical notebook .frame {
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+/* mate-screensaver lock dialog */
+.lock-dialog {
+ border-radius: 2px;
+ box-shadow: 0 14px 14px rgba(0, 0, 0, 0.25), 0 10px 5px rgba(0, 0, 0, 0.22), inset 0 1px rgba(255, 255, 255, 0.4); }
+ .lock-dialog frame > border {
+ border-style: none; }
+
+/******************
+ * Budgie Desktop *
+ ******************/
+.budgie-container {
+ background-color: transparent; }
+
+.budgie-menu.background {
+ padding: 0; }
+.budgie-menu scrolledwindow:not(.categories) {
+ background-color: #FFFFFF; }
+.budgie-menu entry.search {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ border-radius: 2px 2px 0 0;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.4);
+ font-size: 120%; }
+.budgie-menu button {
+ min-height: 32px;
+ padding: 0 8px;
+ border-radius: 0;
+ color: rgba(0, 0, 0, 0.8);
+ font-weight: normal; }
+ .budgie-menu button:disabled {
+ color: rgba(0, 0, 0, 0.32); }
+.budgie-menu row {
+ all: unset; }
+
+button.budgie-menu-launcher {
+ padding: 0 2px; }
+
+.user-menu {
+ padding: 10px; }
+
+button.raven-trigger {
+ padding-left: 2px;
+ padding-right: 2px; }
+
+.budgie-panel {
+ background-color: #444444;
+ color: #FFFFFF;
+ font-weight: 500; }
+ .budgie-panel button {
+ border-radius: 0; }
+ .budgie-panel separator {
+ background-color: alpha(currentColor, 0.3);
+ color: #FFFFFF; }
+ .budgie-panel .alert {
+ color: #FF5252; }
+ .budgie-panel .end-region {
+ border-radius: 2px;
+ background-color: rgba(0, 0, 0, 0.2); }
+
+.budgie-panel #tasklist-button {
+ padding: 0 4px; }
+
+.budgie-panel button.flat.launcher {
+ padding-top: 0;
+ padding-bottom: 0; }
+
+.top .budgie-panel #tasklist-button, .budgie-panel .top #tasklist-button, .top .budgie-panel button.flat.launcher, .budgie-panel .top button.flat.launcher {
+ border-image: radial-gradient(circle closest-corner at center calc(1px), currentColor 0%, transparent 0%) 0 0 0/0px 0 0; }
+ .top .budgie-panel #tasklist-button:checked, .budgie-panel .top #tasklist-button:checked, .top .budgie-panel button.flat.launcher:checked, .budgie-panel .top button.flat.launcher:checked, .top .budgie-panel .unpinned button.flat.launcher, .budgie-panel .unpinned .top button.flat.launcher,
+ .top .budgie-panel .pinned button.flat.launcher.running,
+ .budgie-panel .pinned .top button.flat.launcher.running {
+ border-image: radial-gradient(circle closest-corner at center calc(1px), currentColor 100%, transparent 0%) 2 0 0/2px 0 0; }
+.bottom .budgie-panel #tasklist-button, .budgie-panel .bottom #tasklist-button, .bottom .budgie-panel button.flat.launcher, .budgie-panel .bottom button.flat.launcher {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 0%, transparent 0%) 0 0 0/0 0 0px; }
+ .bottom .budgie-panel #tasklist-button:checked, .budgie-panel .bottom #tasklist-button:checked, .bottom .budgie-panel button.flat.launcher:checked, .budgie-panel .bottom button.flat.launcher:checked, .bottom .budgie-panel .unpinned button.flat.launcher, .budgie-panel .unpinned .bottom button.flat.launcher,
+ .bottom .budgie-panel .pinned button.flat.launcher.running,
+ .budgie-panel .pinned .bottom button.flat.launcher.running {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), currentColor 100%, transparent 0%) 0 0 2/0 0 2px; }
+.left .budgie-panel #tasklist-button, .budgie-panel .left #tasklist-button, .left .budgie-panel button.flat.launcher, .budgie-panel .left button.flat.launcher {
+ border-image: radial-gradient(circle closest-corner at calc(1px) center, currentColor 0%, transparent 0%) 0 0 0 0/0 0px 0 0; }
+ .left .budgie-panel #tasklist-button:checked, .budgie-panel .left #tasklist-button:checked, .left .budgie-panel button.flat.launcher:checked, .budgie-panel .left button.flat.launcher:checked, .left .budgie-panel .unpinned button.flat.launcher, .budgie-panel .unpinned .left button.flat.launcher,
+ .left .budgie-panel .pinned button.flat.launcher.running,
+ .budgie-panel .pinned .left button.flat.launcher.running {
+ border-image: radial-gradient(circle closest-corner at calc(1px) center, currentColor 100%, transparent 0%) 0 2 0 0/0 2px 0 0; }
+.right .budgie-panel #tasklist-button, .budgie-panel .right #tasklist-button, .right .budgie-panel button.flat.launcher, .budgie-panel .right button.flat.launcher {
+ border-image: radial-gradient(circle closest-corner at calc(100% - 1px) center, currentColor 0%, transparent 0%) 0 0 0 0/0 0 0 0px; }
+ .right .budgie-panel #tasklist-button:checked, .budgie-panel .right #tasklist-button:checked, .right .budgie-panel button.flat.launcher:checked, .budgie-panel .right button.flat.launcher:checked, .right .budgie-panel .unpinned button.flat.launcher, .budgie-panel .unpinned .right button.flat.launcher,
+ .right .budgie-panel .pinned button.flat.launcher.running,
+ .budgie-panel .pinned .right button.flat.launcher.running {
+ border-image: radial-gradient(circle closest-corner at calc(100% - 1px) center, currentColor 100%, transparent 0%) 0 0 0 2/0 0 0 2px; }
+
+frame.raven-frame > border {
+ border-style: none;
+ box-shadow: 0 14px 14px rgba(0, 0, 0, 0.25), 0 10px 5px rgba(0, 0, 0, 0.22); }
+
+.top frame.raven-frame > border {
+ margin-bottom: 32px; }
+
+.bottom frame.raven-frame > border {
+ margin-top: 32px; }
+
+.left frame.raven-frame > border {
+ margin-right: 32px; }
+
+.right frame.raven-frame > border {
+ margin-left: 32px; }
+
+.raven {
+ background-color: #FFFFFF; }
+ .raven stackswitcher.linked > button {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #FFA726 0%, transparent 0%) 0 0 0/0 0 0px;
+ border-radius: 0; }
+ .raven stackswitcher.linked > button:checked {
+ border-image: radial-gradient(circle closest-corner at center calc(100% - 1px), #FFA726 100%, transparent 0%) 0 0 2/0 0 2px;
+ background-color: transparent; }
+ .raven .raven-header {
+ min-height: 36px;
+ padding: 3px;
+ border-style: none none solid;
+ border-width: 1px;
+ border-color: rgba(0, 0, 0, 0.1); }
+ .raven .raven-header:not(.top) {
+ margin-top: -6px; }
+ .raven .raven-header:not(.top) button.image-button {
+ border-radius: 2px;
+ -gtk-outline-radius: 2px; }
+ .raven .raven-header.top {
+ padding: 2px 0;
+ border-style: none;
+ background-color: #666666;
+ color: #FFFFFF; }
+ .raven .raven-header.top stackswitcher button {
+ margin: -6px 0;
+ min-height: 36px; }
+ .raven .raven-header.top button.image-button:dir(ltr) {
+ margin-right: 2px; }
+ .raven .raven-header.top button.image-button:dir(rtl) {
+ margin-left: 2px; }
+ .raven .raven-header.top > image {
+ margin: 0 8px; }
+ .raven .raven-header.top > label {
+ margin: 0 -8px;
+ font-weight: bold; }
+ .raven .raven-header.bottom {
+ border-style: solid none none; }
+ .raven viewport.frame .raven-header {
+ margin-top: -8px; }
+ .raven .raven-background {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ background-color: #FAFAFA; }
+ .raven .raven-background.frame {
+ border-style: none none solid; }
+ .raven .raven-background > overlay > image {
+ color: alpha(currentColor, 0.3); }
+ .raven scrolledwindow.raven-background {
+ border-bottom-style: none; }
+ .raven > stack > box > .raven-background {
+ border-bottom-style: none;
+ background-color: #666666;
+ color: #FFFFFF; }
+ .raven > stack > box > .raven-background stackswitcher button {
+ margin: -4px 0; }
+ .raven .powerstrip button {
+ margin: 2px 0 1px;
+ padding: 12px; }
+ .raven .option-subtitle {
+ font-size: smaller; }
+
+calendar.raven-calendar {
+ border-style: none;
+ background-color: transparent; }
+ calendar.raven-calendar:selected {
+ border-radius: 2px;
+ background-color: #666666; }
+
+.raven-mpris {
+ color: white;
+ background-color: rgba(0, 0, 0, 0.6); }
+ .raven-mpris label {
+ min-height: 24px; }
+ .raven-mpris button.image-button {
+ padding: 12px; }
+
+.budgie-notification-window, .budgie-osd-window {
+ background-color: transparent; }
+
+.budgie-notification .notification-title {
+ font-size: 120%; }
+
+.budgie-osd .budgie-osd-text {
+ font-size: 120%; }
+
+.drop-shadow {
+ margin: 5px 9px;
+ padding: 3px;
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23), inset 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #FAFAFA; }
+ .drop-shadow .linked > button {
+ border-radius: 2px; }
+
+.budgie-session-dialog, .budgie-polkit-dialog, .budgie-run-dialog {
+ border-radius: 2px;
+ background-color: #FAFAFA; }
+ .budgie-session-dialog decoration, .budgie-polkit-dialog decoration, .budgie-run-dialog decoration {
+ border-radius: 2px; }
+
+.budgie-session-dialog label:not(:last-child),
+.budgie-session-dialog .dialog-title {
+ font-size: 120%; }
+.budgie-session-dialog .linked.horizontal > button {
+ padding: 8px 16px;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ border-radius: 0; }
+ .budgie-session-dialog .linked.horizontal > button:first-child {
+ border-bottom-left-radius: 2px; }
+ .budgie-session-dialog .linked.horizontal > button:last-child {
+ border-bottom-right-radius: 2px; }
+
+.budgie-polkit-dialog .message {
+ color: rgba(0, 0, 0, 0.48); }
+.budgie-polkit-dialog .failure {
+ color: #FF5252; }
+
+.budgie-run-dialog {
+ background-color: #FFFFFF; }
+ .budgie-run-dialog entry.search {
+ font-size: 120%;
+ padding: 6px 14px;
+ box-shadow: inset 0 1px rgba(255, 255, 255, 0.4);
+ background-color: transparent; }
+ .budgie-run-dialog list .dim-label, .budgie-run-dialog list label.separator, .budgie-run-dialog list .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .budgie-run-dialog list .subtitle,
+ .budgie-run-dialog list headerbar .subtitle,
+ headerbar .budgie-run-dialog list .subtitle, .budgie-run-dialog list .budgie-notification .notification-body, .budgie-notification .budgie-run-dialog list .notification-body {
+ opacity: 1; }
+ .budgie-run-dialog scrolledwindow {
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+/************************
+ * LightDM GTK+ Greeter *
+ ************************/
+#panel_window {
+ background-color: rgba(0, 0, 0, 0.3); }
+
+#panel_window menubar,
+#panel_window separator {
+ background-color: transparent; }
+
+#login_window,
+#shutdown_dialog,
+#restart_dialog {
+ margin: 8px;
+ border-radius: 2px;
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16), 0 3px 3px rgba(0, 0, 0, 0.23), inset 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #FAFAFA; }
+
+#content_frame {
+ padding-bottom: 20px;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
+
+#buttonbox_frame {
+ padding-top: 24px; }
+ #buttonbox_frame button {
+ margin: -16px; }
+
+#greeter_infobar {
+ margin-top: -1px; }
+
+/* GTK NAMED COLORS
+ ----------------
+ use responsibly! */
+/*
+widget text/foreground color */
+@define-color theme_fg_color rgba(0, 0, 0, 0.8);
+/*
+text color for entries, views and content in general */
+@define-color theme_text_color rgba(0, 0, 0, 0.8);
+/*
+widget base background color */
+@define-color theme_bg_color #F5F5F5;
+/*
+text widgets and the like base background color */
+@define-color theme_base_color #FFFFFF;
+/*
+base background color of selections */
+@define-color theme_selected_bg_color #666666;
+/*
+text/foreground color of selections */
+@define-color theme_selected_fg_color #FFFFFF;
+/*
+base background color of insensitive widgets */
+@define-color insensitive_bg_color #F5F5F5;
+/*
+text foreground color of insensitive widgets */
+@define-color insensitive_fg_color rgba(0, 0, 0, 0.32);
+/*
+insensitive text widgets and the like base background color */
+@define-color insensitive_base_color #fafafa;
+/*
+widget text/foreground color on backdrop windows */
+@define-color theme_unfocused_fg_color rgba(0, 0, 0, 0.8);
+/*
+text color for entries, views and content in general on backdrop windows */
+@define-color theme_unfocused_text_color rgba(0, 0, 0, 0.8);
+/*
+widget base background color on backdrop windows */
+@define-color theme_unfocused_bg_color #F5F5F5;
+/*
+text widgets and the like base background color on backdrop windows */
+@define-color theme_unfocused_base_color #FFFFFF;
+/*
+base background color of selections on backdrop windows */
+@define-color theme_unfocused_selected_bg_color #666666;
+/*
+text/foreground color of selections on backdrop windows */
+@define-color theme_unfocused_selected_fg_color #FFFFFF;
+/*
+insensitive color on backdrop windows*/
+@define-color unfocused_insensitive_color rgba(0, 0, 0, 0.32);
+/*
+widgets main borders color */
+@define-color borders rgba(0, 0, 0, 0.1);
+/*
+widgets main borders color on backdrop windows */
+@define-color unfocused_borders rgba(0, 0, 0, 0.1);
+/*
+these are pretty self explicative */
+@define-color warning_color #FF6D00;
+@define-color error_color #DD2C00;
+@define-color success_color #00C853;
+@define-color content_view_bg #FFFFFF;
+@define-color placeholder_text_color rgba(128, 128, 128, 0.88);
diff --git a/win/themes/VimixLight/index.theme b/win/themes/VimixLight/index.theme
new file mode 100644
index 000000000..da7ff253f
--- /dev/null
+++ b/win/themes/VimixLight/index.theme
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Type=X-GNOME-Metatheme
+Name=VimixLight
+Comment=A Light Material Design-like flat theme
+Encoding=UTF-8
+
+[X-GNOME-Metatheme]
+GtkTheme=VimixLight
+MetacityTheme=VimixLight
+IconTheme=Paper
+CursorTheme=Breeze_cursors
+