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 +# init: +# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) + 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 + - 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 + } - - 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" + bash 'pacman -Sy --noconfirm git' + bash 'git clone https://dev.gajim.org/lovetox/gajim.git' - - 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 - - # Make Gajim.exe - - "%PYTHON%\\python.exe setup_win32.py build_exe" - - - move build\exe.win32-3.4 . - - rmdir build - - rename exe.win32-3.4 build - - # 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 -# Copyright (C) 2005-2006 Nikos Kouremenos -# Copyright (C) 2008 Jonathan Schleifer -# -# 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 . -# - - -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" +""" + +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 +#include + + +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 similarity index 51% rename from gajim-portable.nsi rename to 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\build" - CreateShortCut "$INSTDIR\Gajim-Portable.lnk" "$INSTDIR\build\Gajim.exe" \ - "-c ..\UserData" "" "" SW_SHOWNORMAL "" "Gajim Portable" + 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" 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 Binary files /dev/null and b/win/misc/gajim.ico differ diff --git a/gajim.nsi b/win/misc/gajim.nsi similarity index 68% rename from gajim.nsi rename to 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/check-checked-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/check-dash-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/check-unchecked-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-hover-selectionmode@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-checked-selectionmode@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-hover-selectionmode@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/checkbox-selectionmode@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-checked-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-dash-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/radio-unchecked-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above-insensitive@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-above@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below-insensitive@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-horz-scale-has-marks-below@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-insensitive@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above-insensitive@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-above@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below-insensitive@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider-vert-scale-has-marks-below@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/assets/slider@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/check-checked-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/check-dash-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/check-unchecked-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-hover-selectionmode@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-checked-selectionmode@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-hover-selectionmode@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/checkbox-selectionmode@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/radio-checked-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/radio-dash-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/radio-unchecked-symbolic.png 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 @@ + + + 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-insensitive@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider.png 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 Binary files /dev/null and b/win/themes/VimixLight/gtk-3.0/assets/slider@2.png 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 +