diff --git a/README.md b/README.md index def4d7cb..34103e20 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,25 @@ # Trude's Dotfiles -![banner](images/banner-debian.png) +

+ ⠀⠀⠀⠀ + +

Welcome to Trude's dotfiles. Here you will find my personal configurations, tools and scripts. -Some of these only apply to the `trude` user, and assume the repository is always placed at `$HOME/dotfiles`. I highly recommend anyone interested to fork the repository and modify the configurations to your liking. -This repo can be used as a base for your own dotfiles. - -Looking for my **sway** dotfiles? [Click Here](https://github.com/TrudeEH/dotfiles/tree/arch-sway) +I highly recommend anyone interested to fork the repository and modify the configurations to your liking. +This repository can be used as a base for your own dotfiles. ## Structure -- `install.sh` Install the dotfiles and set up a new Debian machine with popular applications and tools. -- `scripts/` Scripts directory. You may find some useful snippets here. These are never used as dependencies. -- `dotfiles/.local/bin` Dmenu scripts and scripts used by other programs. +- `install.sh` +- `scripts/` Scripts directory. You may find some useful snippets here. +- `nix/` Nix configurations for Linux and macOS. +- `nix-shells/` Nix shells for development environments and temporary programs. ## Getting Started -1. Fork the repository to be able to customize it and make it your own. +1. Install `git` and `curl`. -2. Run the install script by executing the code below in your terminal. - ```sh - git clone - cd dotfiles - ./install.sh - ``` -3. Make it your own! Tweak the install script, change some settings and add in your own. +2. Run the install script: -## Screenshots - -### Installer -![screenshot 1](images/dialog.png) - -### Desktop - -![screenshot 1](images/sc1.png) -![screenshot 2](images/sc2.png) - -## Tested on -- ChromeOS Crostini (Debian 12 Container) -- Debian 12 -- Linux Mint 21.3 -- Ubuntu 24.04 - -## Gruvbox theme -![theme](images/gruvbox.png) +```sh +sh <(curl -L https://raw.githubusercontent.com/TrudeEH/dotfiles/refs/heads/main/install.sh) +``` diff --git a/config-files/.Xresources b/config-files/.Xresources deleted file mode 100644 index ae53cbe3..00000000 --- a/config-files/.Xresources +++ /dev/null @@ -1,5 +0,0 @@ -# Change Xorg display scaling if needed. - -# Xft.dpi: 192 # 200% Scale -# Xft.dpi: 160 # 166% Scale -# Xft.dpi: 96 # Default diff --git a/config-files/.bashrc b/config-files/.bashrc deleted file mode 100644 index ae1beca0..00000000 --- a/config-files/.bashrc +++ /dev/null @@ -1,119 +0,0 @@ -export EDITOR="nvim" -export PS1="\n[\[\e[37m\]\u\[\e[0m\]@\[\e[37;2m\]\h\[\e[0m\]] \[\e[1m\]\w \[\e[0;2m\]J:\[\e[0m\]\j\n\$ " - -update() { - sudo apt update - sudo apt upgrade - sudo apt full-upgrade - sudo apt autoremove - sudo apt autoclean -} - -extract() { - if [ -f $1 ]; then - case $1 in - *.tar.bz2) tar xjf $1 ;; - *.tar.gz) tar xzf $1 ;; - *.bz2) bunzip2 $1 ;; - *.rar) unrar e $1 ;; - *.gz) gunzip $1 ;; - *.tar) tar xf $1 ;; - *.tbz2) tar xjf $1 ;; - *.tgz) tar xzf $1 ;; - *.zip) unzip $1 ;; - *.Z) uncompress $1 ;; - *.7z) 7z x $1 ;; - *) echo "'$1' cannot be extracted via extract()" ;; - esac - else - echo "'$1' is not a valid file" - fi -} - -pushall() { - if [[ -z "$1" ]]; then - echo "Usage: pushall \"commit message\"" - else - git pull - git diff - read -p "Press ENTER to continue..." - git add -A - git commit -m "$@" - git push - fi -} - -hex2color() { - hex=${1#"#"} - r=$(printf '0x%0.2s' "$hex") - g=$(printf '0x%0.2s' ${hex#??}) - b=$(printf '0x%0.2s' ${hex#????}) - printf '%03d' "$(((r < 75 ? 0 : (r - 35) / 40) * 6 * 6 + (\ - g < 75 ? 0 : (g - 35) / 40) * 6 + (\ - b < 75 ? 0 : (b - 35) / 40) + 16))" -} - -color2hex() { - dec=$(($1 % 256)) ### input must be a number in range 0-255. - if [ "$dec" -lt "16" ]; then - bas=$((dec % 16)) - mul=128 - [ "$bas" -eq "7" ] && mul=192 - [ "$bas" -eq "8" ] && bas=7 - [ "$bas" -gt "8" ] && mul=255 - a="$(((bas & 1) * mul))" - b="$((((bas & 2) >> 1) * mul))" - c="$((((bas & 4) >> 2) * mul))" - printf 'dec= %3s basic= #%02x%02x%02x\n' "$dec" "$a" "$b" "$c" - elif [ "$dec" -gt 15 ] && [ "$dec" -lt 232 ]; then - b=$(((dec - 16) % 6)) - b=$((b == 0 ? 0 : b * 40 + 55)) - g=$(((dec - 16) / 6 % 6)) - g=$((g == 0 ? 0 : g * 40 + 55)) - r=$(((dec - 16) / 36)) - r=$((r == 0 ? 0 : r * 40 + 55)) - printf 'dec= %3s color= #%02x%02x%02x\n' "$dec" "$r" "$g" "$b" - else - gray=$(((dec - 232) * 10 + 8)) - printf 'dec= %3s gray= #%02x%02x%02x\n' "$dec" "$gray" "$gray" "$gray" - fi -} - -# Commands that should be applied only for interactive shells. -[[ $- == *i* ]] || return - -HISTFILESIZE=100000 -HISTSIZE=10000 - -shopt -s histappend -shopt -s checkwinsize -shopt -s extglob -shopt -s globstar -shopt -s checkjobs - -alias l='ls -alh' -alias ls='ls --color=auto' -alias grep='grep --color=auto' -alias ll='ls -lhi' -alias ta='tmux attach' -alias t='tmux' -alias v='nvim' -alias cpp='rsync -ah --progress' -alias code='code --enable-features=UseOzonePlatform --ozone-platform=wayland' - -set completion-ignore-case On - -# Use bash-completion, if available -[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && - . /usr/share/bash-completion/bash_completion - -export OFLAGS="--ozone-platform-hint=auto" - -export PATH=$PATH:/home/trude/.local/bin - -if [[ -z $TMUX ]]; then - tmux attach - if [[ $? == 1 ]]; then - tmux new -s main - fi -fi diff --git a/config-files/.config/dunst/dunstrc b/config-files/.config/dunst/dunstrc deleted file mode 100644 index fda85b2e..00000000 --- a/config-files/.config/dunst/dunstrc +++ /dev/null @@ -1,436 +0,0 @@ -# See dunst(5) for all configuration options - -[global] - ### Display ### - - # Which monitor should the notifications be displayed on. - monitor = 0 - - # Display notification on focused monitor. Possible modes are: - # mouse: follow mouse pointer - # keyboard: follow window with keyboard focus - # none: don't follow anything - # - # "keyboard" needs a window manager that exports the - # _NET_ACTIVE_WINDOW property. - # This should be the case for almost all modern window managers. - # - # If this option is set to mouse or keyboard, the monitor option - # will be ignored. - follow = mouse - - ### Geometry ### - - # dynamic width from 0 to 300 - # width = (0, 300) - # constant width of 300 - width = 400 - - # The maximum height of a single notification, excluding the frame. - height = 400 - - # Position the notification in the top right corner - origin = top-center - - # Offset from the origin - offset = 10x10 - - # Scale factor. It is auto-detected if value is 0. - scale = 0 - - # Maximum number of notification (0 means no limit) - notification_limit = 4 - - ### Progress bar ### - - # Turn on the progess bar. It appears when a progress hint is passed with - # for example dunstify -h int:value:12 - progress_bar = true - - # Set the progress bar height. This includes the frame, so make sure - # it's at least twice as big as the frame width. - progress_bar_height = 10 - - # Set the frame width of the progress bar - progress_bar_frame_width = 1 - - # Set the minimum width for the progress bar - progress_bar_min_width = 150 - - # Set the maximum width for the progress bar - progress_bar_max_width = 300 - - - # Show how many messages are currently hidden (because of - # notification_limit). - indicate_hidden = yes - - # The transparency of the window. Range: [0; 100]. - # This option will only work if a compositing window manager is - # present (e.g. xcompmgr, compiz, etc.). (X11 only) - transparency = 15 - - # Draw a line of "separator_height" pixel height between two - # notifications. - # Set to 0 to disable. - separator_height = 1 - - # Padding between text and separator. - padding = 8 - - # Horizontal padding. - horizontal_padding = 10 - - # Padding between text and icon. - text_icon_padding = 0 - - # Defines width in pixels of frame around the notification window. - # Set to 0 to disable. - frame_width = 2 - - # Defines color of the frame around the notification window. - frame_color = "#ebdbb2" - - # Define a color for the separator. - # possible values are: - # * auto: dunst tries to find a color fitting to the background; - # * foreground: use the same color as the foreground; - # * frame: use the same color as the frame; - # * anything else will be interpreted as a X color. - separator_color = frame - - # Sort messages by urgency. - sort = yes - - # Don't remove messages, if the user is idle (no mouse or keyboard input) - # for longer than idle_threshold seconds. - # Set to 0 to disable. - # A client can set the 'transient' hint to bypass this. See the rules - # section for how to disable this if necessary - idle_threshold = 120 - - ### Text ### - - font = JetBrains Mono Nerd Font 10 - - # The spacing between lines. If the height is smaller than the - # font height, it will get raised to the font height. - line_height = 0 - - # Possible values are: - # full: Allow a small subset of html markup in notifications: - # bold - # italic - # strikethrough - # underline - # - # For a complete reference see - # . - # - # strip: This setting is provided for compatibility with some broken - # clients that send markup even though it's not enabled on the - # server. Dunst will try to strip the markup but the parsing is - # simplistic so using this option outside of matching rules for - # specific applications *IS GREATLY DISCOURAGED*. - # - # no: Disable markup parsing, incoming notifications will be treated as - # plain text. Dunst will not advertise that it has the body-markup - # capability if this is set as a global setting. - # - # It's important to note that markup inside the format option will be parsed - # regardless of what this is set to. - markup = full - - # The format of the message. Possible variables are: - # %a appname - # %s summary - # %b body - # %i iconname (including its path) - # %I iconname (without its path) - # %p progress value if set ([ 0%] to [100%]) or nothing - # %n progress value if set without any extra characters - # %% Literal % - # Markup is allowed - format = "%s %p\n%b" - - # Alignment of message text. - # Possible values are "left", "center" and "right". - alignment = center - - # Vertical alignment of message text and icon. - # Possible values are "top", "center" and "bottom". - vertical_alignment = center - - # Show age of message if message is older than show_age_threshold - # seconds. - # Set to -1 to disable. - show_age_threshold = 60 - - # Specify where to make an ellipsis in long lines. - # Possible values are "start", "middle" and "end". - ellipsize = middle - - # Ignore newlines '\n' in notifications. - ignore_newline = no - - # Stack together notifications with the same content - stack_duplicates = true - - # Hide the count of stacked notifications with the same content - hide_duplicate_count = false - - # Display indicators for URLs (U) and actions (A). - show_indicators = yes - - ### Icons ### - - # Align icons left/right/off - icon_position = left - - # Scale small icons up to this size, set to 0 to disable. Helpful - # for e.g. small files or high-dpi screens. In case of conflict, - # max_icon_size takes precedence over this. - min_icon_size = 0 - - # Scale larger icons down to this size, set to 0 to disable - max_icon_size = 64 - - # Paths to default icons. - icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ - - ### History ### - - # Should a notification popped up from history be sticky or timeout - # as if it would normally do. - sticky_history = yes - - # Maximum amount of notifications kept in history - history_length = 20 - - ### Misc/Advanced ### - - # dmenu path. - dmenu = dmenu -p dunst: - - # Browser for opening urls in context menu. - browser = firefox -new-tab - - # Always run rule-defined scripts, even if the notification is suppressed - always_run_script = true - - # Define the title of the windows spawned by dunst - title = Dunst - - # Define the class of the windows spawned by dunst - class = Dunst - - # Define the corner radius of the notification window - # in pixel size. If the radius is 0, you have no rounded - # corners. - # The radius will be automatically lowered if it exceeds half of the - # notification height to avoid clipping text and/or icons. - corner_radius = 0 - - # Ignore the dbus closeNotification message. - # Useful to enforce the timeout set by dunst configuration. Without this - # parameter, an application may close the notification sent before the - # user defined timeout. - ignore_dbusclose = false - - ### Wayland ### - # These settings are Wayland-specific. They have no effect when using X11 - - # Uncomment this if you want to let notications appear under fullscreen - # applications (default: overlay) - # layer = top - - # Set this to true to use X11 output on Wayland. - force_xwayland = false - - ### Legacy - - # Use the Xinerama extension instead of RandR for multi-monitor support. - # This setting is provided for compatibility with older nVidia drivers that - # do not support RandR and using it on systems that support RandR is highly - # discouraged. - # - # By enabling this setting dunst will not be able to detect when a monitor - # is connected or disconnected which might break follow mode if the screen - # layout changes. - force_xinerama = false - - ### mouse - - # Defines list of actions for each mouse event - # Possible values are: - # * none: Don't do anything. - # * do_action: Invoke the action determined by the action_name rule. If there is no - # such action, open the context menu. - # * open_url: If the notification has exactly one url, open it. If there are multiple - # ones, open the context menu. - # * close_current: Close current notification. - # * close_all: Close all notifications. - # * context: Open context menu for the notification. - # * context_all: Open context menu for all notifications. - # These values can be strung together for each mouse event, and - # will be executed in sequence. - mouse_left_click = close_current - mouse_middle_click = do_action, close_current - mouse_right_click = close_all - -# Experimental features that may or may not work correctly. Do not expect them -# to have a consistent behaviour across releases. -[experimental] - # Calculate the dpi to use on a per-monitor basis. - # If this setting is enabled the Xft.dpi value will be ignored and instead - # dunst will attempt to calculate an appropriate dpi value for each monitor - # using the resolution and physical size. This might be useful in setups - # where there are multiple screens with very different dpi values. - per_monitor_dpi = false - - -[urgency_low] - # IMPORTANT: colors have to be defined in quotation marks. - # Otherwise the "#" and following would be interpreted as a comment. - background = "#282828" - foreground = "#ebdbb2" - timeout = 10 - # Icon for notifications with low urgency, uncomment to enable - #new_icon = /path/to/icon - -[urgency_normal] - background = "#282828" - foreground = "#ebdbb2" - timeout = 10 - # Icon for notifications with normal urgency, uncomment to enable - #new_icon = /path/to/icon - -[urgency_critical] - background = "#282828" - foreground = "#ebdbb2" - frame_color = "#fb4934" - timeout = 0 - # Icon for notifications with critical urgency, uncomment to enable - #new_icon = /path/to/icon - -# Every section that isn't one of the above is interpreted as a rules to -# override settings for certain messages. -# -# Messages can be matched by -# appname (discouraged, see desktop_entry) -# body -# category -# desktop_entry -# icon -# match_transient -# msg_urgency -# stack_tag -# summary -# -# and you can override the -# background -# foreground -# format -# frame_color -# fullscreen -# new_icon -# set_stack_tag -# set_transient -# set_category -# timeout -# urgency -# skip_display -# history_ignore -# action_name -# word_wrap -# ellipsize -# alignment -# -# Shell-like globbing will get expanded. -# -# Instead of the appname filter, it's recommended to use the desktop_entry filter. -# GLib based applications export their desktop-entry name. In comparison to the appname, -# the desktop-entry won't get localized. -# -# SCRIPTING -# You can specify a script that gets run when the rule matches by -# setting the "script" option. -# The script will be called as follows: -# script appname summary body icon urgency -# where urgency can be "LOW", "NORMAL" or "CRITICAL". -# -# NOTE: It might be helpful to run dunst -print in a terminal in order -# to find fitting options for rules. - -# Disable the transient hint so that idle_threshold cannot be bypassed from the -# client -#[transient_disable] -# match_transient = yes -# set_transient = no -# -# Make the handling of transient notifications more strict by making them not -# be placed in history. -#[transient_history_ignore] -# match_transient = yes -# history_ignore = yes - -# fullscreen values -# show: show the notifications, regardless if there is a fullscreen window opened -# delay: displays the new notification, if there is no fullscreen window active -# If the notification is already drawn, it won't get undrawn. -# pushback: same as delay, but when switching into fullscreen, the notification will get -# withdrawn from screen again and will get delayed like a new notification -#[fullscreen_delay_everything] -# fullscreen = delay -#[fullscreen_show_critical] -# msg_urgency = critical -# fullscreen = show - -#[espeak] -# summary = "*" -# script = dunst_espeak.sh - -#[script-test] -# summary = "*script*" -# script = dunst_test.sh - -#[ignore] -# # This notification will not be displayed -# summary = "foobar" -# skip_display = true - -#[history-ignore] -# # This notification will not be saved in history -# summary = "foobar" -# history_ignore = yes - -#[skip-display] -# # This notification will not be displayed, but will be included in the history -# summary = "foobar" -# skip_display = yes - -#[signed_on] -# appname = Pidgin -# summary = "*signed on*" -# urgency = low -# -#[signed_off] -# appname = Pidgin -# summary = *signed off* -# urgency = low -# -#[says] -# appname = Pidgin -# summary = *says* -# urgency = critical -# -#[twitter] -# appname = Pidgin -# summary = *twitter.com* -# urgency = normal -# -#[stack-volumes] -# appname = "some_volume_notifiers" -# set_stack_tag = "volume" -# -# vim: ft=cfg diff --git a/config-files/.config/git/config b/config-files/.config/git/config deleted file mode 100644 index e0e8ecef..00000000 --- a/config-files/.config/git/config +++ /dev/null @@ -1,10 +0,0 @@ -[user] -email = "ehtrude@gmail.com" -name = "TrudeEH" - -[credential "https://github.com"] -helper = -helper = !/usr/bin/gh auth git-credential -[credential "https://gist.github.com"] -helper = -helper = !/usr/bin/gh auth git-credential diff --git a/config-files/.config/picom/picom.conf b/config-files/.config/picom/picom.conf deleted file mode 100644 index 84a8bf29..00000000 --- a/config-files/.config/picom/picom.conf +++ /dev/null @@ -1,61 +0,0 @@ -backend = "glx" -glx-no-stencil = true -glx-copy-from-front = false - -# Opacity -active-opacity = 1 -inactive-opacity = 1 -frame-opacity = 1 -#inactive-opacity-override = false; -#blur-background = false; -#blur-background-exclude = [ -# "window_type = 'dock' -#] - -#blur-method = "dual_kawase"; -#blur-strength = 8; - -# Fading -fading = false -#fade-delta = 2; -#no-fading-openclose = false; - -#fade-exclude = [ ]; - -# Other -#mark-wmwin-focused = true; -#mark-ovredir-focused = true; -#detect-rounded-corners = true; -#detect-clien-opacity = true; -vsync = true -dbe = false -#unredir-if-possible = false; -#focus-exclude = [ ]; -#detect-transient = true; -#detect-client-leader = true; - -# Window type settings -#wintypes: -#{ -# dock = { -# shadow = false; -# }; -#}; - -# Window transparency -opacity-rule = [ -#"90:class_g = 'st'", -] - -shadow = false -#shadow-radius = 12; -#shadow-offset-x = -5; -#shadow-offset-y = -5; -#shadow-opacity = 0.5; -#shadow-green = 1.0; - -#shadow-exclude = [ ]; - -#corner-radius = 0; - -xrender-sync-fence = true diff --git a/config-files/.config/tmux/plugins/tmux-cpu/cpu.tmux b/config-files/.config/tmux/plugins/tmux-cpu/cpu.tmux deleted file mode 100755 index 40d81247..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/cpu.tmux +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -source "$CURRENT_DIR/scripts/helpers.sh" - -cpu_interpolation=( - "\#{cpu_percentage}" - "\#{cpu_icon}" - "\#{cpu_bg_color}" - "\#{cpu_fg_color}" - "\#{gpu_percentage}" - "\#{gpu_icon}" - "\#{gpu_bg_color}" - "\#{gpu_fg_color}" - "\#{ram_percentage}" - "\#{ram_icon}" - "\#{ram_bg_color}" - "\#{ram_fg_color}" - "\#{gram_percentage}" - "\#{gram_icon}" - "\#{gram_bg_color}" - "\#{gram_fg_color}" - "\#{cpu_temp}" - "\#{cpu_temp_icon}" - "\#{cpu_temp_bg_color}" - "\#{cpu_temp_fg_color}" - "\#{gpu_temp}" - "\#{gpu_temp_icon}" - "\#{gpu_temp_bg_color}" - "\#{gpu_temp_fg_color}" -) -cpu_commands=( - "#($CURRENT_DIR/scripts/cpu_percentage.sh)" - "#($CURRENT_DIR/scripts/cpu_icon.sh)" - "#($CURRENT_DIR/scripts/cpu_bg_color.sh)" - "#($CURRENT_DIR/scripts/cpu_fg_color.sh)" - "#($CURRENT_DIR/scripts/gpu_percentage.sh)" - "#($CURRENT_DIR/scripts/gpu_icon.sh)" - "#($CURRENT_DIR/scripts/gpu_bg_color.sh)" - "#($CURRENT_DIR/scripts/gpu_fg_color.sh)" - "#($CURRENT_DIR/scripts/ram_percentage.sh)" - "#($CURRENT_DIR/scripts/ram_icon.sh)" - "#($CURRENT_DIR/scripts/ram_bg_color.sh)" - "#($CURRENT_DIR/scripts/ram_fg_color.sh)" - "#($CURRENT_DIR/scripts/gram_percentage.sh)" - "#($CURRENT_DIR/scripts/gram_icon.sh)" - "#($CURRENT_DIR/scripts/gram_bg_color.sh)" - "#($CURRENT_DIR/scripts/gram_fg_color.sh)" - "#($CURRENT_DIR/scripts/cpu_temp.sh)" - "#($CURRENT_DIR/scripts/cpu_temp_icon.sh)" - "#($CURRENT_DIR/scripts/cpu_temp_bg_color.sh)" - "#($CURRENT_DIR/scripts/cpu_temp_fg_color.sh)" - "#($CURRENT_DIR/scripts/gpu_temp.sh)" - "#($CURRENT_DIR/scripts/gpu_temp_icon.sh)" - "#($CURRENT_DIR/scripts/gpu_temp_bg_color.sh)" - "#($CURRENT_DIR/scripts/gpu_temp_fg_color.sh)" -) - -set_tmux_option() { - local option=$1 - local value=$2 - tmux set-option -gq "$option" "$value" -} - -do_interpolation() { - local all_interpolated="$1" - for ((i = 0; i < ${#cpu_commands[@]}; i++)); do - all_interpolated=${all_interpolated//${cpu_interpolation[$i]}/${cpu_commands[$i]}} - done - echo "$all_interpolated" -} - -update_tmux_option() { - local option - local option_value - local new_option_value - option=$1 - option_value=$(get_tmux_option "$option") - new_option_value=$(do_interpolation "$option_value") - set_tmux_option "$option" "$new_option_value" -} - -main() { - update_tmux_option "status-right" - update_tmux_option "status-left" -} -main diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_bg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_bg_color.sh deleted file mode 100755 index e0724059..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_bg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -cpu_low_bg_color="" -cpu_medium_bg_color="" -cpu_high_bg_color="" - -cpu_low_default_bg_color="#[bg=green]" -cpu_medium_default_bg_color="#[bg=yellow]" -cpu_high_default_bg_color="#[bg=red]" - -get_bg_color_settings() { - cpu_low_bg_color=$(get_tmux_option "@cpu_low_bg_color" "$cpu_low_default_bg_color") - cpu_medium_bg_color=$(get_tmux_option "@cpu_medium_bg_color" "$cpu_medium_default_bg_color") - cpu_high_bg_color=$(get_tmux_option "@cpu_high_bg_color" "$cpu_high_default_bg_color") -} - -print_bg_color() { - local cpu_percentage - local load_status - cpu_percentage=$("$CURRENT_DIR"/cpu_percentage.sh | sed -e 's/%//') - load_status=$(load_status "$cpu_percentage" "cpu") - if [ "$load_status" == "low" ]; then - echo "$cpu_low_bg_color" - elif [ "$load_status" == "medium" ]; then - echo "$cpu_medium_bg_color" - elif [ "$load_status" == "high" ]; then - echo "$cpu_high_bg_color" - fi -} - -main() { - get_bg_color_settings - print_bg_color -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_fg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_fg_color.sh deleted file mode 100755 index 3afb80ef..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_fg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -cpu_low_fg_color="" -cpu_medium_fg_color="" -cpu_high_fg_color="" - -cpu_low_default_fg_color="#[fg=green]" -cpu_medium_default_fg_color="#[fg=yellow]" -cpu_high_default_fg_color="#[fg=red]" - -get_fg_color_settings() { - cpu_low_fg_color=$(get_tmux_option "@cpu_low_fg_color" "$cpu_low_default_fg_color") - cpu_medium_fg_color=$(get_tmux_option "@cpu_medium_fg_color" "$cpu_medium_default_fg_color") - cpu_high_fg_color=$(get_tmux_option "@cpu_high_fg_color" "$cpu_high_default_fg_color") -} - -print_fg_color() { - local cpu_percentage - local load_status - cpu_percentage=$("$CURRENT_DIR"/cpu_percentage.sh | sed -e 's/%//') - load_status=$(load_status "$cpu_percentage" "cpu") - if [ "$load_status" == "low" ]; then - echo "$cpu_low_fg_color" - elif [ "$load_status" == "medium" ]; then - echo "$cpu_medium_fg_color" - elif [ "$load_status" == "high" ]; then - echo "$cpu_high_fg_color" - fi -} - -main() { - get_fg_color_settings - print_fg_color -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_icon.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_icon.sh deleted file mode 100755 index 99b9272b..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_icon.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -# script global variables -cpu_low_icon="" -cpu_medium_icon="" -cpu_high_icon="" - -cpu_low_default_icon="=" -cpu_medium_default_icon="≡" -cpu_high_default_icon="≣" - -# icons are set as script global variables -get_icon_settings() { - cpu_low_icon=$(get_tmux_option "@cpu_low_icon" "$cpu_low_default_icon") - cpu_medium_icon=$(get_tmux_option "@cpu_medium_icon" "$cpu_medium_default_icon") - cpu_high_icon=$(get_tmux_option "@cpu_high_icon" "$cpu_high_default_icon") -} - -print_icon() { - local cpu_percentage - local load_status - cpu_percentage=$("$CURRENT_DIR"/cpu_percentage.sh | sed -e 's/%//') - load_status=$(load_status "$cpu_percentage" "cpu") - if [ "$load_status" == "low" ]; then - echo "$cpu_low_icon" - elif [ "$load_status" == "medium" ]; then - echo "$cpu_medium_icon" - elif [ "$load_status" == "high" ]; then - echo "$cpu_high_icon" - fi -} - -main() { - get_icon_settings - print_icon "$1" -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_percentage.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_percentage.sh deleted file mode 100755 index 15190f07..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_percentage.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -cpu_percentage_format="%3.1f%%" - -print_cpu_percentage() { - cpu_percentage_format=$(get_tmux_option "@cpu_percentage_format" "$cpu_percentage_format") - - if command_exists "iostat"; then - - if is_linux_iostat; then - cached_eval iostat -c 1 2 | sed '/^\s*$/d' | tail -n 1 | awk -v format="$cpu_percentage_format" '{usage=100-$NF} END {printf(format, usage)}' | sed 's/,/./' - elif is_osx; then - cached_eval iostat -c 2 disk0 | sed '/^\s*$/d' | tail -n 1 | awk -v format="$cpu_percentage_format" '{usage=100-$6} END {printf(format, usage)}' | sed 's/,/./' - elif is_freebsd || is_openbsd; then - cached_eval iostat -c 2 | sed '/^\s*$/d' | tail -n 1 | awk -v format="$cpu_percentage_format" '{usage=100-$NF} END {printf(format, usage)}' | sed 's/,/./' - else - echo "Unknown iostat version please create an issue" - fi - elif command_exists "sar"; then - cached_eval sar -u 1 1 | sed '/^\s*$/d' | tail -n 1 | awk -v format="$cpu_percentage_format" '{usage=100-$NF} END {printf(format, usage)}' | sed 's/,/./' - else - if is_cygwin; then - usage="$(cached_eval WMIC cpu get LoadPercentage | grep -Eo '^[0-9]+')" - # shellcheck disable=SC2059 - printf "$cpu_percentage_format" "$usage" - else - load=$(cached_eval ps -aux | awk '{print $3}' | tail -n+2 | awk '{s+=$1} END {print s}') - cpus=$(cpus_number) - echo "$load $cpus" | awk -v format="$cpu_percentage_format" '{printf format, $1/$2}' - fi - fi -} - -main() { - print_cpu_percentage -} -main diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp.sh deleted file mode 100755 index 624632fe..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -cpu_temp_format="%2.0f" -cpu_temp_unit="C" - -print_cpu_temp() { - cpu_temp_format=$(get_tmux_option "@cpu_temp_format" "$cpu_temp_format") - cpu_temp_unit=$(get_tmux_option "@cpu_temp_unit" "$cpu_temp_unit") - if command_exists "sensors"; then - local val - if [[ "$cpu_temp_unit" == F ]]; then - val="$(sensors -f)" - else - val="$(sensors)" - fi - echo "$val" | sed -e 's/^Tccd/Core /' | awk -v format="$cpu_temp_format$cpu_temp_unit" '/^Core [0-9]+/ {gsub("[^0-9.]", "", $3); sum+=$3; n+=1} END {printf(format, sum/n)}' - fi -} - -main() { - print_cpu_temp -} -main diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp_bg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp_bg_color.sh deleted file mode 100755 index c1fadd96..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp_bg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -cpu_temp_low_bg_color="" -cpu_temp_medium_bg_color="" -cpu_temp_high_bg_color="" - -cpu_temp_low_default_bg_color="#[bg=green]" -cpu_temp_medium_default_bg_color="#[bg=yellow]" -cpu_temp_high_default_bg_color="#[bg=red]" - -get_bg_color_settings() { - cpu_temp_low_bg_color=$(get_tmux_option "@cpu_temp_low_bg_color" "$cpu_temp_low_default_bg_color") - cpu_temp_medium_bg_color=$(get_tmux_option "@cpu_temp_medium_bg_color" "$cpu_temp_medium_default_bg_color") - cpu_temp_high_bg_color=$(get_tmux_option "@cpu_temp_high_bg_color" "$cpu_temp_high_default_bg_color") -} - -print_bg_color() { - local cpu_temp - local cpu_temp_status - cpu_temp=$("$CURRENT_DIR"/cpu_temp.sh | sed -e 's/[^0-9.]//') - cpu_temp_status=$(temp_status "$cpu_temp") - if [ "$cpu_temp_status" == "low" ]; then - echo "$cpu_temp_low_bg_color" - elif [ "$cpu_temp_status" == "medium" ]; then - echo "$cpu_temp_medium_bg_color" - elif [ "$cpu_temp_status" == "high" ]; then - echo "$cpu_temp_high_bg_color" - fi -} - -main() { - get_bg_color_settings - print_bg_color -} -main diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp_fg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp_fg_color.sh deleted file mode 100755 index d5e4c6d3..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp_fg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -cpu_temp_low_fg_color="" -cpu_temp_medium_fg_color="" -cpu_temp_high_fg_color="" - -cpu_temp_low_default_fg_color="#[fg=green]" -cpu_temp_medium_default_fg_color="#[fg=yellow]" -cpu_temp_high_default_fg_color="#[fg=red]" - -get_fg_color_settings() { - cpu_temp_low_fg_color=$(get_tmux_option "@cpu_temp_low_fg_color" "$cpu_temp_low_default_fg_color") - cpu_temp_medium_fg_color=$(get_tmux_option "@cpu_temp_medium_fg_color" "$cpu_temp_medium_default_fg_color") - cpu_temp_high_fg_color=$(get_tmux_option "@cpu_temp_high_fg_color" "$cpu_temp_high_default_fg_color") -} - -print_fg_color() { - local cpu_temp - local cpu_temp_status - cpu_temp=$("$CURRENT_DIR"/cpu_temp.sh | sed -e 's/[^0-9.]//') - cpu_temp_status=$(temp_status "$cpu_temp") - if [ "$cpu_temp_status" == "low" ]; then - echo "$cpu_temp_low_fg_color" - elif [ "$cpu_temp_status" == "medium" ]; then - echo "$cpu_temp_medium_fg_color" - elif [ "$cpu_temp_status" == "high" ]; then - echo "$cpu_temp_high_fg_color" - fi -} - -main() { - get_fg_color_settings - print_fg_color -} -main diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp_icon.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp_icon.sh deleted file mode 100755 index 93ad8df9..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/cpu_temp_icon.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -# script global variables -cpu_temp_low_icon="" -cpu_temp_medium_icon="" -cpu_temp_high_icon="" - -cpu_temp_low_default_icon="=" -cpu_temp_medium_default_icon="≡" -cpu_temp_high_default_icon="≣" - -# icons are set as script global variables -get_icon_settings() { - cpu_temp_low_icon=$(get_tmux_option "@cpu_temp_low_icon" "$cpu_temp_low_default_icon") - cpu_temp_medium_icon=$(get_tmux_option "@cpu_temp_medium_icon" "$cpu_temp_medium_default_icon") - cpu_temp_high_icon=$(get_tmux_option "@cpu_temp_high_icon" "$cpu_temp_high_default_icon") -} - -print_icon() { - local cpu_temp - local cpu_temp_status - cpu_temp=$("$CURRENT_DIR"/cpu_temp.sh | sed -e 's/[^0-9.]//') - cpu_temp_status=$(temp_status "$cpu_temp") - if [ "$cpu_temp_status" == "low" ]; then - echo "$cpu_temp_low_icon" - elif [ "$cpu_temp_status" == "medium" ]; then - echo "$cpu_temp_medium_icon" - elif [ "$cpu_temp_status" == "high" ]; then - echo "$cpu_temp_high_icon" - fi -} - -main() { - get_icon_settings - print_icon "$1" -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_bg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_bg_color.sh deleted file mode 100755 index 9b978fcc..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_bg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -gpu_low_bg_color="" -gpu_medium_bg_color="" -gpu_high_bg_color="" - -gpu_low_default_bg_color="#[bg=green]" -gpu_medium_default_bg_color="#[bg=yellow]" -gpu_high_default_bg_color="#[bg=red]" - -get_bg_color_settings() { - gpu_low_bg_color=$(get_tmux_option "@gpu_low_bg_color" "$gpu_low_default_bg_color") - gpu_medium_bg_color=$(get_tmux_option "@gpu_medium_bg_color" "$gpu_medium_default_bg_color") - gpu_high_bg_color=$(get_tmux_option "@gpu_high_bg_color" "$gpu_high_default_bg_color") -} - -print_bg_color() { - local gpu_percentage - local gpu_load_status - gpu_percentage=$("$CURRENT_DIR"/gpu_percentage.sh | sed -e 's/%//') - gpu_load_status=$(load_status "$gpu_percentage" "gpu") - if [ "$gpu_load_status" == "low" ]; then - echo "$gpu_low_bg_color" - elif [ "$gpu_load_status" == "medium" ]; then - echo "$gpu_medium_bg_color" - elif [ "$gpu_load_status" == "high" ]; then - echo "$gpu_high_bg_color" - fi -} - -main() { - get_bg_color_settings - print_bg_color -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_fg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_fg_color.sh deleted file mode 100755 index aa02cf68..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_fg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -gpu_low_fg_color="" -gpu_medium_fg_color="" -gpu_high_fg_color="" - -gpu_low_default_fg_color="#[fg=green]" -gpu_medium_default_fg_color="#[fg=yellow]" -gpu_high_default_fg_color="#[fg=red]" - -get_fg_color_settings() { - gpu_low_fg_color=$(get_tmux_option "@gpu_low_fg_color" "$gpu_low_default_fg_color") - gpu_medium_fg_color=$(get_tmux_option "@gpu_medium_fg_color" "$gpu_medium_default_fg_color") - gpu_high_fg_color=$(get_tmux_option "@gpu_high_fg_color" "$gpu_high_default_fg_color") -} - -print_fg_color() { - local gpu_percentage - local gpu_load_status - gpu_percentage=$("$CURRENT_DIR"/gpu_percentage.sh | sed -e 's/%//') - gpu_load_status=$(load_status "$gpu_percentage" "gpu") - if [ "$gpu_load_status" == "low" ]; then - echo "$gpu_low_fg_color" - elif [ "$gpu_load_status" == "medium" ]; then - echo "$gpu_medium_fg_color" - elif [ "$gpu_load_status" == "high" ]; then - echo "$gpu_high_fg_color" - fi -} - -main() { - get_fg_color_settings - print_fg_color -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_icon.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_icon.sh deleted file mode 100755 index 0bb52f4b..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_icon.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -# script global variables -gpu_low_icon="" -gpu_medium_icon="" -gpu_high_icon="" - -gpu_low_default_icon="=" -gpu_medium_default_icon="≡" -gpu_high_default_icon="≣" - -# icons are set as script global variables -get_icon_settings() { - gpu_low_icon=$(get_tmux_option "@gpu_low_icon" "$gpu_low_default_icon") - gpu_medium_icon=$(get_tmux_option "@gpu_medium_icon" "$gpu_medium_default_icon") - gpu_high_icon=$(get_tmux_option "@gpu_high_icon" "$gpu_high_default_icon") -} - -print_icon() { - local gpu_percentage - local gpu_load_status - gpu_percentage=$("$CURRENT_DIR"/gpu_percentage.sh | sed -e 's/%//') - gpu_load_status=$(load_status "$gpu_percentage" "gpu") - if [ "$gpu_load_status" == "low" ]; then - echo "$gpu_low_icon" - elif [ "$gpu_load_status" == "medium" ]; then - echo "$gpu_medium_icon" - elif [ "$gpu_load_status" == "high" ]; then - echo "$gpu_high_icon" - fi -} - -main() { - get_icon_settings - print_icon "$1" -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_percentage.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_percentage.sh deleted file mode 100755 index e68785ef..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_percentage.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -gpu_percentage_format="%3.1f%%" - -print_gpu_percentage() { - gpu_percentage_format=$(get_tmux_option "@gpu_percentage_format" "$gpu_percentage_format") - - if command_exists "nvidia-smi"; then - loads=$(cached_eval nvidia-smi) - elif command_exists "cuda-smi"; then - loads=$(cached_eval cuda-smi) - else - echo "No GPU" - return - fi - echo "$loads" | sed -nr 's/.*\s([0-9]+)%.*/\1/p' | awk -v format="$gpu_percentage_format" '{sum+=$1; n+=1} END {printf format, sum/n}' -} - -main() { - print_gpu_percentage -} -main diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp.sh deleted file mode 100755 index 05179a06..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -gpu_temp_format="%2.0f" -gpu_temp_unit="C" - -print_gpu_temp() { - gpu_temp_format=$(get_tmux_option "@gpu_temp_format" "$gpu_temp_format") - gpu_temp_unit=$(get_tmux_option "@gpu_temp_unit" "$gpu_temp_unit") - - if command_exists "nvidia-smi"; then - loads=$(cached_eval nvidia-smi) - elif command_exists "cuda-smi"; then - loads=$(cached_eval cuda-smi) - else - echo "No GPU" - return - fi - tempC=$(echo "$loads" | sed -nr 's/.*\s([0-9]+)C.*/\1/p' | awk '{sum+=$1; n+=1} END {printf "%5.3f", sum/n}') - if [ "$gpu_temp_unit" == "C" ]; then - echo "$tempC" | awk -v format="${gpu_temp_format}C" '{sum+=$1} END {printf format, sum}' - else - echo "$tempC" | awk -v format="${gpu_temp_format}F" '{sum+=$1} END {printf format, sum*9/5+32}' - fi -} - -main() { - print_gpu_temp -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp_bg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp_bg_color.sh deleted file mode 100755 index 57c566ef..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp_bg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -gpu_temp_low_bg_color="" -gpu_temp_medium_bg_color="" -gpu_temp_high_bg_color="" - -gpu_temp_low_default_bg_color="#[bg=green]" -gpu_temp_medium_default_bg_color="#[bg=yellow]" -gpu_temp_high_default_bg_color="#[bg=red]" - -get_bg_color_settings() { - gpu_temp_low_bg_color=$(get_tmux_option "@gpu_temp_low_bg_color" "$gpu_temp_low_default_bg_color") - gpu_temp_medium_bg_color=$(get_tmux_option "@gpu_temp_medium_bg_color" "$gpu_temp_medium_default_bg_color") - gpu_temp_high_bg_color=$(get_tmux_option "@gpu_temp_high_bg_color" "$gpu_temp_high_default_bg_color") -} - -print_bg_color() { - local gpu_temp - local gpu_temp_status - gpu_temp=$("$CURRENT_DIR"/gpu_temp.sh | sed -e 's/[^0-9.]//') - gpu_temp_status=$(temp_status "$gpu_temp") - if [ "$gpu_temp_status" == "low" ]; then - echo "$gpu_temp_low_bg_color" - elif [ "$gpu_temp_status" == "medium" ]; then - echo "$gpu_temp_medium_bg_color" - elif [ "$gpu_temp_status" == "high" ]; then - echo "$gpu_temp_high_bg_color" - fi -} - -main() { - get_bg_color_settings - print_bg_color -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp_fg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp_fg_color.sh deleted file mode 100755 index 5dc50945..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp_fg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -gpu_temp_low_fg_color="" -gpu_temp_medium_fg_color="" -gpu_temp_high_fg_color="" - -gpu_temp_low_default_fg_color="#[fg=green]" -gpu_temp_medium_default_fg_color="#[fg=yellow]" -gpu_temp_high_default_fg_color="#[fg=red]" - -get_fg_color_settings() { - gpu_temp_low_fg_color=$(get_tmux_option "@gpu_temp_low_fg_color" "$gpu_temp_low_default_fg_color") - gpu_temp_medium_fg_color=$(get_tmux_option "@gpu_temp_medium_fg_color" "$gpu_temp_medium_default_fg_color") - gpu_temp_high_fg_color=$(get_tmux_option "@gpu_temp_high_fg_color" "$gpu_temp_high_default_fg_color") -} - -print_fg_color() { - local gpu_temp - local gpu_temp_status - gpu_temp=$("$CURRENT_DIR"/gpu_temp.sh | sed -e 's/[^0-9.]//') - gpu_temp_status=$(temp_status "$gpu_temp") - if [ "$gpu_temp_status" == "low" ]; then - echo "$gpu_temp_low_fg_color" - elif [ "$gpu_temp_status" == "medium" ]; then - echo "$gpu_temp_medium_fg_color" - elif [ "$gpu_temp_status" == "high" ]; then - echo "$gpu_temp_high_fg_color" - fi -} - -main() { - get_fg_color_settings - print_fg_color -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp_icon.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp_icon.sh deleted file mode 100755 index ece64876..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gpu_temp_icon.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -# script global variables -gpu_temp_low_icon="" -gpu_temp_medium_icon="" -gpu_temp_high_icon="" - -gpu_temp_low_default_icon="=" -gpu_temp_medium_default_icon="≡" -gpu_temp_high_default_icon="≣" - -# icons are set as script global variables -get_icon_settings() { - gpu_temp_low_icon=$(get_tmux_option "@gpu_temp_low_icon" "$gpu_temp_low_default_icon") - gpu_temp_medium_icon=$(get_tmux_option "@gpu_temp_medium_icon" "$gpu_temp_medium_default_icon") - gpu_temp_high_icon=$(get_tmux_option "@gpu_temp_high_icon" "$gpu_temp_high_default_icon") -} - -print_icon() { - local gpu_temp - local gpu_temp_status - gpu_temp=$("$CURRENT_DIR"/gpu_temp.sh | sed -e 's/[^0-9.]//') - gpu_temp_status=$(temp_status "$gpu_temp") - if [ "$gpu_temp_status" == "low" ]; then - echo "$gpu_temp_low_icon" - elif [ "$gpu_temp_status" == "medium" ]; then - echo "$gpu_temp_medium_icon" - elif [ "$gpu_temp_status" == "high" ]; then - echo "$gpu_temp_high_icon" - fi -} - -main() { - get_icon_settings - print_icon "$1" -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_bg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_bg_color.sh deleted file mode 100755 index e8d95e6f..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_bg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -gram_low_bg_color="" -gram_medium_bg_color="" -gram_high_bg_color="" - -gram_low_default_bg_color="#[bg=green]" -gram_medium_default_bg_color="#[bg=yellow]" -gram_high_default_bg_color="#[bg=red]" - -get_bg_color_settings() { - gram_low_bg_color=$(get_tmux_option "@gram_low_bg_color" "$gram_low_default_bg_color") - gram_medium_bg_color=$(get_tmux_option "@gram_medium_bg_color" "$gram_medium_default_bg_color") - gram_high_bg_color=$(get_tmux_option "@gram_high_bg_color" "$gram_high_default_bg_color") -} - -print_bg_color() { - local gram_percentage - local gram_load_status - gram_percentage=$("$CURRENT_DIR"/gram_percentage.sh | sed -e 's/%//') - gram_load_status=$(load_status "$gram_percentage" "gram") - if [ "$gram_load_status" == "low" ]; then - echo "$gram_low_bg_color" - elif [ "$gram_load_status" == "medium" ]; then - echo "$gram_medium_bg_color" - elif [ "$gram_load_status" == "high" ]; then - echo "$gram_high_bg_color" - fi -} - -main() { - get_bg_color_settings - print_bg_color -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_fg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_fg_color.sh deleted file mode 100755 index 4f4d155f..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_fg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -gram_low_fg_color="" -gram_medium_fg_color="" -gram_high_fg_color="" - -gram_low_default_fg_color="#[fg=green]" -gram_medium_default_fg_color="#[fg=yellow]" -gram_high_default_fg_color="#[fg=red]" - -get_fg_color_settings() { - gram_low_fg_color=$(get_tmux_option "@gram_low_fg_color" "$gram_low_default_fg_color") - gram_medium_fg_color=$(get_tmux_option "@gram_medium_fg_color" "$gram_medium_default_fg_color") - gram_high_fg_color=$(get_tmux_option "@gram_high_fg_color" "$gram_high_default_fg_color") -} - -print_fg_color() { - local gram_percentage - local gram_load_status - gram_percentage=$("$CURRENT_DIR"/gram_percentage.sh | sed -e 's/%//') - gram_load_status=$(load_status "$gram_percentage" "gram") - if [ "$gram_load_status" == "low" ]; then - echo "$gram_low_fg_color" - elif [ "$gram_load_status" == "medium" ]; then - echo "$gram_medium_fg_color" - elif [ "$gram_load_status" == "high" ]; then - echo "$gram_high_fg_color" - fi -} - -main() { - get_fg_color_settings - print_fg_color -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_icon.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_icon.sh deleted file mode 100755 index 04eb6941..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_icon.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -# script global variables -gram_low_icon="" -gram_medium_icon="" -gram_high_icon="" - -gram_low_default_icon="=" -gram_medium_default_icon="≡" -gram_high_default_icon="≣" - -# icons are set as script global variables -get_icon_settings() { - gram_low_icon=$(get_tmux_option "@gram_low_icon" "$gram_low_default_icon") - gram_medium_icon=$(get_tmux_option "@gram_medium_icon" "$gram_medium_default_icon") - gram_high_icon=$(get_tmux_option "@gram_high_icon" "$gram_high_default_icon") -} - -print_icon() { - local gram_percentage - local gram_load_status - gram_percentage=$("$CURRENT_DIR"/gram_percentage.sh | sed -e 's/%//') - gram_load_status=$(load_status "$gram_percentage" "gram") - if [ "$gram_load_status" == "low" ]; then - echo "$gram_low_icon" - elif [ "$gram_load_status" == "medium" ]; then - echo "$gram_medium_icon" - elif [ "$gram_load_status" == "high" ]; then - echo "$gram_high_icon" - fi -} - -main() { - get_icon_settings - print_icon "$1" -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_percentage.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_percentage.sh deleted file mode 100755 index 269c2600..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/gram_percentage.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -gram_percentage_format="%3.1f%%" - -print_gram_percentage() { - gram_percentage_format=$(get_tmux_option "@gram_percentage_format" "$gram_percentage_format") - - if command_exists "nvidia-smi"; then - loads=$(cached_eval nvidia-smi | sed -nr 's/.*\s([0-9]+)MiB\s*\/\s*([0-9]+)MiB.*/\1 \2/p') - elif command_exists "cuda-smi"; then - loads=$(cached_eval cuda-smi | sed -nr 's/.*\s([0-9.]+) of ([0-9.]+) MB.*/\1 \2/p' | awk '{print $2-$1" "$2}') - else - echo "No GPU" - return - fi - echo "$loads" | awk -v format="$gram_percentage_format" '{used+=$1; tot+=$2} END {printf format, 100*used/tot}' -} - -main() { - print_gram_percentage -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/helpers.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/helpers.sh deleted file mode 100644 index c5b5f37d..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/helpers.sh +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/env bash - -export LANG=C -export LC_ALL=C - -get_tmux_option() { - local option - local default_value - local option_value - option="$1" - default_value="$2" - option_value="$(tmux show-option -qv "$option")" - if [ -z "$option_value" ]; then - option_value="$(tmux show-option -gqv "$option")" - fi - if [ -z "$option_value" ]; then - echo "$default_value" - else - echo "$option_value" - fi -} - -is_osx() { - [ "$(uname)" == "Darwin" ] -} - -is_freebsd() { - [ "$(uname)" == "FreeBSD" ] -} - -is_openbsd() { - [ "$(uname)" == "OpenBSD" ] -} - -is_linux() { - [ "$(uname)" == "Linux" ] -} - -is_cygwin() { - command -v WMIC &>/dev/null -} - -is_linux_iostat() { - # Bug in early versions of linux iostat -V return error code - iostat -c &>/dev/null -} - -# is second float bigger or equal? -fcomp() { - awk -v n1="$1" -v n2="$2" 'BEGIN {if (n1<=n2) exit 0; exit 1}' -} - -load_status() { - local percentage=$1 - local prefix=$2 - medium_thresh=$(get_tmux_option "@${prefix}_medium_thresh" "30") - high_thresh=$(get_tmux_option "@${prefix}_high_thresh" "80") - if fcomp "$high_thresh" "$percentage"; then - echo "high" - elif fcomp "$medium_thresh" "$percentage" && fcomp "$percentage" "$high_thresh"; then - echo "medium" - else - echo "low" - fi -} - -temp_status() { - local temp - temp=$1 - cpu_temp_medium_thresh=$(get_tmux_option "@cpu_temp_medium_thresh" "80") - cpu_temp_high_thresh=$(get_tmux_option "@cpu_temp_high_thresh" "90") - if fcomp "$cpu_temp_high_thresh" "$temp"; then - echo "high" - elif fcomp "$cpu_temp_medium_thresh" "$temp" && fcomp "$temp" "$cpu_temp_high_thresh"; then - echo "medium" - else - echo "low" - fi -} - -cpus_number() { - if is_linux; then - if command_exists "nproc"; then - nproc - else - echo "$(($(sed -n 's/^processor.*:\s*\([0-9]\+\)/\1/p' /proc/cpuinfo | tail -n 1) + 1))" - fi - else - sysctl -n hw.ncpu - fi -} - -command_exists() { - local command - command="$1" - command -v "$command" &>/dev/null -} - -get_tmp_dir() { - local tmpdir - tmpdir="${TMPDIR:-${TMP:-${TEMP:-/tmp}}}" - [ -d "$tmpdir" ] || local tmpdir=~/tmp - echo "$tmpdir/tmux-$EUID-cpu" -} - -get_time() { - date +%s.%N -} - -get_cache_val() { - local key - local timeout - local cache - key="$1" - # seconds after which cache is invalidated - timeout="${2:-2}" - cache="$(get_tmp_dir)/$key" - if [ -f "$cache" ]; then - awk -v cache="$(head -n1 "$cache")" -v timeout="$timeout" -v now="$(get_time)" \ - 'BEGIN {if (now - timeout < cache) exit 0; exit 1}' && - tail -n+2 "$cache" - fi -} - -put_cache_val() { - local key - local val - local tmpdir - key="$1" - val="${*:2}" - tmpdir="$(get_tmp_dir)" - [ ! -d "$tmpdir" ] && mkdir -p "$tmpdir" && chmod 0700 "$tmpdir" - ( - get_time - echo -n "$val" - ) >"$tmpdir/$key" - echo -n "$val" -} - -cached_eval() { - local command - local key - local val - command="$1" - key="$(basename "$command")" - val="$(get_cache_val "$key")" - if [ -z "$val" ]; then - put_cache_val "$key" "$($command "${@:2}")" - else - echo -n "$val" - fi -} diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_bg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_bg_color.sh deleted file mode 100755 index 57ae7e7a..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_bg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -ram_low_bg_color="" -ram_medium_bg_color="" -ram_high_bg_color="" - -ram_low_default_bg_color="#[bg=green]" -ram_medium_default_bg_color="#[bg=yellow]" -ram_high_default_bg_color="#[bg=red]" - -get_bg_color_settings() { - ram_low_bg_color=$(get_tmux_option "@ram_low_bg_color" "$ram_low_default_bg_color") - ram_medium_bg_color=$(get_tmux_option "@ram_medium_bg_color" "$ram_medium_default_bg_color") - ram_high_bg_color=$(get_tmux_option "@ram_high_bg_color" "$ram_high_default_bg_color") -} - -print_bg_color() { - local ram_percentage - local ram_load_status - ram_percentage=$("$CURRENT_DIR"/ram_percentage.sh | sed -e 's/%//') - ram_load_status=$(load_status "$ram_percentage" "ram") - if [ "$ram_load_status" == "low" ]; then - echo "$ram_low_bg_color" - elif [ "$ram_load_status" == "medium" ]; then - echo "$ram_medium_bg_color" - elif [ "$ram_load_status" == "high" ]; then - echo "$ram_high_bg_color" - fi -} - -main() { - get_bg_color_settings - print_bg_color -} -main diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_fg_color.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_fg_color.sh deleted file mode 100755 index 9d5a172e..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_fg_color.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -ram_low_fg_color="" -ram_medium_fg_color="" -ram_high_fg_color="" - -ram_low_default_fg_color="#[fg=green]" -ram_medium_default_fg_color="#[fg=yellow]" -ram_high_default_fg_color="#[fg=red]" - -get_fg_color_settings() { - ram_low_fg_color=$(get_tmux_option "@ram_low_fg_color" "$ram_low_default_fg_color") - ram_medium_fg_color=$(get_tmux_option "@ram_medium_fg_color" "$ram_medium_default_fg_color") - ram_high_fg_color=$(get_tmux_option "@ram_high_fg_color" "$ram_high_default_fg_color") -} - -print_fg_color() { - local ram_percentage - local ram_load_status - ram_percentage=$("$CURRENT_DIR"/ram_percentage.sh | sed -e 's/%//') - ram_load_status=$(load_status "$ram_percentage" "ram") - if [ "$ram_load_status" == "low" ]; then - echo "$ram_low_fg_color" - elif [ "$ram_load_status" == "medium" ]; then - echo "$ram_medium_fg_color" - elif [ "$ram_load_status" == "high" ]; then - echo "$ram_high_fg_color" - fi -} - -main() { - get_fg_color_settings - print_fg_color -} -main diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_icon.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_icon.sh deleted file mode 100755 index 5ad253b2..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_icon.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -# script global variables -ram_low_icon="" -ram_medium_icon="" -ram_high_icon="" - -ram_low_default_icon="=" -ram_medium_default_icon="≡" -ram_high_default_icon="≣" - -# icons are set as script global variables -get_icon_settings() { - ram_low_icon=$(get_tmux_option "@ram_low_icon" "$ram_low_default_icon") - ram_medium_icon=$(get_tmux_option "@ram_medium_icon" "$ram_medium_default_icon") - ram_high_icon=$(get_tmux_option "@ram_high_icon" "$ram_high_default_icon") -} - -print_icon() { - local ram_percentage - local ram_load_status - ram_percentage=$("$CURRENT_DIR"/ram_percentage.sh | sed -e 's/%//') - ram_load_status=$(load_status "$ram_percentage" "ram") - if [ "$ram_load_status" == "low" ]; then - echo "$ram_low_icon" - elif [ "$ram_load_status" == "medium" ]; then - echo "$ram_medium_icon" - elif [ "$ram_load_status" == "high" ]; then - echo "$ram_high_icon" - fi -} - -main() { - get_icon_settings - print_icon "$1" -} -main "$@" diff --git a/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_percentage.sh b/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_percentage.sh deleted file mode 100755 index 25c85cd2..00000000 --- a/config-files/.config/tmux/plugins/tmux-cpu/scripts/ram_percentage.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env bash - -CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# shellcheck source=scripts/helpers.sh -source "$CURRENT_DIR/helpers.sh" - -ram_percentage_format="%3.1f%%" - -sum_macos_vm_stats() { - grep -Eo '[0-9]+' | - awk '{ a += $1 * 4096 } END { print a }' -} - -print_ram_percentage() { - ram_percentage_format=$(get_tmux_option "@ram_percentage_format" "$ram_percentage_format") - - if command_exists "free"; then - cached_eval free | awk -v format="$ram_percentage_format" '$1 ~ /Mem/ {printf(format, 100*$3/$2)}' - elif command_exists "vm_stat"; then - # page size of 4096 bytes - stats="$(cached_eval vm_stat)" - - used_and_cached=$( - echo "$stats" | - grep -E "(Pages active|Pages inactive|Pages speculative|Pages wired down|Pages occupied by compressor)" | - sum_macos_vm_stats - ) - - cached=$( - echo "$stats" | - grep -E "(Pages purgeable|File-backed pages)" | - sum_macos_vm_stats - ) - - free=$( - echo "$stats" | - grep -E "(Pages free)" | - sum_macos_vm_stats - ) - - used=$((used_and_cached - cached)) - total=$((used_and_cached + free)) - - echo "$used $total" | awk -v format="$ram_percentage_format" '{printf(format, 100*$1/$2)}' - fi -} - -main() { - print_ram_percentage -} -main diff --git a/config-files/.config/tmux/tmux.conf b/config-files/.config/tmux/tmux.conf deleted file mode 100644 index b755be68..00000000 --- a/config-files/.config/tmux/tmux.conf +++ /dev/null @@ -1,74 +0,0 @@ -# easy reload config -bind-key r source-file ~/.config/tmux/tmux.conf \; display-message "Config reloaded." - -# set window split -bind-key v split-window -h -c "#{pane_current_path}" -bind-key b split-window -v -c "#{pane_current_path}" - -# Leader Key (using C-s instead of the default C-b) -set -g prefix C-s -bind-key C-s last-window - -# Start index at 1 -set -g base-index 1 -set -g pane-base-index 1 -set-window-option -g pane-base-index 1 -set-option -g renumber-windows on - -# Allows for faster key repetition -set -s escape-time 50 - -# Rather than constraining window size to the maximum size of any client -# connected to the *session*, constrain window size to the maximum size of any -# client connected to *that window*. Much more reasonable. -setw -g aggressive-resize on - -# hjkl pane traversal -bind-key h select-pane -L -bind-key j select-pane -D -bind-key k select-pane -U -bind-key l select-pane -R - -bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'" - -# auto window rename -set-window-option -g automatic-rename - -# Vi copypaste mode -set-window-option -g mode-keys vi -bind g copy-mode -bind -T copy-mode-vi v send -X begin-selection -bind-key -T copy-mode-vi y send -X copy-selection-and-cancel -bind P paste-buffer - -# Mouse support -set -g mouse on - -# VIM Options -set-option -g focus-events on - -# Truecolor support -set -g default-terminal "$TERM" -set -ag terminal-overrides ",$TERM:Tc" - -# Remove confirm prompt when closing pane -bind-key x kill-pane - -# Styling -set-option -g status-position top -set -g mode-style "fg=black,bg=orange" -set-option -g pane-border-style fg=colour236 -set-option -g pane-active-border-style fg=orange -set-window-option -g window-status-current-style fg=orange,bg=default,bright -set-window-option -g window-status-style fg=colour244,bg=default -set-window-option -g clock-mode-colour orange -set-option -g status-style "bg=default,fg=white" -set-option -g status-left "" -set-option -g status-right '[Session: #S] [CPU: #{cpu_fg_color}#{cpu_percentage}#[default]] [RAM: #{ram_fg_color}#{ram_percentage}#[default]] %d#[dim]/#[default]%m#[dim]/#[default]%Y %I:%M#[dim]%P#[default]' -set -g status-interval 1 -set -g status-right-length 60 - -# Load TMUX Plugins -set -g @cpu_high_fg_color "#[fg=#FF0000]" -set -g @ram_high_fg_color "#[fg=#FF0000]" -run-shell '~/.config/tmux/plugins/tmux-cpu/cpu.tmux' diff --git a/config-files/.config/vim/autoload/plug.vim b/config-files/.config/vim/autoload/plug.vim deleted file mode 100644 index 940811ad..00000000 --- a/config-files/.config/vim/autoload/plug.vim +++ /dev/null @@ -1,2858 +0,0 @@ -" vim-plug: Vim plugin manager -" ============================ -" -" Download plug.vim and put it in ~/.vim/autoload -" -" curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ -" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim -" -" Edit your .vimrc -" -" call plug#begin('~/.vim/plugged') -" -" " Make sure you use single quotes -" -" " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align -" Plug 'junegunn/vim-easy-align' -" -" " Any valid git URL is allowed -" Plug 'https://github.com/junegunn/vim-github-dashboard.git' -" -" " Multiple Plug commands can be written in a single line using | separators -" Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets' -" -" " On-demand loading -" Plug 'preservim/nerdtree', { 'on': 'NERDTreeToggle' } -" Plug 'tpope/vim-fireplace', { 'for': 'clojure' } -" -" " Using a non-default branch -" Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' } -" -" " Using a tagged release; wildcard allowed (requires git 1.9.2 or above) -" Plug 'fatih/vim-go', { 'tag': '*' } -" -" " Plugin options -" Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' } -" -" " Plugin outside ~/.vim/plugged with post-update hook -" Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } -" -" " Unmanaged plugin (manually installed and updated) -" Plug '~/my-prototype-plugin' -" -" " Initialize plugin system -" call plug#end() -" -" Then reload .vimrc and :PlugInstall to install plugins. -" -" Plug options: -" -"| Option | Description | -"| ----------------------- | ------------------------------------------------ | -"| `branch`/`tag`/`commit` | Branch/tag/commit of the repository to use | -"| `rtp` | Subdirectory that contains Vim plugin | -"| `dir` | Custom directory for the plugin | -"| `as` | Use different name for the plugin | -"| `do` | Post-update hook (string or funcref) | -"| `on` | On-demand loading: Commands or ``-mappings | -"| `for` | On-demand loading: File types | -"| `frozen` | Do not update unless explicitly specified | -" -" More information: https://github.com/junegunn/vim-plug -" -" -" Copyright (c) 2017 Junegunn Choi -" -" MIT License -" -" Permission is hereby granted, free of charge, to any person obtaining -" a copy of this software and associated documentation files (the -" "Software"), to deal in the Software without restriction, including -" without limitation the rights to use, copy, modify, merge, publish, -" distribute, sublicense, and/or sell copies of the Software, and to -" permit persons to whom the Software is furnished to do so, subject to -" the following conditions: -" -" The above copyright notice and this permission notice shall be -" included in all copies or substantial portions of the Software. -" -" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -if exists('g:loaded_plug') - finish -endif -let g:loaded_plug = 1 - -let s:cpo_save = &cpo -set cpo&vim - -let s:plug_src = 'https://github.com/junegunn/vim-plug.git' -let s:plug_tab = get(s:, 'plug_tab', -1) -let s:plug_buf = get(s:, 'plug_buf', -1) -let s:mac_gui = has('gui_macvim') && has('gui_running') -let s:is_win = has('win32') -let s:nvim = has('nvim-0.2') || (has('nvim') && exists('*jobwait') && !s:is_win) -let s:vim8 = has('patch-8.0.0039') && exists('*job_start') -if s:is_win && &shellslash - set noshellslash - let s:me = resolve(expand(':p')) - set shellslash -else - let s:me = resolve(expand(':p')) -endif -let s:base_spec = { 'branch': '', 'frozen': 0 } -let s:TYPE = { -\ 'string': type(''), -\ 'list': type([]), -\ 'dict': type({}), -\ 'funcref': type(function('call')) -\ } -let s:loaded = get(s:, 'loaded', {}) -let s:triggers = get(s:, 'triggers', {}) - -function! s:is_powershell(shell) - return a:shell =~# 'powershell\(\.exe\)\?$' || a:shell =~# 'pwsh\(\.exe\)\?$' -endfunction - -function! s:isabsolute(dir) abort - return a:dir =~# '^/' || (has('win32') && a:dir =~? '^\%(\\\|[A-Z]:\)') -endfunction - -function! s:git_dir(dir) abort - let gitdir = s:trim(a:dir) . '/.git' - if isdirectory(gitdir) - return gitdir - endif - if !filereadable(gitdir) - return '' - endif - let gitdir = matchstr(get(readfile(gitdir), 0, ''), '^gitdir: \zs.*') - if len(gitdir) && !s:isabsolute(gitdir) - let gitdir = a:dir . '/' . gitdir - endif - return isdirectory(gitdir) ? gitdir : '' -endfunction - -function! s:git_origin_url(dir) abort - let gitdir = s:git_dir(a:dir) - let config = gitdir . '/config' - if empty(gitdir) || !filereadable(config) - return '' - endif - return matchstr(join(readfile(config)), '\[remote "origin"\].\{-}url\s*=\s*\zs\S*\ze') -endfunction - -function! s:git_revision(dir) abort - let gitdir = s:git_dir(a:dir) - let head = gitdir . '/HEAD' - if empty(gitdir) || !filereadable(head) - return '' - endif - - let line = get(readfile(head), 0, '') - let ref = matchstr(line, '^ref: \zs.*') - if empty(ref) - return line - endif - - if filereadable(gitdir . '/' . ref) - return get(readfile(gitdir . '/' . ref), 0, '') - endif - - if filereadable(gitdir . '/packed-refs') - for line in readfile(gitdir . '/packed-refs') - if line =~# ' ' . ref - return matchstr(line, '^[0-9a-f]*') - endif - endfor - endif - - return '' -endfunction - -function! s:git_local_branch(dir) abort - let gitdir = s:git_dir(a:dir) - let head = gitdir . '/HEAD' - if empty(gitdir) || !filereadable(head) - return '' - endif - let branch = matchstr(get(readfile(head), 0, ''), '^ref: refs/heads/\zs.*') - return len(branch) ? branch : 'HEAD' -endfunction - -function! s:git_origin_branch(spec) - if len(a:spec.branch) - return a:spec.branch - endif - - " The file may not be present if this is a local repository - let gitdir = s:git_dir(a:spec.dir) - let origin_head = gitdir.'/refs/remotes/origin/HEAD' - if len(gitdir) && filereadable(origin_head) - return matchstr(get(readfile(origin_head), 0, ''), - \ '^ref: refs/remotes/origin/\zs.*') - endif - - " The command may not return the name of a branch in detached HEAD state - let result = s:lines(s:system('git symbolic-ref --short HEAD', a:spec.dir)) - return v:shell_error ? '' : result[-1] -endfunction - -if s:is_win - function! s:plug_call(fn, ...) - let shellslash = &shellslash - try - set noshellslash - return call(a:fn, a:000) - finally - let &shellslash = shellslash - endtry - endfunction -else - function! s:plug_call(fn, ...) - return call(a:fn, a:000) - endfunction -endif - -function! s:plug_getcwd() - return s:plug_call('getcwd') -endfunction - -function! s:plug_fnamemodify(fname, mods) - return s:plug_call('fnamemodify', a:fname, a:mods) -endfunction - -function! s:plug_expand(fmt) - return s:plug_call('expand', a:fmt, 1) -endfunction - -function! s:plug_tempname() - return s:plug_call('tempname') -endfunction - -function! plug#begin(...) - if a:0 > 0 - let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p')) - elseif exists('g:plug_home') - let home = s:path(g:plug_home) - elseif has('nvim') - let home = stdpath('data') . '/plugged' - elseif !empty(&rtp) - let home = s:path(split(&rtp, ',')[0]) . '/plugged' - else - return s:err('Unable to determine plug home. Try calling plug#begin() with a path argument.') - endif - if s:plug_fnamemodify(home, ':t') ==# 'plugin' && s:plug_fnamemodify(home, ':h') ==# s:first_rtp - return s:err('Invalid plug home. '.home.' is a standard Vim runtime path and is not allowed.') - endif - - let g:plug_home = home - let g:plugs = {} - let g:plugs_order = [] - let s:triggers = {} - - call s:define_commands() - return 1 -endfunction - -function! s:define_commands() - command! -nargs=+ -bar Plug call plug#() - if !executable('git') - return s:err('`git` executable not found. Most commands will not be available. To suppress this message, prepend `silent!` to `call plug#begin(...)`.') - endif - if has('win32') - \ && &shellslash - \ && (&shell =~# 'cmd\(\.exe\)\?$' || s:is_powershell(&shell)) - return s:err('vim-plug does not support shell, ' . &shell . ', when shellslash is set.') - endif - if !has('nvim') - \ && (has('win32') || has('win32unix')) - \ && !has('multi_byte') - return s:err('Vim needs +multi_byte feature on Windows to run shell commands. Enable +iconv for best results.') - endif - command! -nargs=* -bar -bang -complete=customlist,s:names PlugInstall call s:install(0, []) - command! -nargs=* -bar -bang -complete=customlist,s:names PlugUpdate call s:update(0, []) - command! -nargs=0 -bar -bang PlugClean call s:clean(0) - command! -nargs=0 -bar PlugUpgrade if s:upgrade() | execute 'source' s:esc(s:me) | endif - command! -nargs=0 -bar PlugStatus call s:status() - command! -nargs=0 -bar PlugDiff call s:diff() - command! -nargs=? -bar -bang -complete=file PlugSnapshot call s:snapshot(0, ) -endfunction - -function! s:to_a(v) - return type(a:v) == s:TYPE.list ? a:v : [a:v] -endfunction - -function! s:to_s(v) - return type(a:v) == s:TYPE.string ? a:v : join(a:v, "\n") . "\n" -endfunction - -function! s:glob(from, pattern) - return s:lines(globpath(a:from, a:pattern)) -endfunction - -function! s:source(from, ...) - let found = 0 - for pattern in a:000 - for vim in s:glob(a:from, pattern) - execute 'source' s:esc(vim) - let found = 1 - endfor - endfor - return found -endfunction - -function! s:assoc(dict, key, val) - let a:dict[a:key] = add(get(a:dict, a:key, []), a:val) -endfunction - -function! s:ask(message, ...) - call inputsave() - echohl WarningMsg - let answer = input(a:message.(a:0 ? ' (y/N/a) ' : ' (y/N) ')) - echohl None - call inputrestore() - echo "\r" - return (a:0 && answer =~? '^a') ? 2 : (answer =~? '^y') ? 1 : 0 -endfunction - -function! s:ask_no_interrupt(...) - try - return call('s:ask', a:000) - catch - return 0 - endtry -endfunction - -function! s:lazy(plug, opt) - return has_key(a:plug, a:opt) && - \ (empty(s:to_a(a:plug[a:opt])) || - \ !isdirectory(a:plug.dir) || - \ len(s:glob(s:rtp(a:plug), 'plugin')) || - \ len(s:glob(s:rtp(a:plug), 'after/plugin'))) -endfunction - -function! plug#end() - if !exists('g:plugs') - return s:err('plug#end() called without calling plug#begin() first') - endif - - if exists('#PlugLOD') - augroup PlugLOD - autocmd! - augroup END - augroup! PlugLOD - endif - let lod = { 'ft': {}, 'map': {}, 'cmd': {} } - - if get(g:, 'did_load_filetypes', 0) - filetype off - endif - for name in g:plugs_order - if !has_key(g:plugs, name) - continue - endif - let plug = g:plugs[name] - if get(s:loaded, name, 0) || !s:lazy(plug, 'on') && !s:lazy(plug, 'for') - let s:loaded[name] = 1 - continue - endif - - if has_key(plug, 'on') - let s:triggers[name] = { 'map': [], 'cmd': [] } - for cmd in s:to_a(plug.on) - if cmd =~? '^.\+' - if empty(mapcheck(cmd)) && empty(mapcheck(cmd, 'i')) - call s:assoc(lod.map, cmd, name) - endif - call add(s:triggers[name].map, cmd) - elseif cmd =~# '^[A-Z]' - let cmd = substitute(cmd, '!*$', '', '') - if exists(':'.cmd) != 2 - call s:assoc(lod.cmd, cmd, name) - endif - call add(s:triggers[name].cmd, cmd) - else - call s:err('Invalid `on` option: '.cmd. - \ '. Should start with an uppercase letter or ``.') - endif - endfor - endif - - if has_key(plug, 'for') - let types = s:to_a(plug.for) - if !empty(types) - augroup filetypedetect - call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim') - if has('nvim-0.5.0') - call s:source(s:rtp(plug), 'ftdetect/**/*.lua', 'after/ftdetect/**/*.lua') - endif - augroup END - endif - for type in types - call s:assoc(lod.ft, type, name) - endfor - endif - endfor - - for [cmd, names] in items(lod.cmd) - execute printf( - \ 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "", , , , %s)', - \ cmd, string(cmd), string(names)) - endfor - - for [map, names] in items(lod.map) - for [mode, map_prefix, key_prefix] in - \ [['i', '', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']] - execute printf( - \ '%snoremap %s %s:call lod_map(%s, %s, %s, "%s")', - \ mode, map, map_prefix, string(map), string(names), mode != 'i', key_prefix) - endfor - endfor - - for [ft, names] in items(lod.ft) - augroup PlugLOD - execute printf('autocmd FileType %s call lod_ft(%s, %s)', - \ ft, string(ft), string(names)) - augroup END - endfor - - call s:reorg_rtp() - filetype plugin indent on - if has('vim_starting') - if has('syntax') && !exists('g:syntax_on') - syntax enable - end - else - call s:reload_plugins() - endif -endfunction - -function! s:loaded_names() - return filter(copy(g:plugs_order), 'get(s:loaded, v:val, 0)') -endfunction - -function! s:load_plugin(spec) - call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim') - if has('nvim-0.5.0') - call s:source(s:rtp(a:spec), 'plugin/**/*.lua', 'after/plugin/**/*.lua') - endif -endfunction - -function! s:reload_plugins() - for name in s:loaded_names() - call s:load_plugin(g:plugs[name]) - endfor -endfunction - -function! s:trim(str) - return substitute(a:str, '[\/]\+$', '', '') -endfunction - -function! s:version_requirement(val, min) - for idx in range(0, len(a:min) - 1) - let v = get(a:val, idx, 0) - if v < a:min[idx] | return 0 - elseif v > a:min[idx] | return 1 - endif - endfor - return 1 -endfunction - -function! s:git_version_requirement(...) - if !exists('s:git_version') - let s:git_version = map(split(split(s:system(['git', '--version']))[2], '\.'), 'str2nr(v:val)') - endif - return s:version_requirement(s:git_version, a:000) -endfunction - -function! s:progress_opt(base) - return a:base && !s:is_win && - \ s:git_version_requirement(1, 7, 1) ? '--progress' : '' -endfunction - -function! s:rtp(spec) - return s:path(a:spec.dir . get(a:spec, 'rtp', '')) -endfunction - -if s:is_win - function! s:path(path) - return s:trim(substitute(a:path, '/', '\', 'g')) - endfunction - - function! s:dirpath(path) - return s:path(a:path) . '\' - endfunction - - function! s:is_local_plug(repo) - return a:repo =~? '^[a-z]:\|^[%~]' - endfunction - - " Copied from fzf - function! s:wrap_cmds(cmds) - let cmds = [ - \ '@echo off', - \ 'setlocal enabledelayedexpansion'] - \ + (type(a:cmds) == type([]) ? a:cmds : [a:cmds]) - \ + ['endlocal'] - if has('iconv') - if !exists('s:codepage') - let s:codepage = libcallnr('kernel32.dll', 'GetACP', 0) - endif - return map(cmds, printf('iconv(v:val."\r", "%s", "cp%d")', &encoding, s:codepage)) - endif - return map(cmds, 'v:val."\r"') - endfunction - - function! s:batchfile(cmd) - let batchfile = s:plug_tempname().'.bat' - call writefile(s:wrap_cmds(a:cmd), batchfile) - let cmd = plug#shellescape(batchfile, {'shell': &shell, 'script': 0}) - if s:is_powershell(&shell) - let cmd = '& ' . cmd - endif - return [batchfile, cmd] - endfunction -else - function! s:path(path) - return s:trim(a:path) - endfunction - - function! s:dirpath(path) - return substitute(a:path, '[/\\]*$', '/', '') - endfunction - - function! s:is_local_plug(repo) - return a:repo[0] =~ '[/$~]' - endfunction -endif - -function! s:err(msg) - echohl ErrorMsg - echom '[vim-plug] '.a:msg - echohl None -endfunction - -function! s:warn(cmd, msg) - echohl WarningMsg - execute a:cmd 'a:msg' - echohl None -endfunction - -function! s:esc(path) - return escape(a:path, ' ') -endfunction - -function! s:escrtp(path) - return escape(a:path, ' ,') -endfunction - -function! s:remove_rtp() - for name in s:loaded_names() - let rtp = s:rtp(g:plugs[name]) - execute 'set rtp-='.s:escrtp(rtp) - let after = globpath(rtp, 'after') - if isdirectory(after) - execute 'set rtp-='.s:escrtp(after) - endif - endfor -endfunction - -function! s:reorg_rtp() - if !empty(s:first_rtp) - execute 'set rtp-='.s:first_rtp - execute 'set rtp-='.s:last_rtp - endif - - " &rtp is modified from outside - if exists('s:prtp') && s:prtp !=# &rtp - call s:remove_rtp() - unlet! s:middle - endif - - let s:middle = get(s:, 'middle', &rtp) - let rtps = map(s:loaded_names(), 's:rtp(g:plugs[v:val])') - let afters = filter(map(copy(rtps), 'globpath(v:val, "after")'), '!empty(v:val)') - let rtp = join(map(rtps, 'escape(v:val, ",")'), ',') - \ . ','.s:middle.',' - \ . join(map(afters, 'escape(v:val, ",")'), ',') - let &rtp = substitute(substitute(rtp, ',,*', ',', 'g'), '^,\|,$', '', 'g') - let s:prtp = &rtp - - if !empty(s:first_rtp) - execute 'set rtp^='.s:first_rtp - execute 'set rtp+='.s:last_rtp - endif -endfunction - -function! s:doautocmd(...) - if exists('#'.join(a:000, '#')) - execute 'doautocmd' ((v:version > 703 || has('patch442')) ? '' : '') join(a:000) - endif -endfunction - -function! s:dobufread(names) - for name in a:names - let path = s:rtp(g:plugs[name]) - for dir in ['ftdetect', 'ftplugin', 'after/ftdetect', 'after/ftplugin'] - if len(finddir(dir, path)) - if exists('#BufRead') - doautocmd BufRead - endif - return - endif - endfor - endfor -endfunction - -function! plug#load(...) - if a:0 == 0 - return s:err('Argument missing: plugin name(s) required') - endif - if !exists('g:plugs') - return s:err('plug#begin was not called') - endif - let names = a:0 == 1 && type(a:1) == s:TYPE.list ? a:1 : a:000 - let unknowns = filter(copy(names), '!has_key(g:plugs, v:val)') - if !empty(unknowns) - let s = len(unknowns) > 1 ? 's' : '' - return s:err(printf('Unknown plugin%s: %s', s, join(unknowns, ', '))) - end - let unloaded = filter(copy(names), '!get(s:loaded, v:val, 0)') - if !empty(unloaded) - for name in unloaded - call s:lod([name], ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - endfor - call s:dobufread(unloaded) - return 1 - end - return 0 -endfunction - -function! s:remove_triggers(name) - if !has_key(s:triggers, a:name) - return - endif - for cmd in s:triggers[a:name].cmd - execute 'silent! delc' cmd - endfor - for map in s:triggers[a:name].map - execute 'silent! unmap' map - execute 'silent! iunmap' map - endfor - call remove(s:triggers, a:name) -endfunction - -function! s:lod(names, types, ...) - for name in a:names - call s:remove_triggers(name) - let s:loaded[name] = 1 - endfor - call s:reorg_rtp() - - for name in a:names - let rtp = s:rtp(g:plugs[name]) - for dir in a:types - call s:source(rtp, dir.'/**/*.vim') - if has('nvim-0.5.0') " see neovim#14686 - call s:source(rtp, dir.'/**/*.lua') - endif - endfor - if a:0 - if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2)) - execute 'runtime' a:1 - endif - call s:source(rtp, a:2) - endif - call s:doautocmd('User', name) - endfor -endfunction - -function! s:lod_ft(pat, names) - let syn = 'syntax/'.a:pat.'.vim' - call s:lod(a:names, ['plugin', 'after/plugin'], syn, 'after/'.syn) - execute 'autocmd! PlugLOD FileType' a:pat - call s:doautocmd('filetypeplugin', 'FileType') - call s:doautocmd('filetypeindent', 'FileType') -endfunction - -function! s:lod_cmd(cmd, bang, l1, l2, args, names) - call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - call s:dobufread(a:names) - execute printf('%s%s%s %s', (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args) -endfunction - -function! s:lod_map(map, names, with_prefix, prefix) - call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - call s:dobufread(a:names) - let extra = '' - while 1 - let c = getchar(0) - if c == 0 - break - endif - let extra .= nr2char(c) - endwhile - - if a:with_prefix - let prefix = v:count ? v:count : '' - let prefix .= '"'.v:register.a:prefix - if mode(1) == 'no' - if v:operator == 'c' - let prefix = "\" . prefix - endif - let prefix .= v:operator - endif - call feedkeys(prefix, 'n') - endif - call feedkeys(substitute(a:map, '^', "\", '') . extra) -endfunction - -function! plug#(repo, ...) - if a:0 > 1 - return s:err('Invalid number of arguments (1..2)') - endif - - try - let repo = s:trim(a:repo) - let opts = a:0 == 1 ? s:parse_options(a:1) : s:base_spec - let name = get(opts, 'as', s:plug_fnamemodify(repo, ':t:s?\.git$??')) - let spec = extend(s:infer_properties(name, repo), opts) - if !has_key(g:plugs, name) - call add(g:plugs_order, name) - endif - let g:plugs[name] = spec - let s:loaded[name] = get(s:loaded, name, 0) - catch - return s:err(repo . ' ' . v:exception) - endtry -endfunction - -function! s:parse_options(arg) - let opts = copy(s:base_spec) - let type = type(a:arg) - let opt_errfmt = 'Invalid argument for "%s" option of :Plug (expected: %s)' - if type == s:TYPE.string - if empty(a:arg) - throw printf(opt_errfmt, 'tag', 'string') - endif - let opts.tag = a:arg - elseif type == s:TYPE.dict - for opt in ['branch', 'tag', 'commit', 'rtp', 'dir', 'as'] - if has_key(a:arg, opt) - \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) - throw printf(opt_errfmt, opt, 'string') - endif - endfor - for opt in ['on', 'for'] - if has_key(a:arg, opt) - \ && type(a:arg[opt]) != s:TYPE.list - \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) - throw printf(opt_errfmt, opt, 'string or list') - endif - endfor - if has_key(a:arg, 'do') - \ && type(a:arg.do) != s:TYPE.funcref - \ && (type(a:arg.do) != s:TYPE.string || empty(a:arg.do)) - throw printf(opt_errfmt, 'do', 'string or funcref') - endif - call extend(opts, a:arg) - if has_key(opts, 'dir') - let opts.dir = s:dirpath(s:plug_expand(opts.dir)) - endif - else - throw 'Invalid argument type (expected: string or dictionary)' - endif - return opts -endfunction - -function! s:infer_properties(name, repo) - let repo = a:repo - if s:is_local_plug(repo) - return { 'dir': s:dirpath(s:plug_expand(repo)) } - else - if repo =~ ':' - let uri = repo - else - if repo !~ '/' - throw printf('Invalid argument: %s (implicit `vim-scripts'' expansion is deprecated)', repo) - endif - let fmt = get(g:, 'plug_url_format', 'https://git::@github.com/%s.git') - let uri = printf(fmt, repo) - endif - return { 'dir': s:dirpath(g:plug_home.'/'.a:name), 'uri': uri } - endif -endfunction - -function! s:install(force, names) - call s:update_impl(0, a:force, a:names) -endfunction - -function! s:update(force, names) - call s:update_impl(1, a:force, a:names) -endfunction - -function! plug#helptags() - if !exists('g:plugs') - return s:err('plug#begin was not called') - endif - for spec in values(g:plugs) - let docd = join([s:rtp(spec), 'doc'], '/') - if isdirectory(docd) - silent! execute 'helptags' s:esc(docd) - endif - endfor - return 1 -endfunction - -function! s:syntax() - syntax clear - syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber - syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX - syn match plugNumber /[0-9]\+[0-9.]*/ contained - syn match plugBracket /[[\]]/ contained - syn match plugX /x/ contained - syn match plugDash /^-\{1}\ / - syn match plugPlus /^+/ - syn match plugStar /^*/ - syn match plugMessage /\(^- \)\@<=.*/ - syn match plugName /\(^- \)\@<=[^ ]*:/ - syn match plugSha /\%(: \)\@<=[0-9a-f]\{4,}$/ - syn match plugTag /(tag: [^)]\+)/ - syn match plugInstall /\(^+ \)\@<=[^:]*/ - syn match plugUpdate /\(^* \)\@<=[^:]*/ - syn match plugCommit /^ \X*[0-9a-f]\{7,9} .*/ contains=plugRelDate,plugEdge,plugTag - syn match plugEdge /^ \X\+$/ - syn match plugEdge /^ \X*/ contained nextgroup=plugSha - syn match plugSha /[0-9a-f]\{7,9}/ contained - syn match plugRelDate /([^)]*)$/ contained - syn match plugNotLoaded /(not loaded)$/ - syn match plugError /^x.*/ - syn region plugDeleted start=/^\~ .*/ end=/^\ze\S/ - syn match plugH2 /^.*:\n-\+$/ - syn match plugH2 /^-\{2,}/ - syn keyword Function PlugInstall PlugStatus PlugUpdate PlugClean - hi def link plug1 Title - hi def link plug2 Repeat - hi def link plugH2 Type - hi def link plugX Exception - hi def link plugBracket Structure - hi def link plugNumber Number - - hi def link plugDash Special - hi def link plugPlus Constant - hi def link plugStar Boolean - - hi def link plugMessage Function - hi def link plugName Label - hi def link plugInstall Function - hi def link plugUpdate Type - - hi def link plugError Error - hi def link plugDeleted Ignore - hi def link plugRelDate Comment - hi def link plugEdge PreProc - hi def link plugSha Identifier - hi def link plugTag Constant - - hi def link plugNotLoaded Comment -endfunction - -function! s:lpad(str, len) - return a:str . repeat(' ', a:len - len(a:str)) -endfunction - -function! s:lines(msg) - return split(a:msg, "[\r\n]") -endfunction - -function! s:lastline(msg) - return get(s:lines(a:msg), -1, '') -endfunction - -function! s:new_window() - execute get(g:, 'plug_window', '-tabnew') -endfunction - -function! s:plug_window_exists() - let buflist = tabpagebuflist(s:plug_tab) - return !empty(buflist) && index(buflist, s:plug_buf) >= 0 -endfunction - -function! s:switch_in() - if !s:plug_window_exists() - return 0 - endif - - if winbufnr(0) != s:plug_buf - let s:pos = [tabpagenr(), winnr(), winsaveview()] - execute 'normal!' s:plug_tab.'gt' - let winnr = bufwinnr(s:plug_buf) - execute winnr.'wincmd w' - call add(s:pos, winsaveview()) - else - let s:pos = [winsaveview()] - endif - - setlocal modifiable - return 1 -endfunction - -function! s:switch_out(...) - call winrestview(s:pos[-1]) - setlocal nomodifiable - if a:0 > 0 - execute a:1 - endif - - if len(s:pos) > 1 - execute 'normal!' s:pos[0].'gt' - execute s:pos[1] 'wincmd w' - call winrestview(s:pos[2]) - endif -endfunction - -function! s:finish_bindings() - nnoremap R :call retry() - nnoremap D :PlugDiff - nnoremap S :PlugStatus - nnoremap U :call status_update() - xnoremap U :call status_update() - nnoremap ]] :silent! call section('') - nnoremap [[ :silent! call section('b') -endfunction - -function! s:prepare(...) - if empty(s:plug_getcwd()) - throw 'Invalid current working directory. Cannot proceed.' - endif - - for evar in ['$GIT_DIR', '$GIT_WORK_TREE'] - if exists(evar) - throw evar.' detected. Cannot proceed.' - endif - endfor - - call s:job_abort() - if s:switch_in() - if b:plug_preview == 1 - pc - endif - enew - else - call s:new_window() - endif - - nnoremap q :call close_pane() - if a:0 == 0 - call s:finish_bindings() - endif - let b:plug_preview = -1 - let s:plug_tab = tabpagenr() - let s:plug_buf = winbufnr(0) - call s:assign_name() - - for k in ['', 'L', 'o', 'X', 'd', 'dd'] - execute 'silent! unmap ' k - endfor - setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable nospell - if exists('+colorcolumn') - setlocal colorcolumn= - endif - setf vim-plug - if exists('g:syntax_on') - call s:syntax() - endif -endfunction - -function! s:close_pane() - if b:plug_preview == 1 - pc - let b:plug_preview = -1 - else - bd - endif -endfunction - -function! s:assign_name() - " Assign buffer name - let prefix = '[Plugins]' - let name = prefix - let idx = 2 - while bufexists(name) - let name = printf('%s (%s)', prefix, idx) - let idx = idx + 1 - endwhile - silent! execute 'f' fnameescape(name) -endfunction - -function! s:chsh(swap) - let prev = [&shell, &shellcmdflag, &shellredir] - if !s:is_win - set shell=sh - endif - if a:swap - if s:is_powershell(&shell) - let &shellredir = '2>&1 | Out-File -Encoding UTF8 %s' - elseif &shell =~# 'sh' || &shell =~# 'cmd\(\.exe\)\?$' - set shellredir=>%s\ 2>&1 - endif - endif - return prev -endfunction - -function! s:bang(cmd, ...) - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(a:0) - " FIXME: Escaping is incomplete. We could use shellescape with eval, - " but it won't work on Windows. - let cmd = a:0 ? s:with_cd(a:cmd, a:1) : a:cmd - if s:is_win - let [batchfile, cmd] = s:batchfile(cmd) - endif - let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%') - execute "normal! :execute g:_plug_bang\\" - finally - unlet g:_plug_bang - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry - return v:shell_error ? 'Exit status: ' . v:shell_error : '' -endfunction - -function! s:regress_bar() - let bar = substitute(getline(2)[1:-2], '.*\zs=', 'x', '') - call s:progress_bar(2, bar, len(bar)) -endfunction - -function! s:is_updated(dir) - return !empty(s:system_chomp(['git', 'log', '--pretty=format:%h', 'HEAD...HEAD@{1}'], a:dir)) -endfunction - -function! s:do(pull, force, todo) - if has('nvim') - " Reset &rtp to invalidate Neovim cache of loaded Lua modules - " See https://github.com/junegunn/vim-plug/pull/1157#issuecomment-1809226110 - let &rtp = &rtp - endif - for [name, spec] in items(a:todo) - if !isdirectory(spec.dir) - continue - endif - let installed = has_key(s:update.new, name) - let updated = installed ? 0 : - \ (a:pull && index(s:update.errors, name) < 0 && s:is_updated(spec.dir)) - if a:force || installed || updated - execute 'cd' s:esc(spec.dir) - call append(3, '- Post-update hook for '. name .' ... ') - let error = '' - let type = type(spec.do) - if type == s:TYPE.string - if spec.do[0] == ':' - if !get(s:loaded, name, 0) - let s:loaded[name] = 1 - call s:reorg_rtp() - endif - call s:load_plugin(spec) - try - execute spec.do[1:] - catch - let error = v:exception - endtry - if !s:plug_window_exists() - cd - - throw 'Warning: vim-plug was terminated by the post-update hook of '.name - endif - else - let error = s:bang(spec.do) - endif - elseif type == s:TYPE.funcref - try - call s:load_plugin(spec) - let status = installed ? 'installed' : (updated ? 'updated' : 'unchanged') - call spec.do({ 'name': name, 'status': status, 'force': a:force }) - catch - let error = v:exception - endtry - else - let error = 'Invalid hook type' - endif - call s:switch_in() - call setline(4, empty(error) ? (getline(4) . 'OK') - \ : ('x' . getline(4)[1:] . error)) - if !empty(error) - call add(s:update.errors, name) - call s:regress_bar() - endif - cd - - endif - endfor -endfunction - -function! s:hash_match(a, b) - return stridx(a:a, a:b) == 0 || stridx(a:b, a:a) == 0 -endfunction - -function! s:checkout(spec) - let sha = a:spec.commit - let output = s:git_revision(a:spec.dir) - let error = 0 - if !empty(output) && !s:hash_match(sha, s:lines(output)[0]) - let credential_helper = s:git_version_requirement(2) ? '-c credential.helper= ' : '' - let output = s:system( - \ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir) - let error = v:shell_error - endif - return [output, error] -endfunction - -function! s:finish(pull) - let new_frozen = len(filter(keys(s:update.new), 'g:plugs[v:val].frozen')) - if new_frozen - let s = new_frozen > 1 ? 's' : '' - call append(3, printf('- Installed %d frozen plugin%s', new_frozen, s)) - endif - call append(3, '- Finishing ... ') | 4 - redraw - call plug#helptags() - call plug#end() - call setline(4, getline(4) . 'Done!') - redraw - let msgs = [] - if !empty(s:update.errors) - call add(msgs, "Press 'R' to retry.") - endif - if a:pull && len(s:update.new) < len(filter(getline(5, '$'), - \ "v:val =~ '^- ' && v:val !~# 'Already up.to.date'")) - call add(msgs, "Press 'D' to see the updated changes.") - endif - echo join(msgs, ' ') - call s:finish_bindings() -endfunction - -function! s:retry() - if empty(s:update.errors) - return - endif - echo - call s:update_impl(s:update.pull, s:update.force, - \ extend(copy(s:update.errors), [s:update.threads])) -endfunction - -function! s:is_managed(name) - return has_key(g:plugs[a:name], 'uri') -endfunction - -function! s:names(...) - return sort(filter(keys(g:plugs), 'stridx(v:val, a:1) == 0 && s:is_managed(v:val)')) -endfunction - -function! s:check_ruby() - silent! ruby require 'thread'; VIM::command("let g:plug_ruby = '#{RUBY_VERSION}'") - if !exists('g:plug_ruby') - redraw! - return s:warn('echom', 'Warning: Ruby interface is broken') - endif - let ruby_version = split(g:plug_ruby, '\.') - unlet g:plug_ruby - return s:version_requirement(ruby_version, [1, 8, 7]) -endfunction - -function! s:update_impl(pull, force, args) abort - let sync = index(a:args, '--sync') >= 0 || has('vim_starting') - let args = filter(copy(a:args), 'v:val != "--sync"') - let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ? - \ remove(args, -1) : get(g:, 'plug_threads', 16) - - let managed = filter(deepcopy(g:plugs), 's:is_managed(v:key)') - let todo = empty(args) ? filter(managed, '!v:val.frozen || !isdirectory(v:val.dir)') : - \ filter(managed, 'index(args, v:key) >= 0') - - if empty(todo) - return s:warn('echo', 'No plugin to '. (a:pull ? 'update' : 'install')) - endif - - if !s:is_win && s:git_version_requirement(2, 3) - let s:git_terminal_prompt = exists('$GIT_TERMINAL_PROMPT') ? $GIT_TERMINAL_PROMPT : '' - let $GIT_TERMINAL_PROMPT = 0 - for plug in values(todo) - let plug.uri = substitute(plug.uri, - \ '^https://git::@github\.com', 'https://github.com', '') - endfor - endif - - if !isdirectory(g:plug_home) - try - call mkdir(g:plug_home, 'p') - catch - return s:err(printf('Invalid plug directory: %s. '. - \ 'Try to call plug#begin with a valid directory', g:plug_home)) - endtry - endif - - if has('nvim') && !exists('*jobwait') && threads > 1 - call s:warn('echom', '[vim-plug] Update Neovim for parallel installer') - endif - - let use_job = s:nvim || s:vim8 - let python = (has('python') || has('python3')) && !use_job - let ruby = has('ruby') && !use_job && (v:version >= 703 || v:version == 702 && has('patch374')) && !(s:is_win && has('gui_running')) && threads > 1 && s:check_ruby() - - let s:update = { - \ 'start': reltime(), - \ 'all': todo, - \ 'todo': copy(todo), - \ 'errors': [], - \ 'pull': a:pull, - \ 'force': a:force, - \ 'new': {}, - \ 'threads': (python || ruby || use_job) ? min([len(todo), threads]) : 1, - \ 'bar': '', - \ 'fin': 0 - \ } - - call s:prepare(1) - call append(0, ['', '']) - normal! 2G - silent! redraw - - " Set remote name, overriding a possible user git config's clone.defaultRemoteName - let s:clone_opt = ['--origin', 'origin'] - if get(g:, 'plug_shallow', 1) - call extend(s:clone_opt, ['--depth', '1']) - if s:git_version_requirement(1, 7, 10) - call add(s:clone_opt, '--no-single-branch') - endif - endif - - if has('win32unix') || has('wsl') - call extend(s:clone_opt, ['-c', 'core.eol=lf', '-c', 'core.autocrlf=input']) - endif - - let s:submodule_opt = s:git_version_requirement(2, 8) ? ' --jobs='.threads : '' - - " Python version requirement (>= 2.7) - if python && !has('python3') && !ruby && !use_job && s:update.threads > 1 - redir => pyv - silent python import platform; print platform.python_version() - redir END - let python = s:version_requirement( - \ map(split(split(pyv)[0], '\.'), 'str2nr(v:val)'), [2, 6]) - endif - - if (python || ruby) && s:update.threads > 1 - try - let imd = &imd - if s:mac_gui - set noimd - endif - if ruby - call s:update_ruby() - else - call s:update_python() - endif - catch - let lines = getline(4, '$') - let printed = {} - silent! 4,$d _ - for line in lines - let name = s:extract_name(line, '.', '') - if empty(name) || !has_key(printed, name) - call append('$', line) - if !empty(name) - let printed[name] = 1 - if line[0] == 'x' && index(s:update.errors, name) < 0 - call add(s:update.errors, name) - end - endif - endif - endfor - finally - let &imd = imd - call s:update_finish() - endtry - else - call s:update_vim() - while use_job && sync - sleep 100m - if s:update.fin - break - endif - endwhile - endif -endfunction - -function! s:log4(name, msg) - call setline(4, printf('- %s (%s)', a:msg, a:name)) - redraw -endfunction - -function! s:update_finish() - if exists('s:git_terminal_prompt') - let $GIT_TERMINAL_PROMPT = s:git_terminal_prompt - endif - if s:switch_in() - call append(3, '- Updating ...') | 4 - for [name, spec] in items(filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && (s:update.force || s:update.pull || has_key(s:update.new, v:key))')) - let [pos, _] = s:logpos(name) - if !pos - continue - endif - let out = '' - let error = 0 - if has_key(spec, 'commit') - call s:log4(name, 'Checking out '.spec.commit) - let [out, error] = s:checkout(spec) - elseif has_key(spec, 'tag') - let tag = spec.tag - if tag =~ '\*' - let tags = s:lines(s:system('git tag --list '.plug#shellescape(tag).' --sort -version:refname 2>&1', spec.dir)) - if !v:shell_error && !empty(tags) - let tag = tags[0] - call s:log4(name, printf('Latest tag for %s -> %s', spec.tag, tag)) - call append(3, '') - endif - endif - call s:log4(name, 'Checking out '.tag) - let out = s:system('git checkout -q '.plug#shellescape(tag).' -- 2>&1', spec.dir) - let error = v:shell_error - endif - if !error && filereadable(spec.dir.'/.gitmodules') && - \ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir)) - call s:log4(name, 'Updating submodules. This may take a while.') - let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir) - let error = v:shell_error - endif - let msg = s:format_message(v:shell_error ? 'x': '-', name, out) - if error - call add(s:update.errors, name) - call s:regress_bar() - silent execute pos 'd _' - call append(4, msg) | 4 - elseif !empty(out) - call setline(pos, msg[0]) - endif - redraw - endfor - silent 4 d _ - try - call s:do(s:update.pull, s:update.force, filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && has_key(v:val, "do")')) - catch - call s:warn('echom', v:exception) - call s:warn('echo', '') - return - endtry - call s:finish(s:update.pull) - call setline(1, 'Updated. Elapsed time: ' . split(reltimestr(reltime(s:update.start)))[0] . ' sec.') - call s:switch_out('normal! gg') - endif -endfunction - -function! s:job_abort() - if (!s:nvim && !s:vim8) || !exists('s:jobs') - return - endif - - for [name, j] in items(s:jobs) - if s:nvim - silent! call jobstop(j.jobid) - elseif s:vim8 - silent! call job_stop(j.jobid) - endif - if j.new - call s:rm_rf(g:plugs[name].dir) - endif - endfor - let s:jobs = {} -endfunction - -function! s:last_non_empty_line(lines) - let len = len(a:lines) - for idx in range(len) - let line = a:lines[len-idx-1] - if !empty(line) - return line - endif - endfor - return '' -endfunction - -function! s:job_out_cb(self, data) abort - let self = a:self - let data = remove(self.lines, -1) . a:data - let lines = map(split(data, "\n", 1), 'split(v:val, "\r", 1)[-1]') - call extend(self.lines, lines) - " To reduce the number of buffer updates - let self.tick = get(self, 'tick', -1) + 1 - if !self.running || self.tick % len(s:jobs) == 0 - let bullet = self.running ? (self.new ? '+' : '*') : (self.error ? 'x' : '-') - let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines) - if len(result) - call s:log(bullet, self.name, result) - endif - endif -endfunction - -function! s:job_exit_cb(self, data) abort - let a:self.running = 0 - let a:self.error = a:data != 0 - call s:reap(a:self.name) - call s:tick() -endfunction - -function! s:job_cb(fn, job, ch, data) - if !s:plug_window_exists() " plug window closed - return s:job_abort() - endif - call call(a:fn, [a:job, a:data]) -endfunction - -function! s:nvim_cb(job_id, data, event) dict abort - return (a:event == 'stdout' || a:event == 'stderr') ? - \ s:job_cb('s:job_out_cb', self, 0, join(a:data, "\n")) : - \ s:job_cb('s:job_exit_cb', self, 0, a:data) -endfunction - -function! s:spawn(name, spec, queue, opts) - let job = { 'name': a:name, 'spec': a:spec, 'running': 1, 'error': 0, 'lines': [''], - \ 'new': get(a:opts, 'new', 0), 'queue': copy(a:queue) } - let Item = remove(job.queue, 0) - let argv = type(Item) == s:TYPE.funcref ? call(Item, [a:spec]) : Item - let s:jobs[a:name] = job - - if s:nvim - if has_key(a:opts, 'dir') - let job.cwd = a:opts.dir - endif - call extend(job, { - \ 'on_stdout': function('s:nvim_cb'), - \ 'on_stderr': function('s:nvim_cb'), - \ 'on_exit': function('s:nvim_cb'), - \ }) - let jid = s:plug_call('jobstart', argv, job) - if jid > 0 - let job.jobid = jid - else - let job.running = 0 - let job.error = 1 - let job.lines = [jid < 0 ? argv[0].' is not executable' : - \ 'Invalid arguments (or job table is full)'] - endif - elseif s:vim8 - let cmd = join(map(copy(argv), 'plug#shellescape(v:val, {"script": 0})')) - if has_key(a:opts, 'dir') - let cmd = s:with_cd(cmd, a:opts.dir, 0) - endif - let argv = s:is_win ? ['cmd', '/s', '/c', '"'.cmd.'"'] : ['sh', '-c', cmd] - let jid = job_start(s:is_win ? join(argv, ' ') : argv, { - \ 'out_cb': function('s:job_cb', ['s:job_out_cb', job]), - \ 'err_cb': function('s:job_cb', ['s:job_out_cb', job]), - \ 'exit_cb': function('s:job_cb', ['s:job_exit_cb', job]), - \ 'err_mode': 'raw', - \ 'out_mode': 'raw' - \}) - if job_status(jid) == 'run' - let job.jobid = jid - else - let job.running = 0 - let job.error = 1 - let job.lines = ['Failed to start job'] - endif - else - let job.lines = s:lines(call('s:system', has_key(a:opts, 'dir') ? [argv, a:opts.dir] : [argv])) - let job.error = v:shell_error != 0 - let job.running = 0 - endif -endfunction - -function! s:reap(name) - let job = remove(s:jobs, a:name) - if job.error - call add(s:update.errors, a:name) - elseif get(job, 'new', 0) - let s:update.new[a:name] = 1 - endif - - let more = len(get(job, 'queue', [])) - let bullet = job.error ? 'x' : more ? (job.new ? '+' : '*') : '-' - let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines) - if len(result) - call s:log(bullet, a:name, result) - endif - - if !job.error && more - let job.spec.queue = job.queue - let s:update.todo[a:name] = job.spec - else - let s:update.bar .= job.error ? 'x' : '=' - call s:bar() - endif -endfunction - -function! s:bar() - if s:switch_in() - let total = len(s:update.all) - call setline(1, (s:update.pull ? 'Updating' : 'Installing'). - \ ' plugins ('.len(s:update.bar).'/'.total.')') - call s:progress_bar(2, s:update.bar, total) - call s:switch_out() - endif -endfunction - -function! s:logpos(name) - let max = line('$') - for i in range(4, max > 4 ? max : 4) - if getline(i) =~# '^[-+x*] '.a:name.':' - for j in range(i + 1, max > 5 ? max : 5) - if getline(j) !~ '^ ' - return [i, j - 1] - endif - endfor - return [i, i] - endif - endfor - return [0, 0] -endfunction - -function! s:log(bullet, name, lines) - if s:switch_in() - let [b, e] = s:logpos(a:name) - if b > 0 - silent execute printf('%d,%d d _', b, e) - if b > winheight('.') - let b = 4 - endif - else - let b = 4 - endif - " FIXME For some reason, nomodifiable is set after :d in vim8 - setlocal modifiable - call append(b - 1, s:format_message(a:bullet, a:name, a:lines)) - call s:switch_out() - endif -endfunction - -function! s:update_vim() - let s:jobs = {} - - call s:bar() - call s:tick() -endfunction - -function! s:checkout_command(spec) - let a:spec.branch = s:git_origin_branch(a:spec) - return ['git', 'checkout', '-q', a:spec.branch, '--'] -endfunction - -function! s:merge_command(spec) - let a:spec.branch = s:git_origin_branch(a:spec) - return ['git', 'merge', '--ff-only', 'origin/'.a:spec.branch] -endfunction - -function! s:tick() - let pull = s:update.pull - let prog = s:progress_opt(s:nvim || s:vim8) -while 1 " Without TCO, Vim stack is bound to explode - if empty(s:update.todo) - if empty(s:jobs) && !s:update.fin - call s:update_finish() - let s:update.fin = 1 - endif - return - endif - - let name = keys(s:update.todo)[0] - let spec = remove(s:update.todo, name) - let queue = get(spec, 'queue', []) - let new = empty(globpath(spec.dir, '.git', 1)) - - if empty(queue) - call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...') - redraw - endif - - let has_tag = has_key(spec, 'tag') - if len(queue) - call s:spawn(name, spec, queue, { 'dir': spec.dir }) - elseif !new - let [error, _] = s:git_validate(spec, 0) - if empty(error) - if pull - let cmd = s:git_version_requirement(2) ? ['git', '-c', 'credential.helper=', 'fetch'] : ['git', 'fetch'] - if has_tag && !empty(globpath(spec.dir, '.git/shallow')) - call extend(cmd, ['--depth', '99999999']) - endif - if !empty(prog) - call add(cmd, prog) - endif - let queue = [cmd, split('git remote set-head origin -a')] - if !has_tag && !has_key(spec, 'commit') - call extend(queue, [function('s:checkout_command'), function('s:merge_command')]) - endif - call s:spawn(name, spec, queue, { 'dir': spec.dir }) - else - let s:jobs[name] = { 'running': 0, 'lines': ['Already installed'], 'error': 0 } - endif - else - let s:jobs[name] = { 'running': 0, 'lines': s:lines(error), 'error': 1 } - endif - else - let cmd = ['git', 'clone'] - if !has_tag - call extend(cmd, s:clone_opt) - endif - if !empty(prog) - call add(cmd, prog) - endif - call s:spawn(name, spec, [extend(cmd, [spec.uri, s:trim(spec.dir)]), function('s:checkout_command'), function('s:merge_command')], { 'new': 1 }) - endif - - if !s:jobs[name].running - call s:reap(name) - endif - if len(s:jobs) >= s:update.threads - break - endif -endwhile -endfunction - -function! s:update_python() -let py_exe = has('python') ? 'python' : 'python3' -execute py_exe "<< EOF" -import datetime -import functools -import os -try: - import queue -except ImportError: - import Queue as queue -import random -import re -import shutil -import signal -import subprocess -import tempfile -import threading as thr -import time -import traceback -import vim - -G_NVIM = vim.eval("has('nvim')") == '1' -G_PULL = vim.eval('s:update.pull') == '1' -G_RETRIES = int(vim.eval('get(g:, "plug_retries", 2)')) + 1 -G_TIMEOUT = int(vim.eval('get(g:, "plug_timeout", 60)')) -G_CLONE_OPT = ' '.join(vim.eval('s:clone_opt')) -G_PROGRESS = vim.eval('s:progress_opt(1)') -G_LOG_PROB = 1.0 / int(vim.eval('s:update.threads')) -G_STOP = thr.Event() -G_IS_WIN = vim.eval('s:is_win') == '1' - -class PlugError(Exception): - def __init__(self, msg): - self.msg = msg -class CmdTimedOut(PlugError): - pass -class CmdFailed(PlugError): - pass -class InvalidURI(PlugError): - pass -class Action(object): - INSTALL, UPDATE, ERROR, DONE = ['+', '*', 'x', '-'] - -class Buffer(object): - def __init__(self, lock, num_plugs, is_pull): - self.bar = '' - self.event = 'Updating' if is_pull else 'Installing' - self.lock = lock - self.maxy = int(vim.eval('winheight(".")')) - self.num_plugs = num_plugs - - def __where(self, name): - """ Find first line with name in current buffer. Return line num. """ - found, lnum = False, 0 - matcher = re.compile('^[-+x*] {0}:'.format(name)) - for line in vim.current.buffer: - if matcher.search(line) is not None: - found = True - break - lnum += 1 - - if not found: - lnum = -1 - return lnum - - def header(self): - curbuf = vim.current.buffer - curbuf[0] = self.event + ' plugins ({0}/{1})'.format(len(self.bar), self.num_plugs) - - num_spaces = self.num_plugs - len(self.bar) - curbuf[1] = '[{0}{1}]'.format(self.bar, num_spaces * ' ') - - with self.lock: - vim.command('normal! 2G') - vim.command('redraw') - - def write(self, action, name, lines): - first, rest = lines[0], lines[1:] - msg = ['{0} {1}{2}{3}'.format(action, name, ': ' if first else '', first)] - msg.extend([' ' + line for line in rest]) - - try: - if action == Action.ERROR: - self.bar += 'x' - vim.command("call add(s:update.errors, '{0}')".format(name)) - elif action == Action.DONE: - self.bar += '=' - - curbuf = vim.current.buffer - lnum = self.__where(name) - if lnum != -1: # Found matching line num - del curbuf[lnum] - if lnum > self.maxy and action in set([Action.INSTALL, Action.UPDATE]): - lnum = 3 - else: - lnum = 3 - curbuf.append(msg, lnum) - - self.header() - except vim.error: - pass - -class Command(object): - CD = 'cd /d' if G_IS_WIN else 'cd' - - def __init__(self, cmd, cmd_dir=None, timeout=60, cb=None, clean=None): - self.cmd = cmd - if cmd_dir: - self.cmd = '{0} {1} && {2}'.format(Command.CD, cmd_dir, self.cmd) - self.timeout = timeout - self.callback = cb if cb else (lambda msg: None) - self.clean = clean if clean else (lambda: None) - self.proc = None - - @property - def alive(self): - """ Returns true only if command still running. """ - return self.proc and self.proc.poll() is None - - def execute(self, ntries=3): - """ Execute the command with ntries if CmdTimedOut. - Returns the output of the command if no Exception. - """ - attempt, finished, limit = 0, False, self.timeout - - while not finished: - try: - attempt += 1 - result = self.try_command() - finished = True - return result - except CmdTimedOut: - if attempt != ntries: - self.notify_retry() - self.timeout += limit - else: - raise - - def notify_retry(self): - """ Retry required for command, notify user. """ - for count in range(3, 0, -1): - if G_STOP.is_set(): - raise KeyboardInterrupt - msg = 'Timeout. Will retry in {0} second{1} ...'.format( - count, 's' if count != 1 else '') - self.callback([msg]) - time.sleep(1) - self.callback(['Retrying ...']) - - def try_command(self): - """ Execute a cmd & poll for callback. Returns list of output. - Raises CmdFailed -> return code for Popen isn't 0 - Raises CmdTimedOut -> command exceeded timeout without new output - """ - first_line = True - - try: - tfile = tempfile.NamedTemporaryFile(mode='w+b') - preexec_fn = not G_IS_WIN and os.setsid or None - self.proc = subprocess.Popen(self.cmd, stdout=tfile, - stderr=subprocess.STDOUT, - stdin=subprocess.PIPE, shell=True, - preexec_fn=preexec_fn) - thrd = thr.Thread(target=(lambda proc: proc.wait()), args=(self.proc,)) - thrd.start() - - thread_not_started = True - while thread_not_started: - try: - thrd.join(0.1) - thread_not_started = False - except RuntimeError: - pass - - while self.alive: - if G_STOP.is_set(): - raise KeyboardInterrupt - - if first_line or random.random() < G_LOG_PROB: - first_line = False - line = '' if G_IS_WIN else nonblock_read(tfile.name) - if line: - self.callback([line]) - - time_diff = time.time() - os.path.getmtime(tfile.name) - if time_diff > self.timeout: - raise CmdTimedOut(['Timeout!']) - - thrd.join(0.5) - - tfile.seek(0) - result = [line.decode('utf-8', 'replace').rstrip() for line in tfile] - - if self.proc.returncode != 0: - raise CmdFailed([''] + result) - - return result - except: - self.terminate() - raise - - def terminate(self): - """ Terminate process and cleanup. """ - if self.alive: - if G_IS_WIN: - os.kill(self.proc.pid, signal.SIGINT) - else: - os.killpg(self.proc.pid, signal.SIGTERM) - self.clean() - -class Plugin(object): - def __init__(self, name, args, buf_q, lock): - self.name = name - self.args = args - self.buf_q = buf_q - self.lock = lock - self.tag = args.get('tag', 0) - - def manage(self): - try: - if os.path.exists(self.args['dir']): - self.update() - else: - self.install() - with self.lock: - thread_vim_command("let s:update.new['{0}'] = 1".format(self.name)) - except PlugError as exc: - self.write(Action.ERROR, self.name, exc.msg) - except KeyboardInterrupt: - G_STOP.set() - self.write(Action.ERROR, self.name, ['Interrupted!']) - except: - # Any exception except those above print stack trace - msg = 'Trace:\n{0}'.format(traceback.format_exc().rstrip()) - self.write(Action.ERROR, self.name, msg.split('\n')) - raise - - def install(self): - target = self.args['dir'] - if target[-1] == '\\': - target = target[0:-1] - - def clean(target): - def _clean(): - try: - shutil.rmtree(target) - except OSError: - pass - return _clean - - self.write(Action.INSTALL, self.name, ['Installing ...']) - callback = functools.partial(self.write, Action.INSTALL, self.name) - cmd = 'git clone {0} {1} {2} {3} 2>&1'.format( - '' if self.tag else G_CLONE_OPT, G_PROGRESS, self.args['uri'], - esc(target)) - com = Command(cmd, None, G_TIMEOUT, callback, clean(target)) - result = com.execute(G_RETRIES) - self.write(Action.DONE, self.name, result[-1:]) - - def repo_uri(self): - cmd = 'git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url' - command = Command(cmd, self.args['dir'], G_TIMEOUT,) - result = command.execute(G_RETRIES) - return result[-1] - - def update(self): - actual_uri = self.repo_uri() - expect_uri = self.args['uri'] - regex = re.compile(r'^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$') - ma = regex.match(actual_uri) - mb = regex.match(expect_uri) - if ma is None or mb is None or ma.groups() != mb.groups(): - msg = ['', - 'Invalid URI: {0}'.format(actual_uri), - 'Expected {0}'.format(expect_uri), - 'PlugClean required.'] - raise InvalidURI(msg) - - if G_PULL: - self.write(Action.UPDATE, self.name, ['Updating ...']) - callback = functools.partial(self.write, Action.UPDATE, self.name) - fetch_opt = '--depth 99999999' if self.tag and os.path.isfile(os.path.join(self.args['dir'], '.git/shallow')) else '' - cmd = 'git fetch {0} {1} 2>&1'.format(fetch_opt, G_PROGRESS) - com = Command(cmd, self.args['dir'], G_TIMEOUT, callback) - result = com.execute(G_RETRIES) - self.write(Action.DONE, self.name, result[-1:]) - else: - self.write(Action.DONE, self.name, ['Already installed']) - - def write(self, action, name, msg): - self.buf_q.put((action, name, msg)) - -class PlugThread(thr.Thread): - def __init__(self, tname, args): - super(PlugThread, self).__init__() - self.tname = tname - self.args = args - - def run(self): - thr.current_thread().name = self.tname - buf_q, work_q, lock = self.args - - try: - while not G_STOP.is_set(): - name, args = work_q.get_nowait() - plug = Plugin(name, args, buf_q, lock) - plug.manage() - work_q.task_done() - except queue.Empty: - pass - -class RefreshThread(thr.Thread): - def __init__(self, lock): - super(RefreshThread, self).__init__() - self.lock = lock - self.running = True - - def run(self): - while self.running: - with self.lock: - thread_vim_command('noautocmd normal! a') - time.sleep(0.33) - - def stop(self): - self.running = False - -if G_NVIM: - def thread_vim_command(cmd): - vim.session.threadsafe_call(lambda: vim.command(cmd)) -else: - def thread_vim_command(cmd): - vim.command(cmd) - -def esc(name): - return '"' + name.replace('"', '\"') + '"' - -def nonblock_read(fname): - """ Read a file with nonblock flag. Return the last line. """ - fread = os.open(fname, os.O_RDONLY | os.O_NONBLOCK) - buf = os.read(fread, 100000).decode('utf-8', 'replace') - os.close(fread) - - line = buf.rstrip('\r\n') - left = max(line.rfind('\r'), line.rfind('\n')) - if left != -1: - left += 1 - line = line[left:] - - return line - -def main(): - thr.current_thread().name = 'main' - nthreads = int(vim.eval('s:update.threads')) - plugs = vim.eval('s:update.todo') - mac_gui = vim.eval('s:mac_gui') == '1' - - lock = thr.Lock() - buf = Buffer(lock, len(plugs), G_PULL) - buf_q, work_q = queue.Queue(), queue.Queue() - for work in plugs.items(): - work_q.put(work) - - start_cnt = thr.active_count() - for num in range(nthreads): - tname = 'PlugT-{0:02}'.format(num) - thread = PlugThread(tname, (buf_q, work_q, lock)) - thread.start() - if mac_gui: - rthread = RefreshThread(lock) - rthread.start() - - while not buf_q.empty() or thr.active_count() != start_cnt: - try: - action, name, msg = buf_q.get(True, 0.25) - buf.write(action, name, ['OK'] if not msg else msg) - buf_q.task_done() - except queue.Empty: - pass - except KeyboardInterrupt: - G_STOP.set() - - if mac_gui: - rthread.stop() - rthread.join() - -main() -EOF -endfunction - -function! s:update_ruby() - ruby << EOF - module PlugStream - SEP = ["\r", "\n", nil] - def get_line - buffer = '' - loop do - char = readchar rescue return - if SEP.include? char.chr - buffer << $/ - break - else - buffer << char - end - end - buffer - end - end unless defined?(PlugStream) - - def esc arg - %["#{arg.gsub('"', '\"')}"] - end - - def killall pid - pids = [pid] - if /mswin|mingw|bccwin/ =~ RUBY_PLATFORM - pids.each { |pid| Process.kill 'INT', pid.to_i rescue nil } - else - unless `which pgrep 2> /dev/null`.empty? - children = pids - until children.empty? - children = children.map { |pid| - `pgrep -P #{pid}`.lines.map { |l| l.chomp } - }.flatten - pids += children - end - end - pids.each { |pid| Process.kill 'TERM', pid.to_i rescue nil } - end - end - - def compare_git_uri a, b - regex = %r{^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$} - regex.match(a).to_a.drop(1) == regex.match(b).to_a.drop(1) - end - - require 'thread' - require 'fileutils' - require 'timeout' - running = true - iswin = VIM::evaluate('s:is_win').to_i == 1 - pull = VIM::evaluate('s:update.pull').to_i == 1 - base = VIM::evaluate('g:plug_home') - all = VIM::evaluate('s:update.todo') - limit = VIM::evaluate('get(g:, "plug_timeout", 60)') - tries = VIM::evaluate('get(g:, "plug_retries", 2)') + 1 - nthr = VIM::evaluate('s:update.threads').to_i - maxy = VIM::evaluate('winheight(".")').to_i - vim7 = VIM::evaluate('v:version').to_i <= 703 && RUBY_PLATFORM =~ /darwin/ - cd = iswin ? 'cd /d' : 'cd' - tot = VIM::evaluate('len(s:update.todo)') || 0 - bar = '' - skip = 'Already installed' - mtx = Mutex.new - take1 = proc { mtx.synchronize { running && all.shift } } - logh = proc { - cnt = bar.length - $curbuf[1] = "#{pull ? 'Updating' : 'Installing'} plugins (#{cnt}/#{tot})" - $curbuf[2] = '[' + bar.ljust(tot) + ']' - VIM::command('normal! 2G') - VIM::command('redraw') - } - where = proc { |name| (1..($curbuf.length)).find { |l| $curbuf[l] =~ /^[-+x*] #{name}:/ } } - log = proc { |name, result, type| - mtx.synchronize do - ing = ![true, false].include?(type) - bar += type ? '=' : 'x' unless ing - b = case type - when :install then '+' when :update then '*' - when true, nil then '-' else - VIM::command("call add(s:update.errors, '#{name}')") - 'x' - end - result = - if type || type.nil? - ["#{b} #{name}: #{result.lines.to_a.last || 'OK'}"] - elsif result =~ /^Interrupted|^Timeout/ - ["#{b} #{name}: #{result}"] - else - ["#{b} #{name}"] + result.lines.map { |l| " " << l } - end - if lnum = where.call(name) - $curbuf.delete lnum - lnum = 4 if ing && lnum > maxy - end - result.each_with_index do |line, offset| - $curbuf.append((lnum || 4) - 1 + offset, line.gsub(/\e\[./, '').chomp) - end - logh.call - end - } - bt = proc { |cmd, name, type, cleanup| - tried = timeout = 0 - begin - tried += 1 - timeout += limit - fd = nil - data = '' - if iswin - Timeout::timeout(timeout) do - tmp = VIM::evaluate('tempname()') - system("(#{cmd}) > #{tmp}") - data = File.read(tmp).chomp - File.unlink tmp rescue nil - end - else - fd = IO.popen(cmd).extend(PlugStream) - first_line = true - log_prob = 1.0 / nthr - while line = Timeout::timeout(timeout) { fd.get_line } - data << line - log.call name, line.chomp, type if name && (first_line || rand < log_prob) - first_line = false - end - fd.close - end - [$? == 0, data.chomp] - rescue Timeout::Error, Interrupt => e - if fd && !fd.closed? - killall fd.pid - fd.close - end - cleanup.call if cleanup - if e.is_a?(Timeout::Error) && tried < tries - 3.downto(1) do |countdown| - s = countdown > 1 ? 's' : '' - log.call name, "Timeout. Will retry in #{countdown} second#{s} ...", type - sleep 1 - end - log.call name, 'Retrying ...', type - retry - end - [false, e.is_a?(Interrupt) ? "Interrupted!" : "Timeout!"] - end - } - main = Thread.current - threads = [] - watcher = Thread.new { - if vim7 - while VIM::evaluate('getchar(1)') - sleep 0.1 - end - else - require 'io/console' # >= Ruby 1.9 - nil until IO.console.getch == 3.chr - end - mtx.synchronize do - running = false - threads.each { |t| t.raise Interrupt } unless vim7 - end - threads.each { |t| t.join rescue nil } - main.kill - } - refresh = Thread.new { - while true - mtx.synchronize do - break unless running - VIM::command('noautocmd normal! a') - end - sleep 0.2 - end - } if VIM::evaluate('s:mac_gui') == 1 - - clone_opt = VIM::evaluate('s:clone_opt').join(' ') - progress = VIM::evaluate('s:progress_opt(1)') - nthr.times do - mtx.synchronize do - threads << Thread.new { - while pair = take1.call - name = pair.first - dir, uri, tag = pair.last.values_at *%w[dir uri tag] - exists = File.directory? dir - ok, result = - if exists - chdir = "#{cd} #{iswin ? dir : esc(dir)}" - ret, data = bt.call "#{chdir} && git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url", nil, nil, nil - current_uri = data.lines.to_a.last - if !ret - if data =~ /^Interrupted|^Timeout/ - [false, data] - else - [false, [data.chomp, "PlugClean required."].join($/)] - end - elsif !compare_git_uri(current_uri, uri) - [false, ["Invalid URI: #{current_uri}", - "Expected: #{uri}", - "PlugClean required."].join($/)] - else - if pull - log.call name, 'Updating ...', :update - fetch_opt = (tag && File.exist?(File.join(dir, '.git/shallow'))) ? '--depth 99999999' : '' - bt.call "#{chdir} && git fetch #{fetch_opt} #{progress} 2>&1", name, :update, nil - else - [true, skip] - end - end - else - d = esc dir.sub(%r{[\\/]+$}, '') - log.call name, 'Installing ...', :install - bt.call "git clone #{clone_opt unless tag} #{progress} #{uri} #{d} 2>&1", name, :install, proc { - FileUtils.rm_rf dir - } - end - mtx.synchronize { VIM::command("let s:update.new['#{name}'] = 1") } if !exists && ok - log.call name, result, ok - end - } if running - end - end - threads.each { |t| t.join rescue nil } - logh.call - refresh.kill if refresh - watcher.kill -EOF -endfunction - -function! s:shellesc_cmd(arg, script) - let escaped = substitute('"'.a:arg.'"', '[&|<>()@^!"]', '^&', 'g') - return substitute(escaped, '%', (a:script ? '%' : '^') . '&', 'g') -endfunction - -function! s:shellesc_ps1(arg) - return "'".substitute(escape(a:arg, '\"'), "'", "''", 'g')."'" -endfunction - -function! s:shellesc_sh(arg) - return "'".substitute(a:arg, "'", "'\\\\''", 'g')."'" -endfunction - -" Escape the shell argument based on the shell. -" Vim and Neovim's shellescape() are insufficient. -" 1. shellslash determines whether to use single/double quotes. -" Double-quote escaping is fragile for cmd.exe. -" 2. It does not work for powershell. -" 3. It does not work for *sh shells if the command is executed -" via cmd.exe (ie. cmd.exe /c sh -c command command_args) -" 4. It does not support batchfile syntax. -" -" Accepts an optional dictionary with the following keys: -" - shell: same as Vim/Neovim 'shell' option. -" If unset, fallback to 'cmd.exe' on Windows or 'sh'. -" - script: If truthy and shell is cmd.exe, escape for batchfile syntax. -function! plug#shellescape(arg, ...) - if a:arg =~# '^[A-Za-z0-9_/:.-]\+$' - return a:arg - endif - let opts = a:0 > 0 && type(a:1) == s:TYPE.dict ? a:1 : {} - let shell = get(opts, 'shell', s:is_win ? 'cmd.exe' : 'sh') - let script = get(opts, 'script', 1) - if shell =~# 'cmd\(\.exe\)\?$' - return s:shellesc_cmd(a:arg, script) - elseif s:is_powershell(shell) - return s:shellesc_ps1(a:arg) - endif - return s:shellesc_sh(a:arg) -endfunction - -function! s:glob_dir(path) - return map(filter(s:glob(a:path, '**'), 'isdirectory(v:val)'), 's:dirpath(v:val)') -endfunction - -function! s:progress_bar(line, bar, total) - call setline(a:line, '[' . s:lpad(a:bar, a:total) . ']') -endfunction - -function! s:compare_git_uri(a, b) - " See `git help clone' - " https:// [user@] github.com[:port] / junegunn/vim-plug [.git] - " [git@] github.com[:port] : junegunn/vim-plug [.git] - " file:// / junegunn/vim-plug [/] - " / junegunn/vim-plug [/] - let pat = '^\%(\w\+://\)\='.'\%([^@/]*@\)\='.'\([^:/]*\%(:[0-9]*\)\=\)'.'[:/]'.'\(.\{-}\)'.'\%(\.git\)\=/\?$' - let ma = matchlist(a:a, pat) - let mb = matchlist(a:b, pat) - return ma[1:2] ==# mb[1:2] -endfunction - -function! s:format_message(bullet, name, message) - if a:bullet != 'x' - return [printf('%s %s: %s', a:bullet, a:name, s:lastline(a:message))] - else - let lines = map(s:lines(a:message), '" ".v:val') - return extend([printf('x %s:', a:name)], lines) - endif -endfunction - -function! s:with_cd(cmd, dir, ...) - let script = a:0 > 0 ? a:1 : 1 - return printf('cd%s %s && %s', s:is_win ? ' /d' : '', plug#shellescape(a:dir, {'script': script}), a:cmd) -endfunction - -function! s:system(cmd, ...) - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(1) - if type(a:cmd) == s:TYPE.list - " Neovim's system() supports list argument to bypass the shell - " but it cannot set the working directory for the command. - " Assume that the command does not rely on the shell. - if has('nvim') && a:0 == 0 - return system(a:cmd) - endif - let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"shell": &shell, "script": 0})')) - if s:is_powershell(&shell) - let cmd = '& ' . cmd - endif - else - let cmd = a:cmd - endif - if a:0 > 0 - let cmd = s:with_cd(cmd, a:1, type(a:cmd) != s:TYPE.list) - endif - if s:is_win && type(a:cmd) != s:TYPE.list - let [batchfile, cmd] = s:batchfile(cmd) - endif - return system(cmd) - finally - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry -endfunction - -function! s:system_chomp(...) - let ret = call('s:system', a:000) - return v:shell_error ? '' : substitute(ret, '\n$', '', '') -endfunction - -function! s:git_validate(spec, check_branch) - let err = '' - if isdirectory(a:spec.dir) - let result = [s:git_local_branch(a:spec.dir), s:git_origin_url(a:spec.dir)] - let remote = result[-1] - if empty(remote) - let err = join([remote, 'PlugClean required.'], "\n") - elseif !s:compare_git_uri(remote, a:spec.uri) - let err = join(['Invalid URI: '.remote, - \ 'Expected: '.a:spec.uri, - \ 'PlugClean required.'], "\n") - elseif a:check_branch && has_key(a:spec, 'commit') - let sha = s:git_revision(a:spec.dir) - if empty(sha) - let err = join(add(result, 'PlugClean required.'), "\n") - elseif !s:hash_match(sha, a:spec.commit) - let err = join([printf('Invalid HEAD (expected: %s, actual: %s)', - \ a:spec.commit[:6], sha[:6]), - \ 'PlugUpdate required.'], "\n") - endif - elseif a:check_branch - let current_branch = result[0] - " Check tag - let origin_branch = s:git_origin_branch(a:spec) - if has_key(a:spec, 'tag') - let tag = s:system_chomp('git describe --exact-match --tags HEAD 2>&1', a:spec.dir) - if a:spec.tag !=# tag && a:spec.tag !~ '\*' - let err = printf('Invalid tag: %s (expected: %s). Try PlugUpdate.', - \ (empty(tag) ? 'N/A' : tag), a:spec.tag) - endif - " Check branch - elseif origin_branch !=# current_branch - let err = printf('Invalid branch: %s (expected: %s). Try PlugUpdate.', - \ current_branch, origin_branch) - endif - if empty(err) - let ahead_behind = split(s:lastline(s:system([ - \ 'git', 'rev-list', '--count', '--left-right', - \ printf('HEAD...origin/%s', origin_branch) - \ ], a:spec.dir)), '\t') - if v:shell_error || len(ahead_behind) != 2 - let err = "Failed to compare with the origin. The default branch might have changed.\nPlugClean required." - else - let [ahead, behind] = ahead_behind - if ahead && behind - " Only mention PlugClean if diverged, otherwise it's likely to be - " pushable (and probably not that messed up). - let err = printf( - \ "Diverged from origin/%s (%d commit(s) ahead and %d commit(s) behind!\n" - \ .'Backup local changes and run PlugClean and PlugUpdate to reinstall it.', origin_branch, ahead, behind) - elseif ahead - let err = printf("Ahead of origin/%s by %d commit(s).\n" - \ .'Cannot update until local changes are pushed.', - \ origin_branch, ahead) - endif - endif - endif - endif - else - let err = 'Not found' - endif - return [err, err =~# 'PlugClean'] -endfunction - -function! s:rm_rf(dir) - if isdirectory(a:dir) - return s:system(s:is_win - \ ? 'rmdir /S /Q '.plug#shellescape(a:dir) - \ : ['rm', '-rf', a:dir]) - endif -endfunction - -function! s:clean(force) - call s:prepare() - call append(0, 'Searching for invalid plugins in '.g:plug_home) - call append(1, '') - - " List of valid directories - let dirs = [] - let errs = {} - let [cnt, total] = [0, len(g:plugs)] - for [name, spec] in items(g:plugs) - if !s:is_managed(name) || get(spec, 'frozen', 0) - call add(dirs, spec.dir) - else - let [err, clean] = s:git_validate(spec, 1) - if clean - let errs[spec.dir] = s:lines(err)[0] - else - call add(dirs, spec.dir) - endif - endif - let cnt += 1 - call s:progress_bar(2, repeat('=', cnt), total) - normal! 2G - redraw - endfor - - let allowed = {} - for dir in dirs - let allowed[s:dirpath(s:plug_fnamemodify(dir, ':h:h'))] = 1 - let allowed[dir] = 1 - for child in s:glob_dir(dir) - let allowed[child] = 1 - endfor - endfor - - let todo = [] - let found = sort(s:glob_dir(g:plug_home)) - while !empty(found) - let f = remove(found, 0) - if !has_key(allowed, f) && isdirectory(f) - call add(todo, f) - call append(line('$'), '- ' . f) - if has_key(errs, f) - call append(line('$'), ' ' . errs[f]) - endif - let found = filter(found, 'stridx(v:val, f) != 0') - end - endwhile - - 4 - redraw - if empty(todo) - call append(line('$'), 'Already clean.') - else - let s:clean_count = 0 - call append(3, ['Directories to delete:', '']) - redraw! - if a:force || s:ask_no_interrupt('Delete all directories?') - call s:delete([6, line('$')], 1) - else - call setline(4, 'Cancelled.') - nnoremap d :set opfunc=delete_opg@ - nmap dd d_ - xnoremap d :call delete_op(visualmode(), 1) - echo 'Delete the lines (d{motion}) to delete the corresponding directories' - endif - endif - 4 - setlocal nomodifiable -endfunction - -function! s:delete_op(type, ...) - call s:delete(a:0 ? [line("'<"), line("'>")] : [line("'["), line("']")], 0) -endfunction - -function! s:delete(range, force) - let [l1, l2] = a:range - let force = a:force - let err_count = 0 - while l1 <= l2 - let line = getline(l1) - if line =~ '^- ' && isdirectory(line[2:]) - execute l1 - redraw! - let answer = force ? 1 : s:ask('Delete '.line[2:].'?', 1) - let force = force || answer > 1 - if answer - let err = s:rm_rf(line[2:]) - setlocal modifiable - if empty(err) - call setline(l1, '~'.line[1:]) - let s:clean_count += 1 - else - delete _ - call append(l1 - 1, s:format_message('x', line[1:], err)) - let l2 += len(s:lines(err)) - let err_count += 1 - endif - let msg = printf('Removed %d directories.', s:clean_count) - if err_count > 0 - let msg .= printf(' Failed to remove %d directories.', err_count) - endif - call setline(4, msg) - setlocal nomodifiable - endif - endif - let l1 += 1 - endwhile -endfunction - -function! s:upgrade() - echo 'Downloading the latest version of vim-plug' - redraw - let tmp = s:plug_tempname() - let new = tmp . '/plug.vim' - - try - let out = s:system(['git', 'clone', '--depth', '1', s:plug_src, tmp]) - if v:shell_error - return s:err('Error upgrading vim-plug: '. out) - endif - - if readfile(s:me) ==# readfile(new) - echo 'vim-plug is already up-to-date' - return 0 - else - call rename(s:me, s:me . '.old') - call rename(new, s:me) - unlet g:loaded_plug - echo 'vim-plug has been upgraded' - return 1 - endif - finally - silent! call s:rm_rf(tmp) - endtry -endfunction - -function! s:upgrade_specs() - for spec in values(g:plugs) - let spec.frozen = get(spec, 'frozen', 0) - endfor -endfunction - -function! s:status() - call s:prepare() - call append(0, 'Checking plugins') - call append(1, '') - - let ecnt = 0 - let unloaded = 0 - let [cnt, total] = [0, len(g:plugs)] - for [name, spec] in items(g:plugs) - let is_dir = isdirectory(spec.dir) - if has_key(spec, 'uri') - if is_dir - let [err, _] = s:git_validate(spec, 1) - let [valid, msg] = [empty(err), empty(err) ? 'OK' : err] - else - let [valid, msg] = [0, 'Not found. Try PlugInstall.'] - endif - else - if is_dir - let [valid, msg] = [1, 'OK'] - else - let [valid, msg] = [0, 'Not found.'] - endif - endif - let cnt += 1 - let ecnt += !valid - " `s:loaded` entry can be missing if PlugUpgraded - if is_dir && get(s:loaded, name, -1) == 0 - let unloaded = 1 - let msg .= ' (not loaded)' - endif - call s:progress_bar(2, repeat('=', cnt), total) - call append(3, s:format_message(valid ? '-' : 'x', name, msg)) - normal! 2G - redraw - endfor - call setline(1, 'Finished. '.ecnt.' error(s).') - normal! gg - setlocal nomodifiable - if unloaded - echo "Press 'L' on each line to load plugin, or 'U' to update" - nnoremap L :call status_load(line('.')) - xnoremap L :call status_load(line('.')) - end -endfunction - -function! s:extract_name(str, prefix, suffix) - return matchstr(a:str, '^'.a:prefix.' \zs[^:]\+\ze:.*'.a:suffix.'$') -endfunction - -function! s:status_load(lnum) - let line = getline(a:lnum) - let name = s:extract_name(line, '-', '(not loaded)') - if !empty(name) - call plug#load(name) - setlocal modifiable - call setline(a:lnum, substitute(line, ' (not loaded)$', '', '')) - setlocal nomodifiable - endif -endfunction - -function! s:status_update() range - let lines = getline(a:firstline, a:lastline) - let names = filter(map(lines, 's:extract_name(v:val, "[x-]", "")'), '!empty(v:val)') - if !empty(names) - echo - execute 'PlugUpdate' join(names) - endif -endfunction - -function! s:is_preview_window_open() - silent! wincmd P - if &previewwindow - wincmd p - return 1 - endif -endfunction - -function! s:find_name(lnum) - for lnum in reverse(range(1, a:lnum)) - let line = getline(lnum) - if empty(line) - return '' - endif - let name = s:extract_name(line, '-', '') - if !empty(name) - return name - endif - endfor - return '' -endfunction - -function! s:preview_commit() - if b:plug_preview < 0 - let b:plug_preview = !s:is_preview_window_open() - endif - - let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}') - if empty(sha) - let name = matchstr(getline('.'), '^- \zs[^:]*\ze:$') - if empty(name) - return - endif - let title = 'HEAD@{1}..' - let command = 'git diff --no-color HEAD@{1}' - else - let title = sha - let command = 'git show --no-color --pretty=medium '.sha - let name = s:find_name(line('.')) - endif - - if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir) - return - endif - - if !s:is_preview_window_open() - execute get(g:, 'plug_pwindow', 'vertical rightbelow new') - execute 'e' title - else - execute 'pedit' title - wincmd P - endif - setlocal previewwindow filetype=git buftype=nofile bufhidden=wipe nobuflisted modifiable - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(1) - let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && '.command - if s:is_win - let [batchfile, cmd] = s:batchfile(cmd) - endif - execute 'silent %!' cmd - finally - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry - setlocal nomodifiable - nnoremap q :q - wincmd p -endfunction - -function! s:section(flags) - call search('\(^[x-] \)\@<=[^:]\+:', a:flags) -endfunction - -function! s:format_git_log(line) - let indent = ' ' - let tokens = split(a:line, nr2char(1)) - if len(tokens) != 5 - return indent.substitute(a:line, '\s*$', '', '') - endif - let [graph, sha, refs, subject, date] = tokens - let tag = matchstr(refs, 'tag: [^,)]\+') - let tag = empty(tag) ? ' ' : ' ('.tag.') ' - return printf('%s%s%s%s%s (%s)', indent, graph, sha, tag, subject, date) -endfunction - -function! s:append_ul(lnum, text) - call append(a:lnum, ['', a:text, repeat('-', len(a:text))]) -endfunction - -function! s:diff() - call s:prepare() - call append(0, ['Collecting changes ...', '']) - let cnts = [0, 0] - let bar = '' - let total = filter(copy(g:plugs), 's:is_managed(v:key) && isdirectory(v:val.dir)') - call s:progress_bar(2, bar, len(total)) - for origin in [1, 0] - let plugs = reverse(sort(items(filter(copy(total), (origin ? '' : '!').'(has_key(v:val, "commit") || has_key(v:val, "tag"))')))) - if empty(plugs) - continue - endif - call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:') - for [k, v] in plugs - let branch = s:git_origin_branch(v) - if len(branch) - let range = origin ? '..origin/'.branch : 'HEAD@{1}..' - let cmd = ['git', 'log', '--graph', '--color=never'] - if s:git_version_requirement(2, 10, 0) - call add(cmd, '--no-show-signature') - endif - call extend(cmd, ['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range]) - if has_key(v, 'rtp') - call extend(cmd, ['--', v.rtp]) - endif - let diff = s:system_chomp(cmd, v.dir) - if !empty(diff) - let ref = has_key(v, 'tag') ? (' (tag: '.v.tag.')') : has_key(v, 'commit') ? (' '.v.commit) : '' - call append(5, extend(['', '- '.k.':'.ref], map(s:lines(diff), 's:format_git_log(v:val)'))) - let cnts[origin] += 1 - endif - endif - let bar .= '=' - call s:progress_bar(2, bar, len(total)) - normal! 2G - redraw - endfor - if !cnts[origin] - call append(5, ['', 'N/A']) - endif - endfor - call setline(1, printf('%d plugin(s) updated.', cnts[0]) - \ . (cnts[1] ? printf(' %d plugin(s) have pending updates.', cnts[1]) : '')) - - if cnts[0] || cnts[1] - nnoremap (plug-preview) :silent! call preview_commit() - if empty(maparg("\", 'n')) - nmap (plug-preview) - endif - if empty(maparg('o', 'n')) - nmap o (plug-preview) - endif - endif - if cnts[0] - nnoremap X :call revert() - echo "Press 'X' on each block to revert the update" - endif - normal! gg - setlocal nomodifiable -endfunction - -function! s:revert() - if search('^Pending updates', 'bnW') - return - endif - - let name = s:find_name(line('.')) - if empty(name) || !has_key(g:plugs, name) || - \ input(printf('Revert the update of %s? (y/N) ', name)) !~? '^y' - return - endif - - call s:system('git reset --hard HEAD@{1} && git checkout '.plug#shellescape(g:plugs[name].branch).' --', g:plugs[name].dir) - setlocal modifiable - normal! "_dap - setlocal nomodifiable - echo 'Reverted' -endfunction - -function! s:snapshot(force, ...) abort - call s:prepare() - setf vim - call append(0, ['" Generated by vim-plug', - \ '" '.strftime("%c"), - \ '" :source this file in vim to restore the snapshot', - \ '" or execute: vim -S snapshot.vim', - \ '', '', 'PlugUpdate!']) - 1 - let anchor = line('$') - 3 - let names = sort(keys(filter(copy(g:plugs), - \'has_key(v:val, "uri") && isdirectory(v:val.dir)'))) - for name in reverse(names) - let sha = has_key(g:plugs[name], 'commit') ? g:plugs[name].commit : s:git_revision(g:plugs[name].dir) - if !empty(sha) - call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha)) - redraw - endif - endfor - - if a:0 > 0 - let fn = s:plug_expand(a:1) - if filereadable(fn) && !(a:force || s:ask(a:1.' already exists. Overwrite?')) - return - endif - call writefile(getline(1, '$'), fn) - echo 'Saved as '.a:1 - silent execute 'e' s:esc(fn) - setf vim - endif -endfunction - -function! s:split_rtp() - return split(&rtp, '\\\@ -" Source: https://github.com/morhetz/gruvbox -" Last Modified: 12 Aug 2017 -" ----------------------------------------------------------------------------- - -let g:airline#themes#gruvbox#palette = {} - -function! airline#themes#gruvbox#refresh() - - let M0 = airline#themes#get_highlight('Identifier') - let accents_group = airline#themes#get_highlight('Special') - let modified_group = [M0[0], '', M0[2], '', ''] - let warning_group = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg']) - let error_group = airline#themes#get_highlight2(['Normal', 'bg'], ['WarningMsg', 'fg']) - - let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['StatusLineNC', 'bg']) - let s:N2 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['Pmenu', 'bg']) - let s:N3 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['CursorLine', 'bg']) - let g:airline#themes#gruvbox#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - let g:airline#themes#gruvbox#palette.normal_modified = { 'airline_c': modified_group } - let g:airline#themes#gruvbox#palette.normal.airline_warning = warning_group - let g:airline#themes#gruvbox#palette.normal_modified.airline_warning = warning_group - let g:airline#themes#gruvbox#palette.normal.airline_error = error_group - let g:airline#themes#gruvbox#palette.normal_modified.airline_error = error_group - - let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Identifier', 'fg']) - let s:I2 = s:N2 - let s:I3 = airline#themes#get_highlight2(['Normal', 'fg'], ['Pmenu', 'bg']) - let g:airline#themes#gruvbox#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) - let g:airline#themes#gruvbox#palette.insert_modified = g:airline#themes#gruvbox#palette.normal_modified - let g:airline#themes#gruvbox#palette.insert.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning - let g:airline#themes#gruvbox#palette.insert_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning - let g:airline#themes#gruvbox#palette.insert.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error - let g:airline#themes#gruvbox#palette.insert_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error - - let s:R1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Structure', 'fg']) - let s:R2 = s:I2 - let s:R3 = s:I3 - let g:airline#themes#gruvbox#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) - let g:airline#themes#gruvbox#palette.replace_modified = g:airline#themes#gruvbox#palette.normal_modified - let g:airline#themes#gruvbox#palette.replace.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning - let g:airline#themes#gruvbox#palette.replace_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning - let g:airline#themes#gruvbox#palette.replace.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error - let g:airline#themes#gruvbox#palette.replace_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error - - let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg']) - let s:V2 = s:N2 - let s:V3 = airline#themes#get_highlight2(['Normal', 'bg'], ['TabLine', 'fg']) - let g:airline#themes#gruvbox#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) - let g:airline#themes#gruvbox#palette.visual_modified = { 'airline_c': [ s:V3[0], '', s:V3[2], '', '' ] } - let g:airline#themes#gruvbox#palette.visual.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning - let g:airline#themes#gruvbox#palette.visual_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning - let g:airline#themes#gruvbox#palette.visual.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error - let g:airline#themes#gruvbox#palette.visual_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error - - let s:IA = airline#themes#get_highlight2(['TabLine', 'fg'], ['CursorLine', 'bg']) - let g:airline#themes#gruvbox#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - let g:airline#themes#gruvbox#palette.inactive_modified = { 'airline_c': modified_group } - - let g:airline#themes#gruvbox#palette.accents = { 'red': accents_group } - - let s:TF = airline#themes#get_highlight2(['Normal', 'bg'], ['Normal', 'bg']) - let g:airline#themes#gruvbox#palette.tabline = { - \ 'airline_tab': s:N2, - \ 'airline_tabsel': s:N1, - \ 'airline_tabtype': s:V1, - \ 'airline_tabfill': s:TF, - \ 'airline_tabhid': s:IA, - \ 'airline_tabmod': s:I1 - \ } - -endfunction - -call airline#themes#gruvbox#refresh() - -" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/config-files/.config/vim/pack/themes/start/gruvbox/autoload/gruvbox.vim b/config-files/.config/vim/pack/themes/start/gruvbox/autoload/gruvbox.vim deleted file mode 100644 index 44bec6e1..00000000 --- a/config-files/.config/vim/pack/themes/start/gruvbox/autoload/gruvbox.vim +++ /dev/null @@ -1,41 +0,0 @@ -" ----------------------------------------------------------------------------- -" File: gruvbox.vim -" Description: Retro groove color scheme for Vim -" Author: morhetz -" Source: https://github.com/morhetz/gruvbox -" Last Modified: 09 Apr 2014 -" ----------------------------------------------------------------------------- - -function! gruvbox#invert_signs_toggle() - if g:gruvbox_invert_signs == 0 - let g:gruvbox_invert_signs=1 - else - let g:gruvbox_invert_signs=0 - endif - - colorscheme gruvbox -endfunction - -" Search Highlighting {{{ - -function! gruvbox#hls_show() - set hlsearch - call GruvboxHlsShowCursor() -endfunction - -function! gruvbox#hls_hide() - set nohlsearch - call GruvboxHlsHideCursor() -endfunction - -function! gruvbox#hls_toggle() - if &hlsearch - call gruvbox#hls_hide() - else - call gruvbox#hls_show() - endif -endfunction - -" }}} - -" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/config-files/.config/vim/pack/themes/start/gruvbox/autoload/lightline/colorscheme/gruvbox.vim b/config-files/.config/vim/pack/themes/start/gruvbox/autoload/lightline/colorscheme/gruvbox.vim deleted file mode 100644 index 4730c094..00000000 --- a/config-files/.config/vim/pack/themes/start/gruvbox/autoload/lightline/colorscheme/gruvbox.vim +++ /dev/null @@ -1,57 +0,0 @@ -" ----------------------------------------------------------------------------- -" File: gruvbox.vim -" Description: Gruvbox colorscheme for Lightline (itchyny/lightline.vim) -" Author: gmoe -" Source: https://github.com/morhetz/gruvbox -" Last Modified: 20 Sep 2017 -" ----------------------------------------------------------------------------- - -function! s:getGruvColor(group) - let guiColor = synIDattr(hlID(a:group), "fg", "gui") - let termColor = synIDattr(hlID(a:group), "fg", "cterm") - return [ guiColor, termColor ] -endfunction - -if exists('g:lightline') - - let s:bg0 = s:getGruvColor('GruvboxBg0') - let s:bg1 = s:getGruvColor('GruvboxBg1') - let s:bg2 = s:getGruvColor('GruvboxBg2') - let s:bg4 = s:getGruvColor('GruvboxBg4') - let s:fg1 = s:getGruvColor('GruvboxFg1') - let s:fg4 = s:getGruvColor('GruvboxFg4') - - let s:yellow = s:getGruvColor('GruvboxYellow') - let s:blue = s:getGruvColor('GruvboxBlue') - let s:aqua = s:getGruvColor('GruvboxAqua') - let s:orange = s:getGruvColor('GruvboxOrange') - let s:green = s:getGruvColor('GruvboxGreen') - - let s:p = {'normal':{}, 'inactive':{}, 'insert':{}, 'replace':{}, 'visual':{}, 'tabline':{}, 'terminal':{}} - let s:p.normal.left = [ [ s:bg0, s:fg4, 'bold' ], [ s:fg4, s:bg2 ] ] - let s:p.normal.right = [ [ s:bg0, s:fg4 ], [ s:fg4, s:bg2 ] ] - let s:p.normal.middle = [ [ s:fg4, s:bg1 ] ] - let s:p.inactive.right = [ [ s:bg4, s:bg1 ], [ s:bg4, s:bg1 ] ] - let s:p.inactive.left = [ [ s:bg4, s:bg1 ], [ s:bg4, s:bg1 ] ] - let s:p.inactive.middle = [ [ s:bg4, s:bg1 ] ] - let s:p.insert.left = [ [ s:bg0, s:blue, 'bold' ], [ s:fg1, s:bg2 ] ] - let s:p.insert.right = [ [ s:bg0, s:blue ], [ s:fg1, s:bg2 ] ] - let s:p.insert.middle = [ [ s:fg4, s:bg2 ] ] - let s:p.terminal.left = [ [ s:bg0, s:green, 'bold' ], [ s:fg1, s:bg2 ] ] - let s:p.terminal.right = [ [ s:bg0, s:green ], [ s:fg1, s:bg2 ] ] - let s:p.terminal.middle = [ [ s:fg4, s:bg2 ] ] - let s:p.replace.left = [ [ s:bg0, s:aqua, 'bold' ], [ s:fg1, s:bg2 ] ] - let s:p.replace.right = [ [ s:bg0, s:aqua ], [ s:fg1, s:bg2 ] ] - let s:p.replace.middle = [ [ s:fg4, s:bg2 ] ] - let s:p.visual.left = [ [ s:bg0, s:orange, 'bold' ], [ s:bg0, s:bg4 ] ] - let s:p.visual.right = [ [ s:bg0, s:orange ], [ s:bg0, s:bg4 ] ] - let s:p.visual.middle = [ [ s:fg4, s:bg1 ] ] - let s:p.tabline.left = [ [ s:fg4, s:bg2 ] ] - let s:p.tabline.tabsel = [ [ s:bg0, s:fg4 ] ] - let s:p.tabline.middle = [ [ s:bg0, s:bg0 ] ] - let s:p.tabline.right = [ [ s:bg0, s:orange ] ] - let s:p.normal.error = [ [ s:bg0, s:orange ] ] - let s:p.normal.warning = [ [ s:bg2, s:yellow ] ] - - let g:lightline#colorscheme#gruvbox#palette = lightline#colorscheme#flatten(s:p) -endif diff --git a/config-files/.config/vim/pack/themes/start/gruvbox/colors/gruvbox.vim b/config-files/.config/vim/pack/themes/start/gruvbox/colors/gruvbox.vim deleted file mode 100644 index 66246fba..00000000 --- a/config-files/.config/vim/pack/themes/start/gruvbox/colors/gruvbox.vim +++ /dev/null @@ -1,1418 +0,0 @@ -" ----------------------------------------------------------------------------- -" File: gruvbox.vim -" Description: Retro groove color scheme for Vim -" Author: morhetz -" Source: https://github.com/morhetz/gruvbox -" Last Modified: 12 Aug 2017 -" ----------------------------------------------------------------------------- - -" Supporting code ------------------------------------------------------------- -" Initialisation: {{{ - -if version > 580 - hi clear - if exists("syntax_on") - syntax reset - endif -endif - -let g:colors_name='gruvbox' - -if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256 - finish -endif - -" }}} -" Global Settings: {{{ - -if !exists('g:gruvbox_bold') - let g:gruvbox_bold=1 -endif -if !exists('g:gruvbox_italic') - if has('gui_running') || $TERM_ITALICS == 'true' - let g:gruvbox_italic=1 - else - let g:gruvbox_italic=0 - endif -endif -if !exists('g:gruvbox_undercurl') - let g:gruvbox_undercurl=1 -endif -if !exists('g:gruvbox_underline') - let g:gruvbox_underline=1 -endif -if !exists('g:gruvbox_inverse') - let g:gruvbox_inverse=1 -endif - -if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 - let g:gruvbox_guisp_fallback='NONE' -endif - -if !exists('g:gruvbox_improved_strings') - let g:gruvbox_improved_strings=0 -endif - -if !exists('g:gruvbox_improved_warnings') - let g:gruvbox_improved_warnings=0 -endif - -if !exists('g:gruvbox_termcolors') - let g:gruvbox_termcolors=256 -endif - -if !exists('g:gruvbox_invert_indent_guides') - let g:gruvbox_invert_indent_guides=0 -endif - -if exists('g:gruvbox_contrast') - echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead' -endif - -if !exists('g:gruvbox_contrast_dark') - let g:gruvbox_contrast_dark='medium' -endif - -if !exists('g:gruvbox_contrast_light') - let g:gruvbox_contrast_light='medium' -endif - -let s:is_dark=(&background == 'dark') - -" }}} -" Palette: {{{ - -" setup palette dictionary -let s:gb = {} - -" fill it with absolute colors -let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33 -let s:gb.dark0 = ['#282828', 235] " 40-40-40 -let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47 -let s:gb.dark1 = ['#3c3836', 237] " 60-56-54 -let s:gb.dark2 = ['#504945', 239] " 80-73-69 -let s:gb.dark3 = ['#665c54', 241] " 102-92-84 -let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100 -let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100 - -let s:gb.gray_245 = ['#928374', 245] " 146-131-116 -let s:gb.gray_244 = ['#928374', 244] " 146-131-116 - -let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215 -let s:gb.light0 = ['#fbf1c7', 229] " 253-244-193 -let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188 -let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178 -let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161 -let s:gb.light3 = ['#bdae93', 248] " 189-174-147 -let s:gb.light4 = ['#a89984', 246] " 168-153-132 -let s:gb.light4_256 = ['#a89984', 246] " 168-153-132 - -let s:gb.bright_red = ['#fb4934', 167] " 251-73-52 -let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38 -let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47 -let s:gb.bright_blue = ['#83a598', 109] " 131-165-152 -let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155 -let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124 -let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25 - -let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29 -let s:gb.neutral_green = ['#98971a', 106] " 152-151-26 -let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33 -let s:gb.neutral_blue = ['#458588', 66] " 69-133-136 -let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134 -let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106 -let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14 - -let s:gb.faded_red = ['#9d0006', 88] " 157-0-6 -let s:gb.faded_green = ['#79740e', 100] " 121-116-14 -let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20 -let s:gb.faded_blue = ['#076678', 24] " 7-102-120 -let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113 -let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88 -let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3 - -" }}} -" Setup Emphasis: {{{ - -let s:bold = 'bold,' -if g:gruvbox_bold == 0 - let s:bold = '' -endif - -let s:italic = 'italic,' -if g:gruvbox_italic == 0 - let s:italic = '' -endif - -let s:underline = 'underline,' -if g:gruvbox_underline == 0 - let s:underline = '' -endif - -let s:undercurl = 'undercurl,' -if g:gruvbox_undercurl == 0 - let s:undercurl = '' -endif - -let s:inverse = 'inverse,' -if g:gruvbox_inverse == 0 - let s:inverse = '' -endif - -" }}} -" Setup Colors: {{{ - -let s:vim_bg = ['bg', 'bg'] -let s:vim_fg = ['fg', 'fg'] -let s:none = ['NONE', 'NONE'] - -" determine relative colors -if s:is_dark - let s:bg0 = s:gb.dark0 - if g:gruvbox_contrast_dark == 'soft' - let s:bg0 = s:gb.dark0_soft - elseif g:gruvbox_contrast_dark == 'hard' - let s:bg0 = s:gb.dark0_hard - endif - - let s:bg1 = s:gb.dark1 - let s:bg2 = s:gb.dark2 - let s:bg3 = s:gb.dark3 - let s:bg4 = s:gb.dark4 - - let s:gray = s:gb.gray_245 - - let s:fg0 = s:gb.light0 - let s:fg1 = s:gb.light1 - let s:fg2 = s:gb.light2 - let s:fg3 = s:gb.light3 - let s:fg4 = s:gb.light4 - - let s:fg4_256 = s:gb.light4_256 - - let s:red = s:gb.bright_red - let s:green = s:gb.bright_green - let s:yellow = s:gb.bright_yellow - let s:blue = s:gb.bright_blue - let s:purple = s:gb.bright_purple - let s:aqua = s:gb.bright_aqua - let s:orange = s:gb.bright_orange -else - let s:bg0 = s:gb.light0 - if g:gruvbox_contrast_light == 'soft' - let s:bg0 = s:gb.light0_soft - elseif g:gruvbox_contrast_light == 'hard' - let s:bg0 = s:gb.light0_hard - endif - - let s:bg1 = s:gb.light1 - let s:bg2 = s:gb.light2 - let s:bg3 = s:gb.light3 - let s:bg4 = s:gb.light4 - - let s:gray = s:gb.gray_244 - - let s:fg0 = s:gb.dark0 - let s:fg1 = s:gb.dark1 - let s:fg2 = s:gb.dark2 - let s:fg3 = s:gb.dark3 - let s:fg4 = s:gb.dark4 - - let s:fg4_256 = s:gb.dark4_256 - - let s:red = s:gb.faded_red - let s:green = s:gb.faded_green - let s:yellow = s:gb.faded_yellow - let s:blue = s:gb.faded_blue - let s:purple = s:gb.faded_purple - let s:aqua = s:gb.faded_aqua - let s:orange = s:gb.faded_orange -endif - -" reset to 16 colors fallback -if g:gruvbox_termcolors == 16 - let s:bg0[1] = 0 - let s:fg4[1] = 7 - let s:gray[1] = 8 - let s:red[1] = 9 - let s:green[1] = 10 - let s:yellow[1] = 11 - let s:blue[1] = 12 - let s:purple[1] = 13 - let s:aqua[1] = 14 - let s:fg1[1] = 15 -endif - -" save current relative colors back to palette dictionary -let s:gb.bg0 = s:bg0 -let s:gb.bg1 = s:bg1 -let s:gb.bg2 = s:bg2 -let s:gb.bg3 = s:bg3 -let s:gb.bg4 = s:bg4 - -let s:gb.gray = s:gray - -let s:gb.fg0 = s:fg0 -let s:gb.fg1 = s:fg1 -let s:gb.fg2 = s:fg2 -let s:gb.fg3 = s:fg3 -let s:gb.fg4 = s:fg4 - -let s:gb.fg4_256 = s:fg4_256 - -let s:gb.red = s:red -let s:gb.green = s:green -let s:gb.yellow = s:yellow -let s:gb.blue = s:blue -let s:gb.purple = s:purple -let s:gb.aqua = s:aqua -let s:gb.orange = s:orange - -" }}} -" Setup Terminal Colors For Neovim: {{{ - -if has('nvim') - let g:terminal_color_0 = s:bg0[0] - let g:terminal_color_8 = s:gray[0] - - let g:terminal_color_1 = s:gb.neutral_red[0] - let g:terminal_color_9 = s:red[0] - - let g:terminal_color_2 = s:gb.neutral_green[0] - let g:terminal_color_10 = s:green[0] - - let g:terminal_color_3 = s:gb.neutral_yellow[0] - let g:terminal_color_11 = s:yellow[0] - - let g:terminal_color_4 = s:gb.neutral_blue[0] - let g:terminal_color_12 = s:blue[0] - - let g:terminal_color_5 = s:gb.neutral_purple[0] - let g:terminal_color_13 = s:purple[0] - - let g:terminal_color_6 = s:gb.neutral_aqua[0] - let g:terminal_color_14 = s:aqua[0] - - let g:terminal_color_7 = s:fg4[0] - let g:terminal_color_15 = s:fg1[0] -endif - -" }}} -" Overload Setting: {{{ - -let s:hls_cursor = s:orange -if exists('g:gruvbox_hls_cursor') - let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor) -endif - -let s:number_column = s:none -if exists('g:gruvbox_number_column') - let s:number_column = get(s:gb, g:gruvbox_number_column) -endif - -let s:sign_column = s:bg1 - -if exists('g:gitgutter_override_sign_column_highlight') && - \ g:gitgutter_override_sign_column_highlight == 1 - let s:sign_column = s:number_column -else - let g:gitgutter_override_sign_column_highlight = 0 - - if exists('g:gruvbox_sign_column') - let s:sign_column = get(s:gb, g:gruvbox_sign_column) - endif -endif - -let s:color_column = s:bg1 -if exists('g:gruvbox_color_column') - let s:color_column = get(s:gb, g:gruvbox_color_column) -endif - -let s:vert_split = s:bg0 -if exists('g:gruvbox_vert_split') - let s:vert_split = get(s:gb, g:gruvbox_vert_split) -endif - -let s:invert_signs = '' -if exists('g:gruvbox_invert_signs') - if g:gruvbox_invert_signs == 1 - let s:invert_signs = s:inverse - endif -endif - -let s:invert_selection = s:inverse -if exists('g:gruvbox_invert_selection') - if g:gruvbox_invert_selection == 0 - let s:invert_selection = '' - endif -endif - -let s:invert_tabline = '' -if exists('g:gruvbox_invert_tabline') - if g:gruvbox_invert_tabline == 1 - let s:invert_tabline = s:inverse - endif -endif - -let s:italicize_comments = s:italic -if exists('g:gruvbox_italicize_comments') - if g:gruvbox_italicize_comments == 0 - let s:italicize_comments = '' - endif -endif - -let s:italicize_strings = '' -if exists('g:gruvbox_italicize_strings') - if g:gruvbox_italicize_strings == 1 - let s:italicize_strings = s:italic - endif -endif - -" }}} -" Highlighting Function: {{{ - -function! s:HL(group, fg, ...) - " Arguments: group, guifg, guibg, gui, guisp - - " foreground - let fg = a:fg - - " background - if a:0 >= 1 - let bg = a:1 - else - let bg = s:none - endif - - " emphasis - if a:0 >= 2 && strlen(a:2) - let emstr = a:2 - else - let emstr = 'NONE,' - endif - - " special fallback - if a:0 >= 3 - if g:gruvbox_guisp_fallback != 'NONE' - let fg = a:3 - endif - - " bg fallback mode should invert higlighting - if g:gruvbox_guisp_fallback == 'bg' - let emstr .= 'inverse,' - endif - endif - - let histring = [ 'hi', a:group, - \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], - \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], - \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] - \ ] - - " special - if a:0 >= 3 - call add(histring, 'guisp=' . a:3[0]) - endif - - execute join(histring, ' ') -endfunction - -" }}} -" Gruvbox Hi Groups: {{{ - -" memoize common hi groups -call s:HL('GruvboxFg0', s:fg0) -call s:HL('GruvboxFg1', s:fg1) -call s:HL('GruvboxFg2', s:fg2) -call s:HL('GruvboxFg3', s:fg3) -call s:HL('GruvboxFg4', s:fg4) -call s:HL('GruvboxGray', s:gray) -call s:HL('GruvboxBg0', s:bg0) -call s:HL('GruvboxBg1', s:bg1) -call s:HL('GruvboxBg2', s:bg2) -call s:HL('GruvboxBg3', s:bg3) -call s:HL('GruvboxBg4', s:bg4) - -call s:HL('GruvboxRed', s:red) -call s:HL('GruvboxRedBold', s:red, s:none, s:bold) -call s:HL('GruvboxGreen', s:green) -call s:HL('GruvboxGreenBold', s:green, s:none, s:bold) -call s:HL('GruvboxYellow', s:yellow) -call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold) -call s:HL('GruvboxBlue', s:blue) -call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold) -call s:HL('GruvboxPurple', s:purple) -call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold) -call s:HL('GruvboxAqua', s:aqua) -call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold) -call s:HL('GruvboxOrange', s:orange) -call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold) - -call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs) -call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs) -call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs) -call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs) -call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs) -call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs) -call s:HL('GruvboxOrangeSign', s:orange, s:sign_column, s:invert_signs) - -" }}} - -" Vanilla colorscheme --------------------------------------------------------- -" General UI: {{{ - -" Normal text -call s:HL('Normal', s:fg1, s:bg0) - -" Correct background (see issue #7): -" --- Problem with changing between dark and light on 256 color terminal -" --- https://github.com/morhetz/gruvbox/issues/7 -if s:is_dark - set background=dark -else - set background=light -endif - -if version >= 700 - " Screen line that the cursor is - call s:HL('CursorLine', s:none, s:bg1) - " Screen column that the cursor is - hi! link CursorColumn CursorLine - - " Tab pages line filler - call s:HL('TabLineFill', s:bg4, s:bg1, s:invert_tabline) - " Active tab page label - call s:HL('TabLineSel', s:green, s:bg1, s:invert_tabline) - " Not active tab page label - hi! link TabLine TabLineFill - - " Match paired bracket under the cursor - call s:HL('MatchParen', s:none, s:bg3, s:bold) -endif - -if version >= 703 - " Highlighted screen columns - call s:HL('ColorColumn', s:none, s:color_column) - - " Concealed element: \lambda → λ - call s:HL('Conceal', s:blue, s:none) - - " Line number of CursorLine - call s:HL('CursorLineNr', s:yellow, s:bg1) -endif - -hi! link NonText GruvboxBg2 -hi! link SpecialKey GruvboxBg2 - -call s:HL('Visual', s:none, s:bg3, s:invert_selection) -hi! link VisualNOS Visual - -call s:HL('Search', s:yellow, s:bg0, s:inverse) -call s:HL('IncSearch', s:hls_cursor, s:bg0, s:inverse) - -call s:HL('Underlined', s:blue, s:none, s:underline) - -call s:HL('StatusLine', s:bg2, s:fg1, s:inverse) -call s:HL('StatusLineNC', s:bg1, s:fg4, s:inverse) - -" The column separating vertically split windows -call s:HL('VertSplit', s:bg3, s:vert_split) - -" Current match in wildmenu completion -call s:HL('WildMenu', s:blue, s:bg2, s:bold) - -" Directory names, special names in listing -hi! link Directory GruvboxGreenBold - -" Titles for output from :set all, :autocmd, etc. -hi! link Title GruvboxGreenBold - -" Error messages on the command line -call s:HL('ErrorMsg', s:bg0, s:red, s:bold) -" More prompt: -- More -- -hi! link MoreMsg GruvboxYellowBold -" Current mode message: -- INSERT -- -hi! link ModeMsg GruvboxYellowBold -" 'Press enter' prompt and yes/no questions -hi! link Question GruvboxOrangeBold -" Warning messages -hi! link WarningMsg GruvboxRedBold - -" }}} -" Gutter: {{{ - -" Line number for :number and :# commands -call s:HL('LineNr', s:bg4, s:number_column) - -" Column where signs are displayed -call s:HL('SignColumn', s:none, s:sign_column) - -" Line used for closed folds -call s:HL('Folded', s:gray, s:bg1, s:italic) -" Column where folds are displayed -call s:HL('FoldColumn', s:gray, s:bg1) - -" }}} -" Cursor: {{{ - -" Character under cursor -call s:HL('Cursor', s:none, s:none, s:inverse) -" Visual mode cursor, selection -hi! link vCursor Cursor -" Input moder cursor -hi! link iCursor Cursor -" Language mapping cursor -hi! link lCursor Cursor - -" }}} -" Syntax Highlighting: {{{ - -if g:gruvbox_improved_strings == 0 - hi! link Special GruvboxOrange -else - call s:HL('Special', s:orange, s:bg1, s:italicize_strings) -endif - -call s:HL('Comment', s:gray, s:none, s:italicize_comments) -call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) -call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) - -" Generic statement -hi! link Statement GruvboxRed -" if, then, else, endif, swicth, etc. -hi! link Conditional GruvboxRed -" for, do, while, etc. -hi! link Repeat GruvboxRed -" case, default, etc. -hi! link Label GruvboxRed -" try, catch, throw -hi! link Exception GruvboxRed -" sizeof, "+", "*", etc. -hi! link Operator Normal -" Any other keyword -hi! link Keyword GruvboxRed - -" Variable name -hi! link Identifier GruvboxBlue -" Function name -hi! link Function GruvboxGreenBold - -" Generic preprocessor -hi! link PreProc GruvboxAqua -" Preprocessor #include -hi! link Include GruvboxAqua -" Preprocessor #define -hi! link Define GruvboxAqua -" Same as Define -hi! link Macro GruvboxAqua -" Preprocessor #if, #else, #endif, etc. -hi! link PreCondit GruvboxAqua - -" Generic constant -hi! link Constant GruvboxPurple -" Character constant: 'c', '/n' -hi! link Character GruvboxPurple -" String constant: "this is a string" -if g:gruvbox_improved_strings == 0 - call s:HL('String', s:green, s:none, s:italicize_strings) -else - call s:HL('String', s:fg1, s:bg1, s:italicize_strings) -endif -" Boolean constant: TRUE, false -hi! link Boolean GruvboxPurple -" Number constant: 234, 0xff -hi! link Number GruvboxPurple -" Floating point constant: 2.3e10 -hi! link Float GruvboxPurple - -" Generic type -hi! link Type GruvboxYellow -" static, register, volatile, etc -hi! link StorageClass GruvboxOrange -" struct, union, enum, etc. -hi! link Structure GruvboxAqua -" typedef -hi! link Typedef GruvboxYellow - -" }}} -" Completion Menu: {{{ - -if version >= 700 - " Popup menu: normal item - call s:HL('Pmenu', s:fg1, s:bg2) - " Popup menu: selected item - call s:HL('PmenuSel', s:bg2, s:blue, s:bold) - " Popup menu: scrollbar - call s:HL('PmenuSbar', s:none, s:bg2) - " Popup menu: scrollbar thumb - call s:HL('PmenuThumb', s:none, s:bg4) -endif - -" }}} -" Diffs: {{{ - -call s:HL('DiffDelete', s:red, s:bg0, s:inverse) -call s:HL('DiffAdd', s:green, s:bg0, s:inverse) -"call s:HL('DiffChange', s:bg0, s:blue) -"call s:HL('DiffText', s:bg0, s:yellow) - -" Alternative setting -call s:HL('DiffChange', s:aqua, s:bg0, s:inverse) -call s:HL('DiffText', s:yellow, s:bg0, s:inverse) - -" }}} -" Spelling: {{{ - -if has("spell") - " Not capitalised word, or compile warnings - if g:gruvbox_improved_warnings == 0 - call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) - else - call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) - endif - " Not recognized word - call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) - " Wrong spelling for selected region - call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) - " Rare word - call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) -endif - -" }}} - -" Plugin specific ------------------------------------------------------------- -" EasyMotion: {{{ - -hi! link EasyMotionTarget Search -hi! link EasyMotionShade Comment - -" }}} -" Sneak: {{{ - -hi! link Sneak Search -hi! link SneakLabel Search - -" }}} -" Indent Guides: {{{ - -if !exists('g:indent_guides_auto_colors') - let g:indent_guides_auto_colors = 0 -endif - -if g:indent_guides_auto_colors == 0 - if g:gruvbox_invert_indent_guides == 0 - call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) - call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) - else - call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) - call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) - endif -endif - -" }}} -" IndentLine: {{{ - -if !exists('g:indentLine_color_term') - let g:indentLine_color_term = s:bg2[1] -endif -if !exists('g:indentLine_color_gui') - let g:indentLine_color_gui = s:bg2[0] -endif - -" }}} -" Rainbow Parentheses: {{{ - -if !exists('g:rbpt_colorpairs') - let g:rbpt_colorpairs = - \ [ - \ ['blue', '#458588'], ['magenta', '#b16286'], - \ ['red', '#cc241d'], ['166', '#d65d0e'] - \ ] -endif - -let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] -let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] - -if !exists('g:rainbow_conf') - let g:rainbow_conf = {} -endif -if !has_key(g:rainbow_conf, 'guifgs') - let g:rainbow_conf['guifgs'] = g:rainbow_guifgs -endif -if !has_key(g:rainbow_conf, 'ctermfgs') - let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs -endif - -let g:niji_dark_colours = g:rbpt_colorpairs -let g:niji_light_colours = g:rbpt_colorpairs - -"}}} -" GitGutter: {{{ - -hi! link GitGutterAdd GruvboxGreenSign -hi! link GitGutterChange GruvboxAquaSign -hi! link GitGutterDelete GruvboxRedSign -hi! link GitGutterChangeDelete GruvboxAquaSign - -" }}} -" GitCommit: "{{{ - -hi! link gitcommitSelectedFile GruvboxGreen -hi! link gitcommitDiscardedFile GruvboxRed - -" }}} -" Signify: {{{ - -hi! link SignifySignAdd GruvboxGreenSign -hi! link SignifySignChange GruvboxAquaSign -hi! link SignifySignDelete GruvboxRedSign - -" }}} -" Syntastic: {{{ - -call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) -call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) - -hi! link SyntasticErrorSign GruvboxRedSign -hi! link SyntasticWarningSign GruvboxYellowSign - -" }}} -" Signature: {{{ -hi! link SignatureMarkText GruvboxBlueSign -hi! link SignatureMarkerText GruvboxPurpleSign - -" }}} -" ShowMarks: {{{ - -hi! link ShowMarksHLl GruvboxBlueSign -hi! link ShowMarksHLu GruvboxBlueSign -hi! link ShowMarksHLo GruvboxBlueSign -hi! link ShowMarksHLm GruvboxBlueSign - -" }}} -" CtrlP: {{{ - -hi! link CtrlPMatch GruvboxYellow -hi! link CtrlPNoEntries GruvboxRed -hi! link CtrlPPrtBase GruvboxBg2 -hi! link CtrlPPrtCursor GruvboxBlue -hi! link CtrlPLinePre GruvboxBg2 - -call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold) -call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold) -call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold) - -" }}} -" Startify: {{{ - -hi! link StartifyBracket GruvboxFg3 -hi! link StartifyFile GruvboxFg1 -hi! link StartifyNumber GruvboxBlue -hi! link StartifyPath GruvboxGray -hi! link StartifySlash GruvboxGray -hi! link StartifySection GruvboxYellow -hi! link StartifySpecial GruvboxBg2 -hi! link StartifyHeader GruvboxOrange -hi! link StartifyFooter GruvboxBg2 - -" }}} -" Vimshell: {{{ - -let g:vimshell_escape_colors = [ - \ s:bg4[0], s:red[0], s:green[0], s:yellow[0], - \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0], - \ s:bg0[0], s:red[0], s:green[0], s:orange[0], - \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0] - \ ] - -" }}} -" BufTabLine: {{{ - -call s:HL('BufTabLineCurrent', s:bg0, s:fg4) -call s:HL('BufTabLineActive', s:fg4, s:bg2) -call s:HL('BufTabLineHidden', s:bg4, s:bg1) -call s:HL('BufTabLineFill', s:bg0, s:bg0) - -" }}} -" Asynchronous Lint Engine: {{{ - -call s:HL('ALEError', s:none, s:none, s:undercurl, s:red) -call s:HL('ALEWarning', s:none, s:none, s:undercurl, s:yellow) -call s:HL('ALEInfo', s:none, s:none, s:undercurl, s:blue) - -hi! link ALEErrorSign GruvboxRedSign -hi! link ALEWarningSign GruvboxYellowSign -hi! link ALEInfoSign GruvboxBlueSign - -" }}} -" Dirvish: {{{ - -hi! link DirvishPathTail GruvboxAqua -hi! link DirvishArg GruvboxYellow - -" }}} -" Netrw: {{{ - -hi! link netrwDir GruvboxAqua -hi! link netrwClassify GruvboxAqua -hi! link netrwLink GruvboxGray -hi! link netrwSymLink GruvboxFg1 -hi! link netrwExe GruvboxYellow -hi! link netrwComment GruvboxGray -hi! link netrwList GruvboxBlue -hi! link netrwHelpCmd GruvboxAqua -hi! link netrwCmdSep GruvboxFg3 -hi! link netrwVersion GruvboxGreen - -" }}} -" NERDTree: {{{ - -hi! link NERDTreeDir GruvboxAqua -hi! link NERDTreeDirSlash GruvboxAqua - -hi! link NERDTreeOpenable GruvboxOrange -hi! link NERDTreeClosable GruvboxOrange - -hi! link NERDTreeFile GruvboxFg1 -hi! link NERDTreeExecFile GruvboxYellow - -hi! link NERDTreeUp GruvboxGray -hi! link NERDTreeCWD GruvboxGreen -hi! link NERDTreeHelp GruvboxFg1 - -hi! link NERDTreeToggleOn GruvboxGreen -hi! link NERDTreeToggleOff GruvboxRed - -" }}} -" Vim Multiple Cursors: {{{ - -call s:HL('multiple_cursors_cursor', s:none, s:none, s:inverse) -call s:HL('multiple_cursors_visual', s:none, s:bg2) - -" }}} -" coc.nvim: {{{ - -hi! link CocErrorSign GruvboxRedSign -hi! link CocWarningSign GruvboxOrangeSign -hi! link CocInfoSign GruvboxYellowSign -hi! link CocHintSign GruvboxBlueSign -hi! link CocErrorFloat GruvboxRed -hi! link CocWarningFloat GruvboxOrange -hi! link CocInfoFloat GruvboxYellow -hi! link CocHintFloat GruvboxBlue -hi! link CocDiagnosticsError GruvboxRed -hi! link CocDiagnosticsWarning GruvboxOrange -hi! link CocDiagnosticsInfo GruvboxYellow -hi! link CocDiagnosticsHint GruvboxBlue - -hi! link CocSelectedText GruvboxRed -hi! link CocCodeLens GruvboxGray - -call s:HL('CocErrorHighlight', s:none, s:none, s:undercurl, s:red) -call s:HL('CocWarningHighlight', s:none, s:none, s:undercurl, s:orange) -call s:HL('CocInfoHighlight', s:none, s:none, s:undercurl, s:yellow) -call s:HL('CocHintHighlight', s:none, s:none, s:undercurl, s:blue) - -" }}} - -" Filetype specific ----------------------------------------------------------- -" Diff: {{{ - -hi! link diffAdded GruvboxGreen -hi! link diffRemoved GruvboxRed -hi! link diffChanged GruvboxAqua - -hi! link diffFile GruvboxOrange -hi! link diffNewFile GruvboxYellow - -hi! link diffLine GruvboxBlue - -" }}} -" Html: {{{ - -hi! link htmlTag GruvboxBlue -hi! link htmlEndTag GruvboxBlue - -hi! link htmlTagName GruvboxAquaBold -hi! link htmlArg GruvboxAqua - -hi! link htmlScriptTag GruvboxPurple -hi! link htmlTagN GruvboxFg1 -hi! link htmlSpecialTagName GruvboxAquaBold - -call s:HL('htmlLink', s:fg4, s:none, s:underline) - -hi! link htmlSpecialChar GruvboxOrange - -call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) -call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) -call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) -call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) - -call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) -call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) -call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) - -" }}} -" Xml: {{{ - -hi! link xmlTag GruvboxBlue -hi! link xmlEndTag GruvboxBlue -hi! link xmlTagName GruvboxBlue -hi! link xmlEqual GruvboxBlue -hi! link docbkKeyword GruvboxAquaBold - -hi! link xmlDocTypeDecl GruvboxGray -hi! link xmlDocTypeKeyword GruvboxPurple -hi! link xmlCdataStart GruvboxGray -hi! link xmlCdataCdata GruvboxPurple -hi! link dtdFunction GruvboxGray -hi! link dtdTagName GruvboxPurple - -hi! link xmlAttrib GruvboxAqua -hi! link xmlProcessingDelim GruvboxGray -hi! link dtdParamEntityPunct GruvboxGray -hi! link dtdParamEntityDPunct GruvboxGray -hi! link xmlAttribPunct GruvboxGray - -hi! link xmlEntity GruvboxOrange -hi! link xmlEntityPunct GruvboxOrange -" }}} -" Vim: {{{ - -call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) - -hi! link vimNotation GruvboxOrange -hi! link vimBracket GruvboxOrange -hi! link vimMapModKey GruvboxOrange -hi! link vimFuncSID GruvboxFg3 -hi! link vimSetSep GruvboxFg3 -hi! link vimSep GruvboxFg3 -hi! link vimContinue GruvboxFg3 - -" }}} -" Clojure: {{{ - -hi! link clojureKeyword GruvboxBlue -hi! link clojureCond GruvboxOrange -hi! link clojureSpecial GruvboxOrange -hi! link clojureDefine GruvboxOrange - -hi! link clojureFunc GruvboxYellow -hi! link clojureRepeat GruvboxYellow -hi! link clojureCharacter GruvboxAqua -hi! link clojureStringEscape GruvboxAqua -hi! link clojureException GruvboxRed - -hi! link clojureRegexp GruvboxAqua -hi! link clojureRegexpEscape GruvboxAqua -call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) -hi! link clojureRegexpMod clojureRegexpCharClass -hi! link clojureRegexpQuantifier clojureRegexpCharClass - -hi! link clojureParen GruvboxFg3 -hi! link clojureAnonArg GruvboxYellow -hi! link clojureVariable GruvboxBlue -hi! link clojureMacro GruvboxOrange - -hi! link clojureMeta GruvboxYellow -hi! link clojureDeref GruvboxYellow -hi! link clojureQuote GruvboxYellow -hi! link clojureUnquote GruvboxYellow - -" }}} -" C: {{{ - -hi! link cOperator GruvboxPurple -hi! link cStructure GruvboxOrange - -" }}} -" Python: {{{ - -hi! link pythonBuiltin GruvboxOrange -hi! link pythonBuiltinObj GruvboxOrange -hi! link pythonBuiltinFunc GruvboxOrange -hi! link pythonFunction GruvboxAqua -hi! link pythonDecorator GruvboxRed -hi! link pythonInclude GruvboxBlue -hi! link pythonImport GruvboxBlue -hi! link pythonRun GruvboxBlue -hi! link pythonCoding GruvboxBlue -hi! link pythonOperator GruvboxRed -hi! link pythonException GruvboxRed -hi! link pythonExceptions GruvboxPurple -hi! link pythonBoolean GruvboxPurple -hi! link pythonDot GruvboxFg3 -hi! link pythonConditional GruvboxRed -hi! link pythonRepeat GruvboxRed -hi! link pythonDottedName GruvboxGreenBold - -" }}} -" CSS: {{{ - -hi! link cssBraces GruvboxBlue -hi! link cssFunctionName GruvboxYellow -hi! link cssIdentifier GruvboxOrange -hi! link cssClassName GruvboxGreen -hi! link cssColor GruvboxBlue -hi! link cssSelectorOp GruvboxBlue -hi! link cssSelectorOp2 GruvboxBlue -hi! link cssImportant GruvboxGreen -hi! link cssVendor GruvboxFg1 - -hi! link cssTextProp GruvboxAqua -hi! link cssAnimationProp GruvboxAqua -hi! link cssUIProp GruvboxYellow -hi! link cssTransformProp GruvboxAqua -hi! link cssTransitionProp GruvboxAqua -hi! link cssPrintProp GruvboxAqua -hi! link cssPositioningProp GruvboxYellow -hi! link cssBoxProp GruvboxAqua -hi! link cssFontDescriptorProp GruvboxAqua -hi! link cssFlexibleBoxProp GruvboxAqua -hi! link cssBorderOutlineProp GruvboxAqua -hi! link cssBackgroundProp GruvboxAqua -hi! link cssMarginProp GruvboxAqua -hi! link cssListProp GruvboxAqua -hi! link cssTableProp GruvboxAqua -hi! link cssFontProp GruvboxAqua -hi! link cssPaddingProp GruvboxAqua -hi! link cssDimensionProp GruvboxAqua -hi! link cssRenderProp GruvboxAqua -hi! link cssColorProp GruvboxAqua -hi! link cssGeneratedContentProp GruvboxAqua - -" }}} -" JavaScript: {{{ - -hi! link javaScriptBraces GruvboxFg1 -hi! link javaScriptFunction GruvboxAqua -hi! link javaScriptIdentifier GruvboxRed -hi! link javaScriptMember GruvboxBlue -hi! link javaScriptNumber GruvboxPurple -hi! link javaScriptNull GruvboxPurple -hi! link javaScriptParens GruvboxFg3 - -" }}} -" YAJS: {{{ - -hi! link javascriptImport GruvboxAqua -hi! link javascriptExport GruvboxAqua -hi! link javascriptClassKeyword GruvboxAqua -hi! link javascriptClassExtends GruvboxAqua -hi! link javascriptDefault GruvboxAqua - -hi! link javascriptClassName GruvboxYellow -hi! link javascriptClassSuperName GruvboxYellow -hi! link javascriptGlobal GruvboxYellow - -hi! link javascriptEndColons GruvboxFg1 -hi! link javascriptFuncArg GruvboxFg1 -hi! link javascriptGlobalMethod GruvboxFg1 -hi! link javascriptNodeGlobal GruvboxFg1 -hi! link javascriptBOMWindowProp GruvboxFg1 -hi! link javascriptArrayMethod GruvboxFg1 -hi! link javascriptArrayStaticMethod GruvboxFg1 -hi! link javascriptCacheMethod GruvboxFg1 -hi! link javascriptDateMethod GruvboxFg1 -hi! link javascriptMathStaticMethod GruvboxFg1 - -" hi! link javascriptProp GruvboxFg1 -hi! link javascriptURLUtilsProp GruvboxFg1 -hi! link javascriptBOMNavigatorProp GruvboxFg1 -hi! link javascriptDOMDocMethod GruvboxFg1 -hi! link javascriptDOMDocProp GruvboxFg1 -hi! link javascriptBOMLocationMethod GruvboxFg1 -hi! link javascriptBOMWindowMethod GruvboxFg1 -hi! link javascriptStringMethod GruvboxFg1 - -hi! link javascriptVariable GruvboxOrange -" hi! link javascriptVariable GruvboxRed -" hi! link javascriptIdentifier GruvboxOrange -" hi! link javascriptClassSuper GruvboxOrange -hi! link javascriptIdentifier GruvboxOrange -hi! link javascriptClassSuper GruvboxOrange - -" hi! link javascriptFuncKeyword GruvboxOrange -" hi! link javascriptAsyncFunc GruvboxOrange -hi! link javascriptFuncKeyword GruvboxAqua -hi! link javascriptAsyncFunc GruvboxAqua -hi! link javascriptClassStatic GruvboxOrange - -hi! link javascriptOperator GruvboxRed -hi! link javascriptForOperator GruvboxRed -hi! link javascriptYield GruvboxRed -hi! link javascriptExceptions GruvboxRed -hi! link javascriptMessage GruvboxRed - -hi! link javascriptTemplateSB GruvboxAqua -hi! link javascriptTemplateSubstitution GruvboxFg1 - -" hi! link javascriptLabel GruvboxBlue -" hi! link javascriptObjectLabel GruvboxBlue -" hi! link javascriptPropertyName GruvboxBlue -hi! link javascriptLabel GruvboxFg1 -hi! link javascriptObjectLabel GruvboxFg1 -hi! link javascriptPropertyName GruvboxFg1 - -hi! link javascriptLogicSymbols GruvboxFg1 -hi! link javascriptArrowFunc GruvboxYellow - -hi! link javascriptDocParamName GruvboxFg4 -hi! link javascriptDocTags GruvboxFg4 -hi! link javascriptDocNotation GruvboxFg4 -hi! link javascriptDocParamType GruvboxFg4 -hi! link javascriptDocNamedParamType GruvboxFg4 - -hi! link javascriptBrackets GruvboxFg1 -hi! link javascriptDOMElemAttrs GruvboxFg1 -hi! link javascriptDOMEventMethod GruvboxFg1 -hi! link javascriptDOMNodeMethod GruvboxFg1 -hi! link javascriptDOMStorageMethod GruvboxFg1 -hi! link javascriptHeadersMethod GruvboxFg1 - -hi! link javascriptAsyncFuncKeyword GruvboxRed -hi! link javascriptAwaitFuncKeyword GruvboxRed - -" }}} -" PanglossJS: {{{ - -hi! link jsClassKeyword GruvboxAqua -hi! link jsExtendsKeyword GruvboxAqua -hi! link jsExportDefault GruvboxAqua -hi! link jsTemplateBraces GruvboxAqua -hi! link jsGlobalNodeObjects GruvboxFg1 -hi! link jsGlobalObjects GruvboxFg1 -hi! link jsFunction GruvboxAqua -hi! link jsFuncParens GruvboxFg3 -hi! link jsParens GruvboxFg3 -hi! link jsNull GruvboxPurple -hi! link jsUndefined GruvboxPurple -hi! link jsClassDefinition GruvboxYellow - -" }}} -" TypeScript: {{{ - -hi! link typeScriptReserved GruvboxAqua -hi! link typeScriptLabel GruvboxAqua -hi! link typeScriptFuncKeyword GruvboxAqua -hi! link typeScriptIdentifier GruvboxOrange -hi! link typeScriptBraces GruvboxFg1 -hi! link typeScriptEndColons GruvboxFg1 -hi! link typeScriptDOMObjects GruvboxFg1 -hi! link typeScriptAjaxMethods GruvboxFg1 -hi! link typeScriptLogicSymbols GruvboxFg1 -hi! link typeScriptDocSeeTag Comment -hi! link typeScriptDocParam Comment -hi! link typeScriptDocTags vimCommentTitle -hi! link typeScriptGlobalObjects GruvboxFg1 -hi! link typeScriptParens GruvboxFg3 -hi! link typeScriptOpSymbols GruvboxFg3 -hi! link typeScriptHtmlElemProperties GruvboxFg1 -hi! link typeScriptNull GruvboxPurple -hi! link typeScriptInterpolationDelimiter GruvboxAqua - -" }}} -" PureScript: {{{ - -hi! link purescriptModuleKeyword GruvboxAqua -hi! link purescriptModuleName GruvboxFg1 -hi! link purescriptWhere GruvboxAqua -hi! link purescriptDelimiter GruvboxFg4 -hi! link purescriptType GruvboxFg1 -hi! link purescriptImportKeyword GruvboxAqua -hi! link purescriptHidingKeyword GruvboxAqua -hi! link purescriptAsKeyword GruvboxAqua -hi! link purescriptStructure GruvboxAqua -hi! link purescriptOperator GruvboxBlue - -hi! link purescriptTypeVar GruvboxFg1 -hi! link purescriptConstructor GruvboxFg1 -hi! link purescriptFunction GruvboxFg1 -hi! link purescriptConditional GruvboxOrange -hi! link purescriptBacktick GruvboxOrange - -" }}} -" CoffeeScript: {{{ - -hi! link coffeeExtendedOp GruvboxFg3 -hi! link coffeeSpecialOp GruvboxFg3 -hi! link coffeeCurly GruvboxOrange -hi! link coffeeParen GruvboxFg3 -hi! link coffeeBracket GruvboxOrange - -" }}} -" Ruby: {{{ - -hi! link rubyStringDelimiter GruvboxGreen -hi! link rubyInterpolationDelimiter GruvboxAqua - -" }}} -" ObjectiveC: {{{ - -hi! link objcTypeModifier GruvboxRed -hi! link objcDirective GruvboxBlue - -" }}} -" Go: {{{ - -hi! link goDirective GruvboxAqua -hi! link goConstants GruvboxPurple -hi! link goDeclaration GruvboxRed -hi! link goDeclType GruvboxBlue -hi! link goBuiltins GruvboxOrange - -" }}} -" Lua: {{{ - -hi! link luaIn GruvboxRed -hi! link luaFunction GruvboxAqua -hi! link luaTable GruvboxOrange - -" }}} -" MoonScript: {{{ - -hi! link moonSpecialOp GruvboxFg3 -hi! link moonExtendedOp GruvboxFg3 -hi! link moonFunction GruvboxFg3 -hi! link moonObject GruvboxYellow - -" }}} -" Java: {{{ - -hi! link javaAnnotation GruvboxBlue -hi! link javaDocTags GruvboxAqua -hi! link javaCommentTitle vimCommentTitle -hi! link javaParen GruvboxFg3 -hi! link javaParen1 GruvboxFg3 -hi! link javaParen2 GruvboxFg3 -hi! link javaParen3 GruvboxFg3 -hi! link javaParen4 GruvboxFg3 -hi! link javaParen5 GruvboxFg3 -hi! link javaOperator GruvboxOrange - -hi! link javaVarArg GruvboxGreen - -" }}} -" Elixir: {{{ - -hi! link elixirDocString Comment - -hi! link elixirStringDelimiter GruvboxGreen -hi! link elixirInterpolationDelimiter GruvboxAqua - -hi! link elixirModuleDeclaration GruvboxYellow - -" }}} -" Scala: {{{ - -" NB: scala vim syntax file is kinda horrible -hi! link scalaNameDefinition GruvboxFg1 -hi! link scalaCaseFollowing GruvboxFg1 -hi! link scalaCapitalWord GruvboxFg1 -hi! link scalaTypeExtension GruvboxFg1 - -hi! link scalaKeyword GruvboxRed -hi! link scalaKeywordModifier GruvboxRed - -hi! link scalaSpecial GruvboxAqua -hi! link scalaOperator GruvboxFg1 - -hi! link scalaTypeDeclaration GruvboxYellow -hi! link scalaTypeTypePostDeclaration GruvboxYellow - -hi! link scalaInstanceDeclaration GruvboxFg1 -hi! link scalaInterpolation GruvboxAqua - -" }}} -" Markdown: {{{ - -call s:HL('markdownItalic', s:fg3, s:none, s:italic) - -hi! link markdownH1 GruvboxGreenBold -hi! link markdownH2 GruvboxGreenBold -hi! link markdownH3 GruvboxYellowBold -hi! link markdownH4 GruvboxYellowBold -hi! link markdownH5 GruvboxYellow -hi! link markdownH6 GruvboxYellow - -hi! link markdownCode GruvboxAqua -hi! link markdownCodeBlock GruvboxAqua -hi! link markdownCodeDelimiter GruvboxAqua - -hi! link markdownBlockquote GruvboxGray -hi! link markdownListMarker GruvboxGray -hi! link markdownOrderedListMarker GruvboxGray -hi! link markdownRule GruvboxGray -hi! link markdownHeadingRule GruvboxGray - -hi! link markdownUrlDelimiter GruvboxFg3 -hi! link markdownLinkDelimiter GruvboxFg3 -hi! link markdownLinkTextDelimiter GruvboxFg3 - -hi! link markdownHeadingDelimiter GruvboxOrange -hi! link markdownUrl GruvboxPurple -hi! link markdownUrlTitleDelimiter GruvboxGreen - -call s:HL('markdownLinkText', s:gray, s:none, s:underline) -hi! link markdownIdDeclaration markdownLinkText - -" }}} -" Haskell: {{{ - -" hi! link haskellType GruvboxYellow -" hi! link haskellOperators GruvboxOrange -" hi! link haskellConditional GruvboxAqua -" hi! link haskellLet GruvboxOrange -" -hi! link haskellType GruvboxFg1 -hi! link haskellIdentifier GruvboxFg1 -hi! link haskellSeparator GruvboxFg1 -hi! link haskellDelimiter GruvboxFg4 -hi! link haskellOperators GruvboxBlue -" -hi! link haskellBacktick GruvboxOrange -hi! link haskellStatement GruvboxOrange -hi! link haskellConditional GruvboxOrange - -hi! link haskellLet GruvboxAqua -hi! link haskellDefault GruvboxAqua -hi! link haskellWhere GruvboxAqua -hi! link haskellBottom GruvboxAqua -hi! link haskellBlockKeywords GruvboxAqua -hi! link haskellImportKeywords GruvboxAqua -hi! link haskellDeclKeyword GruvboxAqua -hi! link haskellDeriving GruvboxAqua -hi! link haskellAssocType GruvboxAqua - -hi! link haskellNumber GruvboxPurple -hi! link haskellPragma GruvboxPurple - -hi! link haskellString GruvboxGreen -hi! link haskellChar GruvboxGreen - -" }}} -" Json: {{{ - -hi! link jsonKeyword GruvboxGreen -hi! link jsonQuote GruvboxGreen -hi! link jsonBraces GruvboxFg1 -hi! link jsonString GruvboxFg1 - -" }}} - - -" Functions ------------------------------------------------------------------- -" Search Highlighting Cursor {{{ - -function! GruvboxHlsShowCursor() - call s:HL('Cursor', s:bg0, s:hls_cursor) -endfunction - -function! GruvboxHlsHideCursor() - call s:HL('Cursor', s:none, s:none, s:inverse) -endfunction - -" }}} - -" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/config-files/.config/vim/pack/themes/start/gruvbox/gruvbox_256palette.sh b/config-files/.config/vim/pack/themes/start/gruvbox/gruvbox_256palette.sh deleted file mode 100755 index c7fd190e..00000000 --- a/config-files/.config/vim/pack/themes/start/gruvbox/gruvbox_256palette.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh - -if [ "${TERM%%-*}" = "screen" ]; then - if [ -n "$TMUX" ]; then - printf "\033Ptmux;\033\033]4;236;rgb:32/30/2f\007\033\\" - printf "\033Ptmux;\033\033]4;234;rgb:1d/20/21\007\033\\" - - printf "\033Ptmux;\033\033]4;235;rgb:28/28/28\007\033\\" - printf "\033Ptmux;\033\033]4;237;rgb:3c/38/36\007\033\\" - printf "\033Ptmux;\033\033]4;239;rgb:50/49/45\007\033\\" - printf "\033Ptmux;\033\033]4;241;rgb:66/5c/54\007\033\\" - printf "\033Ptmux;\033\033]4;243;rgb:7c/6f/64\007\033\\" - - printf "\033Ptmux;\033\033]4;244;rgb:92/83/74\007\033\\" - printf "\033Ptmux;\033\033]4;245;rgb:92/83/74\007\033\\" - - printf "\033Ptmux;\033\033]4;228;rgb:f2/e5/bc\007\033\\" - printf "\033Ptmux;\033\033]4;230;rgb:f9/f5/d7\007\033\\" - - printf "\033Ptmux;\033\033]4;229;rgb:fb/f1/c7\007\033\\" - printf "\033Ptmux;\033\033]4;223;rgb:eb/db/b2\007\033\\" - printf "\033Ptmux;\033\033]4;250;rgb:d5/c4/a1\007\033\\" - printf "\033Ptmux;\033\033]4;248;rgb:bd/ae/93\007\033\\" - printf "\033Ptmux;\033\033]4;246;rgb:a8/99/84\007\033\\" - - printf "\033Ptmux;\033\033]4;167;rgb:fb/49/34\007\033\\" - printf "\033Ptmux;\033\033]4;142;rgb:b8/bb/26\007\033\\" - printf "\033Ptmux;\033\033]4;214;rgb:fa/bd/2f\007\033\\" - printf "\033Ptmux;\033\033]4;109;rgb:83/a5/98\007\033\\" - printf "\033Ptmux;\033\033]4;175;rgb:d3/86/9b\007\033\\" - printf "\033Ptmux;\033\033]4;108;rgb:8e/c0/7c\007\033\\" - printf "\033Ptmux;\033\033]4;208;rgb:fe/80/19\007\033\\" - - printf "\033Ptmux;\033\033]4;88;rgb:9d/00/06\007\033\\" - printf "\033Ptmux;\033\033]4;100;rgb:79/74/0e\007\033\\" - printf "\033Ptmux;\033\033]4;136;rgb:b5/76/14\007\033\\" - printf "\033Ptmux;\033\033]4;24;rgb:07/66/78\007\033\\" - printf "\033Ptmux;\033\033]4;96;rgb:8f/3f/71\007\033\\" - printf "\033Ptmux;\033\033]4;66;rgb:42/7b/58\007\033\\" - printf "\033Ptmux;\033\033]4;130;rgb:af/3a/03\007\033\\" - else - printf "\033P\033]4;236;rgb:32/30/2f\007\033\\" - printf "\033P\033]4;234;rgb:1d/20/21\007\033\\" - - printf "\033P\033]4;235;rgb:28/28/28\007\033\\" - printf "\033P\033]4;237;rgb:3c/38/36\007\033\\" - printf "\033P\033]4;239;rgb:50/49/45\007\033\\" - printf "\033P\033]4;241;rgb:66/5c/54\007\033\\" - printf "\033P\033]4;243;rgb:7c/6f/64\007\033\\" - - printf "\033P\033]4;244;rgb:92/83/74\007\033\\" - printf "\033P\033]4;245;rgb:92/83/74\007\033\\" - - printf "\033P\033]4;228;rgb:f2/e5/bc\007\033\\" - printf "\033P\033]4;230;rgb:f9/f5/d7\007\033\\" - - printf "\033P\033]4;229;rgb:fb/f1/c7\007\033\\" - printf "\033P\033]4;223;rgb:eb/db/b2\007\033\\" - printf "\033P\033]4;250;rgb:d5/c4/a1\007\033\\" - printf "\033P\033]4;248;rgb:bd/ae/93\007\033\\" - printf "\033P\033]4;246;rgb:a8/99/84\007\033\\" - - printf "\033P\033]4;167;rgb:fb/49/34\007\033\\" - printf "\033P\033]4;142;rgb:b8/bb/26\007\033\\" - printf "\033P\033]4;214;rgb:fa/bd/2f\007\033\\" - printf "\033P\033]4;109;rgb:83/a5/98\007\033\\" - printf "\033P\033]4;175;rgb:d3/86/9b\007\033\\" - printf "\033P\033]4;108;rgb:8e/c0/7c\007\033\\" - printf "\033P\033]4;208;rgb:fe/80/19\007\033\\" - - printf "\033P\033]4;88;rgb:9d/00/06\007\033\\" - printf "\033P\033]4;100;rgb:79/74/0e\007\033\\" - printf "\033P\033]4;136;rgb:b5/76/14\007\033\\" - printf "\033P\033]4;24;rgb:07/66/78\007\033\\" - printf "\033P\033]4;96;rgb:8f/3f/71\007\033\\" - printf "\033P\033]4;66;rgb:42/7b/58\007\033\\" - printf "\033P\033]4;130;rgb:af/3a/03\007\033\\" - fi - -elif [ "$TERM" != "linux" ] && [ "$TERM" != "vt100" ] && [ "$TERM" != "vt220" ]; then - - printf "\033]4;236;rgb:32/30/2f\033\\" - printf "\033]4;234;rgb:1d/20/21\033\\" - - printf "\033]4;235;rgb:28/28/28\033\\" - printf "\033]4;237;rgb:3c/38/36\033\\" - printf "\033]4;239;rgb:50/49/45\033\\" - printf "\033]4;241;rgb:66/5c/54\033\\" - printf "\033]4;243;rgb:7c/6f/64\033\\" - - printf "\033]4;244;rgb:92/83/74\033\\" - printf "\033]4;245;rgb:92/83/74\033\\" - - printf "\033]4;228;rgb:f2/e5/bc\033\\" - printf "\033]4;230;rgb:f9/f5/d7\033\\" - - printf "\033]4;229;rgb:fb/f1/c7\033\\" - printf "\033]4;223;rgb:eb/db/b2\033\\" - printf "\033]4;250;rgb:d5/c4/a1\033\\" - printf "\033]4;248;rgb:bd/ae/93\033\\" - printf "\033]4;246;rgb:a8/99/84\033\\" - - printf "\033]4;167;rgb:fb/49/34\033\\" - printf "\033]4;142;rgb:b8/bb/26\033\\" - printf "\033]4;214;rgb:fa/bd/2f\033\\" - printf "\033]4;109;rgb:83/a5/98\033\\" - printf "\033]4;175;rgb:d3/86/9b\033\\" - printf "\033]4;108;rgb:8e/c0/7c\033\\" - printf "\033]4;208;rgb:fe/80/19\033\\" - - printf "\033]4;88;rgb:9d/00/06\033\\" - printf "\033]4;100;rgb:79/74/0e\033\\" - printf "\033]4;136;rgb:b5/76/14\033\\" - printf "\033]4;24;rgb:07/66/78\033\\" - printf "\033]4;96;rgb:8f/3f/71\033\\" - printf "\033]4;66;rgb:42/7b/58\033\\" - printf "\033]4;130;rgb:af/3a/03\033\\" -fi diff --git a/config-files/.config/vim/pack/themes/start/gruvbox/gruvbox_256palette_osx.sh b/config-files/.config/vim/pack/themes/start/gruvbox/gruvbox_256palette_osx.sh deleted file mode 100755 index ad5111a1..00000000 --- a/config-files/.config/vim/pack/themes/start/gruvbox/gruvbox_256palette_osx.sh +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh - -if [ "${TERM%%-*}" = "screen" ]; then - if [ -n "$TMUX" ]; then - printf "\033Ptmux;\033\033]4;236;rgb:26/24/23\007\033\\" - printf "\033Ptmux;\033\033]4;234;rgb:16/18/19\007\033\\" - - printf "\033Ptmux;\033\033]4;235;rgb:1e/1e/1e\007\033\\" - printf "\033Ptmux;\033\033]4;237;rgb:2e/2a/29\007\033\\" - printf "\033Ptmux;\033\033]4;239;rgb:3f/39/35\007\033\\" - printf "\033Ptmux;\033\033]4;241;rgb:53/4a/42\007\033\\" - printf "\033Ptmux;\033\033]4;243;rgb:68/5c/51\007\033\\" - - printf "\033Ptmux;\033\033]4;244;rgb:7f/70/61\007\033\\" - printf "\033Ptmux;\033\033]4;245;rgb:7f/70/61\007\033\\" - - printf "\033Ptmux;\033\033]4;228;rgb:ef/df/ae\007\033\\" - printf "\033Ptmux;\033\033]4;230;rgb:f8/f4/cd\007\033\\" - - printf "\033Ptmux;\033\033]4;229;rgb:fa/ee/bb\007\033\\" - printf "\033Ptmux;\033\033]4;223;rgb:e6/d4/a3\007\033\\" - printf "\033Ptmux;\033\033]4;250;rgb:cb/b8/90\007\033\\" - printf "\033Ptmux;\033\033]4;248;rgb:af/9f/81\007\033\\" - printf "\033Ptmux;\033\033]4;246;rgb:97/87/71\007\033\\" - - printf "\033Ptmux;\033\033]4;167;rgb:f7/30/28\007\033\\" - printf "\033Ptmux;\033\033]4;142;rgb:aa/b0/1e\007\033\\" - printf "\033Ptmux;\033\033]4;214;rgb:f7/b1/25\007\033\\" - printf "\033Ptmux;\033\033]4;109;rgb:71/95/86\007\033\\" - printf "\033Ptmux;\033\033]4;175;rgb:c7/70/89\007\033\\" - printf "\033Ptmux;\033\033]4;108;rgb:7d/b6/69\007\033\\" - printf "\033Ptmux;\033\033]4;208;rgb:fb/6a/16\007\033\\" - - printf "\033Ptmux;\033\033]4;88;rgb:89/00/09\007\033\\" - printf "\033Ptmux;\033\033]4;100;rgb:66/62/0d\007\033\\" - printf "\033Ptmux;\033\033]4;136;rgb:a5/63/11\007\033\\" - printf "\033Ptmux;\033\033]4;24;rgb:0e/53/65\007\033\\" - printf "\033Ptmux;\033\033]4;96;rgb:7b/2b/5e\007\033\\" - printf "\033Ptmux;\033\033]4;66;rgb:35/6a/46\007\033\\" - printf "\033Ptmux;\033\033]4;130;rgb:9d/28/07\007\033\\" - else - printf "\033P\033]4;236;rgb:26/24/23\007\033\\" - printf "\033P\033]4;234;rgb:16/18/19\007\033\\" - - printf "\033P\033]4;235;rgb:1e/1e/1e\007\033\\" - printf "\033P\033]4;237;rgb:2e/2a/29\007\033\\" - printf "\033P\033]4;239;rgb:3f/39/35\007\033\\" - printf "\033P\033]4;241;rgb:53/4a/42\007\033\\" - printf "\033P\033]4;243;rgb:68/5c/51\007\033\\" - - printf "\033P\033]4;244;rgb:7f/70/61\007\033\\" - printf "\033P\033]4;245;rgb:7f/70/61\007\033\\" - - printf "\033P\033]4;228;rgb:ef/df/ae\007\033\\" - printf "\033P\033]4;230;rgb:f8/f4/cd\007\033\\" - - printf "\033P\033]4;229;rgb:fa/ee/bb\007\033\\" - printf "\033P\033]4;223;rgb:e6/d4/a3\007\033\\" - printf "\033P\033]4;250;rgb:cb/b8/90\007\033\\" - printf "\033P\033]4;248;rgb:af/9f/81\007\033\\" - printf "\033P\033]4;246;rgb:97/87/71\007\033\\" - - printf "\033P\033]4;167;rgb:f7/30/28\007\033\\" - printf "\033P\033]4;142;rgb:aa/b0/1e\007\033\\" - printf "\033P\033]4;214;rgb:f7/b1/25\007\033\\" - printf "\033P\033]4;109;rgb:71/95/86\007\033\\" - printf "\033P\033]4;175;rgb:c7/70/89\007\033\\" - printf "\033P\033]4;108;rgb:7d/b6/69\007\033\\" - printf "\033P\033]4;208;rgb:fb/6a/16\007\033\\" - - printf "\033P\033]4;88;rgb:89/00/09\007\033\\" - printf "\033P\033]4;100;rgb:66/62/0d\007\033\\" - printf "\033P\033]4;136;rgb:a5/63/11\007\033\\" - printf "\033P\033]4;24;rgb:0e/53/65\007\033\\" - printf "\033P\033]4;96;rgb:7b/2b/5e\007\033\\" - printf "\033P\033]4;66;rgb:35/6a/46\007\033\\" - printf "\033P\033]4;130;rgb:9d/28/07\007\033\\" - fi -else - printf "\033]4;236;rgb:26/24/23\033\\" - printf "\033]4;234;rgb:16/18/19\033\\" - - printf "\033]4;235;rgb:1e/1e/1e\033\\" - printf "\033]4;237;rgb:2e/2a/29\033\\" - printf "\033]4;239;rgb:3f/39/35\033\\" - printf "\033]4;241;rgb:53/4a/42\033\\" - printf "\033]4;243;rgb:68/5c/51\033\\" - - printf "\033]4;244;rgb:7f/70/61\033\\" - printf "\033]4;245;rgb:7f/70/61\033\\" - - printf "\033]4;228;rgb:ef/df/ae\033\\" - printf "\033]4;230;rgb:f8/f4/cd\033\\" - - printf "\033]4;229;rgb:fa/ee/bb\033\\" - printf "\033]4;223;rgb:e6/d4/a3\033\\" - printf "\033]4;250;rgb:cb/b8/90\033\\" - printf "\033]4;248;rgb:af/9f/81\033\\" - printf "\033]4;246;rgb:97/87/71\033\\" - - printf "\033]4;167;rgb:f7/30/28\033\\" - printf "\033]4;142;rgb:aa/b0/1e\033\\" - printf "\033]4;214;rgb:f7/b1/25\033\\" - printf "\033]4;109;rgb:71/95/86\033\\" - printf "\033]4;175;rgb:c7/70/89\033\\" - printf "\033]4;108;rgb:7d/b6/69\033\\" - printf "\033]4;208;rgb:fb/6a/16\033\\" - - printf "\033]4;88;rgb:89/00/09\033\\" - printf "\033]4;100;rgb:66/62/0d\033\\" - printf "\033]4;136;rgb:a5/63/11\033\\" - printf "\033]4;24;rgb:0e/53/65\033\\" - printf "\033]4;96;rgb:7b/2b/5e\033\\" - printf "\033]4;66;rgb:35/6a/46\033\\" - printf "\033]4;130;rgb:9d/28/07\033\\" -fi diff --git a/config-files/.config/vim/pack/themes/start/vim-code-dark/autoload/airline/themes/codedark.vim b/config-files/.config/vim/pack/themes/start/vim-code-dark/autoload/airline/themes/codedark.vim deleted file mode 100644 index ef8e7b50..00000000 --- a/config-files/.config/vim/pack/themes/start/vim-code-dark/autoload/airline/themes/codedark.vim +++ /dev/null @@ -1,120 +0,0 @@ -" Vim Code Dark (airline theme) -" https://github.com/tomasiser/vim-code-dark - -scriptencoding utf-8 - -let g:airline#themes#codedark#palette = {} - -" Terminal colors (base16): -let s:cterm00 = "00" -let s:cterm03 = "08" -let s:cterm05 = "07" -let s:cterm07 = "15" -let s:cterm08 = "01" -let s:cterm0A = "03" -let s:cterm0B = "02" -let s:cterm0C = "06" -let s:cterm0D = "04" -let s:cterm0E = "05" -if exists('base16colorspace') && base16colorspace == "256" - let s:cterm01 = "18" - let s:cterm02 = "19" - let s:cterm04 = "20" - let s:cterm06 = "21" - let s:cterm09 = "16" - let s:cterm0F = "17" -else - let s:cterm01 = "00" - let s:cterm02 = "08" - let s:cterm04 = "07" - let s:cterm06 = "07" - let s:cterm09 = "06" - let s:cterm0F = "03" -endif - -if &t_Co >= 256 - let g:codedark_term256=1 -elseif !exists("g:codedark_term256") - let g:codedark_term256=0 -endif - -let s:cdFront = {'gui': '#FFFFFF', 'cterm': (g:codedark_term256 ? '231' : s:cterm07)} -let s:cdFrontGray = {'gui': '#D4D4D4', 'cterm': (g:codedark_term256 ? '188' : s:cterm05)} -let s:cdBack = {'gui': '#1E1E1E', 'cterm': (g:codedark_term256 ? '234' : s:cterm00)} -let s:cdSelection = {'gui': '#264F78', 'cterm': (g:codedark_term256 ? '24' : s:cterm01)} - -let s:cdBlue = {'gui': '#0A7ACA', 'cterm': (g:codedark_term256 ? '32' : s:cterm0D)} -let s:cdLightBlue = {'gui': '#5CB6F8', 'cterm': (g:codedark_term256 ? '75' : s:cterm0C)} -let s:cdYellow = {'gui': '#FFAF00', 'cterm': (g:codedark_term256 ? '214' : s:cterm0A)} -let s:cdRed = {'gui': '#F44747', 'cterm': (g:codedark_term256 ? '203' : s:cterm08)} - -let s:cdDarkDarkDark = {'gui': '#262626', 'cterm': (g:codedark_term256 ? '235' : s:cterm01)} -let s:cdDarkDark = {'gui': '#303030', 'cterm': (g:codedark_term256 ? '236' : s:cterm02)} -let s:cdDark = {'gui': '#3C3C3C', 'cterm': (g:codedark_term256 ? '237' : s:cterm03)} - -let s:Warning = [ s:cdRed.gui, s:cdDarkDark.gui, s:cdRed.cterm, s:cdDarkDark.cterm, 'none'] - -" Normal: - -let s:N1 = [ s:cdFront.gui, s:cdBlue.gui, s:cdFront.cterm, s:cdBlue.cterm, 'none' ] -let s:N2 = [ s:cdFront.gui, s:cdDarkDark.gui, s:cdFront.cterm, s:cdDarkDark.cterm, 'none' ] -let s:N3 = [ s:cdFront.gui, s:cdDarkDarkDark.gui, s:cdFront.cterm, s:cdDarkDarkDark.cterm, 'none' ] -let s:NM = [ s:cdFront.gui, s:cdDarkDarkDark.gui, s:cdFront.cterm, s:cdDarkDarkDark.cterm, 'none'] - -let g:airline#themes#codedark#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#codedark#palette.normal_modified = { 'airline_c': s:NM } -let g:airline#themes#codedark#palette.normal.airline_warning = s:Warning -let g:airline#themes#codedark#palette.normal_modified.airline_warning = s:Warning - -" Insert: - -let s:I1 = [ s:cdBack.gui, s:cdYellow.gui, s:cdBack.cterm, s:cdYellow.cterm, 'none' ] -let s:I2 = [ s:cdFront.gui, s:cdDarkDark.gui, s:cdFront.cterm, s:cdDarkDark.cterm, 'none' ] -let s:I3 = [ s:cdFront.gui, s:cdDarkDarkDark.gui, s:cdFront.cterm, s:cdDarkDarkDark.cterm, 'none' ] -let s:IM = [ s:cdFront.gui, s:cdDarkDarkDark.gui, s:cdFront.cterm, s:cdDarkDarkDark.cterm, 'none'] - -let g:airline#themes#codedark#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#codedark#palette.insert_modified = { 'airline_c': s:IM } -let g:airline#themes#codedark#palette.insert.airline_warning = s:Warning -let g:airline#themes#codedark#palette.insert_modified.airline_warning = s:Warning - -" Replace: - -let s:R1 = [ s:cdBack.gui, s:cdYellow.gui, s:cdBack.cterm, s:cdYellow.cterm, 'none' ] -let s:R2 = [ s:cdFront.gui, s:cdDarkDark.gui, s:cdFront.cterm, s:cdDarkDark.cterm, 'none' ] -let s:R3 = [ s:cdFront.gui, s:cdDarkDarkDark.gui, s:cdFront.cterm, s:cdDarkDarkDark.cterm, 'none' ] -let s:RM = [ s:cdFront.gui, s:cdDarkDarkDark.gui, s:cdFront.cterm, s:cdDarkDarkDark.cterm, 'none'] - -let g:airline#themes#codedark#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) -let g:airline#themes#codedark#palette.replace_modified = { 'airline_c': s:RM } -let g:airline#themes#codedark#palette.replace.airline_warning = s:Warning -let g:airline#themes#codedark#palette.replace_modified.airline_warning = s:Warning - -" Visual: - -let s:V1 = [ s:cdLightBlue.gui, s:cdDark.gui, s:cdLightBlue.cterm, s:cdDark.cterm, 'none' ] -let s:V2 = [ s:cdFront.gui, s:cdDarkDark.gui, s:cdFront.cterm, s:cdDarkDark.cterm, 'none' ] -let s:V3 = [ s:cdFront.gui, s:cdDarkDarkDark.gui, s:cdFront.cterm, s:cdDarkDarkDark.cterm, 'none' ] -let s:VM = [ s:cdFront.gui, s:cdDarkDarkDark.gui, s:cdFront.cterm, s:cdDarkDarkDark.cterm, 'none'] - -let g:airline#themes#codedark#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#codedark#palette.visual_modified = { 'airline_c': s:VM } -let g:airline#themes#codedark#palette.visual.airline_warning = s:Warning -let g:airline#themes#codedark#palette.visual_modified.airline_warning = s:Warning - -" Inactive: - -let s:IA1 = [ s:cdFrontGray.gui, s:cdDark.gui, s:cdFrontGray.cterm, s:cdDark.cterm, 'none' ] -let s:IA2 = [ s:cdFrontGray.gui, s:cdDarkDark.gui, s:cdFrontGray.cterm, s:cdDarkDark.cterm, 'none' ] -let s:IA3 = [ s:cdFrontGray.gui, s:cdDarkDarkDark.gui, s:cdFrontGray.cterm, s:cdDarkDarkDark.cterm, 'none' ] -let s:IAM = [ s:cdFrontGray.gui, s:cdDarkDarkDark.gui, s:cdFrontGray.cterm, s:cdDarkDarkDark.cterm, 'none' ] - -let g:airline#themes#codedark#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) -let g:airline#themes#codedark#palette.inactive_modified = { 'airline_c': s:IAM } - -" Red accent for readonly: - -let g:airline#themes#codedark#palette.accents = { - \ 'red': [ s:cdRed.gui, '', s:cdRed.cterm, '' ] - \ } - diff --git a/config-files/.config/vim/pack/themes/start/vim-code-dark/autoload/lightline/colorscheme/codedark.vim b/config-files/.config/vim/pack/themes/start/vim-code-dark/autoload/lightline/colorscheme/codedark.vim deleted file mode 100644 index 881ea70b..00000000 --- a/config-files/.config/vim/pack/themes/start/vim-code-dark/autoload/lightline/colorscheme/codedark.vim +++ /dev/null @@ -1,40 +0,0 @@ -" ============================================================================= -" Filename: autoload/lightline/colorscheme/codedark.vim -" Author: artanikin -" License: MIT License -" Last Change: 2019/12/05 12:26:00 -" ============================================================================= - -let s:term_red = 204 -let s:term_green = 114 -let s:term_yellow = 180 -let s:term_blue = 39 -let s:term_purple = 170 -let s:term_white = 145 -let s:term_black = 235 -let s:term_grey = 236 - -let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} - -let s:p.normal.left = [ [ '#262626', '#608B4E', s:term_black, s:term_green, 'bold' ], [ '#608B4E', '#262626', s:term_green, s:term_black ] ] -let s:p.normal.right = [ [ '#262626', '#608B4E', s:term_black, s:term_green ], [ '#D4D4D4', '#3C3C3C', s:term_white, s:term_grey ], [ '#608B4E', '#262626', s:term_green, s:term_black ] ] -let s:p.inactive.right = [ [ '#262626', '#569CD6', s:term_black, s:term_blue], [ '#D4D4D4', '#3C3C3C', s:term_white, s:term_grey ] ] -let s:p.inactive.left = s:p.inactive.right[1:] -" her -let s:p.insert.left = [ [ '#262626', '#569CD6', s:term_black, s:term_blue, 'bold' ], [ '#569CD6', '#262626', s:term_blue, s:term_black ] ] -let s:p.insert.right = [ [ '#262626', '#569CD6', s:term_black, s:term_blue ], [ '#D4D4D4', '#3C3C3C', s:term_white, s:term_grey ], [ '#569CD6', '#262626', s:term_blue, s:term_black ] ] -let s:p.replace.left = [ [ '#262626', '#D16969', s:term_black, s:term_red, 'bold' ], [ '#D16969', '#262626', s:term_red, s:term_black ] ] -let s:p.replace.right = [ [ '#262626', '#D16969', s:term_black, s:term_red, 'bold' ], s:p.normal.right[1], [ '#D16969', '#262626', s:term_red, s:term_black ] ] -let s:p.visual.left = [ [ '#262626', '#C586C0', s:term_black, s:term_purple, 'bold' ], [ '#C586C0', '#262626', s:term_purple, s:term_black ] ] -let s:p.visual.right = [ [ '#262626', '#C586C0', s:term_black, s:term_purple, 'bold' ], s:p.normal.right[1], [ '#C586C0', '#262626', s:term_purple, s:term_black ] ] -let s:p.normal.middle = [ [ '#D4D4D4', '#262626', s:term_white, s:term_black ] ] -let s:p.insert.middle = s:p.normal.middle -let s:p.replace.middle = s:p.normal.middle -let s:p.tabline.left = [ s:p.normal.left[1] ] -let s:p.tabline.tabsel = [ s:p.normal.left[0] ] -let s:p.tabline.middle = s:p.normal.middle -let s:p.tabline.right = [ s:p.normal.left[1] ] -let s:p.normal.error = [ [ '#262626', '#D16969', s:term_black, s:term_red ] ] -let s:p.normal.warning = [ [ '#262626', '#D7BA7D', s:term_black, s:term_yellow ] ] - -let g:lightline#colorscheme#codedark#palette = lightline#colorscheme#fill(s:p) diff --git a/config-files/.config/vim/pack/themes/start/vim-code-dark/base16/schemes/codedark/codedark.yaml b/config-files/.config/vim/pack/themes/start/vim-code-dark/base16/schemes/codedark/codedark.yaml deleted file mode 100644 index 103598c7..00000000 --- a/config-files/.config/vim/pack/themes/start/vim-code-dark/base16/schemes/codedark/codedark.yaml +++ /dev/null @@ -1,18 +0,0 @@ -scheme: "codedark" -author: "Tomas Iser (https://github.com/tomasiser)" -base00: "1E1E1E" -base01: "262626" -base02: "303030" -base03: "3C3C3C" -base04: "808080" -base05: "D4D4D4" -base06: "E9E9E9" -base07: "FFFFFF" -base08: "D16969" -base09: "B5CEA8" -base0A: "D7BA7D" -base0B: "608B4E" -base0C: "9CDCFE" -base0D: "569CD6" -base0E: "C586C0" -base0F: "CE9178" diff --git a/config-files/.config/vim/pack/themes/start/vim-code-dark/base16/templates/putty/putty/base16-codedark.reg b/config-files/.config/vim/pack/themes/start/vim-code-dark/base16/templates/putty/putty/base16-codedark.reg deleted file mode 100644 index 5b74f3ab..00000000 --- a/config-files/.config/vim/pack/themes/start/vim-code-dark/base16/templates/putty/putty/base16-codedark.reg +++ /dev/null @@ -1,72 +0,0 @@ -Windows Registry Editor Version 5.00 - -; Base16 codedark -; schema by Tomas Iser (https://github.com/tomasiser) -[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\codedark] - -; Default Foreground -"Colour0"="212,212,212" - -; Default Bold Foreground -- equals to non-bold -"Colour1"="212,212,212" - -; Default Background -"Colour2"="30,30,30" - -; Default Bold Background -- equals to non-bold -"Colour3"="30,30,30" - -; Cursor Text -- equals to default background -"Colour4"="30,30,30" - -; Cursor Colour -- equals to default foreground -"Colour5"="212,212,212" - -; ANSI Black -"Colour6"="30,30,30" - -; ANSI Black Bold -"Colour7"="60,60,60" - -; ANSI Red -"Colour8"="209,105,105" - -; ANSI Red Bold -"Colour9"="181,206,168" - -; ANSI Green -"Colour10"="96,139,78" - -; ANSI Green Bold -"Colour11"="38,38,38" - -; ANSI Yellow -"Colour12"="215,186,125" - -; ANSI Yellow Bold -"Colour13"="48,48,48" - -; ANSI Blue -"Colour14"="86,156,214" - -; ANSI Blue Bold -"Colour15"="128,128,128" - -; ANSI Magenta -"Colour16"="197,134,192" - -; ANSI Magenta Bold -"Colour17"="233,233,233" - -; ANSI Cyan -"Colour18"="156,220,254" - -; ANSI Cyan Bold -"Colour19"="206,145,120" - -; ANSI White -"Colour20"="212,212,212" - -; ANSI White Bold -"Colour21"="255,255,255" - diff --git a/config-files/.config/vim/pack/themes/start/vim-code-dark/base16/templates/shell/scripts/base16-codedark.sh b/config-files/.config/vim/pack/themes/start/vim-code-dark/base16/templates/shell/scripts/base16-codedark.sh deleted file mode 100644 index ec2c545e..00000000 --- a/config-files/.config/vim/pack/themes/start/vim-code-dark/base16/templates/shell/scripts/base16-codedark.sh +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/sh -# base16-shell (https://github.com/chriskempson/base16-shell) -# Base16 Shell template by Chris Kempson (http://chriskempson.com) -# codedark scheme by Tomas Iser (https://github.com/tomasiser) - -# This script doesn't support linux console (use 'vconsole' template instead) -if [ "${TERM%%-*}" = 'linux' ]; then - return 2>/dev/null || exit 0 -fi - -color00="1E/1E/1E" # Base 00 - Black -color01="D1/69/69" # Base 08 - Red -color02="60/8B/4E" # Base 0B - Green -color03="D7/BA/7D" # Base 0A - Yellow -color04="56/9C/D6" # Base 0D - Blue -color05="C5/86/C0" # Base 0E - Magenta -color06="9C/DC/FE" # Base 0C - Cyan -color07="D4/D4/D4" # Base 05 - White -color08="3C/3C/3C" # Base 03 - Bright Black -color09=$color01 # Base 08 - Bright Red -color10=$color02 # Base 0B - Bright Green -color11=$color03 # Base 0A - Bright Yellow -color12=$color04 # Base 0D - Bright Blue -color13=$color05 # Base 0E - Bright Magenta -color14=$color06 # Base 0C - Bright Cyan -color15="FF/FF/FF" # Base 07 - Bright White -color16="B5/CE/A8" # Base 09 -color17="CE/91/78" # Base 0F -color18="26/26/26" # Base 01 -color19="30/30/30" # Base 02 -color20="80/80/80" # Base 04 -color21="E9/E9/E9" # Base 06 -color_foreground="D4/D4/D4" # Base 05 -color_background="1E/1E/1E" # Base 00 -color_cursor="D4/D4/D4" # Base 05 - -if [ -n "$TMUX" ]; then - # Tell tmux to pass the escape sequences through - # (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324) - printf_template='\033Ptmux;\033\033]4;%d;rgb:%s\033\033\\\033\\' - printf_template_var='\033Ptmux;\033\033]%d;rgb:%s\033\033\\\033\\' - printf_template_custom='\033Ptmux;\033\033]%s%s\033\033\\\033\\' -elif [ "${TERM%%-*}" = "screen" ]; then - # GNU screen (screen, screen-256color, screen-256color-bce) - printf_template='\033P\033]4;%d;rgb:%s\033\\' - printf_template_var='\033P\033]%d;rgb:%s\033\\' - printf_template_custom='\033P\033]%s%s\033\\' -else - printf_template='\033]4;%d;rgb:%s\033\\' - printf_template_var='\033]%d;rgb:%s\033\\' - printf_template_custom='\033]%s%s\033\\' -fi - -# 16 color space -printf $printf_template 0 $color00 -printf $printf_template 1 $color01 -printf $printf_template 2 $color02 -printf $printf_template 3 $color03 -printf $printf_template 4 $color04 -printf $printf_template 5 $color05 -printf $printf_template 6 $color06 -printf $printf_template 7 $color07 -printf $printf_template 8 $color08 -printf $printf_template 9 $color09 -printf $printf_template 10 $color10 -printf $printf_template 11 $color11 -printf $printf_template 12 $color12 -printf $printf_template 13 $color13 -printf $printf_template 14 $color14 -printf $printf_template 15 $color15 - -# 256 color space -printf $printf_template 16 $color16 -printf $printf_template 17 $color17 -printf $printf_template 18 $color18 -printf $printf_template 19 $color19 -printf $printf_template 20 $color20 -printf $printf_template 21 $color21 - -# foreground / background / cursor color -if [ -n "$ITERM_SESSION_ID" ]; then - # iTerm2 proprietary escape codes - printf $printf_template_custom Pg D4D4D4 # forground - printf $printf_template_custom Ph 1E1E1E # background - printf $printf_template_custom Pi D4D4D4 # bold color - printf $printf_template_custom Pj 303030 # selection color - printf $printf_template_custom Pk D4D4D4 # selected text color - printf $printf_template_custom Pl D4D4D4 # cursor - printf $printf_template_custom Pm 1E1E1E # cursor text -else - printf $printf_template_var 10 $color_foreground - printf $printf_template_var 11 $color_background - printf $printf_template_custom 12 ";7" # cursor (reverse video) -fi - -# clean up -unset printf_template -unset printf_template_var -unset color00 -unset color01 -unset color02 -unset color03 -unset color04 -unset color05 -unset color06 -unset color07 -unset color08 -unset color09 -unset color10 -unset color11 -unset color12 -unset color13 -unset color14 -unset color15 -unset color16 -unset color17 -unset color18 -unset color19 -unset color20 -unset color21 -unset color_foreground -unset color_background -unset color_cursor diff --git a/config-files/.config/vim/pack/themes/start/vim-code-dark/colors/codedark.vim b/config-files/.config/vim/pack/themes/start/vim-code-dark/colors/codedark.vim deleted file mode 100644 index 40c1d6f4..00000000 --- a/config-files/.config/vim/pack/themes/start/vim-code-dark/colors/codedark.vim +++ /dev/null @@ -1,656 +0,0 @@ -" Vim Code Dark (color scheme) -" https://github.com/tomasiser/vim-code-dark - -scriptencoding utf-8 - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="codedark" - -" Highlighting function (inspiration from https://github.com/chriskempson/base16-vim) -if &t_Co >= 256 - let g:codedark_term256=1 -elseif !exists("g:codedark_term256") - let g:codedark_term256=0 -endif -fun! hi(group, fg, bg, attr, sp) - if !empty(a:fg) - exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . (g:codedark_term256 ? a:fg.cterm256 : a:fg.cterm) - endif - if !empty(a:bg) - exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . (g:codedark_term256 ? a:bg.cterm256 : a:bg.cterm) - endif - if a:attr != "" - exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr - endif - if !empty(a:sp) - exec "hi " . a:group . " guisp=" . a:sp.gui - endif -endfun -" Choose old or new name for Treesitter groups depending on Neovim version -fun! hiTS(g_new, g_old, fg, bg, attr, sp) - call hi(has("nvim-0.8.0") ? a:g_new : a:g_old, a:fg, a:bg, a:attr, a:sp) -endfun - -fun! hiTSlink(g_new, g_old, link) - exec "hi! link " . (has("nvim-0.8.0") ? a:g_new : a:g_old) . " " . a:link -endfun - -" ------------------ -" Color definitions: -" ------------------ - -" Terminal colors (base16): -let s:cterm00 = "00" -let s:cterm03 = "08" -let s:cterm05 = "07" -let s:cterm07 = "15" -let s:cterm08 = "01" -let s:cterm0A = "03" -let s:cterm0B = "02" -let s:cterm0C = "06" -let s:cterm0D = "04" -let s:cterm0E = "05" -if exists('base16colorspace') && base16colorspace == "256" - let s:cterm01 = "18" - let s:cterm02 = "19" - let s:cterm04 = "20" - let s:cterm06 = "21" - let s:cterm09 = "16" - let s:cterm0F = "17" -else - let s:cterm01 = "00" - let s:cterm02 = "08" - let s:cterm04 = "07" - let s:cterm06 = "07" - let s:cterm09 = "06" - let s:cterm0F = "03" -endif - -" General appearance colors: -" (some of them may be unused) - -" Transparent background -if !exists("g:codedark_transparent") - let g:codedark_transparent=0 -endif - -if !exists("g:codedark_modern") - let g:codedark_modern=0 -endif - -let s:cdNone = {'gui': 'NONE', 'cterm': 'NONE', 'cterm256': 'NONE'} -let s:cdFront = {'gui': '#D4D4D4', 'cterm': s:cterm05, 'cterm256': '188'} -let s:cdBack = {'gui': '#1E1E1E', 'cterm': s:cterm00, 'cterm256': '234'} -if g:codedark_modern | let s:cdBack = {'gui': '#1f1f1f', 'cterm': 'NONE', 'cterm256': '234'} | endif -if g:codedark_transparent | let s:cdBack = {'gui': 'NONE', 'cterm': 'NONE', 'cterm256': 'NONE'} | endif - -let s:cdTabCurrent = {'gui': '#1E1E1E', 'cterm': s:cterm00, 'cterm256': '234'} -if g:codedark_modern | let s:cdTabCurrent = {'gui': '#1f1f1f', 'cterm': s:cterm00, 'cterm256': '234'} | endif -let s:cdTabOther = {'gui': '#2D2D2D', 'cterm': s:cterm01, 'cterm256': '236'} -if g:codedark_modern | let s:cdTabOther = {'gui': '#181818', 'cterm': s:cterm01, 'cterm256': '236'} | endif -let s:cdTabOutside = {'gui': '#252526', 'cterm': s:cterm01, 'cterm256': '235'} -if g:codedark_modern | let s:cdTabOutside = {'gui': '#181818', 'cterm': s:cterm01, 'cterm256': '236'} | endif - -let s:cdLeftDark = {'gui': '#252526', 'cterm': s:cterm01, 'cterm256': '235'} -let s:cdLeftMid = {'gui': '#373737', 'cterm': s:cterm03, 'cterm256': '237'} -if g:codedark_modern | let s:cdLeftMid = {'gui': '#181818', 'cterm': 'NONE', 'cterm256': '237'} | endif -let s:cdLeftLight = {'gui': '#3F3F46', 'cterm': s:cterm03, 'cterm256': '238'} - -let s:cdPopupFront = {'gui': '#BBBBBB', 'cterm': s:cterm06, 'cterm256': '250'} -let s:cdPopupBack = {'gui': '#2D2D30', 'cterm': s:cterm01, 'cterm256': '236'} -let s:cdPopupHighlightBlue = {'gui': '#073655', 'cterm': s:cterm0D, 'cterm256': '24'} -let s:cdPopupHighlightGray = {'gui': '#3D3D40', 'cterm': s:cterm03, 'cterm256': '237'} - -let s:cdSplitLight = {'gui': '#898989', 'cterm': s:cterm04, 'cterm256': '245'} -let s:cdSplitDark = {'gui': '#444444', 'cterm': s:cterm03, 'cterm256': '238'} -let s:cdSplitThumb = {'gui': '#424242', 'cterm': s:cterm04, 'cterm256': '238'} - -let s:cdCursorDarkDark = {'gui': '#222222', 'cterm': s:cterm01, 'cterm256': '235'} -let s:cdCursorDark = {'gui': '#51504F', 'cterm': s:cterm03, 'cterm256': '239'} -let s:cdCursorLight = {'gui': '#AEAFAD', 'cterm': s:cterm04, 'cterm256': '145'} -let s:cdSelection = {'gui': '#264F78', 'cterm': s:cterm03, 'cterm256': '24'} -let s:cdLineNumber = {'gui': '#5A5A5A', 'cterm': s:cterm04, 'cterm256': '240'} - -let s:cdDiffRedDark = {'gui': '#4B1818', 'cterm': s:cterm08, 'cterm256': '52'} -if g:codedark_modern | let s:cdDiffRedDark = {'gui': '#da3633', 'cterm': 'NONE', 'cterm256': '52'} | endif -let s:cdDiffRedLight = {'gui': '#6F1313', 'cterm': s:cterm08, 'cterm256': '52'} -let s:cdDiffRedLightLight = {'gui': '#FB0101', 'cterm': s:cterm08, 'cterm256': '09'} -let s:cdDiffGreenDark = {'gui': '#373D29', 'cterm': s:cterm0B, 'cterm256': '237'} -if g:codedark_modern | let s:cdDiffGreenDark = {'gui': '#238636', 'cterm': 'NONE', 'cterm256': '237'} | endif -let s:cdDiffGreenLight = {'gui': '#4B5632', 'cterm': s:cterm09, 'cterm256': '58'} -let s:cdDiffBlueLight = {'gui': '#87d7ff', 'cterm': s:cterm0C, 'cterm256': '117'} -let s:cdDiffBlue = {'gui': '#005f87', 'cterm': s:cterm0D, 'cterm256': '24'} - -let s:cdSearchCurrent = {'gui': '#4B5632', 'cterm': s:cterm09, 'cterm256': '58'} -if g:codedark_modern | let s:cdSearchCurrent = {'gui': '#9e6a03', 'cterm': s:cterm09, 'cterm256': '58'} | endif -let s:cdSearch = {'gui': '#773800', 'cterm': s:cterm03, 'cterm256': '94'} - -" Syntax colors: - -if !exists("g:codedark_conservative") - let g:codedark_conservative=0 -endif - -" Italicized comments -if !exists("g:codedark_italics") - let g:codedark_italics=0 -endif - -let s:cdGray = {'gui': '#808080', 'cterm': s:cterm04, 'cterm256': '08'} -let s:cdViolet = {'gui': '#646695', 'cterm': s:cterm04, 'cterm256': '60'} -let s:cdBlue = {'gui': '#569CD6', 'cterm': s:cterm0D, 'cterm256': '75'} -let s:cdDarkBlue = {'gui': '#223E55', 'cterm': s:cterm0D, 'cterm256': '73'} -let s:cdLightBlue = {'gui': '#9CDCFE', 'cterm': s:cterm0C, 'cterm256': '117'} -if g:codedark_conservative | let s:cdLightBlue = s:cdFront | endif -let s:cdGreen = {'gui': '#6A9955', 'cterm': s:cterm0B, 'cterm256': '65'} -let s:cdBlueGreen = {'gui': '#4EC9B0', 'cterm': s:cterm0F, 'cterm256': '43'} -let s:cdLightGreen = {'gui': '#B5CEA8', 'cterm': s:cterm09, 'cterm256': '151'} -let s:cdRed = {'gui': '#F44747', 'cterm': s:cterm08, 'cterm256': '203'} -if g:codedark_modern | let s:cdRed = {'gui': '#f85149', 'cterm': s:cterm08, 'cterm256': '203'} | endif -let s:cdOrange = {'gui': '#CE9178', 'cterm': s:cterm0F, 'cterm256': '173'} -let s:cdLightRed = {'gui': '#D16969', 'cterm': s:cterm08, 'cterm256': '167'} -if g:codedark_conservative | let s:cdLightRed = s:cdOrange | endif -let s:cdYellowOrange = {'gui': '#D7BA7D', 'cterm': s:cterm0A, 'cterm256': '179'} -let s:cdYellow = {'gui': '#DCDCAA', 'cterm': s:cterm0A, 'cterm256': '187'} -if g:codedark_conservative | let s:cdYellow = s:cdFront | endif -let s:cdPink = {'gui': '#C586C0', 'cterm': s:cterm0E, 'cterm256': '176'} -if g:codedark_conservative | let s:cdPink = s:cdBlue | endif -let s:cdSilver = {'gui': '#C0C0C0', 'cterm': s:cterm05, 'cterm256': '7'} - -" UI (built-in) -" hi(GROUP, FOREGROUND, BACKGROUND, ATTRIBUTE, SPECIAL) -call hi('Normal', s:cdFront, s:cdBack, 'none', {}) -call hi('ColorColumn', {}, s:cdCursorDarkDark, 'none', {}) -call hi('Cursor', s:cdCursorDark, s:cdCursorLight, 'none', {}) -call hi('CursorLine', {}, s:cdCursorDarkDark, 'none', {}) -hi! link CursorColumn CursorLine -call hi('Directory', s:cdBlue, s:cdNone, 'none', {}) -call hi('DiffAdd', s:cdFront, s:cdDiffGreenLight, 'none', {}) -call hi('DiffChange', s:cdFront, s:cdDiffBlue, 'none', {}) -call hi('DiffDelete', s:cdFront, s:cdDiffRedLight, 'none', {}) -call hi('DiffText', s:cdBack, s:cdDiffBlueLight, 'none', {}) -call hi('EndOfBuffer', s:cdLineNumber, s:cdBack, 'none', {}) -call hi('ErrorMsg', s:cdRed, s:cdBack, 'none', {}) -call hi('VertSplit', s:cdSplitDark, s:cdBack, 'none', {}) -call hi('Folded', s:cdLeftLight, s:cdLeftDark, 'underline', {}) -call hi('FoldColumn', s:cdLineNumber, s:cdBack, 'none', {}) -call hi('SignColumn', {}, s:cdBack, 'none', {}) -call hi('IncSearch', s:cdNone, s:cdSearchCurrent, 'none', {}) -call hi('LineNr', s:cdLineNumber, s:cdBack, 'none', {}) -call hi('CursorLineNr', s:cdPopupFront, s:cdBack, 'none', {}) -call hi('MatchParen', s:cdNone, s:cdCursorDark, 'none', {}) -call hi('ModeMsg', s:cdFront, s:cdLeftDark, 'none', {}) -hi! link MoreMsg ModeMsg -call hi('NonText', s:cdLineNumber, s:cdNone, 'none', {}) -call hi('Pmenu', s:cdPopupFront, s:cdPopupBack, 'none', {}) -call hi('PmenuSel', s:cdPopupFront, s:cdPopupHighlightBlue, 'none', {}) -call hi('PmenuSbar', {}, s:cdPopupHighlightGray, 'none', {}) -call hi('PmenuThumb', {}, s:cdPopupFront, 'none', {}) -call hi('Question', s:cdBlue, s:cdBack, 'none', {}) -call hi('Search', s:cdNone, s:cdSearch, 'none', {}) -call hi('SpecialKey', s:cdLineNumber, s:cdNone, 'none', {}) -call hi('StatusLine', s:cdFront, s:cdLeftMid, 'none', {}) -call hi('StatusLineNC', s:cdFront, s:cdLeftDark, 'none', {}) -call hi('TabLine', s:cdFront, s:cdTabOther, 'none', {}) -call hi('TabLineFill', s:cdFront, s:cdTabOutside, 'none', {}) -call hi('TabLineSel', s:cdFront, s:cdTabCurrent, 'none', {}) -call hi('Title', s:cdNone, s:cdNone, 'bold', {}) -call hi('Visual', s:cdNone, s:cdSelection, 'none', {}) -hi! link VisualNOS Visual -call hi('WarningMsg', s:cdOrange, s:cdBack, 'none', {}) -call hi('WildMenu', s:cdNone, s:cdSelection, 'none', {}) -call hi('netrwMarkFile', s:cdFront, s:cdSelection, 'none', {}) - -" Legacy groups for official git.vim and diff.vim syntax -hi! link diffAdded DiffAdd -hi! link diffChanged DiffChange -hi! link diffRemoved DiffDelete - -if g:codedark_italics | call hi('Comment', s:cdGreen, {}, 'italic', {}) | else | call hi('Comment', s:cdGreen, {}, 'none', {}) | endif - -" SYNTAX HIGHLIGHT (built-in) -call hi('Constant', s:cdBlue, {}, 'none', {}) -call hi('String', s:cdOrange, {}, 'none', {}) -call hi('Character', s:cdOrange, {}, 'none', {}) -call hi('Number', s:cdLightGreen, {}, 'none', {}) -call hi('Boolean', s:cdBlue, {}, 'none', {}) -hi! link Float Number -call hi('Identifier', s:cdLightBlue, {}, 'none', {}) -call hi('Function', s:cdYellow, {}, 'none', {}) -call hi('Statement', s:cdPink, {}, 'none', {}) -call hi('Conditional', s:cdPink, {}, 'none', {}) -call hi('Repeat', s:cdPink, {}, 'none', {}) -call hi('Label', s:cdPink, {}, 'none', {}) -call hi('Operator', s:cdFront, {}, 'none', {}) -call hi('Keyword', s:cdPink, {}, 'none', {}) -call hi('Exception', s:cdPink, {}, 'none', {}) -call hi('PreProc', s:cdPink, {}, 'none', {}) -call hi('Include', s:cdPink, {}, 'none', {}) -call hi('Define', s:cdPink, {}, 'none', {}) -call hi('Macro', s:cdPink, {}, 'none', {}) -call hi('PreCondit', s:cdPink, {}, 'none', {}) -call hi('Type', s:cdBlue, {}, 'none', {}) -call hi('StorageClass', s:cdBlue, {}, 'none', {}) -call hi('Structure', s:cdBlue, {}, 'none', {}) -call hi('Typedef', s:cdBlue, {}, 'none', {}) -call hi('Special', s:cdYellowOrange, {}, 'none', {}) -call hi('SpecialChar', s:cdFront, {}, 'none', {}) -call hi('Tag', s:cdFront, {}, 'none', {}) -call hi('Delimiter', s:cdFront, {}, 'none', {}) -if g:codedark_italics | call hi('SpecialComment', s:cdGreen, {}, 'italic', {}) | else | call hi('SpecialComment', s:cdGreen, {}, 'none', {}) | endif -call hi('Debug', s:cdFront, {}, 'none', {}) -call hi('Underlined', s:cdNone, {}, 'underline', {}) -call hi("Conceal", s:cdFront, s:cdBack, 'none', {}) -call hi('Ignore', s:cdBack, {}, 'none', {}) -call hi('Error', s:cdRed, s:cdBack, 'undercurl', s:cdRed) -call hi('Todo', s:cdNone, s:cdLeftMid, 'none', {}) -call hi('SpellBad', s:cdRed, s:cdBack, 'undercurl', s:cdRed) -call hi('SpellCap', s:cdRed, s:cdBack, 'undercurl', s:cdRed) -call hi('SpellRare', s:cdRed, s:cdBack, 'undercurl', s:cdRed) -call hi('SpellLocal', s:cdRed, s:cdBack, 'undercurl', s:cdRed) - -" NEOVIM -" Make neovim specific groups load only on Neovim -if has("nvim") - " nvim-treesitter/nvim-treesitter (github) - call hiTSlink('@error', 'TSError', 'ErrorMsg') - call hiTSlink('@punctuation.delimiter', 'TSPunctDelimiter', 'Delimiter') - call hiTSlink('@punctuation.bracket', 'TSPunctBracket', 'Delimiter') - call hiTSlink('@punctuation.special', 'TSPunctSpecial', 'Delimiter') - " Constant - call hiTS('@constant', 'TSConstant', s:cdYellow, {}, 'none', {}) - call hiTSlink('@constant.builtin', 'TSConstBuiltin', 'Constant') - call hiTS('@constant.macro', 'TSConstMacro', s:cdBlueGreen, {}, 'none', {}) - call hiTSlink('@string', 'TSString', 'String') - call hiTSlink('@string.regex', 'TSStringRegex', 'String') - call hiTS('@string.escape', 'TSStringEscape', s:cdYellowOrange, {}, 'none', {}) - call hiTSlink('@character', 'TSCharacter', 'Character') - call hiTSlink('@number', 'TSNumber', 'Number') - call hiTS('@boolean', 'TSBoolean', s:cdBlue, {}, 'none', {}) - call hiTSlink('@float', 'TSFloat', 'Float') - call hiTS('@annotation', 'TSAnnotation', s:cdYellow, {}, 'none', {}) - call hiTS('@attribute', 'TSAttribute', s:cdBlueGreen, {}, 'none', {}) - call hiTS('@namespace', 'TSNamespace', s:cdBlueGreen, {}, 'none', {}) - " Functions - call hiTSlink('@function.builtin', 'TSFuncBuiltin', 'Function') - call hiTSlink('@function', 'TSFunction','Function') - call hiTSlink('@function.macro', 'TSFuncMacro','Function') - call hiTS('@parameter', 'TSParameter', s:cdLightBlue, {}, 'none', {}) - call hiTS('@parameter.reference', 'TSParameterReference', s:cdLightBlue, {}, 'none', {}) - call hiTS('@method', 'TSMethod', s:cdYellow, {}, 'none', {}) - call hiTS('@field', 'TSField', s:cdLightBlue, {}, 'none', {}) - call hiTS('@property', 'TSProperty', s:cdLightBlue, {}, 'none', {}) - call hiTS('@constructor', 'TSConstructor', s:cdBlueGreen, {}, 'none', {}) - " Keywords - call hiTSlink('@conditional', 'TSConditional', 'Conditional') - call hiTSlink('@repeat', 'TSRepeat', 'Repeat') - call hiTS('@label', 'TSLabel', s:cdLightBlue, {}, 'none', {}) - call hiTS('@keyword', 'TSKeyword', s:cdBlue, {}, 'none', {}) - call hiTS('@keyword.function', 'TSKeywordFunction', s:cdBlue, {}, 'none', {}) - call hiTS('@keyword.operator', 'TSKeywordOperator', s:cdBlue, {}, 'none', {}) - call hiTS('@operator', 'TSOperator', s:cdFront, {}, 'none', {}) - call hiTS('@exception', 'TSException', s:cdPink, {}, 'none', {}) - call hiTS('@type', 'TSType', s:cdBlueGreen, {}, 'none', {}) - call hiTSlink('@type.builtin', 'TSTypeBuiltin', 'Type') - call hi('TSStructure', s:cdLightBlue, {}, 'none', {}) - call hiTSlink('@include', 'TSInclude', 'Include') - " Variable - call hiTS('@variable', 'TSVariable', s:cdLightBlue, {}, 'none', {}) - call hiTS('@variable.builtin', 'TSVariableBuiltin', s:cdLightBlue, {}, 'none', {}) - " Text - call hiTS('@text', 'TSText', s:cdFront, s:cdNone, 'bold', {}) - call hiTS('@text.strong', 'TSStrong', s:cdFront, s:cdNone, 'bold', {}) - call hiTS('@text.emphasis', 'TSEmphasis', s:cdYellowOrange, s:cdNone, 'italic', {}) - call hiTSlink('@text.underline', 'TSUnderline', 'Underlined') - call hiTS('@text.title', 'TSTitle', s:cdBlue, {}, 'bold', {}) - call hiTS('@text.literal', 'TSLiteral', s:cdOrange, {}, 'none', {}) - call hiTS('@text.uri', 'TSURI', s:cdOrange, {}, 'none', {}) - " Tags - call hiTS('@tag', 'TSTag', s:cdBlue, {}, 'none', {}) - call hiTS('@tag.delimiter', 'TSTagDelimiter', s:cdGray, {}, 'none', {}) - - " hrsh7th/nvim-cmp (github) - call hi('CmpItemAbbrDeprecated', s:cdGray, {}, 'none', {}) - call hi('CmpItemAbbrMatch', s:cdBlue, {}, 'none', {}) - hi! link CmpItemAbbrMatchFuzzy CmpItemAbbrMatch - call hi('CmpItemKindVariable', s:cdLightBlue, {}, 'none', {}) - call hi('CmpItemKindInterface', s:cdLightBlue, {}, 'none', {}) - call hi('CmpItemKindText', s:cdLightBlue, {}, 'none', {}) - call hi('CmpItemKindFunction', s:cdPink, {}, 'none', {}) - call hi('CmpItemKindMethod ', s:cdPink, {}, 'none', {}) - call hi('CmpItemKindKeyword', s:cdFront, {}, 'none', {}) - call hi('CmpItemKindProperty', s:cdFront, {}, 'none', {}) - call hi('CmpItemKindUnit', s:cdFront, {}, 'none', {}) -endif - -" MARKDOWN (built-in) -call hi('markdownH1', s:cdBlue, {}, 'bold', {}) -hi! link markdownH2 markdownH1 -hi! link markdownH3 markdownH1 -hi! link markdownH4 markdownH1 -hi! link markdownH5 markdownH1 -hi! link markdownH6 markdownH1 -call hi('markdownHeadingDelimiter', s:cdBlue, {}, 'none', {}) -call hi('markdownBold', s:cdBlue, {}, 'bold', {}) -call hi('markdownRule', s:cdBlue, {}, 'bold', {}) -call hi('markdownCode', s:cdOrange, {}, 'none', {}) -hi! link markdownCodeDelimiter markdownCode -call hi('markdownFootnote', s:cdOrange, {}, 'none', {}) -hi! link markdownFootnoteDefinition markdownFootnote -call hi('markdownUrl', s:cdLightBlue, {}, 'underline', {}) -call hi('markdownLinkText', s:cdOrange, {}, 'none', {}) -call hi('markdownEscape', s:cdYellowOrange, {}, 'none', {}) - -" ASCIIDOC (built-in) -call hi("asciidocAttributeEntry", s:cdYellowOrange, {}, 'none', {}) -call hi("asciidocAttributeList", s:cdPink, {}, 'none', {}) -call hi("asciidocAttributeRef", s:cdYellowOrange, {}, 'none', {}) -call hi("asciidocHLabel", s:cdBlue, {}, 'bold', {}) -call hi("asciidocListingBlock", s:cdOrange, {}, 'none', {}) -call hi("asciidocMacroAttributes", s:cdYellowOrange, {}, 'none', {}) -call hi("asciidocOneLineTitle", s:cdBlue, {}, 'bold', {}) -call hi("asciidocPassthroughBlock", s:cdBlue, {}, 'none', {}) -call hi("asciidocQuotedMonospaced", s:cdOrange, {}, 'none', {}) -call hi("asciidocTriplePlusPassthrough", s:cdYellow, {}, 'none', {}) -call hi("asciidocMacro", s:cdPink, {}, 'none', {}) -call hi("asciidocAdmonition", s:cdOrange, {}, 'none', {}) -call hi("asciidocQuotedEmphasized", s:cdBlue, {}, 'italic', {}) -call hi("asciidocQuotedEmphasized2", s:cdBlue, {}, 'italic', {}) -call hi("asciidocQuotedEmphasizedItalic", s:cdBlue, {}, 'italic', {}) -hi! link asciidocBackslash Keyword -hi! link asciidocQuotedBold markdownBold -hi! link asciidocQuotedMonospaced2 asciidocQuotedMonospaced -hi! link asciidocQuotedUnconstrainedBold asciidocQuotedBold -hi! link asciidocQuotedUnconstrainedEmphasized asciidocQuotedEmphasized -hi! link asciidocURL markdownUrl - -" JSON (built-in) -call hi('jsonKeyword', s:cdLightBlue, {}, 'none', {}) -call hi('jsonEscape', s:cdYellowOrange, {}, 'none', {}) -call hi('jsonNull', s:cdBlue, {}, 'none', {}) -call hi('jsonBoolean', s:cdBlue, {}, 'none', {}) - -" HTML (built-in) -call hi('htmlTag', s:cdGray, {}, 'none', {}) -call hi('htmlEndTag', s:cdGray, {}, 'none', {}) -call hi('htmlTagName', s:cdBlue, {}, 'none', {}) -hi! link htmlSpecialTagName htmlTagName -call hi('htmlArg', s:cdLightBlue, {}, 'none', {}) - -" PHP (built-in) -call hi('phpClass', s:cdBlueGreen, {}, 'none', {}) -hi! link phpUseClass phpClass -hi! link phpStaticClasses phpClass -call hi('phpMethod', s:cdYellow, {}, 'none', {}) -call hi('phpFunction', s:cdYellow, {}, 'none', {}) -call hi('phpInclude', s:cdBlue, {}, 'none', {}) -call hi('phpRegion', s:cdBlueGreen, {}, 'none', {}) -call hi('phpMethodsVar', s:cdLightBlue, {}, 'none', {}) - -" CSS (built-in) -call hi('cssBraces', s:cdFront, {}, 'none', {}) -call hi('cssInclude', s:cdPink, {}, 'none', {}) -call hi('cssTagName', s:cdBlue, {}, 'none', {}) -call hi('cssClassName', s:cdYellowOrange, {}, 'none', {}) -call hi('cssPseudoClass', s:cdYellowOrange, {}, 'none', {}) -call hi('cssPseudoClassId', s:cdOrange, {}, 'none', {}) -call hi('cssPseudoClassLang', s:cdYellowOrange, {}, 'none', {}) -call hi('cssIdentifier', s:cdYellowOrange, {}, 'none', {}) -call hi('cssProp', s:cdLightBlue, {}, 'none', {}) -call hi('cssDefinition', s:cdLightBlue, {}, 'none', {}) -call hi('cssAttr', s:cdOrange, {}, 'none', {}) -call hi('cssAttrRegion', s:cdOrange, {}, 'none', {}) -call hi('cssColor', s:cdOrange, {}, 'none', {}) -call hi('cssFunction', s:cdLightBlue, {}, 'none', {}) -call hi('cssFunctionName', s:cdYellow, {}, 'none', {}) -call hi('cssVendor', s:cdOrange, {}, 'none', {}) -call hi('cssValueNumber', s:cdOrange, {}, 'none', {}) -call hi('cssValueLength', s:cdLightGreen, {}, 'none', {}) -call hi('cssUnitDecorators', s:cdLightGreen, {}, 'none', {}) -call hi('cssStyle', s:cdLightBlue, {}, 'none', {}) -call hi('cssImportant', s:cdBlue, {}, 'none', {}) -call hi('cssSelectorOp', s:cdFront, {}, 'none', {}) -call hi('cssKeyFrameProp2', s:cdLightGreen, {}, 'none', {}) - -" JavaScript: -call hi('jsVariableDef', s:cdLightBlue, {}, 'none', {}) -call hi('jsFuncArgs', s:cdLightBlue, {}, 'none', {}) -call hi('jsFuncBlock', s:cdLightBlue, {}, 'none', {}) -call hi('jsRegexpString', s:cdLightRed, {}, 'none', {}) -call hi('jsThis', s:cdBlue, {}, 'none', {}) -call hi('jsOperatorKeyword', s:cdBlue, {}, 'none', {}) -call hi('jsDestructuringBlock', s:cdLightBlue, {}, 'none', {}) -call hi('jsObjectKey', s:cdLightBlue, {}, 'none', {}) -call hi('jsGlobalObjects', s:cdBlueGreen, {}, 'none', {}) -call hi('jsModuleKeyword', s:cdLightBlue, {}, 'none', {}) -call hi('jsClassDefinition', s:cdBlueGreen, {}, 'none', {}) -call hi('jsClassKeyword', s:cdBlue, {}, 'none', {}) -call hi('jsExtendsKeyword', s:cdBlue, {}, 'none', {}) -call hi('jsExportDefault', s:cdPink, {}, 'none', {}) -call hi('jsFuncCall', s:cdYellow, {}, 'none', {}) -call hi('jsObjectValue', s:cdLightBlue, {}, 'none', {}) -call hi('jsParen', s:cdLightBlue, {}, 'none', {}) -call hi('jsObjectProp', s:cdLightBlue, {}, 'none', {}) -call hi('jsIfElseBlock', s:cdLightBlue, {}, 'none', {}) -call hi('jsParenIfElse', s:cdLightBlue, {}, 'none', {}) -call hi('jsSpreadOperator', s:cdLightBlue, {}, 'none', {}) -call hi('jsSpreadExpression', s:cdLightBlue, {}, 'none', {}) - -" Vue: -call hi('VueComponentName', s:cdBlueGreen, {}, 'none', {}) -call hi('VueValue', s:cdLightBlue, {}, 'none', {}) -call hi('VueBrace', s:cdYellowOrange, {}, 'none', {}) -call hi('VueExpression', s:cdYellow, {}, 'none', {}) -call hi('VueTag', s:cdLightBlue, {}, 'none', {}) -call hi('VueKey', s:cdPink, {}, 'none', {}) - -" Typescript: -call hi('typescriptLabel', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptTry', s:cdPink, {}, 'none', {}) -call hi('typescriptExceptions', s:cdPink, {}, 'none', {}) -call hi('typescriptBraces', s:cdFront, {}, 'none', {}) -call hi('typescriptEndColons', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptParens', s:cdFront, {}, 'none', {}) -call hi('typescriptDocTags', s:cdBlue, {}, 'none', {}) -call hi('typescriptDocComment', s:cdBlueGreen, {}, 'none', {}) -call hi('typescriptLogicSymbols', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptImport', s:cdPink, {}, 'none', {}) -call hi('typescriptBOM', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptVariableDeclaration', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptVariable', s:cdBlue, {}, 'none', {}) -call hi('typescriptExport', s:cdPink, {}, 'none', {}) -call hi('typescriptAliasDeclaration', s:cdBlueGreen, {}, 'none', {}) -call hi('typescriptAliasKeyword', s:cdBlue, {}, 'none', {}) -call hi('typescriptClassName', s:cdBlueGreen, {}, 'none', {}) -call hi('typescriptAccessibilityModifier', s:cdBlue, {}, 'none', {}) -call hi('typescriptOperator', s:cdBlue, {}, 'none', {}) -call hi('typescriptArrowFunc', s:cdBlue, {}, 'none', {}) -call hi('typescriptMethodAccessor', s:cdBlue, {}, 'none', {}) -call hi('typescriptMember', s:cdYellow, {}, 'none', {}) -call hi('typescriptTypeReference', s:cdBlueGreen, {}, 'none', {}) -call hi('typescriptDefault', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptTemplateSB', s:cdYellowOrange, {}, 'none', {}) -call hi('typescriptArrowFuncArg', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptParamImpl', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptFuncComma', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptCastKeyword', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptCall', s:cdBlue, {}, 'none', {}) -call hi('typescriptCase', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptReserved', s:cdPink, {}, 'none', {}) -call hi('typescriptDefault', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptDecorator', s:cdYellow, {}, 'none', {}) -call hi('typescriptPredefinedType', s:cdBlueGreen, {}, 'none', {}) -call hi('typescriptClassHeritage', s:cdBlueGreen, {}, 'none', {}) -call hi('typescriptClassExtends', s:cdBlue, {}, 'none', {}) -call hi('typescriptClassKeyword', s:cdBlue, {}, 'none', {}) -call hi('typescriptBlock', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptDOMDocProp', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptTemplateSubstitution', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptClassBlock', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptFuncCallArg', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptIndexExpr', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptConditionalParen', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptArray', s:cdYellow, {}, 'none', {}) -call hi('typescriptES6SetProp', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptObjectLiteral', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptTypeParameter', s:cdBlueGreen, {}, 'none', {}) -call hi('typescriptEnumKeyword', s:cdBlue, {}, 'none', {}) -call hi('typescriptEnum', s:cdBlueGreen, {}, 'none', {}) -call hi('typescriptLoopParen', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptParenExp', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptModule', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptAmbientDeclaration', s:cdBlue, {}, 'none', {}) -call hi('typescriptModule', s:cdBlue, {}, 'none', {}) -call hi('typescriptFuncTypeArrow', s:cdBlue, {}, 'none', {}) -call hi('typescriptInterfaceHeritage', s:cdBlueGreen, {}, 'none', {}) -call hi('typescriptInterfaceName', s:cdBlueGreen, {}, 'none', {}) -call hi('typescriptInterfaceKeyword', s:cdBlue, {}, 'none', {}) -call hi('typescriptInterfaceExtends', s:cdBlue, {}, 'none', {}) -call hi('typescriptGlobal', s:cdBlueGreen, {}, 'none', {}) -call hi('typescriptAsyncFuncKeyword', s:cdBlue, {}, 'none', {}) -call hi('typescriptFuncKeyword', s:cdBlue, {}, 'none', {}) -call hi('typescriptGlobalMethod', s:cdYellow, {}, 'none', {}) -call hi('typescriptPromiseMethod', s:cdYellow, {}, 'none', {}) -call hi('typescriptIdentifierName', s:cdLightBlue, {}, 'none', {}) -call hi('typescriptCacheMethod', s:cdYellow, {}, 'none', {}) - -" XML: -call hi('xmlTag', s:cdBlueGreen, {}, 'none', {}) -call hi('xmlTagName', s:cdBlueGreen, {}, 'none', {}) -call hi('xmlEndTag', s:cdBlueGreen, {}, 'none', {}) - -" Ruby: -call hi('rubyClassNameTag', s:cdBlueGreen, {}, 'none', {}) -call hi('rubyClassName', s:cdBlueGreen, {}, 'none', {}) -call hi('rubyModuleName', s:cdBlueGreen, {}, 'none', {}) -call hi('rubyConstant', s:cdBlueGreen, {}, 'none', {}) - -" Golang: -call hi('goPackage', s:cdBlue, {}, 'none', {}) -call hi('goImport', s:cdBlue, {}, 'none', {}) -call hi('goVar', s:cdBlue, {}, 'none', {}) -call hi('goConst', s:cdBlue, {}, 'none', {}) -call hi('goStatement', s:cdPink, {}, 'none', {}) -call hi('goType', s:cdBlueGreen, {}, 'none', {}) -call hi('goSignedInts', s:cdBlueGreen, {}, 'none', {}) -call hi('goUnsignedInts', s:cdBlueGreen, {}, 'none', {}) -call hi('goFloats', s:cdBlueGreen, {}, 'none', {}) -call hi('goComplexes', s:cdBlueGreen, {}, 'none', {}) -call hi('goBuiltins', s:cdYellow, {}, 'none', {}) -call hi('goBoolean', s:cdBlue, {}, 'none', {}) -call hi('goPredefinedIdentifiers', s:cdBlue, {}, 'none', {}) -call hi('goTodo', s:cdGreen, {}, 'none', {}) -call hi('goDeclaration', s:cdBlue, {}, 'none', {}) -call hi('goDeclType', s:cdBlue, {}, 'none', {}) -call hi('goTypeDecl', s:cdBlue, {}, 'none', {}) -call hi('goTypeName', s:cdBlueGreen, {}, 'none', {}) -call hi('goVarAssign', s:cdLightBlue, {}, 'none', {}) -call hi('goVarDefs', s:cdLightBlue, {}, 'none', {}) -call hi('goReceiver', s:cdFront, {}, 'none', {}) -call hi('goReceiverType', s:cdFront, {}, 'none', {}) -call hi('goFunctionCall', s:cdYellow, {}, 'none', {}) -call hi('goMethodCall', s:cdYellow, {}, 'none', {}) -call hi('goSingleDecl', s:cdLightBlue, {}, 'none', {}) - -" Python: -call hi('pythonStatement', s:cdBlue, {}, 'none', {}) -call hi('pythonOperator', s:cdBlue, {}, 'none', {}) -call hi('pythonException', s:cdPink, {}, 'none', {}) -call hi('pythonExClass', s:cdBlueGreen, {}, 'none', {}) -call hi('pythonBuiltinObj', s:cdLightBlue, {}, 'none', {}) -call hi('pythonBuiltinType', s:cdBlueGreen, {}, 'none', {}) -call hi('pythonBoolean', s:cdBlue, {}, 'none', {}) -call hi('pythonNone', s:cdBlue, {}, 'none', {}) -call hi('pythonTodo', s:cdBlue, {}, 'none', {}) -call hi('pythonClassVar', s:cdBlue, {}, 'none', {}) -call hi('pythonClassDef', s:cdBlueGreen, {}, 'none', {}) - -" TeX: -call hi('texStatement', s:cdBlue, {}, 'none', {}) -call hi('texBeginEnd', s:cdYellow, {}, 'none', {}) -call hi('texBeginEndName', s:cdLightBlue, {}, 'none', {}) -call hi('texOption', s:cdLightBlue, {}, 'none', {}) -call hi('texBeginEndModifier', s:cdLightBlue, {}, 'none', {}) -call hi('texDocType', s:cdPink, {}, 'none', {}) -call hi('texDocTypeArgs', s:cdLightBlue, {}, 'none', {}) - -" GIT (built-in) -call hi('gitcommitHeader', s:cdGray, {}, 'none', {}) -call hi('gitcommitOnBranch', s:cdGray, {}, 'none', {}) -call hi('gitcommitBranch', s:cdPink, {}, 'none', {}) -call hi('gitcommitComment', s:cdGray, {}, 'none', {}) -call hi('gitcommitSelectedType', s:cdGreen, {}, 'none', {}) -hi! link gitcommitSelectedFile gitcommitSelectedType -call hi('gitcommitDiscardedType', s:cdRed, {}, 'none', {}) -hi! link gitcommitDiscardedFile gitcommitDiscardedType -hi! link gitcommitOverflow gitcommitDiscardedType -call hi('gitcommitSummary', s:cdPink, {}, 'none', {}) -call hi('gitcommitBlank', s:cdPink, {}, 'none', {}) - -" Lua: -call hi('luaFuncCall', s:cdYellow, {}, 'none', {}) -call hi('luaFuncArgName', s:cdLightBlue, {}, 'none', {}) -call hi('luaFuncKeyword', s:cdPink, {}, 'none', {}) -call hi('luaLocal', s:cdPink, {}, 'none', {}) -call hi('luaBuiltIn', s:cdBlue, {}, 'none', {}) - -" SH: -call hi('shDeref', s:cdLightBlue, {}, 'none', {}) -call hi('shVariable', s:cdLightBlue, {}, 'none', {}) - -" SQL: -call hi('sqlKeyword', s:cdPink, {}, 'none', {}) -call hi('sqlFunction', s:cdYellowOrange, {}, 'none', {}) -call hi('sqlOperator', s:cdPink, {}, 'none', {}) - -" YAML: -call hi('yamlKey', s:cdBlue, {}, 'none', {}) -call hi('yamlConstant', s:cdBlue, {}, 'none', {}) - -" C++: -call hi('CTagsClass', s:cdBlueGreen, {}, 'none', {}) -call hi('CTagsStructure', s:cdBlueGreen, {}, 'none', {}) -call hi('CTagsNamespace', s:cdBlueGreen, {}, 'none', {}) -call hi('CTagsGlobalVariable', s:cdBlueGreen, {}, 'none', {}) -call hi('CTagsDefinedName ', s:cdBlue, {}, 'none', {}) -highlight def link CTagsFunction Function -highlight def link CTagsMember Identifier - -" C++ color_coded -call hi('StructDecl', s:cdBlueGreen, {}, 'none', {}) -call hi('UnionDecl', s:cdBlueGreen, {}, 'none', {}) -call hi('ClassDecl', s:cdBlueGreen, {}, 'none', {}) -call hi('TypeRef', s:cdBlueGreen, {}, 'none', {}) -call hi('TypedefDecl', s:cdBlueGreen, {}, 'none', {}) -call hi('TypeAliasDecl', s:cdBlueGreen, {}, 'none', {}) -call hi('EnumDecl', s:cdBlueGreen, {}, 'none', {}) -call hi('TemplateTypeParameter', s:cdBlueGreen, {}, 'none', {}) -call hi('TypeAliasTemplateDecl', s:cdBlueGreen, {}, 'none', {}) -call hi('ClassTemplate', s:cdBlueGreen, {}, 'none', {}) -call hi('ClassTemplatePartialSpecialization', s:cdBlueGreen, {}, 'none', {}) -call hi('FunctionTemplate', s:cdBlueGreen, {}, 'none', {}) -call hi('TemplateRef', s:cdBlueGreen, {}, 'none', {}) -call hi('TemplateTemplateParameter', s:cdBlueGreen, {}, 'none', {}) -call hi('UsingDeclaration', s:cdBlueGreen, {}, 'none', {}) -call hi('MemberRef', s:cdLightBlue, {}, 'italic', {}) -call hi('MemberRefExpr', s:cdYellow, {}, 'italic', {}) -call hi('Namespace', s:cdSilver, {}, 'none', {}) -call hi('NamespaceRef', s:cdSilver, {}, 'none', {}) -call hi('NamespaceAlias', s:cdSilver, {}, 'none', {}) - -" C++ lsp-cxx-highlight -call hi('LspCxxHlSymClass', s:cdBlueGreen, {}, 'none', {}) -call hi('LspCxxHlSymStruct', s:cdBlueGreen, {}, 'none', {}) -call hi('LspCxxHlSymEnum', s:cdBlueGreen, {}, 'none', {}) -call hi('LspCxxHlSymTypeAlias', s:cdBlueGreen, {}, 'none', {}) -call hi('LspCxxHlSymTypeParameter', s:cdBlueGreen, {}, 'none', {}) -call hi('LspCxxHlSymConcept', s:cdBlueGreen, {}, 'italic', {}) -call hi('LspCxxHlSymNamespace', s:cdSilver, {}, 'none', {}) - -" Coc Explorer: -call hi('CocHighlightText', {}, s:cdSelection, 'none', {}) -call hi('CocExplorerIndentLine', s:cdCursorDark, {}, 'none', {}) diff --git a/config-files/.config/vim/vimrc b/config-files/.config/vim/vimrc deleted file mode 100644 index 9aa21fae..00000000 --- a/config-files/.config/vim/vimrc +++ /dev/null @@ -1,390 +0,0 @@ -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => General -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Sets how many lines of history VIM has to remember -set history=500 - -" Enable filetype plugins -filetype plugin on -filetype indent on - -" Set to auto read when a file is changed from the outside -set autoread -au FocusGained,BufEnter * silent! checktime - -" With a map leader it's possible to do extra key combinations -" like w saves the current file -let mapleader = " " - -" Fast saving -nmap w :w! - -" :W sudo saves the file -" (useful for handling the permission-denied error) -command! W execute 'w !sudo tee % > /dev/null' edit! - -" Use system clipboard -set clipboard+=unnamedplus - -" Center the screen when in insert mode -autocmd InsertEnter * norm zz - -set number relativenumber -set cursorline -set cursorcolumn - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => VIM user interface -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Set 7 lines to the cursor - when moving vertically using j/k -set so=7 - -" Avoid garbled characters in Chinese language windows OS -let $LANG='en' -set langmenu=en -source $VIMRUNTIME/delmenu.vim -source $VIMRUNTIME/menu.vim - -" Turn on the Wild menu -set wildmenu - -" Ignore compiled files -set wildignore=*.o,*~,*.pyc -if has("win16") || has("win32") - set wildignore+=.git\*,.hg\*,.svn\* -else - set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store -endif - -" Always show current position -set ruler - -" Height of the command bar -set cmdheight=1 - -" A buffer becomes hidden when it is abandoned -set hid - -" Configure backspace so it acts as it should act -set backspace=eol,start,indent -set whichwrap+=<,>,h,l - -" Ignore case when searching -set ignorecase - -" When searching try to be smart about cases -set smartcase - -" Highlight search results -set hlsearch - -" Makes search act like search in modern browsers -set incsearch - -" Don't redraw while executing macros (good performance config) -set lazyredraw - -" For regular expressions turn magic on -set magic - -" Show matching brackets when text indicator is over them -set showmatch - -" How many tenths of a second to blink when matching brackets -set mat=2 - -" No annoying sound on errors -set noerrorbells -set novisualbell -set t_vb= -set tm=500 - -" Properly disable sound on errors on MacVim -if has("gui_macvim") - autocmd GUIEnter * set vb t_vb= -endif - -" Add a bit extra margin to the left -set foldcolumn=1 - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Colors and Fonts -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -" Enable syntax highlighting -syntax enable - -" Set regular expression engine automatically -set regexpengine=0 - -" Enable 256 colors palette in Gnome Terminal -if $COLORTERM == 'gnome-terminal' - set t_Co=256 -endif - -try - colorscheme gruvbox -catch -endtry - -set background=dark - -" Set background to transparent -hi Normal guibg=NONE ctermbg=NONE - -" Set extra options when running in GUI mode -if has("gui_running") - set guioptions-=T - set guioptions-=e - set t_Co=256 - set guitablabel=%M\ %t -endif - -" Set utf8 as standard encoding and en_US as the standard language -set encoding=utf8 - -" Use Unix as the standard file type -set ffs=unix,dos,mac - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Files, backups and undo -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Turn backup off, since most stuff is in SVN, git etc. anyway... -set nobackup -set nowb -set noswapfile - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Text, tab and indent related -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Use spaces instead of tabs -set expandtab - -" Be smart when using tabs ;) -set smarttab - -" 1 tab == 2 spaces -set shiftwidth=2 -set tabstop=2 - -" Linebreak on 500 characters -set lbr -set tw=500 - -set ai "Auto indent -set si "Smart indent -set wrap "Wrap lines - - -"""""""""""""""""""""""""""""" -" => Visual mode related -"""""""""""""""""""""""""""""" -" Visual mode pressing * or # searches for the current selection -vnoremap * :call VisualSelection('', '')/=@/ -vnoremap # :call VisualSelection('', '')?=@/ - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Moving around, tabs, windows and buffers -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Map to / (search) and Ctrl- to ? (backwards search) -map / -map ? - -" Disable highlight when is pressed -map :noh - -" Smart way to move between windows -map j -map k -map h -map l - -" Close the current buffer -map bd :Bclose:tabclosegT - -" Close all the buffers -map ba :bufdo bd - -map l :bnext -map h :bprevious - -" Useful mappings for managing tabs -map tn :tabnew -map to :tabonly -map tc :tabclose -map tm :tabmove -map t :tabnext - -" Let 'tl' toggle between this and the last accessed tab -let g:lasttab = 1 -nmap tl :exe "tabn ".g:lasttab -au TabLeave * let g:lasttab = tabpagenr() - - -" Opens a new tab with the current buffer's path -" Super useful when editing files in the same directory -map te :tabedit =escape(expand("%:p:h"), " ")/ - -" Switch CWD to the directory of the open buffer -map cd :cd %:p:h:pwd - -" Specify the behavior when switching between buffers -try - set switchbuf=useopen,usetab,newtab - set stal=2 -catch -endtry - -" Return to last edit position when opening files (You want this!) -au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif - - -"""""""""""""""""""""""""""""" -" => Status line -"""""""""""""""""""""""""""""" -" Always show the status line -set laststatus=2 - -" Format the status line -function! GitBranch() - return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'") -endfunction -function! StatuslineGit() - let l:branchname = GitBranch() - return strlen(l:branchname) > 0?' '.l:branchname.' ':'' -endfunction - -" StatusLine is currently broken. Using the vim default. -" set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ Cursor:\ %l/%c\ \ \ Lines:\ %L%=%{StatuslineGit()} - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Editing mappings -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Remap VIM 0 to first non-blank character -map 0 ^ - -" Move a line of text using ALT+[jk] or Command+[jk] on mac -nmap mz:m+`z -nmap mz:m-2`z -vmap :m'>+`mzgv`yo`z -vmap :m'<-2`>my` - nmap - vmap - vmap -endif - -" Delete trailing white space on save, useful for some filetypes ;) -fun! CleanExtraSpaces() - let save_cursor = getpos(".") - let old_query = getreg('/') - silent! %s/\s\+$//e - call setpos('.', save_cursor) - call setreg('/', old_query) -endfun - -if has("autocmd") - autocmd BufWritePre *.txt,*.js,*.py,*.wiki,*.sh,*.coffee :call CleanExtraSpaces() -endif - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Spell checking -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Pressing ,ss will toggle and untoggle spell checking -map ss :setlocal spell! - -" Shortcuts using -map sn ]s -map sp [s -map sa zg -map s? z= - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Misc -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Remove the Windows ^M - when the encodings gets messed up -noremap m mmHmt:%s///ge'tzt'm - -" Quickly open a buffer for scribble -map q :e ~/buffer - -" Quickly open a markdown buffer for scribble -map x :e ~/buffer.md - -" Toggle paste mode on and off -map pp :setlocal paste! - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Helper functions -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Returns true if paste mode is enabled -function! HasPaste() - if &paste - return 'PASTE MODE ' - endif - return '' -endfunction - -" Don't close window, when deleting a buffer -command! Bclose call BufcloseCloseIt() -function! BufcloseCloseIt() - let l:currentBufNum = bufnr("%") - let l:alternateBufNum = bufnr("#") - - if buflisted(l:alternateBufNum) - buffer # - else - bnext - endif - - if bufnr("%") == l:currentBufNum - new - endif - - if buflisted(l:currentBufNum) - execute("bdelete! ".l:currentBufNum) - endif -endfunction - -function! CmdLine(str) - call feedkeys(":" . a:str) -endfunction - -function! VisualSelection(direction, extra_filter) range - let l:saved_reg = @" - execute "normal! vgvy" - - let l:pattern = escape(@", "\\/.*'$^~[]") - let l:pattern = substitute(l:pattern, "\n$", "", "") - - if a:direction == 'gv' - call CmdLine("Ack '" . l:pattern . "' " ) - elseif a:direction == 'replace' - call CmdLine("%s" . '/'. l:pattern . '/') - endif - - let @/ = l:pattern - let @" = l:saved_reg -endfunction - -set nocompatible -" VIM-PLUG PLUGINS -call plug#begin() -" The default plugin directory will be as follows: -" - Vim (Linux/macOS): '~/.vim/plugged' -" - Vim (Windows): '~/vimfiles/plugged' -" - Neovim (Linux/macOS/Windows): stdpath('data') . '/plugged' - -Plug 'vimwiki/vimwiki' - -call plug#end() diff --git a/config-files/.dialogrc b/config-files/.dialogrc deleted file mode 100644 index 692c905e..00000000 --- a/config-files/.dialogrc +++ /dev/null @@ -1,147 +0,0 @@ -# -# Run-time configuration file for dialog -# -# Automatically generated by "dialog --create-rc " -# -# -# Types of values: -# -# Number - -# String - "string" -# Boolean - -# Attribute - (foreground,background,highlight?,underline?,reverse?) - -# Set aspect-ration. -aspect = 0 - -# Set separator (for multiple widgets output). -separate_widget = "" - -# Set tab-length (for textbox tab-conversion). -tab_len = 0 - -# Make tab-traversal for checklist, etc., include the list. -visit_items = OFF - -# Show scrollbar in dialog boxes? -# use_scrollbar = OFF - -# Shadow dialog boxes? This also turns on color. -use_shadow = ON - -# Turn color support ON or OFF -use_colors = ON - -# Screen color -screen_color = (WHITE,BLACK,OFF) - -# Shadow color -shadow_color = (BLACK,BLACK,ON) - -# Dialog box color -dialog_color = (BLACK,WHITE,OFF) - -# Dialog box title color -title_color = (BLACK,WHITE,OFF) - -# Dialog box border color -border_color = (WHITE,WHITE,ON) - -# Active button color -button_active_color = (WHITE,BLACK,ON) - -# Inactive button color -button_inactive_color = dialog_color - -# Active button key color -button_key_active_color = button_active_color - -# Inactive button key color -button_key_inactive_color = (BLACK,WHITE,OFF) - -# Active button label color -button_label_active_color = (WHITE,BLACK,ON) - -# Inactive button label color -button_label_inactive_color = (BLACK,WHITE,ON) - -# Input box color -inputbox_color = dialog_color - -# Input box border color -inputbox_border_color = dialog_color - -# Search box color -searchbox_color = dialog_color - -# Search box title color -searchbox_title_color = title_color - -# Search box border color -searchbox_border_color = border_color - -# File position indicator color -position_indicator_color = title_color - -# Menu box color -menubox_color = dialog_color - -# Menu box border color -menubox_border_color = border_color - -# Item color -item_color = dialog_color - -# Selected item color -item_selected_color = button_active_color - -# Tag color -tag_color = title_color - -# Selected tag color -tag_selected_color = button_label_active_color - -# Tag key color -tag_key_color = button_key_inactive_color - -# Selected tag key color -tag_key_selected_color = (WHITE,BLACK,ON) - -# Check box color -check_color = dialog_color - -# Selected check box color -check_selected_color = button_active_color - -# Up arrow color -uarrow_color = (GREEN,WHITE,ON) - -# Down arrow color -darrow_color = uarrow_color - -# Item help-text color -itemhelp_color = screen_color - -# Active form text color -form_active_text_color = button_active_color - -# Form text color -form_text_color = (WHITE,BLACK,ON) - -# Readonly form item color -form_item_readonly_color = (BLACK,WHITE,ON) - -# Dialog box gauge color -gauge_color = title_color - -# Dialog box border2 color -border2_color = dialog_color - -# Input box border2 color -inputbox_border2_color = dialog_color - -# Search box border2 color -searchbox_border2_color = dialog_color - -# Menu box border2 color -menubox_border2_color = dialog_color diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-Bold.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-Bold.ttf deleted file mode 100644 index b82ccbcb..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-Bold.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-BoldItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-BoldItalic.ttf deleted file mode 100644 index 35f0080e..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-BoldItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-ExtraBold.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-ExtraBold.ttf deleted file mode 100644 index e0583b91..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-ExtraBold.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-ExtraBoldItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-ExtraBoldItalic.ttf deleted file mode 100644 index 7067c7e3..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-ExtraBoldItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-ExtraLight.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-ExtraLight.ttf deleted file mode 100644 index e73c32c4..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-ExtraLight.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-ExtraLightItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-ExtraLightItalic.ttf deleted file mode 100644 index dc97e7d4..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-ExtraLightItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-Italic.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-Italic.ttf deleted file mode 100644 index a341a375..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-Italic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-Light.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-Light.ttf deleted file mode 100644 index 92af420a..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-Light.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-LightItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-LightItalic.ttf deleted file mode 100644 index c96176d6..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-LightItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-Medium.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-Medium.ttf deleted file mode 100644 index 6e02f936..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-Medium.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-MediumItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-MediumItalic.ttf deleted file mode 100644 index 3bf04ff5..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-MediumItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-Regular.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-Regular.ttf deleted file mode 100644 index a6031886..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-Regular.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-SemiBold.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-SemiBold.ttf deleted file mode 100644 index 63b46cb7..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-SemiBold.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-SemiBoldItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-SemiBoldItalic.ttf deleted file mode 100644 index 338ce729..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-SemiBoldItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-Thin.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-Thin.ttf deleted file mode 100644 index 55f2b17d..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-Thin.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFont-ThinItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFont-ThinItalic.ttf deleted file mode 100644 index 9b597165..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFont-ThinItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-Bold.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-Bold.ttf deleted file mode 100644 index 1e744ce1..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-Bold.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-BoldItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-BoldItalic.ttf deleted file mode 100644 index 1eaf8dcf..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-BoldItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraBold.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraBold.ttf deleted file mode 100644 index b1bef6b1..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraBold.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraBoldItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraBoldItalic.ttf deleted file mode 100644 index f00b59a3..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraBoldItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraLight.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraLight.ttf deleted file mode 100644 index 6337300a..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraLight.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraLightItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraLightItalic.ttf deleted file mode 100644 index e70caf04..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-ExtraLightItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-Italic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-Italic.ttf deleted file mode 100644 index 32d96971..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-Italic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-Light.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-Light.ttf deleted file mode 100644 index 2978bc43..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-Light.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-LightItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-LightItalic.ttf deleted file mode 100644 index db1cb785..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-LightItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-Medium.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-Medium.ttf deleted file mode 100644 index b9d41d8c..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-Medium.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-MediumItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-MediumItalic.ttf deleted file mode 100644 index fe4c0503..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-MediumItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-Regular.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-Regular.ttf deleted file mode 100644 index 3fce55da..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-Regular.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-SemiBold.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-SemiBold.ttf deleted file mode 100644 index 86afdc07..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-SemiBold.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-SemiBoldItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-SemiBoldItalic.ttf deleted file mode 100644 index 2cd67317..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-SemiBoldItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-Thin.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-Thin.ttf deleted file mode 100644 index d73fa87b..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-Thin.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontMono-ThinItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontMono-ThinItalic.ttf deleted file mode 100644 index 85668ae7..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontMono-ThinItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Bold.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-Bold.ttf deleted file mode 100644 index 3bed27f6..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Bold.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-BoldItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-BoldItalic.ttf deleted file mode 100644 index 3a28f485..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-BoldItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraBold.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraBold.ttf deleted file mode 100644 index 99cfe5b2..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraBold.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraBoldItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraBoldItalic.ttf deleted file mode 100644 index faac295c..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraBoldItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraLight.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraLight.ttf deleted file mode 100644 index 1e8103b9..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraLight.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraLightItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraLightItalic.ttf deleted file mode 100644 index 58efb2a1..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-ExtraLightItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Italic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-Italic.ttf deleted file mode 100644 index 93936976..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Italic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Light.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-Light.ttf deleted file mode 100644 index 82dcd0b9..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Light.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-LightItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-LightItalic.ttf deleted file mode 100644 index 49c1e729..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-LightItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Medium.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-Medium.ttf deleted file mode 100644 index d134c56a..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Medium.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-MediumItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-MediumItalic.ttf deleted file mode 100644 index ac283a65..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-MediumItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Regular.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-Regular.ttf deleted file mode 100644 index de31c48e..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Regular.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-SemiBold.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-SemiBold.ttf deleted file mode 100644 index 059f6b39..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-SemiBold.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-SemiBoldItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-SemiBoldItalic.ttf deleted file mode 100644 index edfb4ef9..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-SemiBoldItalic.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Thin.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-Thin.ttf deleted file mode 100644 index 8aad716a..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-Thin.ttf and /dev/null differ diff --git a/config-files/.fonts/JetBrainsMonoNerdFontPropo-ThinItalic.ttf b/config-files/.fonts/JetBrainsMonoNerdFontPropo-ThinItalic.ttf deleted file mode 100644 index 9eda658f..00000000 Binary files a/config-files/.fonts/JetBrainsMonoNerdFontPropo-ThinItalic.ttf and /dev/null differ diff --git a/config-files/.homepage/index.html b/config-files/.homepage/index.html deleted file mode 100644 index 35e30360..00000000 --- a/config-files/.homepage/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - Homepage - - -
- -
-
- -
- - - diff --git a/config-files/.homepage/script.js b/config-files/.homepage/script.js deleted file mode 100644 index f64544f7..00000000 --- a/config-files/.homepage/script.js +++ /dev/null @@ -1,51 +0,0 @@ -// Load the config.json file (using JavaScript vanilla) - -let clock_text = document.getElementById("clock-text"); -let date_text = document.getElementById("date-text"); - -displayTime(); -setInterval(displayTime, 1000); -displayDate(); -setInterval(displayDate, 60000); - -function displayTime() { - let date = new Date(); - let hours = date.getHours(); - let minutes = date.getMinutes(); - let ampm = hours >= 12 ? "PM" : "AM"; - hours = hours % 12; - hours = hours ? hours : 12; - minutes = minutes < 10 ? "0" + minutes : minutes; - let time = hours + ":" + minutes + " " + ampm; - clock_text.innerHTML = time; -} - -function displayDate() { - let date = new Date(); - let days = [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - ]; - let day = days[date.getDay()]; - let dayNumber = date.getDate(); - let month = date.toLocaleString("default", { month: "long" }); - let year = date.getFullYear(); - - if (dayNumber == 1 || dayNumber == 21 || dayNumber == 31) { - dayNumber += "st"; - } else if (dayNumber == 2 || dayNumber == 22) { - dayNumber += "nd"; - } else if (dayNumber == 3 || dayNumber == 23) { - dayNumber += "rd"; - } else { - dayNumber += "th"; - } - - let dateText = day + ", " + dayNumber + " " + month + " " + year; - date_text.innerHTML = dateText; -} diff --git a/config-files/.homepage/style.css b/config-files/.homepage/style.css deleted file mode 100644 index f30673b4..00000000 --- a/config-files/.homepage/style.css +++ /dev/null @@ -1,21 +0,0 @@ -html, -body { - font-family: "JetBrainsMono NF", system-ui, -apple-system, BlinkMacSystemFont, - "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", - sans-serif; - color: #ebdbb2; - text-align: center; - background: #282828; - height: 100%; - display: flex; - flex-direction: column; - justify-content: center; -} - -.clock { - font-size: 8rem; -} - -.date { - font-size: 2rem; -} diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.svg b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.svg deleted file mode 100644 index f359a701..00000000 --- a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.symbolic.png deleted file mode 100644 index 8e6925a5..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/bullet@2-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/bullet@2-symbolic.symbolic.png deleted file mode 100644 index e9df4256..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/bullet@2-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.svg b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.svg deleted file mode 100644 index 27c620d4..00000000 --- a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.symbolic.png deleted file mode 100644 index 9144bcd1..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/check@2-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/check@2-symbolic.symbolic.png deleted file mode 100644 index c0baa3c1..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/check@2-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.svg b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.svg deleted file mode 100644 index de3638dd..00000000 --- a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.symbolic.png deleted file mode 100644 index 3afcfd6f..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/dash@2-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/dash@2-symbolic.symbolic.png deleted file mode 100644 index 9cb59945..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/dash@2-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png deleted file mode 100644 index bb01fab6..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png deleted file mode 100644 index a9dd44d0..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png deleted file mode 100644 index 774644b8..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png deleted file mode 100644 index b307ea43..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png deleted file mode 100644 index f6a9c363..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png deleted file mode 100644 index bf88b80f..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above.png deleted file mode 100644 index 451b5d92..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png deleted file mode 100644 index 8292a90c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png deleted file mode 100644 index d6fe329f..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png deleted file mode 100644 index c570548c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png deleted file mode 100644 index 55e73d4c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png deleted file mode 100644 index 68a8d1d6..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png deleted file mode 100644 index c3cdf8f0..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png deleted file mode 100644 index 57b52654..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below.png deleted file mode 100644 index 09a3a581..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png deleted file mode 100644 index fd816093..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png deleted file mode 100644 index 02645ecb..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png deleted file mode 100644 index 748f160c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png deleted file mode 100644 index fc30edaf..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png deleted file mode 100644 index bc69354a..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png deleted file mode 100644 index 2028ef77..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png deleted file mode 100644 index daef0668..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above.png deleted file mode 100644 index f7d335a4..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png deleted file mode 100644 index 496101b9..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png deleted file mode 100644 index dc07324b..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png deleted file mode 100644 index eba7322c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png deleted file mode 100644 index 312d33a3..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png deleted file mode 100644 index a80fa899..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png deleted file mode 100644 index bf546b1c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png deleted file mode 100644 index 743e0448..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below.png deleted file mode 100644 index 0c191431..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png deleted file mode 100644 index bb94b0d8..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark.png deleted file mode 100644 index ef29a0d4..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark@2.png deleted file mode 100644 index cbd5b7b5..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light.png deleted file mode 100644 index 58c01fd1..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light@2.png deleted file mode 100644 index 188c227e..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark.png deleted file mode 100644 index 534dbb3a..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark@2.png deleted file mode 100644 index 43da0e4f..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end.png deleted file mode 100644 index 84e80deb..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end@2.png deleted file mode 100644 index 2661b187..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark.png deleted file mode 100644 index 30973689..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark@2.png deleted file mode 100644 index d1c18539..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start.png deleted file mode 100644 index 28634f0b..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start@2.png b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start@2.png deleted file mode 100644 index 306e9546..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/gtk-dark.css b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/gtk-dark.css deleted file mode 100644 index 936a5763..00000000 --- a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/gtk-dark.css +++ /dev/null @@ -1,3249 +0,0 @@ -@define-color blue_1 #99c1f1; -@define-color blue_2 #62a0ea; -@define-color blue_3 #3584e4; -@define-color blue_4 #1c71d8; -@define-color blue_5 #1a5fb4; -@define-color green_1 #8ff0a4; -@define-color green_2 #57e389; -@define-color green_3 #33d17a; -@define-color green_4 #2ec27e; -@define-color green_5 #26a269; -@define-color yellow_1 #f9f06b; -@define-color yellow_2 #f8e45c; -@define-color yellow_3 #f6d32d; -@define-color yellow_4 #f5c211; -@define-color yellow_5 #e5a50a; -@define-color orange_1 #ffbe6f; -@define-color orange_2 #ffa348; -@define-color orange_3 #ff7800; -@define-color orange_4 #e66100; -@define-color orange_5 #c64600; -@define-color red_1 #f66151; -@define-color red_2 #ed333b; -@define-color red_3 #e01b24; -@define-color red_4 #c01c28; -@define-color red_5 #a51d2d; -@define-color purple_1 #dc8add; -@define-color purple_2 #c061cb; -@define-color purple_3 #9141ac; -@define-color purple_4 #813d9c; -@define-color purple_5 #613583; -@define-color brown_1 #cdab8f; -@define-color brown_2 #b5835a; -@define-color brown_3 #986a44; -@define-color brown_4 #865e3c; -@define-color brown_5 #63452c; -@define-color light_1 #ffffff; -@define-color light_2 #f6f5f4; -@define-color light_3 #deddda; -@define-color light_4 #c0bfbc; -@define-color light_5 #9a9996; -@define-color dark_1 #77767b; -@define-color dark_2 #5e5c64; -@define-color dark_3 #3d3846; -@define-color dark_4 #241f31; -@define-color dark_5 #000000; -@define-color accent_bg_color @blue_3; -@define-color accent_fg_color white; -@define-color accent_color #78aeed; -@define-color destructive_bg_color @red_4; -@define-color destructive_fg_color white; -@define-color destructive_color #ff7b63; -@define-color success_bg_color @green_5; -@define-color success_fg_color white; -@define-color success_color @green_1; -@define-color warning_bg_color #cd9309; -@define-color warning_fg_color rgba(0, 0, 0, 0.8); -@define-color warning_color @yellow_2; -@define-color error_bg_color @red_4; -@define-color error_fg_color white; -@define-color error_color #ff7b63; -@define-color window_bg_color #242424; -@define-color window_fg_color white; -@define-color view_bg_color #1e1e1e; -@define-color view_fg_color white; -@define-color headerbar_bg_color #303030; -@define-color headerbar_fg_color white; -@define-color headerbar_border_color white; -@define-color headerbar_backdrop_color @window_bg_color; -@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); -@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); -@define-color sidebar_bg_color #303030; -@define-color sidebar_fg_color white; -@define-color sidebar_backdrop_color #2a2a2a; -@define-color sidebar_shade_color rgba(0, 0, 0, 0.25); -@define-color sidebar_border_color rgba(0, 0, 0, 0.36); -@define-color card_bg_color rgba(255, 255, 255, 0.08); -@define-color card_fg_color white; -@define-color card_shade_color rgba(0, 0, 0, 0.36); -@define-color dialog_bg_color #383838; -@define-color dialog_fg_color white; -@define-color popover_bg_color #383838; -@define-color popover_fg_color white; -@define-color popover_shade_color rgba(0, 0, 0, 0.25); -@define-color thumbnail_bg_color #383838; -@define-color thumbnail_fg_color white; -@define-color shade_color rgba(0, 0, 0, 0.25); -@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); -@define-color incognito_bg_color #1c2438; -@define-color new_title_bg_color #303030; -* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: @error_bg_color; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 4px; -gtk-secondary-caret-color: @accent_bg_color; } - -.background { color: @window_fg_color; background-color: @window_bg_color; } - -.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; } - -*:disabled { -gtk-icon-effect: dim; } - -.gtkstyle-fallback { color: @window_fg_color; background-color: @window_bg_color; } - -.gtkstyle-fallback:hover { color: @window_fg_color; background-color: shade(@window_bg_color,1.1); } - -.gtkstyle-fallback:active { color: @window_fg_color; background-color: shade(@window_bg_color,0.9); } - -.gtkstyle-fallback:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -.gtkstyle-fallback:selected { color: @accent_fg_color; background-color: @accent_bg_color; } - -.view, iconview, .nautilus-window notebook, .nautilus-window notebook > stack:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar, .view text, iconview text, textview text { color: @view_fg_color; caret-color: shade(@view_fg_color,0.97); background-color: @view_bg_color; } - -.view:disabled, iconview:disabled, .nautilus-window notebook:disabled, .nautilus-window notebook > stack:disabled:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -.view:selected:focus, .view:selected, iconview:selected, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected, iconview text:selected, textview text:selected { background-color: alpha(@accent_bg_color,0.25); border-radius: 6px; } - -textview border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } - -.rubberband, rubberband, XfdesktopIconView.view .rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } - -flowbox flowboxchild { padding: 3px; } - -flowbox flowboxchild:selected { outline-offset: -2px; } - -.content-view .tile { margin: 2px; background-color: black; border-radius: 0; padding: 0; } - -.content-view .tile:backdrop { background-color: mix(black,@window_bg_color,0.95); } - -.content-view .tile:active, .content-view .tile:selected { background-color: @accent_bg_color; } - -.content-view .tile:disabled { background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -label { caret-color: currentColor; } - -label selection { background-color: @accent_bg_color; color: @accent_fg_color; } - -label:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -button label:disabled { color: inherit; } - -label:disabled:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -button label:disabled:backdrop { color: inherit; } - -label.error { color: @error_bg_color; } - -label.error:disabled { color: alpha(@error_bg_color,0.5); } - -label.error:disabled:backdrop { color: alpha(@error_bg_color,0.4); } - -.dim-label, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, .welcome .dim-label, .welcome label.separator, .welcome headerbar .subtitle, headerbar .welcome .subtitle, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; } - -assistant.csd .sidebar { border-top-style: none; } - -assistant .sidebar label { padding: 6px 12px; } - -assistant .sidebar label.highlight { background-color: mix(@window_bg_color,@window_fg_color,0.2); } - -.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } - -@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } } - -spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } - -spinner:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -spinner:checked { opacity: 1; animation: spin 1s linear infinite; } - -spinner:checked:disabled { opacity: 0.5; } - -.large-title { font-weight: 300; font-size: 24pt; } - -.title-1 { font-weight: 800; font-size: 20pt; } - -.title-2 { font-weight: 800; font-size: 15pt; } - -.title-3 { font-weight: 700; font-size: 15pt; } - -.title-4 { font-weight: 700; font-size: 13pt; } - -.heading { font-weight: 700; font-size: 11pt; } - -.body { font-weight: 400; font-size: 11pt; } - -.caption-heading { font-weight: 700; font-size: 9pt; } - -.caption { font-weight: 400; font-size: 9pt; } - -spinbutton:not(.vertical), entry { min-height: 34px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: @view_fg_color; border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.903); box-shadow: inset 0 0 0 1px alpha(alpha(@accent_color,0.5),0); } - -spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; } - -spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; } - -spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } - -spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); border-color: alpha(@accent_color,0.5); transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton:disabled:not(.vertical), entry:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); } - -spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; border-color: @error_bg_color; } - -spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton.error:not(.vertical) selection, entry.error selection { background-color: @error_bg_color; } - -spinbutton.warning:not(.vertical), entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } - -spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: @warning_bg_color; } - -spinbutton:not(.vertical) image, entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } - -spinbutton:not(.vertical) image:hover, entry image:hover { color: @window_fg_color; } - -spinbutton:not(.vertical) image:active, entry image:active { color: @accent_bg_color; } - -spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: @accent_bg_color; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } - -.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: @error_bg_color; } - -.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: @accent_bg_color; } - -.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } - -.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.7); } - -.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: alpha(@accent_color,0.5); } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: @error_bg_color; } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: @accent_bg_color; } - -.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: alpha(@accent_color,0.5); } - -.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: @error_bg_color; } - -.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: @accent_bg_color; } - -spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; } - -treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } - -treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } - -treeview entry.flat:focus, treeview entry:focus { border-color: @accent_bg_color; } - -.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: @view_bg_color; background-color: mix(@window_fg_color,@view_bg_color,0.5); } - -:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; } - -:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; } - -.entry-tag:hover { background-color: mix(white,mix(@window_fg_color,@view_bg_color,0.5),0.9); } - -:backdrop .entry-tag { color: @window_bg_color; background-color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -.entry-tag.button { background-color: transparent; color: alpha(@view_bg_color,0.7); } - -:not(:backdrop) .entry-tag.button:hover { border: 1px solid mix(@window_fg_color,@view_bg_color,0.5); color: @view_bg_color; } - -:not(:backdrop) .entry-tag.button:active { background-color: mix(@window_fg_color,@view_bg_color,0.5); color: alpha(@view_bg_color,0.7); } - -@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(mix(white,@accent_bg_color,0.85)), to(transparent)); } - to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); } } - -notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 10px; border: 1px solid; border-color: transparent; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); font-weight: bold; outline-style: solid; outline-offset: -2px; outline-width: 2px; -gtk-outline-radius: 4px; color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } - -button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition: none; } - -button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; } - -button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -notebook > header > tabs > arrow:hover, button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; -gtk-icon-effect: highlight; } - -notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; } - -notebook > header > tabs > arrow:active:hover, notebook > header > tabs > arrow:checked:hover, button:active:hover, button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { transition: 200ms ease-out; -gtk-icon-effect: none; } - -button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -notebook > header > tabs > arrow:disabled, button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } - -notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 4px; padding-right: 4px; } - -notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 10px; padding-right: 10px; } - -notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 4px; padding-right: 4px; } - -notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 4px; padding-right: 4px; } - -combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: @window_fg_color; border-color: transparent; } - -button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); border-radius: 5px; color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd.image-button { min-width: 34px; } - -button.osd:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd:active, button.osd:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd:disabled:backdrop, button.osd:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } - -button.osd:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } - -.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; border-color: transparent; box-shadow: none; } - -.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -button.suggested-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } - -button.suggested-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @accent_bg_color; } - -button.suggested-action:hover { color: white; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } - -button.suggested-action:active, button.suggested-action:checked { color: white; background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.suggested-action:active:hover, button.suggested-action:checked:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } - -button.suggested-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@accent_bg_color,0.8); } - -button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: mix(white,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } - -.osd button.suggested-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd button.suggested-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@accent_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.destructive-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } - -button.destructive-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @destructive_bg_color; } - -button.destructive-action:hover { color: white; background-color: mix(currentColor,@destructive_bg_color,0.85); box-shadow: none; } - -button.destructive-action:active, button.destructive-action:checked { color: white; background-color: mix(currentColor,@destructive_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.destructive-action:active:hover, button.destructive-action:checked:hover { background-color: mix(currentColor,@destructive_bg_color,0.653); } - -button.destructive-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@destructive_bg_color,0.8); } - -button.destructive-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: mix(white,shade(mix(@destructive_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; } - -.osd button.destructive-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd button.destructive-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@destructive_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.stack-switcher > button { outline-offset: -3px; } - -.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: 2px; padding-right: 2px; } - -.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; } - -button.font separator, button.file separator { background-color: transparent; } - -button.font > box > box > label { font-weight: bold; } - -.primary-toolbar button { -gtk-icon-shadow: none; } - -button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; } - -button.circular label { padding: 0; } - -button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); border-color: transparent; } - -button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: transparent; } - -stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } - -stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } - -.inline-toolbar toolbutton > button { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } - -.inline-toolbar toolbutton > button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } - -.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:active:hover, .inline-toolbar toolbutton > button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -.inline-toolbar toolbutton > button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.inline-toolbar toolbutton > button:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; } - -.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:first-child, headerbar .linked button:first-child:not(:only-child), .titlebar .linked button:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-left-color: transparent; border-top-left-radius: 6px; border-bottom-left-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-bottom-left-radius: 6px; } - -.linked:not(.vertical) > combobox:first-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):last-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:not(button):focus:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:first-child, headerbar .linked button:not(button):focus:first-child:not(:only-child), .titlebar .linked button:not(button):focus:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:first-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:first-child, .inline-toolbar button:not(button):focus:first-child, .linked > button:not(button):focus:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat:not(button):focus { border-left-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:last-child, headerbar .linked button:last-child:not(:only-child), .titlebar .linked button:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-color: transparent; border-right-style: solid; border-top-right-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-top-right-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } - -.linked:not(.vertical) > combobox:last-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):first-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:not(button):focus:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:last-child, headerbar .linked button:not(button):focus:last-child:not(:only-child), .titlebar .linked button:not(button):focus:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:last-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:last-child, .inline-toolbar button:not(button):focus:last-child, .linked > button:not(button):focus:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat:not(button):focus { border-right-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .xfce4-panel.background button menu .linked button:only-child, .nautilus-window .titlebar :not(.raised) .linked > button:only-child, headerbar .linked button:only-child:not(:only-child), .titlebar .linked button:only-child:not(:only-child), .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } - -.xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); } - -.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); border-style: solid none none none; border-radius: 0; -gtk-outline-radius: 0; } - -.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-color: transparent; border-top-left-radius: 6px; border-top-right-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-top-right-radius: 6px; } - -.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-color: transparent; border-bottom-style: solid; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-bottom-left-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } - -.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } - -.linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); } - -.scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -modelbutton.flat, .menuitem.button.flat { min-height: 32px; padding-left: 5px; padding-right: 5px; border-radius: 6px; outline-offset: -2px; } - -modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: alpha(currentColor,0.1); } - -modelbutton.flat:selected, .menuitem.button.flat:selected { background-color: alpha(currentColor,0.1); } - -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 { padding: 4px; } - -button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; } - -list row button.image-button:not(.flat):hover { background-color: alpha(currentColor,0.04); } - -list row button.image-button:not(.flat):active { background-color: alpha(currentColor,0.08); } - -list row button.image-button:not(.flat):checked { background-color: alpha(@accent_bg_color,0.25); } - -list row button.image-button:not(.flat):checked:hover { background-color: alpha(@accent_bg_color,0.32); } - -list row button.image-button:not(.flat):checked:active { background-color: alpha(@accent_bg_color,0.39); } - -button:link > label, button:visited > label, button:link, button:visited, *:link { color: @accent_color; } - -button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: mix(@accent_color,@view_fg_color,0.2); } - -*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: mix(@accent_fg_color,mix(@accent_color,@view_fg_color,0.2),0.4); } - -button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: mix(white,@accent_color,0.9); } - -*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: mix(@accent_fg_color,mix(white,@accent_color,0.9),0.1); } - -button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: @accent_color; } - -*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: mix(@accent_fg_color,@accent_color,0.2); } - -button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: alpha(@accent_color,0.9); } - -button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: alpha(mix(white,black,0.5),0.8); } - -.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: mix(@accent_fg_color,@accent_color,0.2); } - -button:link, button:visited { text-shadow: none; font-weight: 400; } - -button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; } - -button:link > label, button:visited > label { text-decoration-line: underline; } - -spinbutton { font-feature-settings: "tnum"; } - -spinbutton:not(.vertical) { padding: 0; } - -.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; } - -spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; } - -spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: mix(@window_fg_color,@view_bg_color,0.1); background-color: transparent; border-style: none none none solid; border-color: alpha(currentColor,0.15); border-radius: 0; box-shadow: none; } - -spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } - -spinbutton:not(.vertical) button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-color: alpha(currentColor,0.1); } - -spinbutton:not(.vertical) button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: transparent; } - -spinbutton:not(.vertical) button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: alpha(currentColor,0.15); } - -spinbutton:not(.vertical) button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } - -spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } - -.osd spinbutton:not(.vertical) button { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-style: none none none solid; border-color: alpha(rgba(0, 0, 0, 0.9),0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } - -.osd spinbutton:not(.vertical) button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); background-color: alpha(rgba(255, 255, 255, 0.9),0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } - -.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } - -spinbutton.vertical:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; } - -spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; } - -spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; } - -spinbutton.vertical button.up { border-color: alpha(currentColor,0.15); border-radius: 6px 6px 0 0; border-style: none none solid none; } - -spinbutton.vertical button.down { border-color: alpha(currentColor,0.15); border-radius: 0 0 6px 6px; border-style: solid none none none; } - -.osd spinbutton.vertical button:first-child { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd spinbutton.vertical button:first-child:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } - -treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; } - -combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } - -combobox:drop(active) { box-shadow: none; } - -searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: @window_bg_color; } - -searchbar > revealer > box:backdrop, .location-bar:backdrop, .inline-toolbar:backdrop, toolbar:backdrop { background-color: @window_bg_color; } - -toolbar { padding: 4px 3px 3px 4px; } - -.osd toolbar { background-color: transparent; } - -toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(0, 0, 0, 0.7); } - -toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; } - -toolbar.horizontal separator { margin: 0 7px 1px 6px; } - -toolbar.vertical separator { margin: 6px 1px 7px 0; } - -toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; } - -.inline-toolbar { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); border-style: solid; padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; } - -searchbar > revealer > box, .location-bar { border-width: 0 0 1px; border-style: solid; border-color: mix(currentColor,@window_bg_color,0.85); padding: 3px; } - -searchbar > revealer > box { margin: -6px; padding: 6px; } - -.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: @headerbar_shade_color; border-radius: 0; background: @headerbar_bg_color linear-gradient(to top, @headerbar_bg_color, @headerbar_bg_color); } - -.titlebar:backdrop:not(headerbar), headerbar:backdrop { background-color: @headerbar_backdrop_color; background-image: none; transition: 200ms ease-out; } - -.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } - -.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } - -.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.7); background: @accent_bg_color linear-gradient(to top, @accent_bg_color, @accent_bg_color); } - -.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: @accent_bg_color; background-image: none; box-shadow: inset 0 1px mix(alpha(@window_fg_color,0.07),@accent_bg_color,0.4); } - -.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: @accent_fg_color; } - -.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } - -.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:active:hover, .selection-mode .titlebar:not(headerbar) button:checked:hover, .selection-mode.titlebar:not(headerbar) button:active:hover, .selection-mode.titlebar:not(headerbar) button:checked:hover, .selection-mode headerbar button:active:hover, .selection-mode headerbar button:checked:hover, .selection-mode headerbar button.toggle:checked:hover, .selection-mode headerbar button.toggle:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.toggle:checked:hover, headerbar.selection-mode button.toggle:active:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } - -.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { color: mix(@accent_fg_color,@accent_bg_color,0.2); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; -gtk-icon-effect: none; border-color: transparent; } - -.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); } - -.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode headerbar button.suggested-action:active:hover, headerbar.selection-mode button.suggested-action:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: alpha(@accent_bg_color,0); background-color: alpha(@accent_bg_color,0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; } - -.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; } - -.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: alpha(@accent_fg_color,0.5); -gtk-icon-shadow: none; } - -.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; } - -.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 36px; padding: 0 6px 0 6px; } - -.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { border-radius: 100%; background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:hover, headerbar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:active, headerbar.default-decoration button.titlebutton:hover:active, headerbar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop, headerbar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop:hover, headerbar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } - -.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; } - -.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; } - -headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; } - -headerbar switch { margin-top: 9px; margin-bottom: 9px; } - -headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; } - -.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; } - -window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 12px; } - -window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 12px; } - -window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; } - -window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; } - -.titlebar:not(headerbar) separator { background-color: mix(currentColor,@window_bg_color,0.85); } - -.titlebar:not(headerbar) separator:backdrop { background-color: mix(currentColor,@window_bg_color,0.73); } - -window.devel headerbar.titlebar:not(.selection-mode) { background: @window_bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, alpha(@accent_bg_color,0.1)), linear-gradient(to top, mix(white,@headerbar_bg_color,0.97) 3px, mix(white,@headerbar_bg_color,0.95)); } - -window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: @headerbar_backdrop_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(@headerbar_backdrop_color); } - -.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; } - -.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; } - -.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; } - -.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; } - -.path-bar button image { padding-left: 4px; padding-right: 4px; } - -.path-bar button.slider-button { padding-left: 0; padding-right: 0; } - -treeview.view { border-left-color: mix(@window_fg_color,@view_bg_color,0.5); border-top-color: @window_bg_color; } - -* { -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:selected:focus, treeview.view:selected { border-radius: 0; } - -treeview.view:selected:backdrop, treeview.view:selected { border-left-color: mix(@accent_fg_color,@accent_bg_color,0.5); border-top-color: alpha(@window_fg_color,0.1); } - -treeview.view:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -treeview.view:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.6); } - -treeview.view:disabled:selected:backdrop { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.7); } - -treeview.view.separator { min-height: 2px; color: @window_bg_color; } - -treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: mix(black,@accent_bg_color,0.7); } - -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-end-symbolic"); color: mix(@view_fg_color,@view_bg_color,0.3); } - -treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -treeview.view.expander:hover { color: @view_fg_color; } - -treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -treeview.view.progressbar { background-color: @accent_bg_color; background-image: image(@accent_bg_color); box-shadow: none; } - -treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); background-image: image(@view_bg_color); } - -treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { background-color: @window_bg_color; } - -treeview.view.progressbar:backdrop { border-color: @window_bg_color; background-image: none; box-shadow: none; } - -treeview.view.trough { background-color: alpha(@window_fg_color,0.1); } - -treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: mix(black,@accent_bg_color,0.9); } - -treeview.view header button { color: mix(@window_fg_color,@view_bg_color,0.5); background-color: @view_bg_color; font-weight: bold; font-size: smaller; text-shadow: none; box-shadow: none; } - -treeview.view header button:hover { color: mix(mix(@window_fg_color,@view_bg_color,0.5),@window_fg_color,0.5); box-shadow: none; transition: none; } - -treeview.view header button:active { color: @window_fg_color; transition: none; } - -treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: @view_bg_color; background-image: none; background-color: @accent_bg_color; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px @view_bg_color; text-shadow: none; transition: none; } - -treeview.view acceleditor > label { background-color: @accent_bg_color; } - -treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none; border-radius: 0; text-shadow: none; } - -treeview.view header button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } - -treeview.view header button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -treeview.view header button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -treeview.view header button:disabled { border-color: @window_bg_color; background-image: none; } - -treeview.view header button:last-child { border-right-style: none; } - -menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0; } - -menubar:backdrop, .menubar:backdrop { background-color: @window_bg_color; } - -menubar > menuitem, .menubar > menuitem { border-radius: 6px; min-height: 16px; padding: 4px 8px; } - -menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 8px; padding: 6px; } - -menubar > menuitem menu:dir(rtl) menuitem, menubar > menuitem menu:dir(ltr) menuitem, .menubar > menuitem menu:dir(rtl) menuitem, .menubar > menuitem menu:dir(ltr) menuitem { border-radius: 6px; } - -menubar > menuitem:hover, .menubar > menuitem:hover { background-color: alpha(currentColor,0.1); } - -menubar > menuitem:disabled, .menubar > menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); box-shadow: none; } - -menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 8px; } - -.background.popup { background-color: transparent; } - -menu, .menu, .context-menu { margin: 4px; padding: 6px; background-color: @popover_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -menu separator, .menu separator, .context-menu separator { margin: 6px 0; } - -.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 8px; } - -menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; font-weight: normal; border-radius: 6px; } - -menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: @window_fg_color; background-color: alpha(currentColor,0.1); } - -menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -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: 10px; } - -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: 10px; } - -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 { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; min-height: 16px; min-width: 16px; padding: 4px; background-color: @popover_bg_color; border-radius: 0; } - -menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-top-right-radius: 8px; border-top-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: mix(@window_fg_color,@view_bg_color,0.9); } - -menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; } - -menuitem accelerator { color: alpha(currentColor,0.55); } - -menuitem check, menuitem radio { min-height: 16px; min-width: 16px; } - -menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; } - -menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; } - -popover.background { padding: 2px; background-color: @popover_bg_color; box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 8px 3px rgba(0, 0, 0, 0.05); } - -.csd popover.background, popover.background { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-radius: 12px; } - -.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.14); } - -popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; } - -.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); } - -popover.background separator { margin: 6px 0; } - -popover.background list separator { margin: 0px; } - -notebook > header { padding: 0px; border-color: alpha(currentColor,0.15); border-width: 0px; background-color: @window_bg_color; box-shadow: none; } - -notebook > header.top { box-shadow: inset 0 -1px alpha(currentColor,0.15); } - -notebook > header.bottom { box-shadow: inset 0 1px alpha(currentColor,0.15); } - -notebook > header.left { box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -notebook > header.right { box-shadow: inset 1px 0 alpha(currentColor,0.15); } - -notebook > header tabs { margin: 0px; } - -notebook > header.top { border-bottom-style: solid; } - -notebook > header.top > tabs { margin-bottom: 0px; } - -notebook > header.top > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } - -notebook > header.top > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.top > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 -4px @accent_bg_color; } - -notebook > header.bottom { border-top-style: solid; } - -notebook > header.bottom > tabs { margin-top: 0px; } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 4px @accent_bg_color; } - -notebook > header.left { border-right-style: solid; } - -notebook > header.left > tabs { margin-right: 0px; } - -notebook > header.left > tabs > tab:not(.reorderable-page):hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } - -notebook > header.left > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.left > tabs > tab:not(.reorderable-page):checked { box-shadow: inset -4px 0 @accent_bg_color; } - -notebook > header.right { border-left-style: solid; } - -notebook > header.right > tabs { margin-left: 0px; } - -notebook > header.right > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } - -notebook > header.right > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.right > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 4px 0 @accent_bg_color; } - -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 { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } - -notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } - -notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -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 { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } - -notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; } - -notebook > header > tabs > arrow:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: @window_fg_color; font-weight: normal; border-width: 0px; border-color: transparent; } - -notebook > header tab.reorderable-page { background-color: mix(currentColor,@window_bg_color,0.99); box-shadow: inset -1px -1px alpha(currentColor,0.15); border: none; } - -notebook > header tab:hover { color: @window_fg_color; } - -notebook > header tab:hover.reorderable-page { border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.963); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(currentColor,0.15); transition: background-color 150ms ease-in-out; } - -notebook > header tab:hover.reorderable-page:backdrop { background-color: mix(currentColor,@window_bg_color,1.017); } - -notebook > header tab:backdrop.reorderable-page { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.4); border-color: transparent; background-color: mix(currentColor,@window_bg_color,1.07); box-shadow: inset -1px -1px alpha(currentColor,0.15); } - -notebook > header tab:checked { color: @window_fg_color; } - -notebook > header tab:checked.reorderable-page { border-width: 0; border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px @accent_bg_color; } - -notebook > header tab:checked.reorderable-page:hover { background-color: shade(mix(currentColor,@window_bg_color,0.943),1.11); } - -notebook > header tab:backdrop:checked.reorderable-page { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: alpha(currentColor,0.15); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(@accent_bg_color,0.5); background-color: @window_bg_color; } - -notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; border-radius: 100%; } - -notebook > header tab button.flat:hover { color: currentColor; background-color: alpha(currentColor,0.15); } - -notebook > header tab button.flat:active { background-color: alpha(currentColor,0.3); } - -notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); } - -notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } - -notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } - -notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 0px; padding-right: 0px; } - -notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } - -notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; } - -notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; } - -notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; } - -notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; margin-left: 0px; margin-right: 0px; } - -notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } - -notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; } - -notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; } - -notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; } - -notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: none solid; margin-top: 0px; margin-bottom: 0px; } - -notebook > header.top tab { padding-bottom: 4px; } - -notebook > header.bottom tab { padding-top: 4px; } - -notebook > stack:not(:only-child) { background-color: @view_bg_color; } - -scrollbar { background-color: @view_bg_color; transition: all 200ms linear; } - -* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; } - -scrollbar slider { color: @window_fg_color; min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: alpha(currentColor,0.2); transition: all 200ms linear; } - -scrollbar slider:hover { background-color: alpha(currentColor,0.4); } - -scrollbar slider:hover:active { background-color: alpha(currentColor,0.6); } - -scrollbar slider:disabled { background-color: transparent; } - -scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: alpha(@accent_color,0.6); } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; transition-property: background-color, min-height, min-width; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: @window_fg_color; border: 1px solid black; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: @window_fg_color; background-clip: padding-box; border-radius: 100%; border: 1px solid black; -gtk-icon-source: none; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { margin: 0 2px; min-width: 40px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { margin: 1px 2px; min-width: 5px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { margin: 2px 0; min-height: 40px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { margin: 2px 1px; min-height: 5px; } - -scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; } - -scrollbar.horizontal slider { min-width: 40px; } - -scrollbar.vertical slider { min-height: 40px; } - -scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } - -scrollbar button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.4); } - -scrollbar button:active, scrollbar button:checked { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.6); } - -scrollbar button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } - -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"); } - -treeview ~ scrollbar.vertical { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); margin-top: -1px; } - -switch { outline-offset: -4px; padding: 3px; border-radius: 14px; color: @window_fg_color; background-color: alpha(currentColor,0.15); } - -switch:hover:not(:checked) { background-color: alpha(currentColor,0.2); } - -switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } - -switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } - -switch:checked:hover:active { background-image: image(rgba(0, 0, 0, 0.2)); } - -switch:checked:disabled { background-color: alpha(@accent_bg_color,0.5); } - -switch:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; } - -switch slider { margin: 0px; min-width: 20px; min-height: 20px; background-color: mix(white,@view_bg_color,0.2); border: 1px solid transparent; border-radius: 50%; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; } - -switch image { color: transparent; } - -switch:hover slider { background-color: white; } - -switch:checked > slider { background-color: white; } - -switch:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: none; } - -.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), .content-view:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.7); background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; } - -checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; } - -checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; } - -check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 2px solid; -gtk-icon-source: none; padding: 1px; } - -check:only-child, radio:only-child { margin: 0; } - -popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; } - -popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; } - -check, radio { background-clip: padding-box; background-image: image(transparent); border-color: alpha(currentColor,0.15); box-shadow: none; color: @window_fg_color; } - -check:hover:not(:checked):not(:indeterminate), radio:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:active, radio:active { box-shadow: none; } - -check:disabled, radio:disabled { box-shadow: none; background-image: image(transparent); color: alpha(@window_fg_color,0.5); border-color: alpha(currentColor,0.15); } - -check:checked, radio:checked { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } - -check:checked:hover:not(:checked):not(:indeterminate), radio:checked:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:checked:active, radio:checked:active { box-shadow: none; } - -check:checked:disabled, radio:checked:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } - -check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } - -check:indeterminate:hover:not(:checked):not(:indeterminate), radio:indeterminate:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:indeterminate:active, radio:indeterminate:active { box-shadow: none; } - -check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } - -.osd check, .osd radio { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:hover, .osd radio:hover { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:active, .osd radio:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:backdrop, .osd radio:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd check:disabled, .osd radio:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -menu menuitem check, menu menuitem radio { margin: 0; padding: 0; } - -menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:not(:checked), menu menuitem check:not(:checked):hover, menu menuitem check:not(:checked):disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:not(:checked), menu menuitem radio:not(:checked):hover, menu menuitem radio:not(:checked):disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; padding: 1px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-width: 1px; border-color: mix(currentColor,transparent,0.4); } - -check { border-radius: 6px; } - -check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } - -check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } - -menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled { border: none; } - -treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; } - -treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } - -treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } - -menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } - -treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: @accent_fg_color; } - -progressbar trough, scale fill, scale trough { border-radius: 6px; background-color: alpha(currentColor,0.15); } - -progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: alpha(alpha(currentColor,0.15),0.5); } - -row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: mix(black,@accent_bg_color,0.7); } - -.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.7); } - -.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(0, 0, 0, 0.65); } - -progressbar progress, scale highlight { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } - -progressbar progress:disabled, scale highlight:disabled { background-color: mix(@accent_bg_color,@view_bg_color,0.5); border-color: transparent; } - -row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: mix(black,@accent_bg_color,0.7); } - -.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.9); } - -.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; } - -scale { min-height: 10px; min-width: 10px; padding: 12px; } - -scale slider { min-height: 18px; min-width: 18px; margin: -9px; } - -scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; } - -scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; } - -scale.fine-tune slider { margin: -6px; } - -scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; } - -scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; } - -scale.horizontal trough { min-height: 4px; } - -scale.vertical trough { min-width: 4px; } - -scale fill:backdrop, scale fill { background-color: mix(currentColor,@window_bg_color,0.85); } - -scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; } - -.osd scale fill { background-color: mix(rgba(255, 255, 255, 0.9),rgba(0, 0, 0, 0.9),0.75); } - -.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; } - -scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; } - -scale slider:hover { background-color: white; } - -scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } - -scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15); } - -scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } - -row:selected scale slider:disabled, row:selected scale slider { border-color: mix(black,@accent_bg_color,0.7); } - -.osd scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; } - -.osd scale slider:hover { background-color: white; } - -.osd scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } - -.osd scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2); } - -.osd scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } - -scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; } - -scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; } - -scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; } - -scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; } - -scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; } - -scale.vertical marks.top { margin-right: 6px; margin-left: -12px; } - -scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; } - -scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; } - -scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; } - -scale.horizontal indicator { min-height: 6px; min-width: 1px; } - -scale.horizontal.fine-tune indicator { min-height: 3px; } - -scale.vertical indicator { min-height: 1px; min-width: 6px; } - -scale.vertical.fine-tune indicator { min-width: 3px; } - -scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:hover, scale.horizontal.marks-before:not(.marks-after) slider:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:hover:hover, scale.horizontal.marks-before:not(.marks-after) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:hover, scale.horizontal.marks-after:not(.marks-before) slider:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:hover:hover, scale.horizontal.marks-after:not(.marks-before) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:hover, scale.vertical.marks-before:not(.marks-after) slider:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:hover:hover, scale.vertical.marks-before:not(.marks-after) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:hover, scale.vertical.marks-after:not(.marks-before) slider:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:hover:hover, scale.vertical.marks-after:not(.marks-before) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.color { min-height: 0; min-width: 0; } - -scale.color trough { background-image: image(mix(currentColor,@window_bg_color,0.85)); background-repeat: no-repeat; } - -scale.color.horizontal { padding: 0 0 15px 0; } - -scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; } - -scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; } - -scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; } - -scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; } - -scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } - -scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; } - -scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; } - -scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } - -scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; } - -scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; } - -scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; } - -scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; } - -scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; } - -scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } - -scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; } - -scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; } - -scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } - -progressbar { font-size: smaller; color: alpha(@window_fg_color,0.4); font-feature-settings: "tnum"; } - -progressbar.horizontal trough, progressbar.horizontal progress { min-height: 8px; } - -progressbar.vertical trough, progressbar.vertical progress { min-width: 8px; } - -progressbar.horizontal progress { margin: 0 -1px; } - -progressbar.vertical progress { margin: -1px 0; } - -progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; } - -progressbar progress { border-radius: 8px; } - -progressbar progress.left { border-top-left-radius: 8px; border-bottom-left-radius: 8px; } - -progressbar progress.right { border-top-right-radius: 8px; border-bottom-right-radius: 8px; } - -progressbar progress.top { border-top-right-radius: 8px; border-top-left-radius: 8px; } - -progressbar progress.bottom { border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; } - -progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; } - -progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } - -progressbar.osd progress { border-style: none; border-radius: 0; } - -progressbar trough.empty progress { all: unset; } - -levelbar.horizontal block { min-height: 8px; } - -levelbar.horizontal.continuous block:first-child, levelbar.horizontal.continuous block:last-child { border-radius: 8px; } - -levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; } - -levelbar.horizontal.discrete block:first-child { border-radius: 8px 0 0 8px; } - -levelbar.horizontal.discrete block:last-child { border-radius: 0 8px 8px 0; } - -levelbar.vertical block { min-width: 8px; } - -levelbar.vertical.continuous block:first-child, levelbar.vertical.continuous block:last-child { border-radius: 8px; } - -levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; } - -levelbar.vertical.discrete block:first-child { border-radius: 8px 8px 0 0; } - -levelbar.vertical.discrete block:last-child { border-radius: 0 0 8px 8px; } - -levelbar:backdrop { transition: 200ms ease-out; } - -levelbar trough { border: 0px solid; padding: 0; border-radius: 8px; background-color: alpha(currentColor,0.15); } - -levelbar trough:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } - -levelbar block { border: 0px solid; border-radius: 0; } - -levelbar block.low { border-color: @warning_bg_color; background-color: @warning_bg_color; } - -levelbar block.low:backdrop { border-color: @warning_bg_color; } - -levelbar block.high, levelbar block:not(.empty) { border-color: @accent_bg_color; background-color: @accent_bg_color; } - -levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: @accent_bg_color; } - -levelbar block.full { border-color: @success_bg_color; background-color: @success_bg_color; } - -levelbar block.full:backdrop { border-color: @success_bg_color; } - -levelbar block.empty { background-color: transparent; border-color: alpha(@window_fg_color,0.1); } - -levelbar block.empty:backdrop { border-color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.15); } - -printdialog paper { color: @window_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); background: white; padding: 0; border-radius: 0; box-shadow: none; } - -printdialog paper:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } - -printdialog .dialog-action-box { margin: 12px; } - -frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -frame > border.flat, .frame.flat { border-style: none; } - -actionbar > revealer > box { padding: 6px; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } - -scrolledwindow viewport.frame { border-style: none; } - -scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, mix(currentColor,@window_bg_color,0.85) 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: @view_bg_color; } - -scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; } - -separator { background: mix(currentColor,@window_bg_color,0.85); min-width: 1px; min-height: 1px; } - -list { color: @view_fg_color; background-color: @view_bg_color; border-color: @card_shade_color; } - -list row { padding: 2px; outline-color: alpha(@accent_color,0.5); outline-style: solid; outline-offset: -3px; outline-width: 2px; -gtk-outline-radius: 6px; } - -row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row:hover { transition: none; } - -row:backdrop { transition: 200ms ease-out; } - -row.activatable.has-open-popup, row.activatable:hover { background-color: alpha(currentColor,0.07); } - -row.activatable:active { background-color: alpha(currentColor,0.16); } - -row.activatable:backdrop:hover { background-color: transparent; } - -row.activatable:selected { color: @window_fg_color; } - -row.activatable:selected:active { background-color: alpha(currentColor,0.19); } - -row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: alpha(currentColor,0.13); color: @window_fg_color; } - -row.activatable:selected:backdrop { background-color: alpha(currentColor,0.07); color: @window_fg_color; } - -row:selected { background-color: alpha(currentColor,0.1); } - -.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; border: none; } - -.app-notification:backdrop, .app-notification.frame:backdrop { background-image: none; transition: 200ms ease-out; } - -.app-notification border, .app-notification.frame border { border: none; } - -expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } - -expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -expander title > arrow:hover { color: mix(white,@window_fg_color,0.7); } - -expander title > arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -expander title > arrow:disabled:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -calendar { color: @view_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -calendar:selected { border-radius: 6px; } - -calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); } - -calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); } - -calendar.button { color: alpha(@window_fg_color,0.45); } - -calendar.button:hover { color: @window_fg_color; } - -calendar.button:backdrop { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } - -calendar.button:disabled { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } - -calendar.highlight { color: mix(@window_fg_color,@window_bg_color,0.5); } - -calendar.highlight:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -calendar:backdrop { color: mix(@view_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } - -calendar:indeterminate { color: alpha(currentColor,0.1); } - -messagedialog .titlebar, messagedialog .titlebar:backdrop { min-height: 20px; background-image: none; background: @dialog_bg_color; color: @dialog_fg_color; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } - -messagedialog.csd.background { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; background-color: @dialog_bg_color; color: @dialog_fg_color; } - -messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; background-color: @dialog_bg_color; color: @dialog_fg_color; border-top: 1px solid alpha(currentColor,0.15); border-left: 1px solid alpha(currentColor,0.15); } - -messagedialog.csd .dialog-action-area button:hover { background: alpha(currentColor,0.04); } - -messagedialog.csd .dialog-action-area button:active { background: alpha(currentColor,0.08); } - -messagedialog.csd .dialog-action-area button.suggested-action { color: @accent_color; } - -messagedialog.csd .dialog-action-area button.destructive-action { color: @destructive_color; } - -messagedialog.csd .dialog-action-area button:checked { background: alpha(@accent_bg_color,0.25); } - -messagedialog.csd .dialog-action-area button:checked:hover { background: alpha(@accent_bg_color,0.32); } - -messagedialog.csd .dialog-action-area button:checked:active { background: alpha(@accent_bg_color,0.39); } - -messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 11px; -gtk-outline-bottom-left-radius: 11px; } - -messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 11px; -gtk-outline-bottom-right-radius: 11px; } - -filechooser .dialog-action-box { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } - -filechooser #pathbarbox { border-bottom: 1px solid @window_bg_color; } - -filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; } - -.sidebar { border-style: none; background-color: @sidebar_bg_color; color: @sidebar_fg_color; } - -.sidebar:backdrop { background-color: @sidebar_backdrop_color; } - -stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid @sidebar_border_color; border-left-style: none; } - -stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid @sidebar_border_color; border-right-style: none; } - -.sidebar list { background-color: transparent; } - -paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } - -.sidebar row { border-radius: 6px; } - -.sidebar row:backdrop { color: @sidebar_fg_color; } - -.sidebar row, .sidebar separator { margin: 0 4px; } - -stacksidebar row { padding: 10px 4px; } - -stacksidebar row > label { padding-left: 6px; padding-right: 6px; } - -stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } - -separator.sidebar { background-color: @sidebar_border_color; } - -separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: shade(@accent_bg_color,0.8); } - -row image.sidebar-icon { opacity: 0.7; } - -placessidebar > viewport.frame { border-style: none; } - -placessidebar row { min-height: 36px; padding: 0px; } - -placessidebar row > revealer { padding: 0 14px; } - -placessidebar row:selected { color: @accent_fg_color; } - -placessidebar row:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -placessidebar row:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -placessidebar row:backdrop:selected { color: mix(@view_fg_color,@window_bg_color,0.5); } - -placessidebar row:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -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; } - -button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; } - -button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; } - -placessidebar row:selected:active { box-shadow: none; } - -placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } - -placessidebar row.sidebar-new-bookmark-row { color: @accent_bg_color; } - -placessidebar row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 1px @accent_bg_color, inset 0 -1px @accent_bg_color; } - -placessidebar row:drop(active):not(:disabled):selected { color: @accent_fg_color; background-color: @accent_bg_color; } - -placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } - -placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); } - -placesview row.activatable:hover { background-color: transparent; } - -placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; } - -paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px; } - -paned > separator:selected { background-image: image(@accent_bg_color); } - -paned > separator:backdrop { background-image: image(mix(currentColor,@window_bg_color,0.73)); } - -paned > separator.wide { min-width: 5px; min-height: 5px; background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.85)), image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px, 1px 1px; } - -paned > separator.wide:backdrop { background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.73)), image(mix(currentColor,@window_bg_color,0.73)); } - -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; } - -infobar { border-style: none; } - -infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.info > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.info button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } - -infobar.info button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } - -infobar.info button:checked, infobar.info button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } - -infobar.info button:backdrop:not(:disabled) label, infobar.info button:backdrop:not(:disabled), infobar.info button:not(:disabled) label, infobar.info button:not(:disabled) { color: @window_fg_color; } - -infobar.info button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } - -infobar.info button:disabled label, infobar.info button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } - -infobar.action.info:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } - -infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.question > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.question button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } - -infobar.question button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } - -infobar.question button:checked, infobar.question button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } - -infobar.question button:backdrop:not(:disabled) label, infobar.question button:backdrop:not(:disabled), infobar.question button:not(:disabled) label, infobar.question button:not(:disabled) { color: @window_fg_color; } - -infobar.question button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } - -infobar.question button:disabled label, infobar.question button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } - -infobar.action.question:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } - -infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.warning > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.warning button { background-color: mix(@warning_bg_color,@window_bg_color,0.5); } - -infobar.warning button:hover { background-color: mix(@warning_bg_color,@window_bg_color,0.35); } - -infobar.warning button:checked, infobar.warning button:active { background-color: mix(@warning_bg_color,@window_bg_color,0.2); } - -infobar.warning button:backdrop:not(:disabled) label, infobar.warning button:backdrop:not(:disabled), infobar.warning button:not(:disabled) label, infobar.warning button:not(:disabled) { color: @window_fg_color; } - -infobar.warning button:disabled { background-color: mix(@warning_bg_color,@window_bg_color,0.6); } - -infobar.warning button:disabled label, infobar.warning button:disabled { color: alpha(mix(@window_fg_color,@warning_bg_color,0.3),0.6); } - -infobar.action.warning:hover > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@warning_bg_color,@window_bg_color,0.3); } - -infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.error > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.error button { background-color: mix(@error_bg_color,@window_bg_color,0.5); } - -infobar.error button:hover { background-color: mix(@error_bg_color,@window_bg_color,0.35); } - -infobar.error button:checked, infobar.error button:active { background-color: mix(@error_bg_color,@window_bg_color,0.2); } - -infobar.error button:backdrop:not(:disabled) label, infobar.error button:backdrop:not(:disabled), infobar.error button:not(:disabled) label, infobar.error button:not(:disabled) { color: @window_fg_color; } - -infobar.error button:disabled { background-color: mix(@error_bg_color,@window_bg_color,0.6); } - -infobar.error button:disabled label, infobar.error button:disabled { color: alpha(mix(@window_fg_color,@error_bg_color,0.3),0.6); } - -infobar.action.error:hover > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@error_bg_color,@window_bg_color,0.3); } - -infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } - -infobar selection { background-color: shade(@window_bg_color,0.9); } - -infobar *:link { color: @accent_color; } - -tooltip { padding: 4px; border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; } - -tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); } - -tooltip decoration { background-color: transparent; } - -tooltip * { padding: 4px; background-color: transparent; color: white; } - -colorswatch:drop(active), colorswatch { border-style: none; } - -colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; } - -colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; } - -colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; } - -colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } - -colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; } - -colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; } - -colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; } - -colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; } - -colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); } - -colorswatch.dark overlay { color: white; } - -colorswatch.dark overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } - -colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); } - -colorswatch.light overlay { color: black; } - -colorswatch.light overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } - -colorswatch:drop(active) { box-shadow: none; } - -colorswatch:drop(active).light overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } - -colorswatch:drop(active).dark overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } - -colorswatch overlay { border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); } - -colorswatch#add-color-button { border-radius: 5px 5px 0 0; } - -colorswatch#add-color-button:only-child { border-radius: 5px; } - -colorswatch#add-color-button overlay { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } - -colorswatch#add-color-button overlay:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } - -colorswatch:disabled { opacity: 0.5; } - -colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; } - -row:selected colorswatch { box-shadow: 0 0 0 2px @accent_fg_color; } - -colorswatch#editor-color-sample { border-radius: 4px; } - -colorswatch#editor-color-sample overlay { border-radius: 4.5px; } - -colorchooser .popover.osd { border-radius: 5px; } - -.content-view { background-color: shade(@window_bg_color,0.93); } - -.content-view:hover { -gtk-icon-effect: highlight; } - -.osd .scale-popup button.flat { border-style: none; border-radius: 5px; } - -.scale-popup button:hover { background-color: alpha(@window_fg_color,0.1); border-radius: 5px; } - -decoration { border-radius: 12px 12px 0 0; border-width: 0px; box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); margin: 10px; } - -decoration:backdrop { box-shadow: 0 3px 12px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.14), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); transition: 200ms ease-out; } - -.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; } - -.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86), 0 0 0 20px transparent; } - -.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7), 0 0 0 20px transparent; } - -.popup decoration { box-shadow: none; } - -.ssd decoration { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); } - -.ssd decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); } - -.ssd.maximized decoration, .ssd.maximized decoration:backdrop { box-shadow: none; } - -.csd.popup decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } - -tooltip.csd decoration { border-radius: 5px; box-shadow: none; } - -messagedialog.csd decoration { border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } - -.solid-csd decoration { margin: 0; padding: 4px; background-color: mix(currentColor,@window_bg_color,0.85); border: solid 1px mix(currentColor,@window_bg_color,0.85); border-radius: 0; box-shadow: inset 0 0 0 5px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px mix(currentColor,@window_bg_color,0.85); } - -.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px @window_bg_color; } - -button.titlebutton { padding: 2px; margin: 0; box-shadow: none; border: none; background: none; text-shadow: none; } - -button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 0px; margin: 0 4px; min-width: 24px; min-height: 24px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-color: alpha(currentColor,0.1); } - -button.titlebutton:not(.appmenu):hover { background-color: alpha(currentColor,0.15); } - -button.titlebutton:not(.appmenu):hover:active { background-color: alpha(currentColor,0.3); } - -button.titlebutton:not(.appmenu):backdrop { background-color: alpha(currentColor,0.1); } - -button.titlebutton:not(.appmenu):backdrop:hover { background-color: alpha(currentColor,0.15); } - -button.titlebutton:backdrop { -gtk-icon-shadow: none; } - -.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; } - -headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { background-color: alpha(@accent_bg_color,0.25); } - -label:selected, .selection-mode button.titlebutton, headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { color: @window_fg_color; } - -.monospace { font-family: monospace; } - -cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; } - -cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } - -cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } - -cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -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")); } - -cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } - -cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } - -cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -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; } - -.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: @window_fg_color; background-color: @view_bg_color; border: 1px solid; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 5px; box-shadow: inset 0 -3px mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.4); font-size: smaller; } - -.keycap:backdrop { background-color: @window_bg_color; color: mix(@window_fg_color,@window_bg_color,0.5); transition: 200ms ease-out; } - -:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } - -stackswitcher button.text-button { min-width: 100px; } - -stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } - -.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -popover.emoji-picker { padding-left: 0; padding-right: 0; } - -popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; } - -button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; } - -button.emoji-section:first-child { margin-left: 7px; } - -button.emoji-section:last-child { margin-right: 7px; } - -button.emoji-section:backdrop:not(:checked) { border-color: transparent; } - -button.emoji-section:hover { border-color: alpha(@window_fg_color,0.1); } - -button.emoji-section:checked { border-color: alpha(currentColor,0.1); } - -button.emoji-section label { padding: 0; opacity: 0.55; } - -button.emoji-section:hover label { opacity: 0.775; } - -button.emoji-section:checked label { opacity: 1; } - -popover.emoji-picker .emoji { font-size: x-large; padding: 6px; border-radius: 6px; } - -popover.emoji-picker .emoji :focus, popover.emoji-picker .emoji :hover { background: alpha(currentColor,0.07); } - -popover.emoji-picker .emoji :active { background: alpha(currentColor,0.16); } - -popover.emoji-completion arrow { border: none; background: none; } - -popover.emoji-completion contents row box { padding: 2px 10px; } - -popover.emoji-completion .emoji:hover { background: alpha(currentColor,0.04); } - -@define-color theme_fg_color @window_fg_color; -@define-color theme_text_color @view_fg_color; -@define-color theme_bg_color @window_bg_color; -@define-color theme_base_color @view_bg_color; -@define-color theme_selected_bg_color @accent_bg_color; -@define-color theme_selected_fg_color @accent_fg_color; -@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); -@define-color insensitive_fg_color mix(@window_fg_color,@window_bg_color,0.5); -@define-color insensitive_base_color @view_bg_color; -@define-color theme_unfocused_fg_color mix(@window_fg_color,@window_bg_color,0.5); -@define-color theme_unfocused_text_color @view_fg_color; -@define-color theme_unfocused_bg_color @window_bg_color; -@define-color theme_unfocused_base_color @window_bg_color; -@define-color theme_unfocused_selected_bg_color @accent_bg_color; -@define-color theme_unfocused_selected_fg_color @accent_fg_color; -@define-color unfocused_insensitive_color mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); -@define-color borders mix(currentColor,@window_bg_color,0.85); -@define-color unfocused_borders mix(currentColor,@window_bg_color,0.73); -@define-color warning_color @warning_color; -@define-color error_color @error_color; -@define-color success_color @success_color; -@define-color wm_title shade(@window_fg_color, 1.8); -@define-color wm_unfocused_title mix(@window_fg_color,@window_bg_color,0.5); -@define-color wm_highlight rgba(0, 0, 0, 0); -@define-color wm_borders_edge alpha(@window_fg_color,0.07); -@define-color wm_bg_a shade(@window_bg_color, 1.2); -@define-color wm_bg_b @window_bg_color; -@define-color wm_shadow alpha(black, 0.35); -@define-color wm_border alpha(black, 0.18); -@define-color wm_button_hover_color_a shade(@window_bg_color, 1.3); -@define-color wm_button_hover_color_b @window_bg_color; -@define-color wm_button_active_color_a shade(@window_bg_color, 0.85); -@define-color wm_button_active_color_b shade(@window_bg_color, 0.89); -@define-color wm_button_active_color_c shade(@window_bg_color, 0.9); -@define-color content_view_bg @view_bg_color; -@define-color text_view_bg shade(@view_bg_color,0.94); -.nautilus-window .thumbnail, .checkerboard { background-position: 0px 0px, 10px 10px; background-size: 20px 20px; background-image: linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, transparent 25%, transparent 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%), linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, @view_bg_color 25%, @view_bg_color 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%); } - -.org-gnome-Calendar .titlebar .text-button, .nautilus-window .linked entry ~ .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup, headerbar .linked entry ~ .image-button, .titlebar .linked entry ~ .image-button, headerbar .linked.raised button, headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button, .titlebar .linked.raised button, .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button, headerbar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.org-gnome-Calendar .titlebar .text-button:backdrop, .nautilus-window .linked entry ~ .image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop, headerbar .linked entry ~ .image-button:backdrop, .titlebar .linked entry ~ .image-button:backdrop, headerbar .linked.raised button:backdrop, headerbar .linked button:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop, .titlebar .linked.raised button:backdrop, .titlebar .linked button:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop, headerbar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.97),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.97),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:hover, .nautilus-window .linked entry ~ .image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover, headerbar .linked entry ~ .image-button:hover, .titlebar .linked entry ~ .image-button:hover, headerbar .linked.raised button:hover, headerbar .linked button:hover:not(:only-child), headerbar > .stack-switcher.linked > button:hover, .titlebar .linked.raised button:hover, .titlebar .linked button:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:hover, headerbar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.993),0.85); box-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:hover:backdrop, .nautilus-window .linked entry ~ .image-button:hover:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover:backdrop, headerbar .linked entry ~ .image-button:hover:backdrop, .titlebar .linked entry ~ .image-button:hover:backdrop, headerbar .linked.raised button:hover:backdrop, headerbar .linked button:hover:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:hover:backdrop, .titlebar .linked.raised button:hover:backdrop, .titlebar .linked button:hover:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:hover:backdrop, headerbar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.88),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active, .nautilus-window .linked entry ~ .image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active, headerbar .linked entry ~ .image-button:active, .titlebar .linked entry ~ .image-button:active, headerbar .linked.raised button:active, headerbar .linked button:active:not(:only-child), headerbar > .stack-switcher.linked > button:active, .titlebar .linked.raised button:active, .titlebar .linked button:active:not(:only-child), .titlebar > .stack-switcher.linked > button:active, headerbar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked, .nautilus-window .linked entry ~ .image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked, headerbar .linked entry ~ .image-button:checked, .titlebar .linked entry ~ .image-button:checked, headerbar .linked.raised button:checked, headerbar .linked button:checked:not(:only-child), headerbar > .stack-switcher.linked > button:checked, .titlebar .linked.raised button:checked, .titlebar .linked button:checked:not(:only-child), .titlebar > .stack-switcher.linked > button:checked, headerbar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.653); } - -.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active:hover:hover, .nautilus-window .linked entry ~ .image-button:active:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover:hover, headerbar .linked entry ~ .image-button:active:hover:hover, .titlebar .linked entry ~ .image-button:active:hover:hover, headerbar .linked.raised button:active:hover:hover, headerbar .linked button:active:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover:hover, .titlebar .linked.raised button:active:hover:hover, .titlebar .linked button:active:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover:hover, headerbar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover:hover, headerbar .linked entry ~ .image-button:checked:hover:hover, .titlebar .linked entry ~ .image-button:checked:hover:hover, headerbar .linked.raised button:checked:hover:hover, headerbar .linked button:checked:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover:hover, .titlebar .linked.raised button:checked:hover:hover, .titlebar .linked button:checked:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover:hover, headerbar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.653); } - -.org-gnome-Calendar .titlebar .text-button:active:backdrop, .nautilus-window .linked entry ~ .image-button:active:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:backdrop, headerbar .linked entry ~ .image-button:active:backdrop, .titlebar .linked entry ~ .image-button:active:backdrop, headerbar .linked.raised button:active:backdrop, headerbar .linked button:active:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:active:backdrop, .titlebar .linked.raised button:active:backdrop, .titlebar .linked button:active:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:active:backdrop, headerbar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:backdrop, .nautilus-window .linked entry ~ .image-button:checked:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:backdrop, headerbar .linked entry ~ .image-button:checked:backdrop, .titlebar .linked entry ~ .image-button:checked:backdrop, headerbar .linked.raised button:checked:backdrop, headerbar .linked button:checked:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:checked:backdrop, .titlebar .linked.raised button:checked:backdrop, .titlebar .linked button:checked:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:backdrop, headerbar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.89),0.903); } - -.org-gnome-Calendar .titlebar .text-button:disabled, .nautilus-window .linked entry ~ .image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:disabled, headerbar .linked entry ~ .image-button:disabled, .titlebar .linked entry ~ .image-button:disabled, headerbar .linked.raised button:disabled, headerbar .linked button:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:disabled, .titlebar .linked.raised button:disabled, .titlebar .linked button:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:disabled, headerbar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:backdrop:disabled, .nautilus-window .linked entry ~ .image-button:backdrop:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop:disabled, headerbar .linked entry ~ .image-button:backdrop:disabled, .titlebar .linked entry ~ .image-button:backdrop:disabled, headerbar .linked.raised button:backdrop:disabled, headerbar .linked button:backdrop:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop:disabled, .titlebar .linked.raised button:backdrop:disabled, .titlebar .linked button:backdrop:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop:disabled, headerbar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .nautilus-window .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .default.toggle.popup:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), headerbar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .titlebar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.org-gnome-Calendar .titlebar .flat.text-button:not(:hover):not(:active), .nautilus-window .linked entry ~ .flat.image-button:not(:hover):not(:active):not(:checked):not(.model), .nautilus-window .search + .flat.toggle.popup:not(:hover):not(:active), headerbar .linked entry ~ .flat.image-button:not(:hover):not(:active), .titlebar .linked entry ~ .flat.image-button:not(:hover):not(:active), headerbar .linked.raised button.flat:not(:hover):not(:active), headerbar .linked button.flat:not(:hover):not(:active):not(:only-child), headerbar > .stack-switcher.linked > button.flat:not(:hover):not(:active), .titlebar .linked.raised button.flat:not(:hover):not(:active), .titlebar .linked button.flat:not(:hover):not(:active):not(:only-child), .titlebar > .stack-switcher.linked > button.flat:not(:hover):not(:active), headerbar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover, headerbar viewswitcher button.radio:hover:checked, .titlebar viewswitcher button.radio:hover:checked, headerbar button:hover:not(.titlebutton), .titlebar button:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.903); } - -.nautilus-window .linked.raised button.image-button:hover:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover:backdrop, headerbar viewswitcher button.radio:hover:backdrop:checked, .titlebar viewswitcher button.radio:hover:backdrop:checked, headerbar button:hover:backdrop:not(.titlebutton), .titlebar button:hover:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active, headerbar button:active:not(.titlebutton), .titlebar button:active:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked, headerbar viewswitcher button.radio:checked, .titlebar viewswitcher button.radio:checked, headerbar button:checked:not(.titlebutton), .titlebar button:checked:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.nautilus-window .linked.raised button.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:hover, headerbar button:active:hover:not(.titlebutton), .titlebar button:active:hover:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:hover, headerbar viewswitcher button.radio:checked:hover, .titlebar viewswitcher button.radio:checked:hover, headerbar button:checked:hover:not(.titlebutton), .titlebar button:checked:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.963),0.903); } - -.nautilus-window .linked.raised button.image-button:active:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:backdrop, headerbar button:active:backdrop:not(.titlebutton), .titlebar button:active:backdrop:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:backdrop, headerbar viewswitcher button.radio:checked:backdrop, .titlebar viewswitcher button.radio:checked:backdrop, headerbar button:checked:backdrop:not(.titlebutton), .titlebar button:checked:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, .titlebar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, headerbar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton), .titlebar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.nautilus-window .linked.raised button.flat.image-button:not(:hover):not(:active):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.flat:not(:hover):not(:active), headerbar viewswitcher button.flat.radio:not(:hover):not(:active):checked, .titlebar viewswitcher button.flat.radio:not(:hover):not(:active):checked, headerbar button.flat:not(:hover):not(:active):not(.titlebutton), .titlebar button.flat:not(:hover):not(:active):not(.titlebutton) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action, .content list button.suggested-action, .content list > row:not(:selected):hover button.suggested-action, list.content button.suggested-action, list.content > row:not(:selected):hover button.suggested-action, list.view.frame button.suggested-action, list.view.frame > row:not(:selected):hover button.suggested-action, headerbar.selection-mode button, headerbar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button, .titlebar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button, .nautilus-window .linked entry ~ .suggested-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup, headerbar .linked entry ~ .suggested-action.image-button, .titlebar .linked entry ~ .suggested-action.image-button, headerbar .linked.raised button.suggested-action, headerbar .linked button.suggested-action:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action, .titlebar .linked.raised button.suggested-action, .titlebar .linked button.suggested-action:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action, headerbar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:not(.titlebutton), .titlebar button.suggested-action:not(.titlebutton), headerbar button.text-button.suggested-action:not(.titlebutton) { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } - -popover.background button.suggested-action:hover, .content list button.suggested-action:hover, .content list > row:not(:selected):hover button.suggested-action:hover, list.content button.suggested-action:hover, list.content > row:not(:selected):hover button.suggested-action:hover, list.view.frame button.suggested-action:hover, list.view.frame > row:not(:selected):hover button.suggested-action:hover, headerbar.selection-mode button:hover, headerbar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:hover, .titlebar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:hover, headerbar .linked entry ~ .suggested-action.image-button:hover, .titlebar .linked entry ~ .suggested-action.image-button:hover, headerbar .linked.raised button.suggested-action:hover, headerbar .linked button.suggested-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:hover, .titlebar .linked.raised button.suggested-action:hover, .titlebar .linked button.suggested-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:hover, headerbar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:hover, headerbar viewswitcher button.suggested-action.radio:hover:checked, .titlebar viewswitcher button.suggested-action.radio:hover:checked, headerbar button.suggested-action:hover:not(.titlebutton), .titlebar button.suggested-action:hover:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } - -popover.background button.suggested-action:active, .content list button.suggested-action:active, .content list > row:not(:selected):hover button.suggested-action:active, list.content button.suggested-action:active, list.content > row:not(:selected):hover button.suggested-action:active, list.view.frame button.suggested-action:active, list.view.frame > row:not(:selected):hover button.suggested-action:active, headerbar.selection-mode button:active, headerbar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active, .titlebar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active, .nautilus-window .linked entry ~ .suggested-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active, headerbar .linked entry ~ .suggested-action.image-button:active, .titlebar .linked entry ~ .suggested-action.image-button:active, headerbar .linked.raised button.suggested-action:active, headerbar .linked button.suggested-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active, .titlebar .linked.raised button.suggested-action:active, .titlebar .linked button.suggested-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active, headerbar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active, headerbar button.suggested-action:active:not(.titlebutton), .titlebar button.suggested-action:active:not(.titlebutton), popover.background button.suggested-action:checked, .content list button.suggested-action:checked, .content list > row:not(:selected):hover button.suggested-action:checked, list.content button.suggested-action:checked, list.content > row:not(:selected):hover button.suggested-action:checked, list.view.frame button.suggested-action:checked, list.view.frame > row:not(:selected):hover button.suggested-action:checked, headerbar.selection-mode button:checked, headerbar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked, .titlebar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked, headerbar .linked entry ~ .suggested-action.image-button:checked, .titlebar .linked entry ~ .suggested-action.image-button:checked, headerbar .linked.raised button.suggested-action:checked, headerbar .linked button.suggested-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked, .titlebar .linked.raised button.suggested-action:checked, .titlebar .linked button.suggested-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked, headerbar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:checked:not(.titlebutton), .titlebar button.suggested-action:checked:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action:active:hover, .content list button.suggested-action:active:hover, .content list > row:not(:selected):hover button.suggested-action:active:hover, list.content button.suggested-action:active:hover, list.content > row:not(:selected):hover button.suggested-action:active:hover, list.view.frame button.suggested-action:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active:hover, .titlebar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active:hover, headerbar .linked entry ~ .suggested-action.image-button:active:hover, .titlebar .linked entry ~ .suggested-action.image-button:active:hover, headerbar .linked.raised button.suggested-action:active:hover, headerbar .linked button.suggested-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active:hover, .titlebar .linked.raised button.suggested-action:active:hover, .titlebar .linked button.suggested-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active:hover, headerbar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active:hover, headerbar button.suggested-action:active:hover:not(.titlebutton), .titlebar button.suggested-action:active:hover:not(.titlebutton), popover.background button.suggested-action:checked:hover, .content list button.suggested-action:checked:hover, .content list > row:not(:selected):hover button.suggested-action:checked:hover, list.content button.suggested-action:checked:hover, list.content > row:not(:selected):hover button.suggested-action:checked:hover, list.view.frame button.suggested-action:checked:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked:hover, .titlebar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked:hover, headerbar .linked entry ~ .suggested-action.image-button:checked:hover, .titlebar .linked entry ~ .suggested-action.image-button:checked:hover, headerbar .linked.raised button.suggested-action:checked:hover, headerbar .linked button.suggested-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked:hover, .titlebar .linked.raised button.suggested-action:checked:hover, .titlebar .linked button.suggested-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked:hover, headerbar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked:hover, headerbar viewswitcher button.suggested-action.radio:checked:hover, .titlebar viewswitcher button.suggested-action.radio:checked:hover, headerbar button.suggested-action:checked:hover:not(.titlebutton), .titlebar button.suggested-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.653); } - -popover.background button.suggested-action:backdrop, .content list button.suggested-action:backdrop, .content list > row:not(:selected):hover button.suggested-action:backdrop, list.content button.suggested-action:backdrop, list.content > row:not(:selected):hover button.suggested-action:backdrop, list.view.frame button.suggested-action:backdrop, list.view.frame > row:not(:selected):hover button.suggested-action:backdrop, headerbar.selection-mode button:backdrop, headerbar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:backdrop, .titlebar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:backdrop, headerbar .linked entry ~ .suggested-action.image-button:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:backdrop, headerbar .linked.raised button.suggested-action:backdrop, headerbar .linked button.suggested-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:backdrop, .titlebar .linked.raised button.suggested-action:backdrop, .titlebar .linked button.suggested-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:backdrop, headerbar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:backdrop, headerbar viewswitcher button.suggested-action.radio:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:backdrop:checked, headerbar button.suggested-action:backdrop:not(.titlebutton), .titlebar button.suggested-action:backdrop:not(.titlebutton) { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action:disabled, .content list button.suggested-action:disabled, .content list > row:not(:selected):hover button.suggested-action:disabled, list.content button.suggested-action:disabled, list.content > row:not(:selected):hover button.suggested-action:disabled, list.view.frame button.suggested-action:disabled, list.view.frame > row:not(:selected):hover button.suggested-action:disabled, headerbar.selection-mode button:disabled, headerbar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled, .titlebar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled, headerbar .linked entry ~ .suggested-action.image-button:disabled, .titlebar .linked entry ~ .suggested-action.image-button:disabled, headerbar .linked.raised button.suggested-action:disabled, headerbar .linked button.suggested-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled, .titlebar .linked.raised button.suggested-action:disabled, .titlebar .linked button.suggested-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled, headerbar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled, headerbar viewswitcher button.suggested-action.radio:disabled:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:checked, headerbar button.suggested-action:disabled:not(.titlebutton), .titlebar button.suggested-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -popover.background button.suggested-action:disabled:backdrop, .content list button.suggested-action:disabled:backdrop, .content list > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.content button.suggested-action:disabled:backdrop, list.content > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.view.frame button.suggested-action:disabled:backdrop, headerbar.selection-mode button:disabled:backdrop, headerbar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled:backdrop, .titlebar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .suggested-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:disabled:backdrop, headerbar .linked.raised button.suggested-action:disabled:backdrop, headerbar .linked button.suggested-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, .titlebar .linked.raised button.suggested-action:disabled:backdrop, .titlebar .linked button.suggested-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, headerbar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled:backdrop, headerbar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, headerbar button.suggested-action:disabled:backdrop:not(.titlebutton), .titlebar button.suggested-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action, .content list button.destructive-action, .content list > row:not(:selected):hover button.destructive-action, list.content button.destructive-action, list.content > row:not(:selected):hover button.destructive-action, list.view.frame button.destructive-action, list.view.frame > row:not(:selected):hover button.destructive-action, .org-gnome-Calendar .titlebar .destructive-action.text-button, .nautilus-window .linked entry ~ .destructive-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup, headerbar .linked entry ~ .destructive-action.image-button, .titlebar .linked entry ~ .destructive-action.image-button, headerbar .linked.raised button.destructive-action, headerbar .linked button.destructive-action:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action, .titlebar .linked.raised button.destructive-action, .titlebar .linked button.destructive-action:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action, headerbar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:not(.titlebutton), .titlebar button.destructive-action:not(.titlebutton), headerbar button.text-button.destructive-action:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } - -popover.background button.destructive-action:hover, .content list button.destructive-action:hover, .content list > row:not(:selected):hover button.destructive-action:hover, list.content button.destructive-action:hover, list.content > row:not(:selected):hover button.destructive-action:hover, list.view.frame button.destructive-action:hover, list.view.frame > row:not(:selected):hover button.destructive-action:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:hover, headerbar .linked entry ~ .destructive-action.image-button:hover, .titlebar .linked entry ~ .destructive-action.image-button:hover, headerbar .linked.raised button.destructive-action:hover, headerbar .linked button.destructive-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:hover, .titlebar .linked.raised button.destructive-action:hover, .titlebar .linked button.destructive-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:hover, headerbar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:hover, headerbar viewswitcher button.destructive-action.radio:hover:checked, .titlebar viewswitcher button.destructive-action.radio:hover:checked, headerbar button.destructive-action:hover:not(.titlebutton), .titlebar button.destructive-action:hover:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } - -popover.background button.destructive-action:active, .content list button.destructive-action:active, .content list > row:not(:selected):hover button.destructive-action:active, list.content button.destructive-action:active, list.content > row:not(:selected):hover button.destructive-action:active, list.view.frame button.destructive-action:active, list.view.frame > row:not(:selected):hover button.destructive-action:active, .org-gnome-Calendar .titlebar .destructive-action.text-button:active, .nautilus-window .linked entry ~ .destructive-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active, headerbar .linked entry ~ .destructive-action.image-button:active, .titlebar .linked entry ~ .destructive-action.image-button:active, headerbar .linked.raised button.destructive-action:active, headerbar .linked button.destructive-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active, .titlebar .linked.raised button.destructive-action:active, .titlebar .linked button.destructive-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active, headerbar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active, headerbar button.destructive-action:active:not(.titlebutton), .titlebar button.destructive-action:active:not(.titlebutton), popover.background button.destructive-action:checked, .content list button.destructive-action:checked, .content list > row:not(:selected):hover button.destructive-action:checked, list.content button.destructive-action:checked, list.content > row:not(:selected):hover button.destructive-action:checked, list.view.frame button.destructive-action:checked, list.view.frame > row:not(:selected):hover button.destructive-action:checked, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked, headerbar .linked entry ~ .destructive-action.image-button:checked, .titlebar .linked entry ~ .destructive-action.image-button:checked, headerbar .linked.raised button.destructive-action:checked, headerbar .linked button.destructive-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked, .titlebar .linked.raised button.destructive-action:checked, .titlebar .linked button.destructive-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked, headerbar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:checked:not(.titlebutton), .titlebar button.destructive-action:checked:not(.titlebutton) { color: @destructive_fg_color; background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action:active:hover, .content list button.destructive-action:active:hover, .content list > row:not(:selected):hover button.destructive-action:active:hover, list.content button.destructive-action:active:hover, list.content > row:not(:selected):hover button.destructive-action:active:hover, list.view.frame button.destructive-action:active:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:active:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active:hover, headerbar .linked entry ~ .destructive-action.image-button:active:hover, .titlebar .linked entry ~ .destructive-action.image-button:active:hover, headerbar .linked.raised button.destructive-action:active:hover, headerbar .linked button.destructive-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active:hover, .titlebar .linked.raised button.destructive-action:active:hover, .titlebar .linked button.destructive-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active:hover, headerbar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active:hover, headerbar button.destructive-action:active:hover:not(.titlebutton), .titlebar button.destructive-action:active:hover:not(.titlebutton), popover.background button.destructive-action:checked:hover, .content list button.destructive-action:checked:hover, .content list > row:not(:selected):hover button.destructive-action:checked:hover, list.content button.destructive-action:checked:hover, list.content > row:not(:selected):hover button.destructive-action:checked:hover, list.view.frame button.destructive-action:checked:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked:hover, headerbar .linked entry ~ .destructive-action.image-button:checked:hover, .titlebar .linked entry ~ .destructive-action.image-button:checked:hover, headerbar .linked.raised button.destructive-action:checked:hover, headerbar .linked button.destructive-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked:hover, .titlebar .linked.raised button.destructive-action:checked:hover, .titlebar .linked button.destructive-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked:hover, headerbar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked:hover, headerbar viewswitcher button.destructive-action.radio:checked:hover, .titlebar viewswitcher button.destructive-action.radio:checked:hover, headerbar button.destructive-action:checked:hover:not(.titlebutton), .titlebar button.destructive-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.653); } - -popover.background button.destructive-action:backdrop, .content list button.destructive-action:backdrop, .content list > row:not(:selected):hover button.destructive-action:backdrop, list.content button.destructive-action:backdrop, list.content > row:not(:selected):hover button.destructive-action:backdrop, list.view.frame button.destructive-action:backdrop, list.view.frame > row:not(:selected):hover button.destructive-action:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:backdrop, headerbar .linked entry ~ .destructive-action.image-button:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:backdrop, headerbar .linked.raised button.destructive-action:backdrop, headerbar .linked button.destructive-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:backdrop, .titlebar .linked.raised button.destructive-action:backdrop, .titlebar .linked button.destructive-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:backdrop, headerbar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:backdrop, headerbar viewswitcher button.destructive-action.radio:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:backdrop:checked, headerbar button.destructive-action:backdrop:not(.titlebutton), .titlebar button.destructive-action:backdrop:not(.titlebutton) { color: mix(@destructive_fg_color,alpha(@destructive_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action:disabled, .content list button.destructive-action:disabled, .content list > row:not(:selected):hover button.destructive-action:disabled, list.content button.destructive-action:disabled, list.content > row:not(:selected):hover button.destructive-action:disabled, list.view.frame button.destructive-action:disabled, list.view.frame > row:not(:selected):hover button.destructive-action:disabled, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled, headerbar .linked entry ~ .destructive-action.image-button:disabled, .titlebar .linked entry ~ .destructive-action.image-button:disabled, headerbar .linked.raised button.destructive-action:disabled, headerbar .linked button.destructive-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled, .titlebar .linked.raised button.destructive-action:disabled, .titlebar .linked button.destructive-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled, headerbar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled, headerbar viewswitcher button.destructive-action.radio:disabled:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:checked, headerbar button.destructive-action:disabled:not(.titlebutton), .titlebar button.destructive-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -popover.background button.destructive-action:disabled:backdrop, .content list button.destructive-action:disabled:backdrop, .content list > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.content button.destructive-action:disabled:backdrop, list.content > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.view.frame button.destructive-action:disabled:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .destructive-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:disabled:backdrop, headerbar .linked.raised button.destructive-action:disabled:backdrop, headerbar .linked button.destructive-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, .titlebar .linked.raised button.destructive-action:disabled:backdrop, .titlebar .linked button.destructive-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, headerbar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled:backdrop, headerbar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, headerbar button.destructive-action:disabled:backdrop:not(.titlebutton), .titlebar button.destructive-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar { box-shadow: 0 1px alpha(@headerbar_shade_color,0.1); } - -headerbar:not(.selection-mode), headerbar:not(.selection-mode) entry, .titlebar:not(.selection-mode), .titlebar:not(.selection-mode) entry { color: @headerbar_fg_color; } - -headerbar:not(.selection-mode):backdrop, headerbar:not(.selection-mode) entry:backdrop, .titlebar:not(.selection-mode):backdrop, .titlebar:not(.selection-mode) entry:backdrop { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) entry:disabled, .titlebar:not(.selection-mode) entry:disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action), .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action) { color: @headerbar_fg_color; } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) switch image, .titlebar:not(.selection-mode) switch image { color: transparent; } - -headerbar button:not(.titlebutton), headerbar button:not(.titlebutton):backdrop, .titlebar button:not(.titlebutton), .titlebar button:not(.titlebutton):backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar .linked.raised button:not(:only-child):not(:first-child), headerbar .linked button:not(:only-child):not(:first-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:first-child), .titlebar .linked.raised button:not(:only-child):not(:first-child), .titlebar .linked button:not(:only-child):not(:first-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:first-child) { border-left-color: alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):not(:last-child), headerbar .linked button:not(:only-child):not(:last-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child), .titlebar .linked.raised button:not(:only-child):not(:last-child), .titlebar .linked button:not(:only-child):not(:last-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child) { border-right-color: alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):first-child, headerbar .linked button:not(:only-child):first-child, headerbar > .stack-switcher.linked > button:not(:only-child):first-child, .titlebar .linked.raised button:not(:only-child):first-child, .titlebar .linked button:not(:only-child):first-child, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child { border-left-color: transparent; } - -headerbar .linked.raised button:not(:only-child):last-child, headerbar .linked button:not(:only-child):last-child, headerbar > .stack-switcher.linked > button:not(:only-child):last-child, .titlebar .linked.raised button:not(:only-child):last-child, .titlebar .linked button:not(:only-child):last-child, .titlebar > .stack-switcher.linked > button:not(:only-child):last-child { border-right-color: transparent; } - -headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active { box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button { border-left-color: transparent; } - -headerbar.selection-mode button:hover:backdrop, .titlebar.selection-mode button:hover:backdrop { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar entry, .titlebar entry { min-height: 32px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -headerbar entry:backdrop, .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar entry:disabled, .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar entry:disabled:backdrop, .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar entry image, .titlebar entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } - -headerbar entry image.left, .titlebar entry image.left { margin-right: 6px; } - -headerbar entry image.right, .titlebar entry image.right { margin-left: 6px; } - -headerbar entry image:hover, .titlebar entry image:hover { color: @headerbar_fg_color; } - -headerbar entry image:active, .titlebar entry image:active { color: @accent_bg_color; } - -headerbar entry image:backdrop, .titlebar entry image:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.2); } - -headerbar entry.error, .titlebar entry.error { color: @error_bg_color; border-color: @error_bg_color; } - -headerbar entry.error:focus, .titlebar entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -headerbar entry.error selection, .titlebar entry.error selection { background-color: @error_bg_color; } - -headerbar entry.warning, .titlebar entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } - -headerbar entry.warning:focus, .titlebar entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -headerbar entry.warning selection, .titlebar entry.warning selection { background-color: @warning_bg_color; } - -headerbar entry.flat:focus, headerbar entry.flat:backdrop, headerbar entry.flat:disabled, headerbar entry.flat:backdrop:disabled, headerbar entry.flat, .titlebar entry.flat:focus, .titlebar entry.flat:backdrop, .titlebar entry.flat:disabled, .titlebar entry.flat:backdrop:disabled, .titlebar entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } - -headerbar entry:drop(active):focus, headerbar entry:drop(active), .titlebar entry:drop(active):focus, .titlebar entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -headerbar entry progress, .titlebar entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } - -headerbar entry progress:backdrop, .titlebar entry progress:backdrop { background-color: transparent; } - -headerbar .linked entry:not(:first-child), .titlebar .linked entry:not(:first-child) { border-left-color: alpha(currentColor,0.15); } - -headerbar .linked entry:not(:first-child):backdrop, .titlebar .linked entry:not(:first-child):backdrop { border-left-color: alpha(currentColor,0.15); } - -headerbar switch:backdrop, .titlebar switch:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; transition: 200ms ease-out; } - -headerbar switch:backdrop:checked, .titlebar switch:backdrop:checked { background-color: alpha(@accent_bg_color,0.5); } - -headerbar switch:backdrop:checked:disabled, .titlebar switch:backdrop:checked:disabled { background-color: alpha(@accent_bg_color,0.3); } - -headerbar switch:backdrop:disabled, .titlebar switch:backdrop:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar switch:backdrop slider, .titlebar switch:backdrop slider { transition: 200ms ease-out; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } - -headerbar switch:backdrop:checked > slider, .titlebar switch:backdrop:checked > slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } - -headerbar switch:backdrop:disabled slider, .titlebar switch:backdrop:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.4); } - -headerbar switch:disabled, .titlebar switch:disabled { background-color: shade(mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3),0.96); } - -headerbar switch:disabled:backdrop, .titlebar switch:disabled:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } - -headerbar:not(:backdrop), .titlebar:not(:backdrop) { transition: 50ms ease-in; transition-property: background-color, background-image, box-shadow, border-color, color, text-shadow; } - -headerbar .right, .titlebar .right { margin-left: -4px; } - -headerbar .right separator, .titlebar .right separator { min-width: 0; } - -headerbar .left, .titlebar .left { margin-right: -4px; } - -headerbar .left separator, .titlebar .left separator { min-width: 0; } - -.content list button, .content list > row:not(:selected):hover button, list.content button, list.content > row:not(:selected):hover button, list.view.frame button, list.view.frame > row:not(:selected):hover button { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -.content list button.flat:not(:hover):not(:active), .content list > row:not(:selected):hover button.flat:not(:hover):not(:active), list.content button.flat:not(:hover):not(:active), list.content > row:not(:selected):hover button.flat:not(:hover):not(:active), list.view.frame button.flat:not(:hover):not(:active), list.view.frame > row:not(:selected):hover button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.content list button:hover, .content list > row:not(:selected):hover button:hover, list.content button:hover, list.content > row:not(:selected):hover button:hover, list.view.frame button:hover, list.view.frame > row:not(:selected):hover button:hover { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.85); box-shadow: none; } - -.content list button:active, .content list button:checked, .content list > row:not(:selected):hover button:active, .content list > row:not(:selected):hover button:checked, list.content button:active, list.content button:checked, list.content > row:not(:selected):hover button:active, list.content > row:not(:selected):hover button:checked, list.view.frame button:active, list.view.frame button:checked, list.view.frame > row:not(:selected):hover button:active, list.view.frame > row:not(:selected):hover button:checked { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.content list button:active:hover, .content list button:checked:hover, .content list > row:not(:selected):hover button:active:hover, .content list > row:not(:selected):hover button:checked:hover, list.content button:active:hover, list.content button:checked:hover, list.content > row:not(:selected):hover button:active:hover, list.content > row:not(:selected):hover button:checked:hover, list.view.frame button:active:hover, list.view.frame button:checked:hover, list.view.frame > row:not(:selected):hover button:active:hover, list.view.frame > row:not(:selected):hover button:checked:hover { background-color: mix(currentColor,@card_bg_color,0.653); } - -.content list button:disabled, .content list > row:not(:selected):hover button:disabled, list.content button:disabled, list.content > row:not(:selected):hover button:disabled, list.view.frame button:disabled, list.view.frame > row:not(:selected):hover button:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -.content list entry, list.content entry, list.view.frame entry { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -.content list entry:disabled, list.content entry:disabled, list.view.frame entry:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -popover.background button { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -popover.background button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button:hover { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.85); box-shadow: none; } - -popover.background button:active, popover.background button:checked { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button:active:hover, popover.background button:checked:hover { background-color: mix(currentColor,@popover_bg_color,0.653); } - -popover.background button:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -popover.background entry { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -popover.background entry:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -button.toggle:not(.image-button) { padding-left: 8px; padding-right: 8px; } - -.flat.popup:not(.title) { font-weight: normal; } - -statusbar { font-size: small; } - -scrolledwindow list:not(.content) { padding: 6px 0; } - -scrolledwindow list row { margin: 0 6px; border-radius: 6px; } - -scrolledwindow list separator.horizontal { margin: 6px; } - -list.content .horizontal spinbutton entry { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } - -list.view.frame { border-radius: 12px; } - -list.view.frame, list.view.frame:backdrop { background-color: @card_bg_color; } - -.ssd .titlebar { border-width: 0; padding: 0px 4px; min-height: 36px; border-bottom: 1px solid @headerbar_shade_color; } - -.ssd .titlebar.default-decoration button.titlebutton { background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; } - -.ssd .titlebar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } - -.ssd .titlebar.default-decoration button.titlebutton:hover:active, .ssd .titlebar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } - -.ssd .titlebar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } - -.ssd .titlebar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } - -.default-decoration .title { color: @headerbar_fg_color; } - -.default-decoration .title:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } - -treeview.view:not(:backdrop):not(:selected):hover { background-color: alpha(currentColor,0.04); } - -.preferences scrolledwindow > .frame > clamp.large, .preferences scrolledwindow > .frame > clamp.medium, .preferences scrolledwindow > .frame > clamp.small { padding-bottom: 30px; } - -.osd .linked > button { border-color: transparent; } - -.primary-toolbar, .toolbar { background-color: @window_bg_color; } - -.primary-toolbar:backdrop, .toolbar:backdrop { background-color: @window_bg_color; } - -popover.background modelbutton.flat { padding-left: 16px; padding-right: 16px; } - -popover.background modelbutton.flat, popover.background .menuitem.button.flat { color: @popover_fg_color; } - -popover.background modelbutton.flat:disabled label, popover.background .menuitem.button.flat:disabled label { color: mix(@popover_fg_color,@popover_bg_color,0.5); } - -popover.background modelbutton.flat:backdrop:hover, popover.background .menuitem.button.flat:backdrop:hover { background-color: alpha(currentColor,0.04); } - -popover.menu > stack { margin: -6px; } - -window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 12px; } - -window.csd.unified scrollbar { background-color: @view_bg_color; color: @window_fg_color; } - -window.csd.unified scrollbar trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; background-color: alpha(currentColor,0.15); } - -window.csd.unified scrollbar trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; } - -window.csd.unified scrollbar.horizontal trough { margin-top: 6px; margin-bottom: 6px; } - -window.csd.unified scrollbar.vertical trough { margin-left: 6px; margin-right: 6px; } - -window.csd.unified scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } - -window.csd.unified scrollbar.overlay-indicator:not(.hovering) trough { background-color: transparent; } - -window.csd.unified scrollbar.overlay-indicator.horizontal trough > slider { min-width: 40px; } - -window.csd.unified scrollbar.overlay-indicator.horizontal.hovering trough > slider { min-height: 8px; } - -window.csd.unified scrollbar.overlay-indicator.horizontal:not(.hovering) trough { margin-top: 3px; margin-bottom: 3px; } - -window.csd.unified scrollbar.overlay-indicator.vertical trough > slider { min-height: 40px; } - -window.csd.unified scrollbar.overlay-indicator.vertical.hovering trough > slider { min-width: 8px; } - -window.csd.unified scrollbar.overlay-indicator.vertical:not(.hovering) trough { margin-left: 3px; margin-right: 3px; } - -window.csd.unified scrollbar.horizontal trough > slider { min-width: 40px; } - -window.csd.unified scrollbar.vertical trough > slider { min-height: 40px; } - -popover.combo { padding: 0px; } - -popover.combo list { border-style: none; background-color: transparent; min-width: 200px; margin-top: 6px; margin-bottom: 6px; } - -popover.combo list > row { padding: 0px 8px 0px 8px; min-height: 50px; } - -popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(mix(currentColor,@window_bg_color,0.85), 0.5); } - -popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } - -popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } - -popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } - -popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } - -row.expander { padding: 0px; } - -row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } - -row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } - -row.expander { background-color: transparent; } - -row.expander list.nested > row { background-color: transparent; border-radius: 0; border: none; } - -row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } - -row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } - -row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; border-radius: 0; border-top: 1px solid alpha(currentColor,0.15); } - -row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } - -row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } - -row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } - -row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } - -row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_bg_color; } - -row.expander image.expander-row-arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -list.content { background-color: transparent; color: @card_fg_color; border-radius: 12px; } - -list.content list { background-color: transparent; border-radius: 12px; } - -list.content > row { background-color: @card_bg_color; color: @card_fg_color; margin: 0; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -list.content > row:not(:last-child) { box-shadow: inset 0 -1px @card_shade_color; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -list.content > row:not(:first-child):not(:last-child) { border-radius: 0; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0; } - -list.content > row:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; border-top: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 12px 12px 0 0; } - -list.content > row:last-child { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0 0 12px 12px; } - -list.content > row:only-child { border: 1px solid @card_shade_color; border-radius: 12px; -gtk-outline-radius: 12px; } - -list.content > row:not(.expander):not(:active):hover.activatable:not(:selected), list.content > row.expander row.header:not(:active):hover.activatable:not(:selected) { background-color: mix(@card_fg_color, @card_bg_color, 0.954); } - -button.list-button:not(:active):not(:checked):not(:hover) { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -keypad .digit { font-size: 200%; font-weight: bold; } - -keypad .letters { font-size: 70%; } - -keypad .symbol { font-size: 160%; } - -viewswitcher, viewswitcher button { margin: 0; padding: 0; } - -viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; border-width: 0; } - -viewswitcher button:not(:checked):not(:hover) { background: transparent; } - -viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } - -viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } - -viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } - -viewswitcher button:not(:checked):hover:not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-image: none; } - -viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } - -viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: alpha(currentColor,0.15); } - -viewswitcher button:not(:checked):hover:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: none; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(black,@headerbar_bg_color,0.87),0.903); } - -headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } - -headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: alpha(currentColor,0.15); } - -headerbar viewswitcher button:not(:checked):hover:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),mix(black,@headerbar_backdrop_color,0.9),0.2); background-color: mix(currentColor,mix(black,@headerbar_backdrop_color,0.9),0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -viewswitcher button:checked, viewswitcher button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -viewswitcher button:checked:hover, viewswitcher button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -viewswitcher button:checked:backdrop, viewswitcher button:active:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); background-image: none; } - -viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } - -viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } - -viewswitcher button > stack > box.wide { padding: 8px 12px; } - -viewswitcher button > stack > box.wide image:dir(ltr) { padding-left: 7px; } - -viewswitcher button > stack > box.wide image:dir(rtl) { padding-right: 7px; } - -viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } - -viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } - -viewswitcher button > stack > box label.active { font-weight: bold; } - -viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } - -viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } - -viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } - -viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } - -viewswitcherbar actionbar > revealer > box { padding: 0; } - -viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon { color: alpha(@window_fg_color,0.5); } - -statuspage > scrolledwindow > viewport > box { margin: 36px 12px; } - -statuspage > scrolledwindow > viewport > box > clamp:not(:last-child) > box { margin-bottom: 36px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 36px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .title:not(:last-child) { margin-bottom: 12px; } - -row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } - -row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } - -row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } - -tabbar .box { min-height: 38px; background: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; } - -tabbar .box:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: @headerbar_backdrop_color; } - -tabbar scrolledwindow.pinned undershoot { border: 0 solid mix(black,@window_bg_color,0.82); } - -tabbar scrolledwindow.pinned:dir(rtl) undershoot.left { border-left-width: 1px; } - -tabbar scrolledwindow.pinned:dir(ltr) undershoot.right { border-right-width: 1px; } - -tabbar scrolledwindow.pinned:backdrop undershoot { border-color: mix(currentColor,@window_bg_color,0.73); } - -tabbar scrolledwindow.pinned tabbox:dir(ltr) { padding-right: 1px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -tabbar scrolledwindow.pinned tabbox:dir(rtl) { padding-left: 1px; box-shadow: inset 1px 0 alpha(currentColor,0.15); } - -tabbar undershoot { transition: none; } - -tabbar undershoot.left { background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } - -tabbar undershoot.right { background: linear-gradient(to left, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } - -tabbar .needs-attention-left undershoot.left { background: linear-gradient(to right, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } - -tabbar .needs-attention-right undershoot.right { background: linear-gradient(to left, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } - -tabbar tab { margin: 4px 3px; border-style: none; border-radius: 6px; transition: background-color 150ms ease-in-out; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } - -tabbar tab:first-child { background-image: none; } - -tabbar tab:hover { background-color: alpha(currentColor,0.07); } - -tabbar tab:hover, tabbar tab:hover + tab { background-image: none; } - -tabbar tab:checked { background-color: alpha(currentColor,0.1); } - -tabbar tab:checked, tabbar tab:checked + tab { background-image: none; } - -tabbar tab:checked:hover { background-color: alpha(currentColor,0.13); } - -tabbar .start-action, tabbar .end-action { background-color: @headerbar_bg_color; border-color: transparent; border-style: solid; transition: background-color 150ms ease-in-out; } - -tabbar .start-action:backdrop, tabbar .end-action:backdrop { border-color: transparent; background-color: @headerbar_backdrop_color; } - -tabbar .start-action button, tabbar .end-action button { border: none; border-radius: 0; } - -tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { border-right-width: 1px; } - -tabbar .start-action:dir(ltr) > *, tabbar .end-action:dir(rtl) > * { margin-right: 1px; } - -tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { border-left-width: 1px; } - -tabbar .start-action:dir(rtl) > *, tabbar .end-action:dir(ltr) > * { margin-left: 1px; } - -.tab-drag-icon tab { min-height: 26px; background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.25), 0 0 0 1px alpha(mix(currentColor,@window_bg_color,0.85),0.9), inset 0 1px alpha(@window_fg_color,0.07); margin: 25px; } - -tabbar tab, .tab-drag-icon tab { padding: 6px; } - -tabbar tab.needs-attention, .tab-drag-icon tab.needs-attention { background-image: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.8), alpha(@accent_bg_color,0.2) 15%, alpha(@accent_bg_color,0) 15%); } - -tabbar tab .tab-close-button, tabbar tab .tab-indicator, .tab-drag-icon tab .tab-close-button, .tab-drag-icon tab .tab-indicator { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; border: none; box-shadow: none; -gtk-icon-shadow: none; text-shadow: none; background: none; } - -tabbar tab .tab-close-button:hover, tabbar tab .tab-indicator.clickable:hover, .tab-drag-icon tab .tab-close-button:hover, .tab-drag-icon tab .tab-indicator.clickable:hover { background: alpha(@window_fg_color, 0.15); } - -tabbar tab .tab-close-button:active, tabbar tab .tab-indicator.clickable:active, .tab-drag-icon tab .tab-close-button:active, .tab-drag-icon tab .tab-indicator.clickable:active { background: alpha(black, 0.2); } - -flap > dimming, deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.24); } - -flap > border, deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.2); } - -flap > shadow, deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } - -flap > shadow.left, deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.right, deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.up, deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.down, deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > outline, deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.05); } - -avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } - -avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } - -avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } - -avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } - -avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } - -avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } - -avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } - -avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } - -avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } - -avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } - -avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } - -avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } - -avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } - -avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } - -avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } - -avatar.contrasted { color: #fff; } - -avatar.image { background: none; } - -window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp, preferencespage > scrolledwindow > viewport > clamp { margin: 0 12px; } - -window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > list, window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > box > preferencesgroup, preferencespage > scrolledwindow > viewport > clamp > list, preferencespage > scrolledwindow > viewport > clamp > box > preferencesgroup { margin-top: 24px; } - -preferencesgroup > box > label:not(:first-child) { margin-top: 6px; } - -preferencesgroup > box > box:not(:first-child) { margin-top: 12px; } - -tabbar .tab-indicator:not(.clickable) { background: none; box-shadow: none; border-color: transparent; } - -.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } - -.heading.h4 { color: @window_fg_color; } - -window.rounded, window.rounded actionbar { border-radius: 0 0 12px 12px; } - -window.rounded decoration, window.rounded actionbar decoration { border-radius: 12px; } - -window.flat headerbar { box-shadow: none; } - -.accent { color: @accent_bg_color; } - -.h1 { font-size: 20pt; font-weight: 300; } - -.h2 { font-size: 16pt; font-weight: 200; } - -.h3 { font-size: 11pt; } - -.h4, .category-label { color: shade(@window_fg_color,1.2); font-weight: 700; } - -.h4 { padding-top: 0.5em; padding-bottom: 0.5em; } - -list .h4 { padding-left: 0.5em; } - -.storage-bar .trough { padding: 8px 6px; border: none; border-radius: 6px 6px 0 0; background-image: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } - -.storage-bar .fill-block { padding: 8px 6px; border: 1px solid rgba(0, 0, 0, 0.35); border-top-width: 0; border-right-width: 0; border-bottom-width: 1px; border-left-width: 0; border-radius: 0; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.75); background-color: shade(@view_bg_color,0.85); } - -.storage-bar .fill-block:first-child { border-radius: 6px 0 0; } - -.storage-bar .fill-block:last-child { border-radius: 0 6px 0 0; } - -.storage-bar .fill-block:only-child { border-radius: 6px 6px 0 0; } - -.storage-bar .fill-block image { -gtk-icon-style: symbolic; } - -.storage-bar .empty-block { border-bottom-width: 1px; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.6); background-color: shade(@view_bg_color,0.95); } - -.storage-bar .empty-block image { color: black; } - -.storage-bar .app { border-bottom-width: 1px; border-bottom-color: shade(#dc8add,0.7); background-color: #dc8add; } - -.storage-bar .app image { color: white; } - -.storage-bar .audio { border-bottom-width: 1px; border-bottom-color: shade(#ffa348,0.8); background-color: #ffa348; } - -.storage-bar .audio image { color: black; } - -.storage-bar .files { border-bottom-width: 1px; border-bottom-color: shade(#99c1f1,0.8); background-color: #99c1f1; } - -.storage-bar .files image { color: black; } - -.storage-bar .photo { border-bottom-width: 1px; border-bottom-color: shade(#57e389,0.7); background-color: #57e389; } - -.storage-bar .photo image { color: black; } - -.storage-bar .video { border-bottom-width: 1px; border-bottom-color: shade(#f66151,0.8); background-color: #f66151; } - -.storage-bar .video image { color: white; } - -.storage-bar .legend { padding: 8px; border-radius: 50%; } - -.storage-bar .legend image { color: black; } - -.storage-bar .disk-bar { padding: 0; border-radius: 6px; background-color: #cdab8f; } - -.storage-bar .ext2, .storage-bar .ext3, .storage-bar .ext4, .storage-bar .fat16, .storage-bar .fat32, .storage-bar .btrfs, .storage-bar .xfs, .storage-bar .ntfs, .storage-bar .luks, .storage-bar .lvm, .storage-bar .none, .storage-bar .swap, .storage-bar .unused { border: none; box-shadow: inset 0 -2px rgba(94, 92, 100, 0.5), inset 1px 0 rgba(94, 92, 100, 0.5), inset -1px 0 rgba(94, 92, 100, 0.5); } - -.storage-bar .swap { background-color: #a51d2d; } - -.storage-bar .swap image { color: white; } - -.storage-bar .ext4 { background-color: #57e389; } - -.storage-bar .ext4 image { color: black; } - -.storage-bar .ext3 { background-color: #26a269; } - -.storage-bar .ext3 image { color: white; } - -.storage-bar .ext2 { background-color: #8ff0a4; } - -.storage-bar .ext2 image { color: black; } - -.storage-bar .fat16, .storage-bar .fat32 { background-color: #f8e45c; } - -.storage-bar .fat16 image, .storage-bar .fat32 image { color: black; } - -.storage-bar .btrfs { background-color: #1a5fb4; } - -.storage-bar .btrfs image { color: white; } - -.storage-bar .xfs { background-color: #99c1f1; } - -.storage-bar .xfs image { color: black; } - -.storage-bar .ntfs { background-color: #ffa348; } - -.storage-bar .ntfs image { color: black; } - -.storage-bar .luks { background-color: #c061cb; } - -.storage-bar .luks image { color: black; } - -.storage-bar .lvm { background-color: #dc8add; } - -.storage-bar .lvm image { color: black; } - -.storage-bar .none { background-color: #99c1f1; } - -.storage-bar .none image { color: black; } - -.storage-bar .unused { background-color: #cdab8f; } - -.storage-bar .unused image { color: black; } - -.storage-bar .legend { box-shadow: none; } - -GraniteWidgetsPopOver { -GraniteWidgetsPopOver-arrow-width: 21; -GraniteWidgetsPopOver-arrow-height: 10; -GraniteWidgetsPopOver-border-radius: 12px; -GraniteWidgetsPopOver-border-width: 0; -GraniteWidgetsPopOver-shadow-size: 12; border: 1px solid @view_bg_color; background: @view_bg_color; color: @window_fg_color; } - -GraniteWidgetsPopOver .button { background-image: none; background: none; border: none; } - -GraniteWidgetsPopOver .button:active, GraniteWidgetsPopOver .button:active:hover { color: @accent_bg_color; } - -GraniteWidgetsPopOver > .frame { border: none; } - -GraniteWidgetsPopOver .sidebar.view, GraniteWidgetsPopOver iconview.sidebar { border: none; background: none; } - -GraniteWidgetsStaticNotebook .frame { border: none; } - -.popover_bg { background-color: @view_bg_color; background-image: none; border: 1px solid @view_bg_color; color: @window_fg_color; } - -.deck { background-color: @view_bg_color; } - -paper, .card { transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1); border: none; background-color: @view_bg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } - -paper, paper.rounded, .card, .card.rounded { border-radius: 12px; } - -paper.collapsed, .card.collapsed { background-color: @window_bg_color; } - -.source-list { -GtkTreeView-horizontal-separator: 1px; -GtkTreeView-vertical-separator: 6px; background-color: @window_bg_color; border: solid mix(currentColor,@window_bg_color,0.85); color: @window_fg_color; border-right-width: 1px; } - -.source-list .category-expander { color: transparent; } - -.source-list .badge { background-image: none; background-color: rgba(0, 0, 0, 0.4); color: @window_bg_color; border-radius: 10px; padding: 0 6px; margin: 0 3px; border-width: 0; } - -.source-list .badge:selected:backdrop, .source-list .badge:selected:hover:backdrop { background-color: rgba(0, 0, 0, 0.2); color: shade(@window_bg_color,0.95); } - -.source-list row, .source-list .list-row { border: none; padding: 0; } - -.source-list row > GtkLabel, .source-list row > label, .source-list .list-row > GtkLabel, .source-list .list-row > label { padding-left: 6px; padding-right: 6px; } - -.avatar { border-radius: 999px; box-shadow: none; } - -.overlay-bar { padding: 4px; } - -.dynamic-notebook tab.reorderable-page { padding: 8px; } - -scale.temperature trough { background-image: linear-gradient(to right, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } - -scale.temperature:dir(rtl) trough { background-image: linear-gradient(to left, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } - -scale.warmth trough { background-image: linear-gradient(to right, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } - -scale.warmth:dir(rtl) trough { background-image: linear-gradient(to left, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } - -.terminal, .terminal text { background-color: #3d3846; color: white; font-family: monospace; } - -.terminal selection, .terminal text selection { background-color: @accent_bg_color; color: white; } - -.terminal:backdrop, .terminal text:backdrop { background-color: #5e5c64; color: white; } - -label.terminal { padding: 1em; } - -.welcome { font-size: 10pt; text-shadow: none; } - -.welcome .h1, .welcome .h3 { color: shade(@window_fg_color,1.2); } - -button.back-button, button.back-button.text-button { padding-right: 8px; padding-left: 36px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button, .titlebar button.back-button.text-button { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); background-color: @headerbar_bg_color; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; padding-left: 36px; } - -.titlebar button.back-button:hover, .titlebar button.back-button.text-button:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button:active, .titlebar button.back-button.text-button:active { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button:active:hover, .titlebar button.back-button.text-button:active:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } - -button.back-button:dir(rtl), button.back-button.text-button:dir(rtl) { padding: 0.5em 0.6em; padding-right: 36px; padding-left: 8px; background-image: -gtk-icontheme("go-next-symbolic"); background-repeat: no-repeat no-repeat; background-position: 90% 50%; } - -.checkerboard { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } - -.org-gnome-gedit notebook > header, .gedit-side-panel-paned notebook > header, .nautilus-window notebook > header { background-color: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; box-shadow: none; } - -.org-gnome-gedit notebook > header:backdrop, .gedit-side-panel-paned notebook > header:backdrop, .nautilus-window notebook > header:backdrop { background-color: @headerbar_backdrop_color; box-shadow: none; } - -.org-gnome-gedit notebook arrow.down + tab.reorderable-page, .gedit-side-panel-paned notebook arrow.down + tab.reorderable-page, .nautilus-window notebook arrow.down + tab.reorderable-page, .org-gnome-gedit notebook tab:first-child.reorderable-page, .gedit-side-panel-paned notebook tab:first-child.reorderable-page, .nautilus-window notebook tab:first-child.reorderable-page { background-image: none; box-shadow: none; } - -.org-gnome-gedit notebook tab.reorderable-page, .gedit-side-panel-paned notebook tab.reorderable-page, .nautilus-window notebook tab.reorderable-page { -gtk-outline-radius: 8px; outline-width: 2px; outline-style: solid; outline-color: alpha(@accent_color,0.5); min-height: 37px; padding: 4px 0 0 0; box-shadow: none; border: none; color: @headerbar_fg_color; background-color: @headerbar_bg_color; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } - -.org-gnome-gedit notebook tab.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab.reorderable-page:backdrop, .nautilus-window notebook tab.reorderable-page:backdrop { box-shadow: none; } - -.org-gnome-gedit notebook tab.reorderable-page > box, .gedit-side-panel-paned notebook tab.reorderable-page > box, .nautilus-window notebook tab.reorderable-page > box { margin: 0 3px 3px 3px; padding-right: 8px; border-radius: 6px; } - -.org-gnome-gedit notebook tab.reorderable-page > box > label, .gedit-side-panel-paned notebook tab.reorderable-page > box > label, .nautilus-window notebook tab.reorderable-page > box > label { padding-left: 8px; } - -.org-gnome-gedit notebook tab.reorderable-page > box button, .gedit-side-panel-paned notebook tab.reorderable-page > box button, .nautilus-window notebook tab.reorderable-page > box button { margin: 8px 0; } - -.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:hover.reorderable-page > box, .gedit-side-panel-paned notebook tab:hover.reorderable-page > box, .nautilus-window notebook tab:hover.reorderable-page > box { background-color: alpha(currentColor,0.07); transition: background-color 150ms ease-in-out; } - -.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page, .org-gnome-gedit notebook tab:hover.reorderable-page + tab, .gedit-side-panel-paned notebook tab:hover.reorderable-page + tab, .nautilus-window notebook tab:hover.reorderable-page + tab { background-image: none; } - -.org-gnome-gedit notebook tab:hover.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:hover.reorderable-page:backdrop, .nautilus-window notebook tab:hover.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } - -.org-gnome-gedit notebook tab:backdrop.reorderable-page, .gedit-side-panel-paned notebook tab:backdrop.reorderable-page, .nautilus-window notebook tab:backdrop.reorderable-page { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page > box, .nautilus-window notebook tab:checked.reorderable-page > box { background-color: alpha(currentColor,0.1); transition: background-color 150ms ease-in-out; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover, .nautilus-window notebook tab:checked.reorderable-page:hover, .org-gnome-gedit notebook tab:checked.reorderable-page:active, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active, .nautilus-window notebook tab:checked.reorderable-page:active { box-shadow: none; background-color: transparent; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover > box, .nautilus-window notebook tab:checked.reorderable-page:hover > box, .org-gnome-gedit notebook tab:checked.reorderable-page:active > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active > box, .nautilus-window notebook tab:checked.reorderable-page:active > box { background-color: alpha(currentColor,0.13); } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover:backdrop, .nautilus-window notebook tab:checked.reorderable-page:hover:backdrop, .org-gnome-gedit notebook tab:checked.reorderable-page:active:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active:backdrop, .nautilus-window notebook tab:checked.reorderable-page:active:backdrop { box-shadow: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page, .org-gnome-gedit notebook tab:checked.reorderable-page + tab, .gedit-side-panel-paned notebook tab:checked.reorderable-page + tab, .nautilus-window notebook tab:checked.reorderable-page + tab { background-image: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:backdrop, .nautilus-window notebook tab:checked.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } - -.nautilus-window headerbar .path-bar-box, .nautilus-window .titlebar .path-bar-box { border-radius: 6px; border: none; padding-right: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.nautilus-window headerbar .path-bar-box:backdrop, .nautilus-window .titlebar .path-bar-box:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar, .nautilus-window .titlebar .nautilus-path-bar { border-radius: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); min-height: 34px; } - -.nautilus-window headerbar .nautilus-path-bar:backdrop, .nautilus-window .titlebar .nautilus-path-bar:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton) { margin: 0; padding-left: 8px; padding-right: 8px; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).current-dir, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).current-dir { border-width: 0px; border-radius: 6px; background-color: transparent; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir) { border-width: 0px; border-radius: 6px; background-color: transparent; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover { color: @headerbar_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover *, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover * { opacity: 1; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),shade(mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.7); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); border-radius: 0 6px 6px 0; border-left: 1px solid alpha(currentColor,0.15); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup image, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup image { color: @headerbar_fg_color; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-left: 1px solid alpha(currentColor,0.15); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.903); } - -.nautilus-window .path-buttons-box { border: 2px solid transparent; } - -.nautilus-window .path-buttons-box button { min-height: 22px; } - -.nautilus-window .linked.raised button.image-button:not(:only-child), .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop, .nautilus-window .linked.raised button.image-button:not(:only-child):disabled, .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop:disabled { border: none; } - -.nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active), .nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active):backdrop, .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model):backdrop { background-color: transparent; } - -.nautilus-window .search + .toggle.popup { border-left-color: alpha(currentColor,0.15); } - -.nautilus-window .view .dim-label, .nautilus-window .view dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window .view .subtitle, .nautilus-window iconview .dim-label, .nautilus-window iconview dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window iconview .subtitle, .nautilus-window .view label.separator, .nautilus-window iconview label.separator, .nautilus-window .view headerbar .subtitle, headerbar .nautilus-window .view .subtitle, .nautilus-window iconview headerbar .subtitle, headerbar .nautilus-window iconview .subtitle, .nautilus-window .view .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window .view .subtitle, .nautilus-window iconview .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window iconview .subtitle { color: alpha(@window_fg_color,0.55); } - -.nautilus-window .thumbnail { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } - -.nautilus-window .operations-list, .nautilus-window .operations-list > :hover { background: none; } - -.nautilus-window .nautilus-canvas-item { border-radius: 0px; } - -.nautilus-window .nautilus-canvas-item.label-text { border-radius: 6px; } - -.nautilus-window .nautilus-list-view .view:selected, .nautilus-window .nautilus-list-view iconview:selected { background-color: alpha(@accent_bg_color,0.25); color: @view_fg_color; } - -.nautilus-window .nautilus-list-view .view:selected:hover, .nautilus-window .nautilus-list-view iconview:selected:hover { background-color: alpha(@accent_bg_color,0.32); } - -.nautilus-window .nautilus-list-view .view:hover, .nautilus-window .nautilus-list-view iconview:hover { background-color: alpha(currentColor,0.04); } - -.nautilus-window entry.search > :not(.csd) { margin: 5px; } - -.nautilus-window entry.search > :not(.csd):not(image), .nautilus-window entry.search > :not(.csd):backdrop:not(image) { color: @accent_fg_color; background-color: @accent_bg_color; } - -.floating-bar { padding: 3px; background-color: @view_bg_color; border-width: 1px; border-style: solid solid none; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 8px 0 0 0; } - -.floating-bar.bottom.left { border-left-style: none; border-top-left-radius: 0; } - -.floating-bar.bottom.right { border-right-style: none; border-top-right-radius: 0; } - -.floating-bar:backdrop { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } - -.floating-bar button { padding: 0px; } - -.disk-space-display { border-style: solid; border-width: 2px; } - -.disk-space-display.unknown { background-color: #888a85; border-color: shade(#888a85, 0.7); color: #888a85; } - -.disk-space-display.unknown.border { color: shade(#888a85, 0.7); } - -.disk-space-display.used { background-color: #729fcf; border-color: shade(#729fcf, 0.7); color: #729fcf; } - -.disk-space-display.used.border { color: shade(#729fcf, 0.7); } - -.disk-space-display.free { background-color: #eeeeec; border-color: shade(#eeeeec, 0.7); color: #eeeeec; } - -.disk-space-display.free.border { color: shade(#eeeeec, 0.7); } - -.gedit-search-slider { background: @window_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); border-top-style: none; padding: 4px 8px; border-radius: 0 0 6px 6px; } - -.gedit-search-slider button { padding-top: 7px; padding-bottom: 7px; } - -.gedit-document-panel { background-color: @window_bg_color; } - -.gedit-document-panel row.activatable { padding: 6px; } - -.gedit-document-panel row button { min-width: 22px; min-height: 22px; padding: 0; margin: 0; border: none; } - -.gedit-document-panel row:hover button:hover { background-color: alpha(currentColor,0.15); } - -.gedit-document-panel row:hover button:active { background-color: alpha(currentColor,0.3); } - -.gedit-document-panel row:hover:selected button:hover { color: @window_fg_color; } - -.titlebar.tweak-titlebar-left { background-image: none; background-color: @sidebar_bg_color; border-bottom-color: transparent; } - -.titlebar.tweak-titlebar-left:backdrop { background-color: @sidebar_backdrop_color; } - -.titlebar.tweak-titlebar-left button { background-color: transparent; } - -.titlebar.tweak-titlebar-left button:hover { background-color: alpha(currentColor,0.15); } - -.titlebar.tweak-titlebar-left button:hover:active, .titlebar.tweak-titlebar-left button:active, .titlebar.tweak-titlebar-left button:hover:checked, .titlebar.tweak-titlebar-left button:checked { background-color: alpha(currentColor,0.3); } - -.titlebar.tweak-titlebar-left button:backdrop { background: alpha(currentColor,0.1); } - -.titlebar.tweak-titlebar-left button:backdrop:hover { background: alpha(currentColor,0.15); } - -.titlebar.tweak-titlebar-right { background-image: none; background-color: @window_bg_color; border-bottom-color: transparent; } - -.navigation-sidebar { background-color: @sidebar_bg_color; } - -.navigation-sidebar:backdrop { background-color: @sidebar_backdrop_color; } - -.navigation-sidebar separator.horizontal { margin: 2px 0; padding: 0; background-color: transparent; } - -list.tweak-categories separator.horizontal { background: transparent; margin: 2px 0; } - -.tweak-group .tweak list { border-radius: 12px; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -.org-gnome-Todo taskrow.activatable.new-task-row button.popup.toggle { border-radius: 0px; border: none; border-left: 1px solid mix(currentColor,@window_bg_color,0.85); padding-left: 10px; padding-right: 10px; -gtk-outline-radius: 0px; } - -.org-gnome-Todo viewport.view, .org-gnome-Todo listbox.transparent { background-color: shade(@view_bg_color,0.95); } - -.org-gnome-Todo viewport.view:backdrop, .org-gnome-Todo listbox.transparent:backdrop { background-color: @window_bg_color; } - -window#guake-terminal notebook header { background: @headerbar_bg_color; } - -.XfceHeading { background-color: @view_bg_color; margin: 0; padding: 0; border-width: 0; } - -XfdesktopIconView.view { background: transparent; color: rgba(255, 255, 255, 0.9); border-radius: 6px; } - -XfdesktopIconView.view:active { background: alpha(mix(black,@accent_bg_color,0.85),0.5); text-shadow: 0 1px 1px black; } - -XfdesktopIconView.view .label { text-shadow: 1px 1px 2px black; } - -XfdesktopIconView.view .rubberband { border-radius: 0; } - -@define-color panel_bg_color black; -@define-color panel_fg_color white; -.xfce4-panel.background { border: none; background-color: @panel_bg_color; color: @panel_fg_color; transition-duration: 250ms; } - -.xfce4-panel.background .tasklist button, .xfce4-panel.background #actions-button, .xfce4-panel.background #clock-button { margin: 0 1px; } - -.xfce4-panel.background.horizontal .tasklist button { margin: 0 1px; } - -.xfce4-panel.background.horizontal .tasklist button label { padding-right: 3px; } - -.xfce4-panel.background.vertical .tasklist button { margin: 1px 0; } - -.xfce4-panel.background.vertical .tasklist button label { padding-bottom: 3px; } - -.xfce4-panel.background .tasklist image { margin-left: 2px; margin-right: 2px; } - -.xfce4-panel.background button label { padding-left: 6px; padding-right: 6px; } - -.xfce4-panel.background button { padding: 0 6px; min-height: 12px; min-width: 12px; border-radius: 24px; color: @panel_fg_color; transition-duration: 250ms; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.xfce4-panel.background button:disabled { background-color: transparent; color: alpha(@panel_fg_color,0.2); } - -.xfce4-panel.background button:hover:not(:active):not(:checked) { color: @panel_fg_color; background-color: alpha(@panel_fg_color,0.25); background-image: none; } - -.xfce4-panel.background button:checked { background-color: alpha(@panel_fg_color,0.2); color: @panel_fg_color; } - -.xfce4-panel.background button:checked:hover { background-color: alpha(@panel_fg_color,0.35); } - -.xfce4-panel.background button:checked:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@panel_fg_color,0.2); } - -.xfce4-panel.background button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -.xfce4-panel.background button entry { caret-color: @view_fg_color; } - -.xfce4-panel.background button menu { -gtk-icon-effect: none; text-shadow: none; } - -.xfce4-panel.background button menu .linked button { color: @view_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -.xfce4-panel.background button menu .linked button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: alpha(mix(currentColor,@window_bg_color,0.85),0.5); } - -.xfce4-panel.background progressbar { margin: 0; } - -.xfce4-panel.background progressbar.horizontal trough { min-height: 6px; padding: 0; } - -.xfce4-panel.background progressbar.horizontal progress { min-height: 4px; } - -.xfce4-panel.background progressbar.vertical trough { min-width: 6px; padding: 0; } - -.xfce4-panel.background progressbar.vertical progress { min-width: 4px; } - -.xfce4-panel.background progressbar progress { border-radius: 0px; } - -.xfce4-panel.background progressbar trough { background: shade(@panel_bg_color,0.7); border-radius: 0px; border-color: shade(@panel_bg_color,0.4); } - -wnck-pager { background-color: alpha(@panel_fg_color,0.1); } - -wnck-pager:selected { background-color: shade(@accent_bg_color,0.88); } - -wnck-pager:hover { background-color: @accent_bg_color; } - -#xfwm-tabwin { padding: 12px; border-radius: 12px; -XfwmTabwinWidget-icon-size: 64px; -XfwmTabwinWidget-preview-size: 128px; } - -#xfwm-tabwin .tabwin-app-grid button { min-width: 96px; min-height: 96px; } - -window#whiskermenu-window button { transition: none; } - -#whiskermenu-button { transition: none; } - -#XfceNotifyWindow { border-radius: 8px; background-color: @view_bg_color; } - -.caja-desktop.caja-canvas-item, .nemo-desktop.nemo-canvas-item { color: @accent_fg_color; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); } - -.nemo-properties-dialog .dialog-action-box .dialog-action-area { margin: 2px 6px 4px; } - -.nemo-properties-dialog toolbar stackswitcher.linked button { margin-right: 0; } - -.nemo-properties-dialog toolbar stackswitcher.linked button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: @window_bg_color; } - -.nemo-window .sidebar scrolledwindow.frame.nemo-places-sidebar { border: none; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview { background-image: image(@window_bg_color); border-radius: 0; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:selected { background: @accent_bg_color; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:not(:selected):not(:backdrop):hover { background-image: image(alpha(@window_fg_color,0.05)); } - -.nemo-window .nemo-inactive-pane .view, .nemo-window .nemo-inactive-pane iconview { background-color: @window_bg_color; } - -.nemo-window .nemo-window-pane widget.entry { border: 1px solid; border-radius: 3px; color: @window_fg_color; border-color: @accent_bg_color; background-color: @window_bg_color; } - -.nemo-window .nemo-window-pane widget.entry:selected { border: 1px solid; border-radius: 3px; color: @accent_fg_color; border-color: @accent_bg_color; background-color: @accent_bg_color; } - -.nemo-window toolbar.horizontal.primary-toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } - -.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:first-child widget { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } - -.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:last-child widget { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } - -.nemo-window toolbar.horizontal.primary-toolbar toolitem box widget * { min-height: 0; min-width: 0; } - -.nemo-window toolbar.horizontal.primary-toolbar .linked button { margin-right: 0; } - -#dialog-action_area3 { margin: 5px; } - -window.background.chromium { background-color: mix(currentColor,@window_bg_color,0.9); } - -window.background.chromium entry, window.background.chromium > button { border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(currentColor,@window_bg_color,0.8); } - -window.background.chromium textview.view { background-color: @view_bg_color; } - -window.background.chromium menuitem { border-radius: 0; } - -#MozillaGtkWidget.background button { font-weight: initial; } - -#MozillaGtkWidget.background check, #MozillaGtkWidget.background radio { padding: 0; min-height: 12px; min-width: 12px; } - -#MozillaGtkWidget.background menuitem { border-radius: 0; } - -#MozillaGtkWidget.background menuitem check, #MozillaGtkWidget.background menuitem radio { min-height: 12px; min-width: 12px; } - -#MozillaGtkWidget.background { background-color: @headerbar_bg_color; } - -#MozillaGtkWidget > widget border { border-color: mix(currentColor,@window_bg_color,0.85); } - -window.background.chromium selection:focus, window.background.chromium selection, #MozillaGtkWidget.background selection:focus, #MozillaGtkWidget.background selection { background-color: @accent_bg_color; color: @accent_fg_color; } - -button .download_progress trough { min-height: 2px; } - -.titlebar .navigation-box.linked button:not(:only-child):not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):disabled:not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):backdrop:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.titlebar .navigation-box.linked button:not(:only-child):last-child, .titlebar .navigation-box.linked button:not(:only-child):disabled:last-child, .titlebar .navigation-box.linked button:not(:only-child):backdrop:last-child { border-left-color: transparent; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected:hover { background-color: @accent_bg_color; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle { color: @accent_fg_color; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected image { color: @accent_fg_color; } - -.incognito-mode headerbar, .incognito-mode headerbar.titlebar, .incognito-mode .titlebar { background: @incognito_bg_color; } - -.incognito-mode headerbar:backdrop, .incognito-mode headerbar.titlebar:backdrop, .incognito-mode .titlebar:backdrop { background: mix(@incognito_bg_color,@window_bg_color,0.5); } - -.incognito-mode headerbar button.image-button:hover, .incognito-mode headerbar.titlebar button.image-button:hover, .incognito-mode .titlebar button.image-button:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.03),0.903); } - -.incognito-mode headerbar button.image-button:hover:backdrop, .incognito-mode headerbar.titlebar button.image-button:hover:backdrop, .incognito-mode .titlebar button.image-button:hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@incognito_bg_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar button.image-button:active, .incognito-mode headerbar button.image-button:checked, .incognito-mode headerbar.titlebar button.image-button:active, .incognito-mode headerbar.titlebar button.image-button:checked, .incognito-mode .titlebar button.image-button:active, .incognito-mode .titlebar button.image-button:checked { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.903); } - -.incognito-mode headerbar button.image-button:active:hover, .incognito-mode headerbar button.image-button:checked:hover, .incognito-mode headerbar.titlebar button.image-button:active:hover, .incognito-mode headerbar.titlebar button.image-button:checked:hover, .incognito-mode .titlebar button.image-button:active:hover, .incognito-mode .titlebar button.image-button:checked:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,0.963),0.903); } - -.incognito-mode headerbar button.image-button:active:backdrop, .incognito-mode headerbar button.image-button:checked:backdrop, .incognito-mode headerbar.titlebar button.image-button:active:backdrop, .incognito-mode headerbar.titlebar button.image-button:checked:backdrop, .incognito-mode .titlebar button.image-button:active:backdrop, .incognito-mode .titlebar button.image-button:checked:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar entry, .incognito-mode headerbar.titlebar entry, .incognito-mode .titlebar entry { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.903); } - -.incognito-mode headerbar entry:backdrop, .incognito-mode headerbar.titlebar entry:backdrop, .incognito-mode .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar entry:disabled, .incognito-mode headerbar.titlebar entry:disabled, .incognito-mode .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.incognito-mode headerbar entry:disabled:backdrop, .incognito-mode headerbar.titlebar entry:disabled:backdrop, .incognito-mode .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.org-gnome-Builder .dzlmenubuttonitem { font-weight: normal; min-height: 32px; } - -terminal-window notebook > header.top tabs:not(:only-child):first-child, terminal-window notebook > header.bottom tabs:not(:only-child):first-child { margin-left: 0px; } - -terminal-window notebook > header.top tabs:not(:only-child):last-child, terminal-window notebook > header.bottom tabs:not(:only-child):last-child { margin-right: 0px; } - -terminal-window notebook scrollbar slider { margin: 0; border-width: 3px; } - -window.background.caja-navigation-window #Toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } - -window.background.caja-navigation-window #Toolbar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } - -.caja-pathbar button { min-width: 32px; border-radius: 0; border-right-width: 0; margin-right: -3px; } - -.caja-pathbar button.slider-button:nth-child(odd) { border-radius: 6px 0px 0px 6px; } - -.caja-pathbar button.slider-button:nth-child(even) { border-radius: 0 6px 6px 0; border-right-width: 1px; } - -.caja-side-pane .frame { border-style: solid none none none; } - -.caja-notebook .view, .caja-notebook iconview, .caja-notebook .view.frame, .caja-notebook .frame { border-left: 0; border-right: 0; } - -.caja-side-pane + separator + box:backdrop { background: @window_bg_color; } - -.caja-navigation-window widget.view widget.entry, .caja-desktop-window widget.view widget.entry { background: mix(currentColor,@window_bg_color,0.95); color: @window_fg_color; border-color: mix(currentColor,@window_bg_color,0.85); } - -.caja-navigation-window widget.view widget.entry:selected, .caja-desktop-window widget.view widget.entry:selected { background: @accent_bg_color; color: @accent_fg_color; } - -#gnc-id-main-window treeview.view:not(:selected):hover { background-color: mix(currentColor,@view_bg_color,0.93); } - -gnc-id-sheet-list { background-color: @window_bg_color; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content { background-color: @window_bg_color; border: none; border-radius: 0; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-bottom-width: 0; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background { background-color: transparent; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background > revealer > box { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background { background-color: transparent; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background > actionbar > revealer > box { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer searchbar > revealer > box { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); } - -.geary-folder-popover-list-row { border-radius: 0; margin: 0; } - -.geary-main-window leaflet > leaflet > box:first-child { background-color: @sidebar_bg_color; } - -.geary-main-window leaflet > leaflet > box:first-child:backdrop { background-color: @sidebar_backdrop_color; } - -.geary-main-window leaflet > box:first-child > .titlebar { background-color: @sidebar_bg_color; background-image: none; border-bottom: transparent; box-shadow: none; } - -.geary-main-window leaflet > box:first-child > .titlebar:backdrop { background-color: @sidebar_backdrop_color; } - -.geary-main-window leaflet > box:first-child > .titlebar button { background-color: transparent; } - -.geary-main-window leaflet > box:first-child > .titlebar button:hover { background-color: alpha(currentColor,0.15); } - -.geary-main-window leaflet > box:first-child > .titlebar button:hover:active, .geary-main-window leaflet > box:first-child > .titlebar button:active, .geary-main-window leaflet > box:first-child > .titlebar button:hover:checked, .geary-main-window leaflet > box:first-child > .titlebar button:checked { background-color: alpha(currentColor,0.3); } - -.geary-main-window leaflet > box:first-child > .titlebar button:backdrop { background: transparent; } - -.geary-main-window leaflet > box:first-child > .titlebar button:backdrop:hover { background: alpha(currentColor,0.15); } - -.geary-main-window leaflet > box:not(:first-child) > .titlebar { border-bottom: transparent; box-shadow: none; } - -.geary-main-window leaflet > box:not(:first-child) > .titlebar:backdrop { background-image: none; background-color: @new_title_bg_color; } - -.geary-main-window separator.sidebar { background-color: mix(currentColor,@window_bg_color,0.85); } - -.geary-main-window .titlebar .image-button { padding: 0 6px; } - -.geary-folder .sidebar.view:selected, .geary-folder iconview.sidebar:selected { background-color: alpha(currentColor,0.1); } - -.geary-folder .sidebar.view:selected:hover, .geary-folder iconview.sidebar:selected:hover { background-color: alpha(currentColor,0.13); } - -.geary-folder .sidebar.view:hover, .geary-folder iconview.sidebar:hover { background-color: alpha(currentColor,0.07); } - -#DialogNotebook treeview.view:hover { background-color: alpha(@accent_bg_color,0.5); } - -.budgie-panel button { min-height: 16px; min-width: 16px; padding: 0; border-radius: 0; } - -.budgie-panel button.flat.launcher { padding: 0; } - -.budgie-panel.horizontal button, .budgie-panel #tasklist-button { padding: 0 4px; } - -.budgie-panel.vertical button { padding: 4px 0; } - -.budgie-panel.vertical #tasklist-button { min-height: 32px; } diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/gtk.css b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/gtk.css deleted file mode 100644 index 936a5763..00000000 --- a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/gtk.css +++ /dev/null @@ -1,3249 +0,0 @@ -@define-color blue_1 #99c1f1; -@define-color blue_2 #62a0ea; -@define-color blue_3 #3584e4; -@define-color blue_4 #1c71d8; -@define-color blue_5 #1a5fb4; -@define-color green_1 #8ff0a4; -@define-color green_2 #57e389; -@define-color green_3 #33d17a; -@define-color green_4 #2ec27e; -@define-color green_5 #26a269; -@define-color yellow_1 #f9f06b; -@define-color yellow_2 #f8e45c; -@define-color yellow_3 #f6d32d; -@define-color yellow_4 #f5c211; -@define-color yellow_5 #e5a50a; -@define-color orange_1 #ffbe6f; -@define-color orange_2 #ffa348; -@define-color orange_3 #ff7800; -@define-color orange_4 #e66100; -@define-color orange_5 #c64600; -@define-color red_1 #f66151; -@define-color red_2 #ed333b; -@define-color red_3 #e01b24; -@define-color red_4 #c01c28; -@define-color red_5 #a51d2d; -@define-color purple_1 #dc8add; -@define-color purple_2 #c061cb; -@define-color purple_3 #9141ac; -@define-color purple_4 #813d9c; -@define-color purple_5 #613583; -@define-color brown_1 #cdab8f; -@define-color brown_2 #b5835a; -@define-color brown_3 #986a44; -@define-color brown_4 #865e3c; -@define-color brown_5 #63452c; -@define-color light_1 #ffffff; -@define-color light_2 #f6f5f4; -@define-color light_3 #deddda; -@define-color light_4 #c0bfbc; -@define-color light_5 #9a9996; -@define-color dark_1 #77767b; -@define-color dark_2 #5e5c64; -@define-color dark_3 #3d3846; -@define-color dark_4 #241f31; -@define-color dark_5 #000000; -@define-color accent_bg_color @blue_3; -@define-color accent_fg_color white; -@define-color accent_color #78aeed; -@define-color destructive_bg_color @red_4; -@define-color destructive_fg_color white; -@define-color destructive_color #ff7b63; -@define-color success_bg_color @green_5; -@define-color success_fg_color white; -@define-color success_color @green_1; -@define-color warning_bg_color #cd9309; -@define-color warning_fg_color rgba(0, 0, 0, 0.8); -@define-color warning_color @yellow_2; -@define-color error_bg_color @red_4; -@define-color error_fg_color white; -@define-color error_color #ff7b63; -@define-color window_bg_color #242424; -@define-color window_fg_color white; -@define-color view_bg_color #1e1e1e; -@define-color view_fg_color white; -@define-color headerbar_bg_color #303030; -@define-color headerbar_fg_color white; -@define-color headerbar_border_color white; -@define-color headerbar_backdrop_color @window_bg_color; -@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); -@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); -@define-color sidebar_bg_color #303030; -@define-color sidebar_fg_color white; -@define-color sidebar_backdrop_color #2a2a2a; -@define-color sidebar_shade_color rgba(0, 0, 0, 0.25); -@define-color sidebar_border_color rgba(0, 0, 0, 0.36); -@define-color card_bg_color rgba(255, 255, 255, 0.08); -@define-color card_fg_color white; -@define-color card_shade_color rgba(0, 0, 0, 0.36); -@define-color dialog_bg_color #383838; -@define-color dialog_fg_color white; -@define-color popover_bg_color #383838; -@define-color popover_fg_color white; -@define-color popover_shade_color rgba(0, 0, 0, 0.25); -@define-color thumbnail_bg_color #383838; -@define-color thumbnail_fg_color white; -@define-color shade_color rgba(0, 0, 0, 0.25); -@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); -@define-color incognito_bg_color #1c2438; -@define-color new_title_bg_color #303030; -* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: @error_bg_color; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 4px; -gtk-secondary-caret-color: @accent_bg_color; } - -.background { color: @window_fg_color; background-color: @window_bg_color; } - -.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; } - -*:disabled { -gtk-icon-effect: dim; } - -.gtkstyle-fallback { color: @window_fg_color; background-color: @window_bg_color; } - -.gtkstyle-fallback:hover { color: @window_fg_color; background-color: shade(@window_bg_color,1.1); } - -.gtkstyle-fallback:active { color: @window_fg_color; background-color: shade(@window_bg_color,0.9); } - -.gtkstyle-fallback:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -.gtkstyle-fallback:selected { color: @accent_fg_color; background-color: @accent_bg_color; } - -.view, iconview, .nautilus-window notebook, .nautilus-window notebook > stack:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar, .view text, iconview text, textview text { color: @view_fg_color; caret-color: shade(@view_fg_color,0.97); background-color: @view_bg_color; } - -.view:disabled, iconview:disabled, .nautilus-window notebook:disabled, .nautilus-window notebook > stack:disabled:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -.view:selected:focus, .view:selected, iconview:selected, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected, iconview text:selected, textview text:selected { background-color: alpha(@accent_bg_color,0.25); border-radius: 6px; } - -textview border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } - -.rubberband, rubberband, XfdesktopIconView.view .rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } - -flowbox flowboxchild { padding: 3px; } - -flowbox flowboxchild:selected { outline-offset: -2px; } - -.content-view .tile { margin: 2px; background-color: black; border-radius: 0; padding: 0; } - -.content-view .tile:backdrop { background-color: mix(black,@window_bg_color,0.95); } - -.content-view .tile:active, .content-view .tile:selected { background-color: @accent_bg_color; } - -.content-view .tile:disabled { background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -label { caret-color: currentColor; } - -label selection { background-color: @accent_bg_color; color: @accent_fg_color; } - -label:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -button label:disabled { color: inherit; } - -label:disabled:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -button label:disabled:backdrop { color: inherit; } - -label.error { color: @error_bg_color; } - -label.error:disabled { color: alpha(@error_bg_color,0.5); } - -label.error:disabled:backdrop { color: alpha(@error_bg_color,0.4); } - -.dim-label, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, .welcome .dim-label, .welcome label.separator, .welcome headerbar .subtitle, headerbar .welcome .subtitle, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; } - -assistant.csd .sidebar { border-top-style: none; } - -assistant .sidebar label { padding: 6px 12px; } - -assistant .sidebar label.highlight { background-color: mix(@window_bg_color,@window_fg_color,0.2); } - -.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } - -@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } } - -spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } - -spinner:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -spinner:checked { opacity: 1; animation: spin 1s linear infinite; } - -spinner:checked:disabled { opacity: 0.5; } - -.large-title { font-weight: 300; font-size: 24pt; } - -.title-1 { font-weight: 800; font-size: 20pt; } - -.title-2 { font-weight: 800; font-size: 15pt; } - -.title-3 { font-weight: 700; font-size: 15pt; } - -.title-4 { font-weight: 700; font-size: 13pt; } - -.heading { font-weight: 700; font-size: 11pt; } - -.body { font-weight: 400; font-size: 11pt; } - -.caption-heading { font-weight: 700; font-size: 9pt; } - -.caption { font-weight: 400; font-size: 9pt; } - -spinbutton:not(.vertical), entry { min-height: 34px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: @view_fg_color; border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.903); box-shadow: inset 0 0 0 1px alpha(alpha(@accent_color,0.5),0); } - -spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; } - -spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; } - -spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } - -spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); border-color: alpha(@accent_color,0.5); transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton:disabled:not(.vertical), entry:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); } - -spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; border-color: @error_bg_color; } - -spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton.error:not(.vertical) selection, entry.error selection { background-color: @error_bg_color; } - -spinbutton.warning:not(.vertical), entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } - -spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: @warning_bg_color; } - -spinbutton:not(.vertical) image, entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } - -spinbutton:not(.vertical) image:hover, entry image:hover { color: @window_fg_color; } - -spinbutton:not(.vertical) image:active, entry image:active { color: @accent_bg_color; } - -spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: @accent_bg_color; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } - -.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: @error_bg_color; } - -.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: @accent_bg_color; } - -.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } - -.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.7); } - -.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: alpha(@accent_color,0.5); } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: @error_bg_color; } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: @accent_bg_color; } - -.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: alpha(@accent_color,0.5); } - -.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: @error_bg_color; } - -.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: @accent_bg_color; } - -spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; } - -treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } - -treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } - -treeview entry.flat:focus, treeview entry:focus { border-color: @accent_bg_color; } - -.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: @view_bg_color; background-color: mix(@window_fg_color,@view_bg_color,0.5); } - -:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; } - -:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; } - -.entry-tag:hover { background-color: mix(white,mix(@window_fg_color,@view_bg_color,0.5),0.9); } - -:backdrop .entry-tag { color: @window_bg_color; background-color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -.entry-tag.button { background-color: transparent; color: alpha(@view_bg_color,0.7); } - -:not(:backdrop) .entry-tag.button:hover { border: 1px solid mix(@window_fg_color,@view_bg_color,0.5); color: @view_bg_color; } - -:not(:backdrop) .entry-tag.button:active { background-color: mix(@window_fg_color,@view_bg_color,0.5); color: alpha(@view_bg_color,0.7); } - -@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(mix(white,@accent_bg_color,0.85)), to(transparent)); } - to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); } } - -notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 10px; border: 1px solid; border-color: transparent; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); font-weight: bold; outline-style: solid; outline-offset: -2px; outline-width: 2px; -gtk-outline-radius: 4px; color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } - -button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition: none; } - -button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; } - -button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -notebook > header > tabs > arrow:hover, button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; -gtk-icon-effect: highlight; } - -notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; } - -notebook > header > tabs > arrow:active:hover, notebook > header > tabs > arrow:checked:hover, button:active:hover, button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { transition: 200ms ease-out; -gtk-icon-effect: none; } - -button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -notebook > header > tabs > arrow:disabled, button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } - -notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 4px; padding-right: 4px; } - -notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 10px; padding-right: 10px; } - -notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 4px; padding-right: 4px; } - -notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 4px; padding-right: 4px; } - -combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: @window_fg_color; border-color: transparent; } - -button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); border-radius: 5px; color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd.image-button { min-width: 34px; } - -button.osd:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd:active, button.osd:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd:disabled:backdrop, button.osd:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } - -button.osd:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } - -.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; border-color: transparent; box-shadow: none; } - -.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -button.suggested-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } - -button.suggested-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @accent_bg_color; } - -button.suggested-action:hover { color: white; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } - -button.suggested-action:active, button.suggested-action:checked { color: white; background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.suggested-action:active:hover, button.suggested-action:checked:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } - -button.suggested-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@accent_bg_color,0.8); } - -button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: mix(white,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } - -.osd button.suggested-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd button.suggested-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@accent_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.destructive-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } - -button.destructive-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @destructive_bg_color; } - -button.destructive-action:hover { color: white; background-color: mix(currentColor,@destructive_bg_color,0.85); box-shadow: none; } - -button.destructive-action:active, button.destructive-action:checked { color: white; background-color: mix(currentColor,@destructive_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.destructive-action:active:hover, button.destructive-action:checked:hover { background-color: mix(currentColor,@destructive_bg_color,0.653); } - -button.destructive-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@destructive_bg_color,0.8); } - -button.destructive-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: mix(white,shade(mix(@destructive_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; } - -.osd button.destructive-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd button.destructive-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@destructive_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.stack-switcher > button { outline-offset: -3px; } - -.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: 2px; padding-right: 2px; } - -.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; } - -button.font separator, button.file separator { background-color: transparent; } - -button.font > box > box > label { font-weight: bold; } - -.primary-toolbar button { -gtk-icon-shadow: none; } - -button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; } - -button.circular label { padding: 0; } - -button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); border-color: transparent; } - -button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: transparent; } - -stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } - -stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } - -.inline-toolbar toolbutton > button { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } - -.inline-toolbar toolbutton > button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } - -.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:active:hover, .inline-toolbar toolbutton > button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -.inline-toolbar toolbutton > button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.inline-toolbar toolbutton > button:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; } - -.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:first-child, headerbar .linked button:first-child:not(:only-child), .titlebar .linked button:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-left-color: transparent; border-top-left-radius: 6px; border-bottom-left-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-bottom-left-radius: 6px; } - -.linked:not(.vertical) > combobox:first-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):last-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:not(button):focus:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:first-child, headerbar .linked button:not(button):focus:first-child:not(:only-child), .titlebar .linked button:not(button):focus:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:first-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:first-child, .inline-toolbar button:not(button):focus:first-child, .linked > button:not(button):focus:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat:not(button):focus { border-left-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:last-child, headerbar .linked button:last-child:not(:only-child), .titlebar .linked button:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-color: transparent; border-right-style: solid; border-top-right-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-top-right-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } - -.linked:not(.vertical) > combobox:last-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):first-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:not(button):focus:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:last-child, headerbar .linked button:not(button):focus:last-child:not(:only-child), .titlebar .linked button:not(button):focus:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:last-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:last-child, .inline-toolbar button:not(button):focus:last-child, .linked > button:not(button):focus:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat:not(button):focus { border-right-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .xfce4-panel.background button menu .linked button:only-child, .nautilus-window .titlebar :not(.raised) .linked > button:only-child, headerbar .linked button:only-child:not(:only-child), .titlebar .linked button:only-child:not(:only-child), .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } - -.xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); } - -.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); border-style: solid none none none; border-radius: 0; -gtk-outline-radius: 0; } - -.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-color: transparent; border-top-left-radius: 6px; border-top-right-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-top-right-radius: 6px; } - -.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-color: transparent; border-bottom-style: solid; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-bottom-left-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } - -.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } - -.linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); } - -.scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -modelbutton.flat, .menuitem.button.flat { min-height: 32px; padding-left: 5px; padding-right: 5px; border-radius: 6px; outline-offset: -2px; } - -modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: alpha(currentColor,0.1); } - -modelbutton.flat:selected, .menuitem.button.flat:selected { background-color: alpha(currentColor,0.1); } - -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 { padding: 4px; } - -button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; } - -list row button.image-button:not(.flat):hover { background-color: alpha(currentColor,0.04); } - -list row button.image-button:not(.flat):active { background-color: alpha(currentColor,0.08); } - -list row button.image-button:not(.flat):checked { background-color: alpha(@accent_bg_color,0.25); } - -list row button.image-button:not(.flat):checked:hover { background-color: alpha(@accent_bg_color,0.32); } - -list row button.image-button:not(.flat):checked:active { background-color: alpha(@accent_bg_color,0.39); } - -button:link > label, button:visited > label, button:link, button:visited, *:link { color: @accent_color; } - -button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: mix(@accent_color,@view_fg_color,0.2); } - -*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: mix(@accent_fg_color,mix(@accent_color,@view_fg_color,0.2),0.4); } - -button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: mix(white,@accent_color,0.9); } - -*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: mix(@accent_fg_color,mix(white,@accent_color,0.9),0.1); } - -button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: @accent_color; } - -*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: mix(@accent_fg_color,@accent_color,0.2); } - -button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: alpha(@accent_color,0.9); } - -button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: alpha(mix(white,black,0.5),0.8); } - -.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: mix(@accent_fg_color,@accent_color,0.2); } - -button:link, button:visited { text-shadow: none; font-weight: 400; } - -button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; } - -button:link > label, button:visited > label { text-decoration-line: underline; } - -spinbutton { font-feature-settings: "tnum"; } - -spinbutton:not(.vertical) { padding: 0; } - -.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; } - -spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; } - -spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: mix(@window_fg_color,@view_bg_color,0.1); background-color: transparent; border-style: none none none solid; border-color: alpha(currentColor,0.15); border-radius: 0; box-shadow: none; } - -spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } - -spinbutton:not(.vertical) button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-color: alpha(currentColor,0.1); } - -spinbutton:not(.vertical) button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: transparent; } - -spinbutton:not(.vertical) button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: alpha(currentColor,0.15); } - -spinbutton:not(.vertical) button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } - -spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } - -.osd spinbutton:not(.vertical) button { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-style: none none none solid; border-color: alpha(rgba(0, 0, 0, 0.9),0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } - -.osd spinbutton:not(.vertical) button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); background-color: alpha(rgba(255, 255, 255, 0.9),0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } - -.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } - -spinbutton.vertical:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; } - -spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; } - -spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; } - -spinbutton.vertical button.up { border-color: alpha(currentColor,0.15); border-radius: 6px 6px 0 0; border-style: none none solid none; } - -spinbutton.vertical button.down { border-color: alpha(currentColor,0.15); border-radius: 0 0 6px 6px; border-style: solid none none none; } - -.osd spinbutton.vertical button:first-child { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd spinbutton.vertical button:first-child:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } - -treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; } - -combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } - -combobox:drop(active) { box-shadow: none; } - -searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: @window_bg_color; } - -searchbar > revealer > box:backdrop, .location-bar:backdrop, .inline-toolbar:backdrop, toolbar:backdrop { background-color: @window_bg_color; } - -toolbar { padding: 4px 3px 3px 4px; } - -.osd toolbar { background-color: transparent; } - -toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(0, 0, 0, 0.7); } - -toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; } - -toolbar.horizontal separator { margin: 0 7px 1px 6px; } - -toolbar.vertical separator { margin: 6px 1px 7px 0; } - -toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; } - -.inline-toolbar { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); border-style: solid; padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; } - -searchbar > revealer > box, .location-bar { border-width: 0 0 1px; border-style: solid; border-color: mix(currentColor,@window_bg_color,0.85); padding: 3px; } - -searchbar > revealer > box { margin: -6px; padding: 6px; } - -.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: @headerbar_shade_color; border-radius: 0; background: @headerbar_bg_color linear-gradient(to top, @headerbar_bg_color, @headerbar_bg_color); } - -.titlebar:backdrop:not(headerbar), headerbar:backdrop { background-color: @headerbar_backdrop_color; background-image: none; transition: 200ms ease-out; } - -.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } - -.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } - -.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.7); background: @accent_bg_color linear-gradient(to top, @accent_bg_color, @accent_bg_color); } - -.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: @accent_bg_color; background-image: none; box-shadow: inset 0 1px mix(alpha(@window_fg_color,0.07),@accent_bg_color,0.4); } - -.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: @accent_fg_color; } - -.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } - -.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:active:hover, .selection-mode .titlebar:not(headerbar) button:checked:hover, .selection-mode.titlebar:not(headerbar) button:active:hover, .selection-mode.titlebar:not(headerbar) button:checked:hover, .selection-mode headerbar button:active:hover, .selection-mode headerbar button:checked:hover, .selection-mode headerbar button.toggle:checked:hover, .selection-mode headerbar button.toggle:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.toggle:checked:hover, headerbar.selection-mode button.toggle:active:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } - -.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { color: mix(@accent_fg_color,@accent_bg_color,0.2); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; -gtk-icon-effect: none; border-color: transparent; } - -.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); } - -.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode headerbar button.suggested-action:active:hover, headerbar.selection-mode button.suggested-action:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: alpha(@accent_bg_color,0); background-color: alpha(@accent_bg_color,0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; } - -.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; } - -.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: alpha(@accent_fg_color,0.5); -gtk-icon-shadow: none; } - -.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; } - -.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 36px; padding: 0 6px 0 6px; } - -.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { border-radius: 100%; background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:hover, headerbar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:active, headerbar.default-decoration button.titlebutton:hover:active, headerbar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop, headerbar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop:hover, headerbar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } - -.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; } - -.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; } - -headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; } - -headerbar switch { margin-top: 9px; margin-bottom: 9px; } - -headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; } - -.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; } - -window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 12px; } - -window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 12px; } - -window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; } - -window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; } - -.titlebar:not(headerbar) separator { background-color: mix(currentColor,@window_bg_color,0.85); } - -.titlebar:not(headerbar) separator:backdrop { background-color: mix(currentColor,@window_bg_color,0.73); } - -window.devel headerbar.titlebar:not(.selection-mode) { background: @window_bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, alpha(@accent_bg_color,0.1)), linear-gradient(to top, mix(white,@headerbar_bg_color,0.97) 3px, mix(white,@headerbar_bg_color,0.95)); } - -window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: @headerbar_backdrop_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(@headerbar_backdrop_color); } - -.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; } - -.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; } - -.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; } - -.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; } - -.path-bar button image { padding-left: 4px; padding-right: 4px; } - -.path-bar button.slider-button { padding-left: 0; padding-right: 0; } - -treeview.view { border-left-color: mix(@window_fg_color,@view_bg_color,0.5); border-top-color: @window_bg_color; } - -* { -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:selected:focus, treeview.view:selected { border-radius: 0; } - -treeview.view:selected:backdrop, treeview.view:selected { border-left-color: mix(@accent_fg_color,@accent_bg_color,0.5); border-top-color: alpha(@window_fg_color,0.1); } - -treeview.view:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -treeview.view:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.6); } - -treeview.view:disabled:selected:backdrop { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.7); } - -treeview.view.separator { min-height: 2px; color: @window_bg_color; } - -treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: mix(black,@accent_bg_color,0.7); } - -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-end-symbolic"); color: mix(@view_fg_color,@view_bg_color,0.3); } - -treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -treeview.view.expander:hover { color: @view_fg_color; } - -treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -treeview.view.progressbar { background-color: @accent_bg_color; background-image: image(@accent_bg_color); box-shadow: none; } - -treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); background-image: image(@view_bg_color); } - -treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { background-color: @window_bg_color; } - -treeview.view.progressbar:backdrop { border-color: @window_bg_color; background-image: none; box-shadow: none; } - -treeview.view.trough { background-color: alpha(@window_fg_color,0.1); } - -treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: mix(black,@accent_bg_color,0.9); } - -treeview.view header button { color: mix(@window_fg_color,@view_bg_color,0.5); background-color: @view_bg_color; font-weight: bold; font-size: smaller; text-shadow: none; box-shadow: none; } - -treeview.view header button:hover { color: mix(mix(@window_fg_color,@view_bg_color,0.5),@window_fg_color,0.5); box-shadow: none; transition: none; } - -treeview.view header button:active { color: @window_fg_color; transition: none; } - -treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: @view_bg_color; background-image: none; background-color: @accent_bg_color; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px @view_bg_color; text-shadow: none; transition: none; } - -treeview.view acceleditor > label { background-color: @accent_bg_color; } - -treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none; border-radius: 0; text-shadow: none; } - -treeview.view header button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } - -treeview.view header button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -treeview.view header button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -treeview.view header button:disabled { border-color: @window_bg_color; background-image: none; } - -treeview.view header button:last-child { border-right-style: none; } - -menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0; } - -menubar:backdrop, .menubar:backdrop { background-color: @window_bg_color; } - -menubar > menuitem, .menubar > menuitem { border-radius: 6px; min-height: 16px; padding: 4px 8px; } - -menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 8px; padding: 6px; } - -menubar > menuitem menu:dir(rtl) menuitem, menubar > menuitem menu:dir(ltr) menuitem, .menubar > menuitem menu:dir(rtl) menuitem, .menubar > menuitem menu:dir(ltr) menuitem { border-radius: 6px; } - -menubar > menuitem:hover, .menubar > menuitem:hover { background-color: alpha(currentColor,0.1); } - -menubar > menuitem:disabled, .menubar > menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); box-shadow: none; } - -menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 8px; } - -.background.popup { background-color: transparent; } - -menu, .menu, .context-menu { margin: 4px; padding: 6px; background-color: @popover_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -menu separator, .menu separator, .context-menu separator { margin: 6px 0; } - -.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 8px; } - -menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; font-weight: normal; border-radius: 6px; } - -menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: @window_fg_color; background-color: alpha(currentColor,0.1); } - -menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -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: 10px; } - -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: 10px; } - -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 { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; min-height: 16px; min-width: 16px; padding: 4px; background-color: @popover_bg_color; border-radius: 0; } - -menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-top-right-radius: 8px; border-top-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: mix(@window_fg_color,@view_bg_color,0.9); } - -menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; } - -menuitem accelerator { color: alpha(currentColor,0.55); } - -menuitem check, menuitem radio { min-height: 16px; min-width: 16px; } - -menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; } - -menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; } - -popover.background { padding: 2px; background-color: @popover_bg_color; box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 8px 3px rgba(0, 0, 0, 0.05); } - -.csd popover.background, popover.background { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-radius: 12px; } - -.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.14); } - -popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; } - -.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); } - -popover.background separator { margin: 6px 0; } - -popover.background list separator { margin: 0px; } - -notebook > header { padding: 0px; border-color: alpha(currentColor,0.15); border-width: 0px; background-color: @window_bg_color; box-shadow: none; } - -notebook > header.top { box-shadow: inset 0 -1px alpha(currentColor,0.15); } - -notebook > header.bottom { box-shadow: inset 0 1px alpha(currentColor,0.15); } - -notebook > header.left { box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -notebook > header.right { box-shadow: inset 1px 0 alpha(currentColor,0.15); } - -notebook > header tabs { margin: 0px; } - -notebook > header.top { border-bottom-style: solid; } - -notebook > header.top > tabs { margin-bottom: 0px; } - -notebook > header.top > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } - -notebook > header.top > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.top > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 -4px @accent_bg_color; } - -notebook > header.bottom { border-top-style: solid; } - -notebook > header.bottom > tabs { margin-top: 0px; } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 4px @accent_bg_color; } - -notebook > header.left { border-right-style: solid; } - -notebook > header.left > tabs { margin-right: 0px; } - -notebook > header.left > tabs > tab:not(.reorderable-page):hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } - -notebook > header.left > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.left > tabs > tab:not(.reorderable-page):checked { box-shadow: inset -4px 0 @accent_bg_color; } - -notebook > header.right { border-left-style: solid; } - -notebook > header.right > tabs { margin-left: 0px; } - -notebook > header.right > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } - -notebook > header.right > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.right > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 4px 0 @accent_bg_color; } - -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 { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } - -notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } - -notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -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 { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } - -notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; } - -notebook > header > tabs > arrow:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: @window_fg_color; font-weight: normal; border-width: 0px; border-color: transparent; } - -notebook > header tab.reorderable-page { background-color: mix(currentColor,@window_bg_color,0.99); box-shadow: inset -1px -1px alpha(currentColor,0.15); border: none; } - -notebook > header tab:hover { color: @window_fg_color; } - -notebook > header tab:hover.reorderable-page { border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.963); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(currentColor,0.15); transition: background-color 150ms ease-in-out; } - -notebook > header tab:hover.reorderable-page:backdrop { background-color: mix(currentColor,@window_bg_color,1.017); } - -notebook > header tab:backdrop.reorderable-page { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.4); border-color: transparent; background-color: mix(currentColor,@window_bg_color,1.07); box-shadow: inset -1px -1px alpha(currentColor,0.15); } - -notebook > header tab:checked { color: @window_fg_color; } - -notebook > header tab:checked.reorderable-page { border-width: 0; border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px @accent_bg_color; } - -notebook > header tab:checked.reorderable-page:hover { background-color: shade(mix(currentColor,@window_bg_color,0.943),1.11); } - -notebook > header tab:backdrop:checked.reorderable-page { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: alpha(currentColor,0.15); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(@accent_bg_color,0.5); background-color: @window_bg_color; } - -notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; border-radius: 100%; } - -notebook > header tab button.flat:hover { color: currentColor; background-color: alpha(currentColor,0.15); } - -notebook > header tab button.flat:active { background-color: alpha(currentColor,0.3); } - -notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); } - -notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } - -notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } - -notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 0px; padding-right: 0px; } - -notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } - -notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; } - -notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; } - -notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; } - -notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; margin-left: 0px; margin-right: 0px; } - -notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } - -notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; } - -notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; } - -notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; } - -notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: none solid; margin-top: 0px; margin-bottom: 0px; } - -notebook > header.top tab { padding-bottom: 4px; } - -notebook > header.bottom tab { padding-top: 4px; } - -notebook > stack:not(:only-child) { background-color: @view_bg_color; } - -scrollbar { background-color: @view_bg_color; transition: all 200ms linear; } - -* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; } - -scrollbar slider { color: @window_fg_color; min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: alpha(currentColor,0.2); transition: all 200ms linear; } - -scrollbar slider:hover { background-color: alpha(currentColor,0.4); } - -scrollbar slider:hover:active { background-color: alpha(currentColor,0.6); } - -scrollbar slider:disabled { background-color: transparent; } - -scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: alpha(@accent_color,0.6); } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; transition-property: background-color, min-height, min-width; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: @window_fg_color; border: 1px solid black; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: @window_fg_color; background-clip: padding-box; border-radius: 100%; border: 1px solid black; -gtk-icon-source: none; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { margin: 0 2px; min-width: 40px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { margin: 1px 2px; min-width: 5px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { margin: 2px 0; min-height: 40px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { margin: 2px 1px; min-height: 5px; } - -scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; } - -scrollbar.horizontal slider { min-width: 40px; } - -scrollbar.vertical slider { min-height: 40px; } - -scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } - -scrollbar button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.4); } - -scrollbar button:active, scrollbar button:checked { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.6); } - -scrollbar button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } - -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"); } - -treeview ~ scrollbar.vertical { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); margin-top: -1px; } - -switch { outline-offset: -4px; padding: 3px; border-radius: 14px; color: @window_fg_color; background-color: alpha(currentColor,0.15); } - -switch:hover:not(:checked) { background-color: alpha(currentColor,0.2); } - -switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } - -switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } - -switch:checked:hover:active { background-image: image(rgba(0, 0, 0, 0.2)); } - -switch:checked:disabled { background-color: alpha(@accent_bg_color,0.5); } - -switch:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; } - -switch slider { margin: 0px; min-width: 20px; min-height: 20px; background-color: mix(white,@view_bg_color,0.2); border: 1px solid transparent; border-radius: 50%; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; } - -switch image { color: transparent; } - -switch:hover slider { background-color: white; } - -switch:checked > slider { background-color: white; } - -switch:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: none; } - -.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), .content-view:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.7); background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; } - -checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; } - -checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; } - -check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 2px solid; -gtk-icon-source: none; padding: 1px; } - -check:only-child, radio:only-child { margin: 0; } - -popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; } - -popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; } - -check, radio { background-clip: padding-box; background-image: image(transparent); border-color: alpha(currentColor,0.15); box-shadow: none; color: @window_fg_color; } - -check:hover:not(:checked):not(:indeterminate), radio:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:active, radio:active { box-shadow: none; } - -check:disabled, radio:disabled { box-shadow: none; background-image: image(transparent); color: alpha(@window_fg_color,0.5); border-color: alpha(currentColor,0.15); } - -check:checked, radio:checked { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } - -check:checked:hover:not(:checked):not(:indeterminate), radio:checked:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:checked:active, radio:checked:active { box-shadow: none; } - -check:checked:disabled, radio:checked:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } - -check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } - -check:indeterminate:hover:not(:checked):not(:indeterminate), radio:indeterminate:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:indeterminate:active, radio:indeterminate:active { box-shadow: none; } - -check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } - -.osd check, .osd radio { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:hover, .osd radio:hover { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:active, .osd radio:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:backdrop, .osd radio:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd check:disabled, .osd radio:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -menu menuitem check, menu menuitem radio { margin: 0; padding: 0; } - -menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:not(:checked), menu menuitem check:not(:checked):hover, menu menuitem check:not(:checked):disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:not(:checked), menu menuitem radio:not(:checked):hover, menu menuitem radio:not(:checked):disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; padding: 1px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-width: 1px; border-color: mix(currentColor,transparent,0.4); } - -check { border-radius: 6px; } - -check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } - -check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } - -menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled { border: none; } - -treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; } - -treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } - -treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } - -menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } - -treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: @accent_fg_color; } - -progressbar trough, scale fill, scale trough { border-radius: 6px; background-color: alpha(currentColor,0.15); } - -progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: alpha(alpha(currentColor,0.15),0.5); } - -row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: mix(black,@accent_bg_color,0.7); } - -.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.7); } - -.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(0, 0, 0, 0.65); } - -progressbar progress, scale highlight { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } - -progressbar progress:disabled, scale highlight:disabled { background-color: mix(@accent_bg_color,@view_bg_color,0.5); border-color: transparent; } - -row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: mix(black,@accent_bg_color,0.7); } - -.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.9); } - -.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; } - -scale { min-height: 10px; min-width: 10px; padding: 12px; } - -scale slider { min-height: 18px; min-width: 18px; margin: -9px; } - -scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; } - -scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; } - -scale.fine-tune slider { margin: -6px; } - -scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; } - -scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; } - -scale.horizontal trough { min-height: 4px; } - -scale.vertical trough { min-width: 4px; } - -scale fill:backdrop, scale fill { background-color: mix(currentColor,@window_bg_color,0.85); } - -scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; } - -.osd scale fill { background-color: mix(rgba(255, 255, 255, 0.9),rgba(0, 0, 0, 0.9),0.75); } - -.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; } - -scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; } - -scale slider:hover { background-color: white; } - -scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } - -scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15); } - -scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } - -row:selected scale slider:disabled, row:selected scale slider { border-color: mix(black,@accent_bg_color,0.7); } - -.osd scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; } - -.osd scale slider:hover { background-color: white; } - -.osd scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } - -.osd scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2); } - -.osd scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } - -scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; } - -scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; } - -scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; } - -scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; } - -scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; } - -scale.vertical marks.top { margin-right: 6px; margin-left: -12px; } - -scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; } - -scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; } - -scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; } - -scale.horizontal indicator { min-height: 6px; min-width: 1px; } - -scale.horizontal.fine-tune indicator { min-height: 3px; } - -scale.vertical indicator { min-height: 1px; min-width: 6px; } - -scale.vertical.fine-tune indicator { min-width: 3px; } - -scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:hover, scale.horizontal.marks-before:not(.marks-after) slider:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:hover:hover, scale.horizontal.marks-before:not(.marks-after) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:hover, scale.horizontal.marks-after:not(.marks-before) slider:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:hover:hover, scale.horizontal.marks-after:not(.marks-before) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:hover, scale.vertical.marks-before:not(.marks-after) slider:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:hover:hover, scale.vertical.marks-before:not(.marks-after) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:hover, scale.vertical.marks-after:not(.marks-before) slider:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:hover:hover, scale.vertical.marks-after:not(.marks-before) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.color { min-height: 0; min-width: 0; } - -scale.color trough { background-image: image(mix(currentColor,@window_bg_color,0.85)); background-repeat: no-repeat; } - -scale.color.horizontal { padding: 0 0 15px 0; } - -scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; } - -scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; } - -scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; } - -scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; } - -scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } - -scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; } - -scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; } - -scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } - -scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; } - -scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; } - -scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; } - -scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; } - -scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; } - -scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } - -scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; } - -scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; } - -scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } - -progressbar { font-size: smaller; color: alpha(@window_fg_color,0.4); font-feature-settings: "tnum"; } - -progressbar.horizontal trough, progressbar.horizontal progress { min-height: 8px; } - -progressbar.vertical trough, progressbar.vertical progress { min-width: 8px; } - -progressbar.horizontal progress { margin: 0 -1px; } - -progressbar.vertical progress { margin: -1px 0; } - -progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; } - -progressbar progress { border-radius: 8px; } - -progressbar progress.left { border-top-left-radius: 8px; border-bottom-left-radius: 8px; } - -progressbar progress.right { border-top-right-radius: 8px; border-bottom-right-radius: 8px; } - -progressbar progress.top { border-top-right-radius: 8px; border-top-left-radius: 8px; } - -progressbar progress.bottom { border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; } - -progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; } - -progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } - -progressbar.osd progress { border-style: none; border-radius: 0; } - -progressbar trough.empty progress { all: unset; } - -levelbar.horizontal block { min-height: 8px; } - -levelbar.horizontal.continuous block:first-child, levelbar.horizontal.continuous block:last-child { border-radius: 8px; } - -levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; } - -levelbar.horizontal.discrete block:first-child { border-radius: 8px 0 0 8px; } - -levelbar.horizontal.discrete block:last-child { border-radius: 0 8px 8px 0; } - -levelbar.vertical block { min-width: 8px; } - -levelbar.vertical.continuous block:first-child, levelbar.vertical.continuous block:last-child { border-radius: 8px; } - -levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; } - -levelbar.vertical.discrete block:first-child { border-radius: 8px 8px 0 0; } - -levelbar.vertical.discrete block:last-child { border-radius: 0 0 8px 8px; } - -levelbar:backdrop { transition: 200ms ease-out; } - -levelbar trough { border: 0px solid; padding: 0; border-radius: 8px; background-color: alpha(currentColor,0.15); } - -levelbar trough:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } - -levelbar block { border: 0px solid; border-radius: 0; } - -levelbar block.low { border-color: @warning_bg_color; background-color: @warning_bg_color; } - -levelbar block.low:backdrop { border-color: @warning_bg_color; } - -levelbar block.high, levelbar block:not(.empty) { border-color: @accent_bg_color; background-color: @accent_bg_color; } - -levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: @accent_bg_color; } - -levelbar block.full { border-color: @success_bg_color; background-color: @success_bg_color; } - -levelbar block.full:backdrop { border-color: @success_bg_color; } - -levelbar block.empty { background-color: transparent; border-color: alpha(@window_fg_color,0.1); } - -levelbar block.empty:backdrop { border-color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.15); } - -printdialog paper { color: @window_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); background: white; padding: 0; border-radius: 0; box-shadow: none; } - -printdialog paper:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } - -printdialog .dialog-action-box { margin: 12px; } - -frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -frame > border.flat, .frame.flat { border-style: none; } - -actionbar > revealer > box { padding: 6px; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } - -scrolledwindow viewport.frame { border-style: none; } - -scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, mix(currentColor,@window_bg_color,0.85) 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: @view_bg_color; } - -scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; } - -separator { background: mix(currentColor,@window_bg_color,0.85); min-width: 1px; min-height: 1px; } - -list { color: @view_fg_color; background-color: @view_bg_color; border-color: @card_shade_color; } - -list row { padding: 2px; outline-color: alpha(@accent_color,0.5); outline-style: solid; outline-offset: -3px; outline-width: 2px; -gtk-outline-radius: 6px; } - -row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row:hover { transition: none; } - -row:backdrop { transition: 200ms ease-out; } - -row.activatable.has-open-popup, row.activatable:hover { background-color: alpha(currentColor,0.07); } - -row.activatable:active { background-color: alpha(currentColor,0.16); } - -row.activatable:backdrop:hover { background-color: transparent; } - -row.activatable:selected { color: @window_fg_color; } - -row.activatable:selected:active { background-color: alpha(currentColor,0.19); } - -row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: alpha(currentColor,0.13); color: @window_fg_color; } - -row.activatable:selected:backdrop { background-color: alpha(currentColor,0.07); color: @window_fg_color; } - -row:selected { background-color: alpha(currentColor,0.1); } - -.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; border: none; } - -.app-notification:backdrop, .app-notification.frame:backdrop { background-image: none; transition: 200ms ease-out; } - -.app-notification border, .app-notification.frame border { border: none; } - -expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } - -expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -expander title > arrow:hover { color: mix(white,@window_fg_color,0.7); } - -expander title > arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -expander title > arrow:disabled:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -calendar { color: @view_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -calendar:selected { border-radius: 6px; } - -calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); } - -calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); } - -calendar.button { color: alpha(@window_fg_color,0.45); } - -calendar.button:hover { color: @window_fg_color; } - -calendar.button:backdrop { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } - -calendar.button:disabled { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } - -calendar.highlight { color: mix(@window_fg_color,@window_bg_color,0.5); } - -calendar.highlight:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -calendar:backdrop { color: mix(@view_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } - -calendar:indeterminate { color: alpha(currentColor,0.1); } - -messagedialog .titlebar, messagedialog .titlebar:backdrop { min-height: 20px; background-image: none; background: @dialog_bg_color; color: @dialog_fg_color; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } - -messagedialog.csd.background { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; background-color: @dialog_bg_color; color: @dialog_fg_color; } - -messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; background-color: @dialog_bg_color; color: @dialog_fg_color; border-top: 1px solid alpha(currentColor,0.15); border-left: 1px solid alpha(currentColor,0.15); } - -messagedialog.csd .dialog-action-area button:hover { background: alpha(currentColor,0.04); } - -messagedialog.csd .dialog-action-area button:active { background: alpha(currentColor,0.08); } - -messagedialog.csd .dialog-action-area button.suggested-action { color: @accent_color; } - -messagedialog.csd .dialog-action-area button.destructive-action { color: @destructive_color; } - -messagedialog.csd .dialog-action-area button:checked { background: alpha(@accent_bg_color,0.25); } - -messagedialog.csd .dialog-action-area button:checked:hover { background: alpha(@accent_bg_color,0.32); } - -messagedialog.csd .dialog-action-area button:checked:active { background: alpha(@accent_bg_color,0.39); } - -messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 11px; -gtk-outline-bottom-left-radius: 11px; } - -messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 11px; -gtk-outline-bottom-right-radius: 11px; } - -filechooser .dialog-action-box { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } - -filechooser #pathbarbox { border-bottom: 1px solid @window_bg_color; } - -filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; } - -.sidebar { border-style: none; background-color: @sidebar_bg_color; color: @sidebar_fg_color; } - -.sidebar:backdrop { background-color: @sidebar_backdrop_color; } - -stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid @sidebar_border_color; border-left-style: none; } - -stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid @sidebar_border_color; border-right-style: none; } - -.sidebar list { background-color: transparent; } - -paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } - -.sidebar row { border-radius: 6px; } - -.sidebar row:backdrop { color: @sidebar_fg_color; } - -.sidebar row, .sidebar separator { margin: 0 4px; } - -stacksidebar row { padding: 10px 4px; } - -stacksidebar row > label { padding-left: 6px; padding-right: 6px; } - -stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } - -separator.sidebar { background-color: @sidebar_border_color; } - -separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: shade(@accent_bg_color,0.8); } - -row image.sidebar-icon { opacity: 0.7; } - -placessidebar > viewport.frame { border-style: none; } - -placessidebar row { min-height: 36px; padding: 0px; } - -placessidebar row > revealer { padding: 0 14px; } - -placessidebar row:selected { color: @accent_fg_color; } - -placessidebar row:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -placessidebar row:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -placessidebar row:backdrop:selected { color: mix(@view_fg_color,@window_bg_color,0.5); } - -placessidebar row:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -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; } - -button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; } - -button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; } - -placessidebar row:selected:active { box-shadow: none; } - -placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } - -placessidebar row.sidebar-new-bookmark-row { color: @accent_bg_color; } - -placessidebar row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 1px @accent_bg_color, inset 0 -1px @accent_bg_color; } - -placessidebar row:drop(active):not(:disabled):selected { color: @accent_fg_color; background-color: @accent_bg_color; } - -placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } - -placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); } - -placesview row.activatable:hover { background-color: transparent; } - -placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; } - -paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px; } - -paned > separator:selected { background-image: image(@accent_bg_color); } - -paned > separator:backdrop { background-image: image(mix(currentColor,@window_bg_color,0.73)); } - -paned > separator.wide { min-width: 5px; min-height: 5px; background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.85)), image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px, 1px 1px; } - -paned > separator.wide:backdrop { background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.73)), image(mix(currentColor,@window_bg_color,0.73)); } - -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; } - -infobar { border-style: none; } - -infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.info > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.info button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } - -infobar.info button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } - -infobar.info button:checked, infobar.info button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } - -infobar.info button:backdrop:not(:disabled) label, infobar.info button:backdrop:not(:disabled), infobar.info button:not(:disabled) label, infobar.info button:not(:disabled) { color: @window_fg_color; } - -infobar.info button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } - -infobar.info button:disabled label, infobar.info button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } - -infobar.action.info:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } - -infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.question > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.question button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } - -infobar.question button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } - -infobar.question button:checked, infobar.question button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } - -infobar.question button:backdrop:not(:disabled) label, infobar.question button:backdrop:not(:disabled), infobar.question button:not(:disabled) label, infobar.question button:not(:disabled) { color: @window_fg_color; } - -infobar.question button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } - -infobar.question button:disabled label, infobar.question button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } - -infobar.action.question:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } - -infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.warning > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.warning button { background-color: mix(@warning_bg_color,@window_bg_color,0.5); } - -infobar.warning button:hover { background-color: mix(@warning_bg_color,@window_bg_color,0.35); } - -infobar.warning button:checked, infobar.warning button:active { background-color: mix(@warning_bg_color,@window_bg_color,0.2); } - -infobar.warning button:backdrop:not(:disabled) label, infobar.warning button:backdrop:not(:disabled), infobar.warning button:not(:disabled) label, infobar.warning button:not(:disabled) { color: @window_fg_color; } - -infobar.warning button:disabled { background-color: mix(@warning_bg_color,@window_bg_color,0.6); } - -infobar.warning button:disabled label, infobar.warning button:disabled { color: alpha(mix(@window_fg_color,@warning_bg_color,0.3),0.6); } - -infobar.action.warning:hover > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@warning_bg_color,@window_bg_color,0.3); } - -infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.error > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.error button { background-color: mix(@error_bg_color,@window_bg_color,0.5); } - -infobar.error button:hover { background-color: mix(@error_bg_color,@window_bg_color,0.35); } - -infobar.error button:checked, infobar.error button:active { background-color: mix(@error_bg_color,@window_bg_color,0.2); } - -infobar.error button:backdrop:not(:disabled) label, infobar.error button:backdrop:not(:disabled), infobar.error button:not(:disabled) label, infobar.error button:not(:disabled) { color: @window_fg_color; } - -infobar.error button:disabled { background-color: mix(@error_bg_color,@window_bg_color,0.6); } - -infobar.error button:disabled label, infobar.error button:disabled { color: alpha(mix(@window_fg_color,@error_bg_color,0.3),0.6); } - -infobar.action.error:hover > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@error_bg_color,@window_bg_color,0.3); } - -infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } - -infobar selection { background-color: shade(@window_bg_color,0.9); } - -infobar *:link { color: @accent_color; } - -tooltip { padding: 4px; border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; } - -tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); } - -tooltip decoration { background-color: transparent; } - -tooltip * { padding: 4px; background-color: transparent; color: white; } - -colorswatch:drop(active), colorswatch { border-style: none; } - -colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; } - -colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; } - -colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; } - -colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } - -colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; } - -colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; } - -colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; } - -colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; } - -colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); } - -colorswatch.dark overlay { color: white; } - -colorswatch.dark overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } - -colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); } - -colorswatch.light overlay { color: black; } - -colorswatch.light overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } - -colorswatch:drop(active) { box-shadow: none; } - -colorswatch:drop(active).light overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } - -colorswatch:drop(active).dark overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } - -colorswatch overlay { border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); } - -colorswatch#add-color-button { border-radius: 5px 5px 0 0; } - -colorswatch#add-color-button:only-child { border-radius: 5px; } - -colorswatch#add-color-button overlay { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } - -colorswatch#add-color-button overlay:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } - -colorswatch:disabled { opacity: 0.5; } - -colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; } - -row:selected colorswatch { box-shadow: 0 0 0 2px @accent_fg_color; } - -colorswatch#editor-color-sample { border-radius: 4px; } - -colorswatch#editor-color-sample overlay { border-radius: 4.5px; } - -colorchooser .popover.osd { border-radius: 5px; } - -.content-view { background-color: shade(@window_bg_color,0.93); } - -.content-view:hover { -gtk-icon-effect: highlight; } - -.osd .scale-popup button.flat { border-style: none; border-radius: 5px; } - -.scale-popup button:hover { background-color: alpha(@window_fg_color,0.1); border-radius: 5px; } - -decoration { border-radius: 12px 12px 0 0; border-width: 0px; box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); margin: 10px; } - -decoration:backdrop { box-shadow: 0 3px 12px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.14), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); transition: 200ms ease-out; } - -.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; } - -.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86), 0 0 0 20px transparent; } - -.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7), 0 0 0 20px transparent; } - -.popup decoration { box-shadow: none; } - -.ssd decoration { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); } - -.ssd decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); } - -.ssd.maximized decoration, .ssd.maximized decoration:backdrop { box-shadow: none; } - -.csd.popup decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } - -tooltip.csd decoration { border-radius: 5px; box-shadow: none; } - -messagedialog.csd decoration { border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } - -.solid-csd decoration { margin: 0; padding: 4px; background-color: mix(currentColor,@window_bg_color,0.85); border: solid 1px mix(currentColor,@window_bg_color,0.85); border-radius: 0; box-shadow: inset 0 0 0 5px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px mix(currentColor,@window_bg_color,0.85); } - -.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px @window_bg_color; } - -button.titlebutton { padding: 2px; margin: 0; box-shadow: none; border: none; background: none; text-shadow: none; } - -button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 0px; margin: 0 4px; min-width: 24px; min-height: 24px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-color: alpha(currentColor,0.1); } - -button.titlebutton:not(.appmenu):hover { background-color: alpha(currentColor,0.15); } - -button.titlebutton:not(.appmenu):hover:active { background-color: alpha(currentColor,0.3); } - -button.titlebutton:not(.appmenu):backdrop { background-color: alpha(currentColor,0.1); } - -button.titlebutton:not(.appmenu):backdrop:hover { background-color: alpha(currentColor,0.15); } - -button.titlebutton:backdrop { -gtk-icon-shadow: none; } - -.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; } - -headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { background-color: alpha(@accent_bg_color,0.25); } - -label:selected, .selection-mode button.titlebutton, headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { color: @window_fg_color; } - -.monospace { font-family: monospace; } - -cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; } - -cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } - -cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } - -cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -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")); } - -cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } - -cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } - -cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -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; } - -.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: @window_fg_color; background-color: @view_bg_color; border: 1px solid; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 5px; box-shadow: inset 0 -3px mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.4); font-size: smaller; } - -.keycap:backdrop { background-color: @window_bg_color; color: mix(@window_fg_color,@window_bg_color,0.5); transition: 200ms ease-out; } - -:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } - -stackswitcher button.text-button { min-width: 100px; } - -stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } - -.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -popover.emoji-picker { padding-left: 0; padding-right: 0; } - -popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; } - -button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; } - -button.emoji-section:first-child { margin-left: 7px; } - -button.emoji-section:last-child { margin-right: 7px; } - -button.emoji-section:backdrop:not(:checked) { border-color: transparent; } - -button.emoji-section:hover { border-color: alpha(@window_fg_color,0.1); } - -button.emoji-section:checked { border-color: alpha(currentColor,0.1); } - -button.emoji-section label { padding: 0; opacity: 0.55; } - -button.emoji-section:hover label { opacity: 0.775; } - -button.emoji-section:checked label { opacity: 1; } - -popover.emoji-picker .emoji { font-size: x-large; padding: 6px; border-radius: 6px; } - -popover.emoji-picker .emoji :focus, popover.emoji-picker .emoji :hover { background: alpha(currentColor,0.07); } - -popover.emoji-picker .emoji :active { background: alpha(currentColor,0.16); } - -popover.emoji-completion arrow { border: none; background: none; } - -popover.emoji-completion contents row box { padding: 2px 10px; } - -popover.emoji-completion .emoji:hover { background: alpha(currentColor,0.04); } - -@define-color theme_fg_color @window_fg_color; -@define-color theme_text_color @view_fg_color; -@define-color theme_bg_color @window_bg_color; -@define-color theme_base_color @view_bg_color; -@define-color theme_selected_bg_color @accent_bg_color; -@define-color theme_selected_fg_color @accent_fg_color; -@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); -@define-color insensitive_fg_color mix(@window_fg_color,@window_bg_color,0.5); -@define-color insensitive_base_color @view_bg_color; -@define-color theme_unfocused_fg_color mix(@window_fg_color,@window_bg_color,0.5); -@define-color theme_unfocused_text_color @view_fg_color; -@define-color theme_unfocused_bg_color @window_bg_color; -@define-color theme_unfocused_base_color @window_bg_color; -@define-color theme_unfocused_selected_bg_color @accent_bg_color; -@define-color theme_unfocused_selected_fg_color @accent_fg_color; -@define-color unfocused_insensitive_color mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); -@define-color borders mix(currentColor,@window_bg_color,0.85); -@define-color unfocused_borders mix(currentColor,@window_bg_color,0.73); -@define-color warning_color @warning_color; -@define-color error_color @error_color; -@define-color success_color @success_color; -@define-color wm_title shade(@window_fg_color, 1.8); -@define-color wm_unfocused_title mix(@window_fg_color,@window_bg_color,0.5); -@define-color wm_highlight rgba(0, 0, 0, 0); -@define-color wm_borders_edge alpha(@window_fg_color,0.07); -@define-color wm_bg_a shade(@window_bg_color, 1.2); -@define-color wm_bg_b @window_bg_color; -@define-color wm_shadow alpha(black, 0.35); -@define-color wm_border alpha(black, 0.18); -@define-color wm_button_hover_color_a shade(@window_bg_color, 1.3); -@define-color wm_button_hover_color_b @window_bg_color; -@define-color wm_button_active_color_a shade(@window_bg_color, 0.85); -@define-color wm_button_active_color_b shade(@window_bg_color, 0.89); -@define-color wm_button_active_color_c shade(@window_bg_color, 0.9); -@define-color content_view_bg @view_bg_color; -@define-color text_view_bg shade(@view_bg_color,0.94); -.nautilus-window .thumbnail, .checkerboard { background-position: 0px 0px, 10px 10px; background-size: 20px 20px; background-image: linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, transparent 25%, transparent 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%), linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, @view_bg_color 25%, @view_bg_color 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%); } - -.org-gnome-Calendar .titlebar .text-button, .nautilus-window .linked entry ~ .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup, headerbar .linked entry ~ .image-button, .titlebar .linked entry ~ .image-button, headerbar .linked.raised button, headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button, .titlebar .linked.raised button, .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button, headerbar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.org-gnome-Calendar .titlebar .text-button:backdrop, .nautilus-window .linked entry ~ .image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop, headerbar .linked entry ~ .image-button:backdrop, .titlebar .linked entry ~ .image-button:backdrop, headerbar .linked.raised button:backdrop, headerbar .linked button:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop, .titlebar .linked.raised button:backdrop, .titlebar .linked button:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop, headerbar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.97),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.97),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:hover, .nautilus-window .linked entry ~ .image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover, headerbar .linked entry ~ .image-button:hover, .titlebar .linked entry ~ .image-button:hover, headerbar .linked.raised button:hover, headerbar .linked button:hover:not(:only-child), headerbar > .stack-switcher.linked > button:hover, .titlebar .linked.raised button:hover, .titlebar .linked button:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:hover, headerbar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.993),0.85); box-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:hover:backdrop, .nautilus-window .linked entry ~ .image-button:hover:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover:backdrop, headerbar .linked entry ~ .image-button:hover:backdrop, .titlebar .linked entry ~ .image-button:hover:backdrop, headerbar .linked.raised button:hover:backdrop, headerbar .linked button:hover:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:hover:backdrop, .titlebar .linked.raised button:hover:backdrop, .titlebar .linked button:hover:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:hover:backdrop, headerbar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.88),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active, .nautilus-window .linked entry ~ .image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active, headerbar .linked entry ~ .image-button:active, .titlebar .linked entry ~ .image-button:active, headerbar .linked.raised button:active, headerbar .linked button:active:not(:only-child), headerbar > .stack-switcher.linked > button:active, .titlebar .linked.raised button:active, .titlebar .linked button:active:not(:only-child), .titlebar > .stack-switcher.linked > button:active, headerbar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked, .nautilus-window .linked entry ~ .image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked, headerbar .linked entry ~ .image-button:checked, .titlebar .linked entry ~ .image-button:checked, headerbar .linked.raised button:checked, headerbar .linked button:checked:not(:only-child), headerbar > .stack-switcher.linked > button:checked, .titlebar .linked.raised button:checked, .titlebar .linked button:checked:not(:only-child), .titlebar > .stack-switcher.linked > button:checked, headerbar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.653); } - -.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active:hover:hover, .nautilus-window .linked entry ~ .image-button:active:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover:hover, headerbar .linked entry ~ .image-button:active:hover:hover, .titlebar .linked entry ~ .image-button:active:hover:hover, headerbar .linked.raised button:active:hover:hover, headerbar .linked button:active:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover:hover, .titlebar .linked.raised button:active:hover:hover, .titlebar .linked button:active:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover:hover, headerbar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover:hover, headerbar .linked entry ~ .image-button:checked:hover:hover, .titlebar .linked entry ~ .image-button:checked:hover:hover, headerbar .linked.raised button:checked:hover:hover, headerbar .linked button:checked:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover:hover, .titlebar .linked.raised button:checked:hover:hover, .titlebar .linked button:checked:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover:hover, headerbar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.653); } - -.org-gnome-Calendar .titlebar .text-button:active:backdrop, .nautilus-window .linked entry ~ .image-button:active:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:backdrop, headerbar .linked entry ~ .image-button:active:backdrop, .titlebar .linked entry ~ .image-button:active:backdrop, headerbar .linked.raised button:active:backdrop, headerbar .linked button:active:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:active:backdrop, .titlebar .linked.raised button:active:backdrop, .titlebar .linked button:active:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:active:backdrop, headerbar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:backdrop, .nautilus-window .linked entry ~ .image-button:checked:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:backdrop, headerbar .linked entry ~ .image-button:checked:backdrop, .titlebar .linked entry ~ .image-button:checked:backdrop, headerbar .linked.raised button:checked:backdrop, headerbar .linked button:checked:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:checked:backdrop, .titlebar .linked.raised button:checked:backdrop, .titlebar .linked button:checked:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:backdrop, headerbar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.89),0.903); } - -.org-gnome-Calendar .titlebar .text-button:disabled, .nautilus-window .linked entry ~ .image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:disabled, headerbar .linked entry ~ .image-button:disabled, .titlebar .linked entry ~ .image-button:disabled, headerbar .linked.raised button:disabled, headerbar .linked button:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:disabled, .titlebar .linked.raised button:disabled, .titlebar .linked button:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:disabled, headerbar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:backdrop:disabled, .nautilus-window .linked entry ~ .image-button:backdrop:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop:disabled, headerbar .linked entry ~ .image-button:backdrop:disabled, .titlebar .linked entry ~ .image-button:backdrop:disabled, headerbar .linked.raised button:backdrop:disabled, headerbar .linked button:backdrop:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop:disabled, .titlebar .linked.raised button:backdrop:disabled, .titlebar .linked button:backdrop:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop:disabled, headerbar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .nautilus-window .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .default.toggle.popup:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), headerbar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .titlebar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.org-gnome-Calendar .titlebar .flat.text-button:not(:hover):not(:active), .nautilus-window .linked entry ~ .flat.image-button:not(:hover):not(:active):not(:checked):not(.model), .nautilus-window .search + .flat.toggle.popup:not(:hover):not(:active), headerbar .linked entry ~ .flat.image-button:not(:hover):not(:active), .titlebar .linked entry ~ .flat.image-button:not(:hover):not(:active), headerbar .linked.raised button.flat:not(:hover):not(:active), headerbar .linked button.flat:not(:hover):not(:active):not(:only-child), headerbar > .stack-switcher.linked > button.flat:not(:hover):not(:active), .titlebar .linked.raised button.flat:not(:hover):not(:active), .titlebar .linked button.flat:not(:hover):not(:active):not(:only-child), .titlebar > .stack-switcher.linked > button.flat:not(:hover):not(:active), headerbar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover, headerbar viewswitcher button.radio:hover:checked, .titlebar viewswitcher button.radio:hover:checked, headerbar button:hover:not(.titlebutton), .titlebar button:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.903); } - -.nautilus-window .linked.raised button.image-button:hover:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover:backdrop, headerbar viewswitcher button.radio:hover:backdrop:checked, .titlebar viewswitcher button.radio:hover:backdrop:checked, headerbar button:hover:backdrop:not(.titlebutton), .titlebar button:hover:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active, headerbar button:active:not(.titlebutton), .titlebar button:active:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked, headerbar viewswitcher button.radio:checked, .titlebar viewswitcher button.radio:checked, headerbar button:checked:not(.titlebutton), .titlebar button:checked:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.nautilus-window .linked.raised button.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:hover, headerbar button:active:hover:not(.titlebutton), .titlebar button:active:hover:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:hover, headerbar viewswitcher button.radio:checked:hover, .titlebar viewswitcher button.radio:checked:hover, headerbar button:checked:hover:not(.titlebutton), .titlebar button:checked:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.963),0.903); } - -.nautilus-window .linked.raised button.image-button:active:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:backdrop, headerbar button:active:backdrop:not(.titlebutton), .titlebar button:active:backdrop:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:backdrop, headerbar viewswitcher button.radio:checked:backdrop, .titlebar viewswitcher button.radio:checked:backdrop, headerbar button:checked:backdrop:not(.titlebutton), .titlebar button:checked:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, .titlebar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, headerbar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton), .titlebar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.nautilus-window .linked.raised button.flat.image-button:not(:hover):not(:active):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.flat:not(:hover):not(:active), headerbar viewswitcher button.flat.radio:not(:hover):not(:active):checked, .titlebar viewswitcher button.flat.radio:not(:hover):not(:active):checked, headerbar button.flat:not(:hover):not(:active):not(.titlebutton), .titlebar button.flat:not(:hover):not(:active):not(.titlebutton) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action, .content list button.suggested-action, .content list > row:not(:selected):hover button.suggested-action, list.content button.suggested-action, list.content > row:not(:selected):hover button.suggested-action, list.view.frame button.suggested-action, list.view.frame > row:not(:selected):hover button.suggested-action, headerbar.selection-mode button, headerbar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button, .titlebar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button, .nautilus-window .linked entry ~ .suggested-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup, headerbar .linked entry ~ .suggested-action.image-button, .titlebar .linked entry ~ .suggested-action.image-button, headerbar .linked.raised button.suggested-action, headerbar .linked button.suggested-action:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action, .titlebar .linked.raised button.suggested-action, .titlebar .linked button.suggested-action:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action, headerbar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:not(.titlebutton), .titlebar button.suggested-action:not(.titlebutton), headerbar button.text-button.suggested-action:not(.titlebutton) { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } - -popover.background button.suggested-action:hover, .content list button.suggested-action:hover, .content list > row:not(:selected):hover button.suggested-action:hover, list.content button.suggested-action:hover, list.content > row:not(:selected):hover button.suggested-action:hover, list.view.frame button.suggested-action:hover, list.view.frame > row:not(:selected):hover button.suggested-action:hover, headerbar.selection-mode button:hover, headerbar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:hover, .titlebar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:hover, headerbar .linked entry ~ .suggested-action.image-button:hover, .titlebar .linked entry ~ .suggested-action.image-button:hover, headerbar .linked.raised button.suggested-action:hover, headerbar .linked button.suggested-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:hover, .titlebar .linked.raised button.suggested-action:hover, .titlebar .linked button.suggested-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:hover, headerbar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:hover, headerbar viewswitcher button.suggested-action.radio:hover:checked, .titlebar viewswitcher button.suggested-action.radio:hover:checked, headerbar button.suggested-action:hover:not(.titlebutton), .titlebar button.suggested-action:hover:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } - -popover.background button.suggested-action:active, .content list button.suggested-action:active, .content list > row:not(:selected):hover button.suggested-action:active, list.content button.suggested-action:active, list.content > row:not(:selected):hover button.suggested-action:active, list.view.frame button.suggested-action:active, list.view.frame > row:not(:selected):hover button.suggested-action:active, headerbar.selection-mode button:active, headerbar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active, .titlebar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active, .nautilus-window .linked entry ~ .suggested-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active, headerbar .linked entry ~ .suggested-action.image-button:active, .titlebar .linked entry ~ .suggested-action.image-button:active, headerbar .linked.raised button.suggested-action:active, headerbar .linked button.suggested-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active, .titlebar .linked.raised button.suggested-action:active, .titlebar .linked button.suggested-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active, headerbar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active, headerbar button.suggested-action:active:not(.titlebutton), .titlebar button.suggested-action:active:not(.titlebutton), popover.background button.suggested-action:checked, .content list button.suggested-action:checked, .content list > row:not(:selected):hover button.suggested-action:checked, list.content button.suggested-action:checked, list.content > row:not(:selected):hover button.suggested-action:checked, list.view.frame button.suggested-action:checked, list.view.frame > row:not(:selected):hover button.suggested-action:checked, headerbar.selection-mode button:checked, headerbar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked, .titlebar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked, headerbar .linked entry ~ .suggested-action.image-button:checked, .titlebar .linked entry ~ .suggested-action.image-button:checked, headerbar .linked.raised button.suggested-action:checked, headerbar .linked button.suggested-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked, .titlebar .linked.raised button.suggested-action:checked, .titlebar .linked button.suggested-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked, headerbar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:checked:not(.titlebutton), .titlebar button.suggested-action:checked:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action:active:hover, .content list button.suggested-action:active:hover, .content list > row:not(:selected):hover button.suggested-action:active:hover, list.content button.suggested-action:active:hover, list.content > row:not(:selected):hover button.suggested-action:active:hover, list.view.frame button.suggested-action:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active:hover, .titlebar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active:hover, headerbar .linked entry ~ .suggested-action.image-button:active:hover, .titlebar .linked entry ~ .suggested-action.image-button:active:hover, headerbar .linked.raised button.suggested-action:active:hover, headerbar .linked button.suggested-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active:hover, .titlebar .linked.raised button.suggested-action:active:hover, .titlebar .linked button.suggested-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active:hover, headerbar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active:hover, headerbar button.suggested-action:active:hover:not(.titlebutton), .titlebar button.suggested-action:active:hover:not(.titlebutton), popover.background button.suggested-action:checked:hover, .content list button.suggested-action:checked:hover, .content list > row:not(:selected):hover button.suggested-action:checked:hover, list.content button.suggested-action:checked:hover, list.content > row:not(:selected):hover button.suggested-action:checked:hover, list.view.frame button.suggested-action:checked:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked:hover, .titlebar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked:hover, headerbar .linked entry ~ .suggested-action.image-button:checked:hover, .titlebar .linked entry ~ .suggested-action.image-button:checked:hover, headerbar .linked.raised button.suggested-action:checked:hover, headerbar .linked button.suggested-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked:hover, .titlebar .linked.raised button.suggested-action:checked:hover, .titlebar .linked button.suggested-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked:hover, headerbar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked:hover, headerbar viewswitcher button.suggested-action.radio:checked:hover, .titlebar viewswitcher button.suggested-action.radio:checked:hover, headerbar button.suggested-action:checked:hover:not(.titlebutton), .titlebar button.suggested-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.653); } - -popover.background button.suggested-action:backdrop, .content list button.suggested-action:backdrop, .content list > row:not(:selected):hover button.suggested-action:backdrop, list.content button.suggested-action:backdrop, list.content > row:not(:selected):hover button.suggested-action:backdrop, list.view.frame button.suggested-action:backdrop, list.view.frame > row:not(:selected):hover button.suggested-action:backdrop, headerbar.selection-mode button:backdrop, headerbar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:backdrop, .titlebar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:backdrop, headerbar .linked entry ~ .suggested-action.image-button:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:backdrop, headerbar .linked.raised button.suggested-action:backdrop, headerbar .linked button.suggested-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:backdrop, .titlebar .linked.raised button.suggested-action:backdrop, .titlebar .linked button.suggested-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:backdrop, headerbar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:backdrop, headerbar viewswitcher button.suggested-action.radio:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:backdrop:checked, headerbar button.suggested-action:backdrop:not(.titlebutton), .titlebar button.suggested-action:backdrop:not(.titlebutton) { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action:disabled, .content list button.suggested-action:disabled, .content list > row:not(:selected):hover button.suggested-action:disabled, list.content button.suggested-action:disabled, list.content > row:not(:selected):hover button.suggested-action:disabled, list.view.frame button.suggested-action:disabled, list.view.frame > row:not(:selected):hover button.suggested-action:disabled, headerbar.selection-mode button:disabled, headerbar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled, .titlebar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled, headerbar .linked entry ~ .suggested-action.image-button:disabled, .titlebar .linked entry ~ .suggested-action.image-button:disabled, headerbar .linked.raised button.suggested-action:disabled, headerbar .linked button.suggested-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled, .titlebar .linked.raised button.suggested-action:disabled, .titlebar .linked button.suggested-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled, headerbar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled, headerbar viewswitcher button.suggested-action.radio:disabled:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:checked, headerbar button.suggested-action:disabled:not(.titlebutton), .titlebar button.suggested-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -popover.background button.suggested-action:disabled:backdrop, .content list button.suggested-action:disabled:backdrop, .content list > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.content button.suggested-action:disabled:backdrop, list.content > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.view.frame button.suggested-action:disabled:backdrop, headerbar.selection-mode button:disabled:backdrop, headerbar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled:backdrop, .titlebar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .suggested-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:disabled:backdrop, headerbar .linked.raised button.suggested-action:disabled:backdrop, headerbar .linked button.suggested-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, .titlebar .linked.raised button.suggested-action:disabled:backdrop, .titlebar .linked button.suggested-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, headerbar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled:backdrop, headerbar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, headerbar button.suggested-action:disabled:backdrop:not(.titlebutton), .titlebar button.suggested-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action, .content list button.destructive-action, .content list > row:not(:selected):hover button.destructive-action, list.content button.destructive-action, list.content > row:not(:selected):hover button.destructive-action, list.view.frame button.destructive-action, list.view.frame > row:not(:selected):hover button.destructive-action, .org-gnome-Calendar .titlebar .destructive-action.text-button, .nautilus-window .linked entry ~ .destructive-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup, headerbar .linked entry ~ .destructive-action.image-button, .titlebar .linked entry ~ .destructive-action.image-button, headerbar .linked.raised button.destructive-action, headerbar .linked button.destructive-action:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action, .titlebar .linked.raised button.destructive-action, .titlebar .linked button.destructive-action:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action, headerbar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:not(.titlebutton), .titlebar button.destructive-action:not(.titlebutton), headerbar button.text-button.destructive-action:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } - -popover.background button.destructive-action:hover, .content list button.destructive-action:hover, .content list > row:not(:selected):hover button.destructive-action:hover, list.content button.destructive-action:hover, list.content > row:not(:selected):hover button.destructive-action:hover, list.view.frame button.destructive-action:hover, list.view.frame > row:not(:selected):hover button.destructive-action:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:hover, headerbar .linked entry ~ .destructive-action.image-button:hover, .titlebar .linked entry ~ .destructive-action.image-button:hover, headerbar .linked.raised button.destructive-action:hover, headerbar .linked button.destructive-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:hover, .titlebar .linked.raised button.destructive-action:hover, .titlebar .linked button.destructive-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:hover, headerbar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:hover, headerbar viewswitcher button.destructive-action.radio:hover:checked, .titlebar viewswitcher button.destructive-action.radio:hover:checked, headerbar button.destructive-action:hover:not(.titlebutton), .titlebar button.destructive-action:hover:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } - -popover.background button.destructive-action:active, .content list button.destructive-action:active, .content list > row:not(:selected):hover button.destructive-action:active, list.content button.destructive-action:active, list.content > row:not(:selected):hover button.destructive-action:active, list.view.frame button.destructive-action:active, list.view.frame > row:not(:selected):hover button.destructive-action:active, .org-gnome-Calendar .titlebar .destructive-action.text-button:active, .nautilus-window .linked entry ~ .destructive-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active, headerbar .linked entry ~ .destructive-action.image-button:active, .titlebar .linked entry ~ .destructive-action.image-button:active, headerbar .linked.raised button.destructive-action:active, headerbar .linked button.destructive-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active, .titlebar .linked.raised button.destructive-action:active, .titlebar .linked button.destructive-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active, headerbar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active, headerbar button.destructive-action:active:not(.titlebutton), .titlebar button.destructive-action:active:not(.titlebutton), popover.background button.destructive-action:checked, .content list button.destructive-action:checked, .content list > row:not(:selected):hover button.destructive-action:checked, list.content button.destructive-action:checked, list.content > row:not(:selected):hover button.destructive-action:checked, list.view.frame button.destructive-action:checked, list.view.frame > row:not(:selected):hover button.destructive-action:checked, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked, headerbar .linked entry ~ .destructive-action.image-button:checked, .titlebar .linked entry ~ .destructive-action.image-button:checked, headerbar .linked.raised button.destructive-action:checked, headerbar .linked button.destructive-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked, .titlebar .linked.raised button.destructive-action:checked, .titlebar .linked button.destructive-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked, headerbar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:checked:not(.titlebutton), .titlebar button.destructive-action:checked:not(.titlebutton) { color: @destructive_fg_color; background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action:active:hover, .content list button.destructive-action:active:hover, .content list > row:not(:selected):hover button.destructive-action:active:hover, list.content button.destructive-action:active:hover, list.content > row:not(:selected):hover button.destructive-action:active:hover, list.view.frame button.destructive-action:active:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:active:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active:hover, headerbar .linked entry ~ .destructive-action.image-button:active:hover, .titlebar .linked entry ~ .destructive-action.image-button:active:hover, headerbar .linked.raised button.destructive-action:active:hover, headerbar .linked button.destructive-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active:hover, .titlebar .linked.raised button.destructive-action:active:hover, .titlebar .linked button.destructive-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active:hover, headerbar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active:hover, headerbar button.destructive-action:active:hover:not(.titlebutton), .titlebar button.destructive-action:active:hover:not(.titlebutton), popover.background button.destructive-action:checked:hover, .content list button.destructive-action:checked:hover, .content list > row:not(:selected):hover button.destructive-action:checked:hover, list.content button.destructive-action:checked:hover, list.content > row:not(:selected):hover button.destructive-action:checked:hover, list.view.frame button.destructive-action:checked:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked:hover, headerbar .linked entry ~ .destructive-action.image-button:checked:hover, .titlebar .linked entry ~ .destructive-action.image-button:checked:hover, headerbar .linked.raised button.destructive-action:checked:hover, headerbar .linked button.destructive-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked:hover, .titlebar .linked.raised button.destructive-action:checked:hover, .titlebar .linked button.destructive-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked:hover, headerbar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked:hover, headerbar viewswitcher button.destructive-action.radio:checked:hover, .titlebar viewswitcher button.destructive-action.radio:checked:hover, headerbar button.destructive-action:checked:hover:not(.titlebutton), .titlebar button.destructive-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.653); } - -popover.background button.destructive-action:backdrop, .content list button.destructive-action:backdrop, .content list > row:not(:selected):hover button.destructive-action:backdrop, list.content button.destructive-action:backdrop, list.content > row:not(:selected):hover button.destructive-action:backdrop, list.view.frame button.destructive-action:backdrop, list.view.frame > row:not(:selected):hover button.destructive-action:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:backdrop, headerbar .linked entry ~ .destructive-action.image-button:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:backdrop, headerbar .linked.raised button.destructive-action:backdrop, headerbar .linked button.destructive-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:backdrop, .titlebar .linked.raised button.destructive-action:backdrop, .titlebar .linked button.destructive-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:backdrop, headerbar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:backdrop, headerbar viewswitcher button.destructive-action.radio:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:backdrop:checked, headerbar button.destructive-action:backdrop:not(.titlebutton), .titlebar button.destructive-action:backdrop:not(.titlebutton) { color: mix(@destructive_fg_color,alpha(@destructive_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action:disabled, .content list button.destructive-action:disabled, .content list > row:not(:selected):hover button.destructive-action:disabled, list.content button.destructive-action:disabled, list.content > row:not(:selected):hover button.destructive-action:disabled, list.view.frame button.destructive-action:disabled, list.view.frame > row:not(:selected):hover button.destructive-action:disabled, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled, headerbar .linked entry ~ .destructive-action.image-button:disabled, .titlebar .linked entry ~ .destructive-action.image-button:disabled, headerbar .linked.raised button.destructive-action:disabled, headerbar .linked button.destructive-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled, .titlebar .linked.raised button.destructive-action:disabled, .titlebar .linked button.destructive-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled, headerbar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled, headerbar viewswitcher button.destructive-action.radio:disabled:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:checked, headerbar button.destructive-action:disabled:not(.titlebutton), .titlebar button.destructive-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -popover.background button.destructive-action:disabled:backdrop, .content list button.destructive-action:disabled:backdrop, .content list > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.content button.destructive-action:disabled:backdrop, list.content > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.view.frame button.destructive-action:disabled:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .destructive-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:disabled:backdrop, headerbar .linked.raised button.destructive-action:disabled:backdrop, headerbar .linked button.destructive-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, .titlebar .linked.raised button.destructive-action:disabled:backdrop, .titlebar .linked button.destructive-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, headerbar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled:backdrop, headerbar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, headerbar button.destructive-action:disabled:backdrop:not(.titlebutton), .titlebar button.destructive-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar { box-shadow: 0 1px alpha(@headerbar_shade_color,0.1); } - -headerbar:not(.selection-mode), headerbar:not(.selection-mode) entry, .titlebar:not(.selection-mode), .titlebar:not(.selection-mode) entry { color: @headerbar_fg_color; } - -headerbar:not(.selection-mode):backdrop, headerbar:not(.selection-mode) entry:backdrop, .titlebar:not(.selection-mode):backdrop, .titlebar:not(.selection-mode) entry:backdrop { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) entry:disabled, .titlebar:not(.selection-mode) entry:disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action), .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action) { color: @headerbar_fg_color; } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) switch image, .titlebar:not(.selection-mode) switch image { color: transparent; } - -headerbar button:not(.titlebutton), headerbar button:not(.titlebutton):backdrop, .titlebar button:not(.titlebutton), .titlebar button:not(.titlebutton):backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar .linked.raised button:not(:only-child):not(:first-child), headerbar .linked button:not(:only-child):not(:first-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:first-child), .titlebar .linked.raised button:not(:only-child):not(:first-child), .titlebar .linked button:not(:only-child):not(:first-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:first-child) { border-left-color: alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):not(:last-child), headerbar .linked button:not(:only-child):not(:last-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child), .titlebar .linked.raised button:not(:only-child):not(:last-child), .titlebar .linked button:not(:only-child):not(:last-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child) { border-right-color: alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):first-child, headerbar .linked button:not(:only-child):first-child, headerbar > .stack-switcher.linked > button:not(:only-child):first-child, .titlebar .linked.raised button:not(:only-child):first-child, .titlebar .linked button:not(:only-child):first-child, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child { border-left-color: transparent; } - -headerbar .linked.raised button:not(:only-child):last-child, headerbar .linked button:not(:only-child):last-child, headerbar > .stack-switcher.linked > button:not(:only-child):last-child, .titlebar .linked.raised button:not(:only-child):last-child, .titlebar .linked button:not(:only-child):last-child, .titlebar > .stack-switcher.linked > button:not(:only-child):last-child { border-right-color: transparent; } - -headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active { box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button { border-left-color: transparent; } - -headerbar.selection-mode button:hover:backdrop, .titlebar.selection-mode button:hover:backdrop { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar entry, .titlebar entry { min-height: 32px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -headerbar entry:backdrop, .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar entry:disabled, .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar entry:disabled:backdrop, .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar entry image, .titlebar entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } - -headerbar entry image.left, .titlebar entry image.left { margin-right: 6px; } - -headerbar entry image.right, .titlebar entry image.right { margin-left: 6px; } - -headerbar entry image:hover, .titlebar entry image:hover { color: @headerbar_fg_color; } - -headerbar entry image:active, .titlebar entry image:active { color: @accent_bg_color; } - -headerbar entry image:backdrop, .titlebar entry image:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.2); } - -headerbar entry.error, .titlebar entry.error { color: @error_bg_color; border-color: @error_bg_color; } - -headerbar entry.error:focus, .titlebar entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -headerbar entry.error selection, .titlebar entry.error selection { background-color: @error_bg_color; } - -headerbar entry.warning, .titlebar entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } - -headerbar entry.warning:focus, .titlebar entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -headerbar entry.warning selection, .titlebar entry.warning selection { background-color: @warning_bg_color; } - -headerbar entry.flat:focus, headerbar entry.flat:backdrop, headerbar entry.flat:disabled, headerbar entry.flat:backdrop:disabled, headerbar entry.flat, .titlebar entry.flat:focus, .titlebar entry.flat:backdrop, .titlebar entry.flat:disabled, .titlebar entry.flat:backdrop:disabled, .titlebar entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } - -headerbar entry:drop(active):focus, headerbar entry:drop(active), .titlebar entry:drop(active):focus, .titlebar entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -headerbar entry progress, .titlebar entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } - -headerbar entry progress:backdrop, .titlebar entry progress:backdrop { background-color: transparent; } - -headerbar .linked entry:not(:first-child), .titlebar .linked entry:not(:first-child) { border-left-color: alpha(currentColor,0.15); } - -headerbar .linked entry:not(:first-child):backdrop, .titlebar .linked entry:not(:first-child):backdrop { border-left-color: alpha(currentColor,0.15); } - -headerbar switch:backdrop, .titlebar switch:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; transition: 200ms ease-out; } - -headerbar switch:backdrop:checked, .titlebar switch:backdrop:checked { background-color: alpha(@accent_bg_color,0.5); } - -headerbar switch:backdrop:checked:disabled, .titlebar switch:backdrop:checked:disabled { background-color: alpha(@accent_bg_color,0.3); } - -headerbar switch:backdrop:disabled, .titlebar switch:backdrop:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar switch:backdrop slider, .titlebar switch:backdrop slider { transition: 200ms ease-out; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } - -headerbar switch:backdrop:checked > slider, .titlebar switch:backdrop:checked > slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } - -headerbar switch:backdrop:disabled slider, .titlebar switch:backdrop:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.4); } - -headerbar switch:disabled, .titlebar switch:disabled { background-color: shade(mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3),0.96); } - -headerbar switch:disabled:backdrop, .titlebar switch:disabled:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } - -headerbar:not(:backdrop), .titlebar:not(:backdrop) { transition: 50ms ease-in; transition-property: background-color, background-image, box-shadow, border-color, color, text-shadow; } - -headerbar .right, .titlebar .right { margin-left: -4px; } - -headerbar .right separator, .titlebar .right separator { min-width: 0; } - -headerbar .left, .titlebar .left { margin-right: -4px; } - -headerbar .left separator, .titlebar .left separator { min-width: 0; } - -.content list button, .content list > row:not(:selected):hover button, list.content button, list.content > row:not(:selected):hover button, list.view.frame button, list.view.frame > row:not(:selected):hover button { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -.content list button.flat:not(:hover):not(:active), .content list > row:not(:selected):hover button.flat:not(:hover):not(:active), list.content button.flat:not(:hover):not(:active), list.content > row:not(:selected):hover button.flat:not(:hover):not(:active), list.view.frame button.flat:not(:hover):not(:active), list.view.frame > row:not(:selected):hover button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.content list button:hover, .content list > row:not(:selected):hover button:hover, list.content button:hover, list.content > row:not(:selected):hover button:hover, list.view.frame button:hover, list.view.frame > row:not(:selected):hover button:hover { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.85); box-shadow: none; } - -.content list button:active, .content list button:checked, .content list > row:not(:selected):hover button:active, .content list > row:not(:selected):hover button:checked, list.content button:active, list.content button:checked, list.content > row:not(:selected):hover button:active, list.content > row:not(:selected):hover button:checked, list.view.frame button:active, list.view.frame button:checked, list.view.frame > row:not(:selected):hover button:active, list.view.frame > row:not(:selected):hover button:checked { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.content list button:active:hover, .content list button:checked:hover, .content list > row:not(:selected):hover button:active:hover, .content list > row:not(:selected):hover button:checked:hover, list.content button:active:hover, list.content button:checked:hover, list.content > row:not(:selected):hover button:active:hover, list.content > row:not(:selected):hover button:checked:hover, list.view.frame button:active:hover, list.view.frame button:checked:hover, list.view.frame > row:not(:selected):hover button:active:hover, list.view.frame > row:not(:selected):hover button:checked:hover { background-color: mix(currentColor,@card_bg_color,0.653); } - -.content list button:disabled, .content list > row:not(:selected):hover button:disabled, list.content button:disabled, list.content > row:not(:selected):hover button:disabled, list.view.frame button:disabled, list.view.frame > row:not(:selected):hover button:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -.content list entry, list.content entry, list.view.frame entry { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -.content list entry:disabled, list.content entry:disabled, list.view.frame entry:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -popover.background button { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -popover.background button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button:hover { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.85); box-shadow: none; } - -popover.background button:active, popover.background button:checked { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button:active:hover, popover.background button:checked:hover { background-color: mix(currentColor,@popover_bg_color,0.653); } - -popover.background button:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -popover.background entry { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -popover.background entry:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -button.toggle:not(.image-button) { padding-left: 8px; padding-right: 8px; } - -.flat.popup:not(.title) { font-weight: normal; } - -statusbar { font-size: small; } - -scrolledwindow list:not(.content) { padding: 6px 0; } - -scrolledwindow list row { margin: 0 6px; border-radius: 6px; } - -scrolledwindow list separator.horizontal { margin: 6px; } - -list.content .horizontal spinbutton entry { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } - -list.view.frame { border-radius: 12px; } - -list.view.frame, list.view.frame:backdrop { background-color: @card_bg_color; } - -.ssd .titlebar { border-width: 0; padding: 0px 4px; min-height: 36px; border-bottom: 1px solid @headerbar_shade_color; } - -.ssd .titlebar.default-decoration button.titlebutton { background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; } - -.ssd .titlebar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } - -.ssd .titlebar.default-decoration button.titlebutton:hover:active, .ssd .titlebar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } - -.ssd .titlebar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } - -.ssd .titlebar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } - -.default-decoration .title { color: @headerbar_fg_color; } - -.default-decoration .title:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } - -treeview.view:not(:backdrop):not(:selected):hover { background-color: alpha(currentColor,0.04); } - -.preferences scrolledwindow > .frame > clamp.large, .preferences scrolledwindow > .frame > clamp.medium, .preferences scrolledwindow > .frame > clamp.small { padding-bottom: 30px; } - -.osd .linked > button { border-color: transparent; } - -.primary-toolbar, .toolbar { background-color: @window_bg_color; } - -.primary-toolbar:backdrop, .toolbar:backdrop { background-color: @window_bg_color; } - -popover.background modelbutton.flat { padding-left: 16px; padding-right: 16px; } - -popover.background modelbutton.flat, popover.background .menuitem.button.flat { color: @popover_fg_color; } - -popover.background modelbutton.flat:disabled label, popover.background .menuitem.button.flat:disabled label { color: mix(@popover_fg_color,@popover_bg_color,0.5); } - -popover.background modelbutton.flat:backdrop:hover, popover.background .menuitem.button.flat:backdrop:hover { background-color: alpha(currentColor,0.04); } - -popover.menu > stack { margin: -6px; } - -window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 12px; } - -window.csd.unified scrollbar { background-color: @view_bg_color; color: @window_fg_color; } - -window.csd.unified scrollbar trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; background-color: alpha(currentColor,0.15); } - -window.csd.unified scrollbar trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; } - -window.csd.unified scrollbar.horizontal trough { margin-top: 6px; margin-bottom: 6px; } - -window.csd.unified scrollbar.vertical trough { margin-left: 6px; margin-right: 6px; } - -window.csd.unified scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } - -window.csd.unified scrollbar.overlay-indicator:not(.hovering) trough { background-color: transparent; } - -window.csd.unified scrollbar.overlay-indicator.horizontal trough > slider { min-width: 40px; } - -window.csd.unified scrollbar.overlay-indicator.horizontal.hovering trough > slider { min-height: 8px; } - -window.csd.unified scrollbar.overlay-indicator.horizontal:not(.hovering) trough { margin-top: 3px; margin-bottom: 3px; } - -window.csd.unified scrollbar.overlay-indicator.vertical trough > slider { min-height: 40px; } - -window.csd.unified scrollbar.overlay-indicator.vertical.hovering trough > slider { min-width: 8px; } - -window.csd.unified scrollbar.overlay-indicator.vertical:not(.hovering) trough { margin-left: 3px; margin-right: 3px; } - -window.csd.unified scrollbar.horizontal trough > slider { min-width: 40px; } - -window.csd.unified scrollbar.vertical trough > slider { min-height: 40px; } - -popover.combo { padding: 0px; } - -popover.combo list { border-style: none; background-color: transparent; min-width: 200px; margin-top: 6px; margin-bottom: 6px; } - -popover.combo list > row { padding: 0px 8px 0px 8px; min-height: 50px; } - -popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(mix(currentColor,@window_bg_color,0.85), 0.5); } - -popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } - -popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } - -popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } - -popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } - -row.expander { padding: 0px; } - -row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } - -row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } - -row.expander { background-color: transparent; } - -row.expander list.nested > row { background-color: transparent; border-radius: 0; border: none; } - -row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } - -row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } - -row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; border-radius: 0; border-top: 1px solid alpha(currentColor,0.15); } - -row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } - -row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } - -row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } - -row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } - -row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_bg_color; } - -row.expander image.expander-row-arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -list.content { background-color: transparent; color: @card_fg_color; border-radius: 12px; } - -list.content list { background-color: transparent; border-radius: 12px; } - -list.content > row { background-color: @card_bg_color; color: @card_fg_color; margin: 0; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -list.content > row:not(:last-child) { box-shadow: inset 0 -1px @card_shade_color; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -list.content > row:not(:first-child):not(:last-child) { border-radius: 0; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0; } - -list.content > row:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; border-top: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 12px 12px 0 0; } - -list.content > row:last-child { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0 0 12px 12px; } - -list.content > row:only-child { border: 1px solid @card_shade_color; border-radius: 12px; -gtk-outline-radius: 12px; } - -list.content > row:not(.expander):not(:active):hover.activatable:not(:selected), list.content > row.expander row.header:not(:active):hover.activatable:not(:selected) { background-color: mix(@card_fg_color, @card_bg_color, 0.954); } - -button.list-button:not(:active):not(:checked):not(:hover) { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -keypad .digit { font-size: 200%; font-weight: bold; } - -keypad .letters { font-size: 70%; } - -keypad .symbol { font-size: 160%; } - -viewswitcher, viewswitcher button { margin: 0; padding: 0; } - -viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; border-width: 0; } - -viewswitcher button:not(:checked):not(:hover) { background: transparent; } - -viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } - -viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } - -viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } - -viewswitcher button:not(:checked):hover:not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-image: none; } - -viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } - -viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: alpha(currentColor,0.15); } - -viewswitcher button:not(:checked):hover:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: none; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(black,@headerbar_bg_color,0.87),0.903); } - -headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } - -headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: alpha(currentColor,0.15); } - -headerbar viewswitcher button:not(:checked):hover:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),mix(black,@headerbar_backdrop_color,0.9),0.2); background-color: mix(currentColor,mix(black,@headerbar_backdrop_color,0.9),0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -viewswitcher button:checked, viewswitcher button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -viewswitcher button:checked:hover, viewswitcher button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -viewswitcher button:checked:backdrop, viewswitcher button:active:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); background-image: none; } - -viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } - -viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } - -viewswitcher button > stack > box.wide { padding: 8px 12px; } - -viewswitcher button > stack > box.wide image:dir(ltr) { padding-left: 7px; } - -viewswitcher button > stack > box.wide image:dir(rtl) { padding-right: 7px; } - -viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } - -viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } - -viewswitcher button > stack > box label.active { font-weight: bold; } - -viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } - -viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } - -viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } - -viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } - -viewswitcherbar actionbar > revealer > box { padding: 0; } - -viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon { color: alpha(@window_fg_color,0.5); } - -statuspage > scrolledwindow > viewport > box { margin: 36px 12px; } - -statuspage > scrolledwindow > viewport > box > clamp:not(:last-child) > box { margin-bottom: 36px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 36px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .title:not(:last-child) { margin-bottom: 12px; } - -row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } - -row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } - -row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } - -tabbar .box { min-height: 38px; background: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; } - -tabbar .box:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: @headerbar_backdrop_color; } - -tabbar scrolledwindow.pinned undershoot { border: 0 solid mix(black,@window_bg_color,0.82); } - -tabbar scrolledwindow.pinned:dir(rtl) undershoot.left { border-left-width: 1px; } - -tabbar scrolledwindow.pinned:dir(ltr) undershoot.right { border-right-width: 1px; } - -tabbar scrolledwindow.pinned:backdrop undershoot { border-color: mix(currentColor,@window_bg_color,0.73); } - -tabbar scrolledwindow.pinned tabbox:dir(ltr) { padding-right: 1px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -tabbar scrolledwindow.pinned tabbox:dir(rtl) { padding-left: 1px; box-shadow: inset 1px 0 alpha(currentColor,0.15); } - -tabbar undershoot { transition: none; } - -tabbar undershoot.left { background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } - -tabbar undershoot.right { background: linear-gradient(to left, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } - -tabbar .needs-attention-left undershoot.left { background: linear-gradient(to right, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } - -tabbar .needs-attention-right undershoot.right { background: linear-gradient(to left, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } - -tabbar tab { margin: 4px 3px; border-style: none; border-radius: 6px; transition: background-color 150ms ease-in-out; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } - -tabbar tab:first-child { background-image: none; } - -tabbar tab:hover { background-color: alpha(currentColor,0.07); } - -tabbar tab:hover, tabbar tab:hover + tab { background-image: none; } - -tabbar tab:checked { background-color: alpha(currentColor,0.1); } - -tabbar tab:checked, tabbar tab:checked + tab { background-image: none; } - -tabbar tab:checked:hover { background-color: alpha(currentColor,0.13); } - -tabbar .start-action, tabbar .end-action { background-color: @headerbar_bg_color; border-color: transparent; border-style: solid; transition: background-color 150ms ease-in-out; } - -tabbar .start-action:backdrop, tabbar .end-action:backdrop { border-color: transparent; background-color: @headerbar_backdrop_color; } - -tabbar .start-action button, tabbar .end-action button { border: none; border-radius: 0; } - -tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { border-right-width: 1px; } - -tabbar .start-action:dir(ltr) > *, tabbar .end-action:dir(rtl) > * { margin-right: 1px; } - -tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { border-left-width: 1px; } - -tabbar .start-action:dir(rtl) > *, tabbar .end-action:dir(ltr) > * { margin-left: 1px; } - -.tab-drag-icon tab { min-height: 26px; background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.25), 0 0 0 1px alpha(mix(currentColor,@window_bg_color,0.85),0.9), inset 0 1px alpha(@window_fg_color,0.07); margin: 25px; } - -tabbar tab, .tab-drag-icon tab { padding: 6px; } - -tabbar tab.needs-attention, .tab-drag-icon tab.needs-attention { background-image: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.8), alpha(@accent_bg_color,0.2) 15%, alpha(@accent_bg_color,0) 15%); } - -tabbar tab .tab-close-button, tabbar tab .tab-indicator, .tab-drag-icon tab .tab-close-button, .tab-drag-icon tab .tab-indicator { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; border: none; box-shadow: none; -gtk-icon-shadow: none; text-shadow: none; background: none; } - -tabbar tab .tab-close-button:hover, tabbar tab .tab-indicator.clickable:hover, .tab-drag-icon tab .tab-close-button:hover, .tab-drag-icon tab .tab-indicator.clickable:hover { background: alpha(@window_fg_color, 0.15); } - -tabbar tab .tab-close-button:active, tabbar tab .tab-indicator.clickable:active, .tab-drag-icon tab .tab-close-button:active, .tab-drag-icon tab .tab-indicator.clickable:active { background: alpha(black, 0.2); } - -flap > dimming, deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.24); } - -flap > border, deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.2); } - -flap > shadow, deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } - -flap > shadow.left, deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.right, deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.up, deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.down, deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > outline, deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.05); } - -avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } - -avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } - -avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } - -avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } - -avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } - -avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } - -avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } - -avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } - -avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } - -avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } - -avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } - -avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } - -avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } - -avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } - -avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } - -avatar.contrasted { color: #fff; } - -avatar.image { background: none; } - -window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp, preferencespage > scrolledwindow > viewport > clamp { margin: 0 12px; } - -window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > list, window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > box > preferencesgroup, preferencespage > scrolledwindow > viewport > clamp > list, preferencespage > scrolledwindow > viewport > clamp > box > preferencesgroup { margin-top: 24px; } - -preferencesgroup > box > label:not(:first-child) { margin-top: 6px; } - -preferencesgroup > box > box:not(:first-child) { margin-top: 12px; } - -tabbar .tab-indicator:not(.clickable) { background: none; box-shadow: none; border-color: transparent; } - -.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } - -.heading.h4 { color: @window_fg_color; } - -window.rounded, window.rounded actionbar { border-radius: 0 0 12px 12px; } - -window.rounded decoration, window.rounded actionbar decoration { border-radius: 12px; } - -window.flat headerbar { box-shadow: none; } - -.accent { color: @accent_bg_color; } - -.h1 { font-size: 20pt; font-weight: 300; } - -.h2 { font-size: 16pt; font-weight: 200; } - -.h3 { font-size: 11pt; } - -.h4, .category-label { color: shade(@window_fg_color,1.2); font-weight: 700; } - -.h4 { padding-top: 0.5em; padding-bottom: 0.5em; } - -list .h4 { padding-left: 0.5em; } - -.storage-bar .trough { padding: 8px 6px; border: none; border-radius: 6px 6px 0 0; background-image: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } - -.storage-bar .fill-block { padding: 8px 6px; border: 1px solid rgba(0, 0, 0, 0.35); border-top-width: 0; border-right-width: 0; border-bottom-width: 1px; border-left-width: 0; border-radius: 0; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.75); background-color: shade(@view_bg_color,0.85); } - -.storage-bar .fill-block:first-child { border-radius: 6px 0 0; } - -.storage-bar .fill-block:last-child { border-radius: 0 6px 0 0; } - -.storage-bar .fill-block:only-child { border-radius: 6px 6px 0 0; } - -.storage-bar .fill-block image { -gtk-icon-style: symbolic; } - -.storage-bar .empty-block { border-bottom-width: 1px; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.6); background-color: shade(@view_bg_color,0.95); } - -.storage-bar .empty-block image { color: black; } - -.storage-bar .app { border-bottom-width: 1px; border-bottom-color: shade(#dc8add,0.7); background-color: #dc8add; } - -.storage-bar .app image { color: white; } - -.storage-bar .audio { border-bottom-width: 1px; border-bottom-color: shade(#ffa348,0.8); background-color: #ffa348; } - -.storage-bar .audio image { color: black; } - -.storage-bar .files { border-bottom-width: 1px; border-bottom-color: shade(#99c1f1,0.8); background-color: #99c1f1; } - -.storage-bar .files image { color: black; } - -.storage-bar .photo { border-bottom-width: 1px; border-bottom-color: shade(#57e389,0.7); background-color: #57e389; } - -.storage-bar .photo image { color: black; } - -.storage-bar .video { border-bottom-width: 1px; border-bottom-color: shade(#f66151,0.8); background-color: #f66151; } - -.storage-bar .video image { color: white; } - -.storage-bar .legend { padding: 8px; border-radius: 50%; } - -.storage-bar .legend image { color: black; } - -.storage-bar .disk-bar { padding: 0; border-radius: 6px; background-color: #cdab8f; } - -.storage-bar .ext2, .storage-bar .ext3, .storage-bar .ext4, .storage-bar .fat16, .storage-bar .fat32, .storage-bar .btrfs, .storage-bar .xfs, .storage-bar .ntfs, .storage-bar .luks, .storage-bar .lvm, .storage-bar .none, .storage-bar .swap, .storage-bar .unused { border: none; box-shadow: inset 0 -2px rgba(94, 92, 100, 0.5), inset 1px 0 rgba(94, 92, 100, 0.5), inset -1px 0 rgba(94, 92, 100, 0.5); } - -.storage-bar .swap { background-color: #a51d2d; } - -.storage-bar .swap image { color: white; } - -.storage-bar .ext4 { background-color: #57e389; } - -.storage-bar .ext4 image { color: black; } - -.storage-bar .ext3 { background-color: #26a269; } - -.storage-bar .ext3 image { color: white; } - -.storage-bar .ext2 { background-color: #8ff0a4; } - -.storage-bar .ext2 image { color: black; } - -.storage-bar .fat16, .storage-bar .fat32 { background-color: #f8e45c; } - -.storage-bar .fat16 image, .storage-bar .fat32 image { color: black; } - -.storage-bar .btrfs { background-color: #1a5fb4; } - -.storage-bar .btrfs image { color: white; } - -.storage-bar .xfs { background-color: #99c1f1; } - -.storage-bar .xfs image { color: black; } - -.storage-bar .ntfs { background-color: #ffa348; } - -.storage-bar .ntfs image { color: black; } - -.storage-bar .luks { background-color: #c061cb; } - -.storage-bar .luks image { color: black; } - -.storage-bar .lvm { background-color: #dc8add; } - -.storage-bar .lvm image { color: black; } - -.storage-bar .none { background-color: #99c1f1; } - -.storage-bar .none image { color: black; } - -.storage-bar .unused { background-color: #cdab8f; } - -.storage-bar .unused image { color: black; } - -.storage-bar .legend { box-shadow: none; } - -GraniteWidgetsPopOver { -GraniteWidgetsPopOver-arrow-width: 21; -GraniteWidgetsPopOver-arrow-height: 10; -GraniteWidgetsPopOver-border-radius: 12px; -GraniteWidgetsPopOver-border-width: 0; -GraniteWidgetsPopOver-shadow-size: 12; border: 1px solid @view_bg_color; background: @view_bg_color; color: @window_fg_color; } - -GraniteWidgetsPopOver .button { background-image: none; background: none; border: none; } - -GraniteWidgetsPopOver .button:active, GraniteWidgetsPopOver .button:active:hover { color: @accent_bg_color; } - -GraniteWidgetsPopOver > .frame { border: none; } - -GraniteWidgetsPopOver .sidebar.view, GraniteWidgetsPopOver iconview.sidebar { border: none; background: none; } - -GraniteWidgetsStaticNotebook .frame { border: none; } - -.popover_bg { background-color: @view_bg_color; background-image: none; border: 1px solid @view_bg_color; color: @window_fg_color; } - -.deck { background-color: @view_bg_color; } - -paper, .card { transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1); border: none; background-color: @view_bg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } - -paper, paper.rounded, .card, .card.rounded { border-radius: 12px; } - -paper.collapsed, .card.collapsed { background-color: @window_bg_color; } - -.source-list { -GtkTreeView-horizontal-separator: 1px; -GtkTreeView-vertical-separator: 6px; background-color: @window_bg_color; border: solid mix(currentColor,@window_bg_color,0.85); color: @window_fg_color; border-right-width: 1px; } - -.source-list .category-expander { color: transparent; } - -.source-list .badge { background-image: none; background-color: rgba(0, 0, 0, 0.4); color: @window_bg_color; border-radius: 10px; padding: 0 6px; margin: 0 3px; border-width: 0; } - -.source-list .badge:selected:backdrop, .source-list .badge:selected:hover:backdrop { background-color: rgba(0, 0, 0, 0.2); color: shade(@window_bg_color,0.95); } - -.source-list row, .source-list .list-row { border: none; padding: 0; } - -.source-list row > GtkLabel, .source-list row > label, .source-list .list-row > GtkLabel, .source-list .list-row > label { padding-left: 6px; padding-right: 6px; } - -.avatar { border-radius: 999px; box-shadow: none; } - -.overlay-bar { padding: 4px; } - -.dynamic-notebook tab.reorderable-page { padding: 8px; } - -scale.temperature trough { background-image: linear-gradient(to right, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } - -scale.temperature:dir(rtl) trough { background-image: linear-gradient(to left, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } - -scale.warmth trough { background-image: linear-gradient(to right, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } - -scale.warmth:dir(rtl) trough { background-image: linear-gradient(to left, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } - -.terminal, .terminal text { background-color: #3d3846; color: white; font-family: monospace; } - -.terminal selection, .terminal text selection { background-color: @accent_bg_color; color: white; } - -.terminal:backdrop, .terminal text:backdrop { background-color: #5e5c64; color: white; } - -label.terminal { padding: 1em; } - -.welcome { font-size: 10pt; text-shadow: none; } - -.welcome .h1, .welcome .h3 { color: shade(@window_fg_color,1.2); } - -button.back-button, button.back-button.text-button { padding-right: 8px; padding-left: 36px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button, .titlebar button.back-button.text-button { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); background-color: @headerbar_bg_color; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; padding-left: 36px; } - -.titlebar button.back-button:hover, .titlebar button.back-button.text-button:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button:active, .titlebar button.back-button.text-button:active { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button:active:hover, .titlebar button.back-button.text-button:active:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } - -button.back-button:dir(rtl), button.back-button.text-button:dir(rtl) { padding: 0.5em 0.6em; padding-right: 36px; padding-left: 8px; background-image: -gtk-icontheme("go-next-symbolic"); background-repeat: no-repeat no-repeat; background-position: 90% 50%; } - -.checkerboard { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } - -.org-gnome-gedit notebook > header, .gedit-side-panel-paned notebook > header, .nautilus-window notebook > header { background-color: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; box-shadow: none; } - -.org-gnome-gedit notebook > header:backdrop, .gedit-side-panel-paned notebook > header:backdrop, .nautilus-window notebook > header:backdrop { background-color: @headerbar_backdrop_color; box-shadow: none; } - -.org-gnome-gedit notebook arrow.down + tab.reorderable-page, .gedit-side-panel-paned notebook arrow.down + tab.reorderable-page, .nautilus-window notebook arrow.down + tab.reorderable-page, .org-gnome-gedit notebook tab:first-child.reorderable-page, .gedit-side-panel-paned notebook tab:first-child.reorderable-page, .nautilus-window notebook tab:first-child.reorderable-page { background-image: none; box-shadow: none; } - -.org-gnome-gedit notebook tab.reorderable-page, .gedit-side-panel-paned notebook tab.reorderable-page, .nautilus-window notebook tab.reorderable-page { -gtk-outline-radius: 8px; outline-width: 2px; outline-style: solid; outline-color: alpha(@accent_color,0.5); min-height: 37px; padding: 4px 0 0 0; box-shadow: none; border: none; color: @headerbar_fg_color; background-color: @headerbar_bg_color; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } - -.org-gnome-gedit notebook tab.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab.reorderable-page:backdrop, .nautilus-window notebook tab.reorderable-page:backdrop { box-shadow: none; } - -.org-gnome-gedit notebook tab.reorderable-page > box, .gedit-side-panel-paned notebook tab.reorderable-page > box, .nautilus-window notebook tab.reorderable-page > box { margin: 0 3px 3px 3px; padding-right: 8px; border-radius: 6px; } - -.org-gnome-gedit notebook tab.reorderable-page > box > label, .gedit-side-panel-paned notebook tab.reorderable-page > box > label, .nautilus-window notebook tab.reorderable-page > box > label { padding-left: 8px; } - -.org-gnome-gedit notebook tab.reorderable-page > box button, .gedit-side-panel-paned notebook tab.reorderable-page > box button, .nautilus-window notebook tab.reorderable-page > box button { margin: 8px 0; } - -.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:hover.reorderable-page > box, .gedit-side-panel-paned notebook tab:hover.reorderable-page > box, .nautilus-window notebook tab:hover.reorderable-page > box { background-color: alpha(currentColor,0.07); transition: background-color 150ms ease-in-out; } - -.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page, .org-gnome-gedit notebook tab:hover.reorderable-page + tab, .gedit-side-panel-paned notebook tab:hover.reorderable-page + tab, .nautilus-window notebook tab:hover.reorderable-page + tab { background-image: none; } - -.org-gnome-gedit notebook tab:hover.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:hover.reorderable-page:backdrop, .nautilus-window notebook tab:hover.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } - -.org-gnome-gedit notebook tab:backdrop.reorderable-page, .gedit-side-panel-paned notebook tab:backdrop.reorderable-page, .nautilus-window notebook tab:backdrop.reorderable-page { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page > box, .nautilus-window notebook tab:checked.reorderable-page > box { background-color: alpha(currentColor,0.1); transition: background-color 150ms ease-in-out; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover, .nautilus-window notebook tab:checked.reorderable-page:hover, .org-gnome-gedit notebook tab:checked.reorderable-page:active, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active, .nautilus-window notebook tab:checked.reorderable-page:active { box-shadow: none; background-color: transparent; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover > box, .nautilus-window notebook tab:checked.reorderable-page:hover > box, .org-gnome-gedit notebook tab:checked.reorderable-page:active > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active > box, .nautilus-window notebook tab:checked.reorderable-page:active > box { background-color: alpha(currentColor,0.13); } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover:backdrop, .nautilus-window notebook tab:checked.reorderable-page:hover:backdrop, .org-gnome-gedit notebook tab:checked.reorderable-page:active:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active:backdrop, .nautilus-window notebook tab:checked.reorderable-page:active:backdrop { box-shadow: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page, .org-gnome-gedit notebook tab:checked.reorderable-page + tab, .gedit-side-panel-paned notebook tab:checked.reorderable-page + tab, .nautilus-window notebook tab:checked.reorderable-page + tab { background-image: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:backdrop, .nautilus-window notebook tab:checked.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } - -.nautilus-window headerbar .path-bar-box, .nautilus-window .titlebar .path-bar-box { border-radius: 6px; border: none; padding-right: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.nautilus-window headerbar .path-bar-box:backdrop, .nautilus-window .titlebar .path-bar-box:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar, .nautilus-window .titlebar .nautilus-path-bar { border-radius: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); min-height: 34px; } - -.nautilus-window headerbar .nautilus-path-bar:backdrop, .nautilus-window .titlebar .nautilus-path-bar:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton) { margin: 0; padding-left: 8px; padding-right: 8px; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).current-dir, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).current-dir { border-width: 0px; border-radius: 6px; background-color: transparent; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir) { border-width: 0px; border-radius: 6px; background-color: transparent; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover { color: @headerbar_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover *, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover * { opacity: 1; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),shade(mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.7); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); border-radius: 0 6px 6px 0; border-left: 1px solid alpha(currentColor,0.15); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup image, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup image { color: @headerbar_fg_color; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-left: 1px solid alpha(currentColor,0.15); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.903); } - -.nautilus-window .path-buttons-box { border: 2px solid transparent; } - -.nautilus-window .path-buttons-box button { min-height: 22px; } - -.nautilus-window .linked.raised button.image-button:not(:only-child), .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop, .nautilus-window .linked.raised button.image-button:not(:only-child):disabled, .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop:disabled { border: none; } - -.nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active), .nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active):backdrop, .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model):backdrop { background-color: transparent; } - -.nautilus-window .search + .toggle.popup { border-left-color: alpha(currentColor,0.15); } - -.nautilus-window .view .dim-label, .nautilus-window .view dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window .view .subtitle, .nautilus-window iconview .dim-label, .nautilus-window iconview dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window iconview .subtitle, .nautilus-window .view label.separator, .nautilus-window iconview label.separator, .nautilus-window .view headerbar .subtitle, headerbar .nautilus-window .view .subtitle, .nautilus-window iconview headerbar .subtitle, headerbar .nautilus-window iconview .subtitle, .nautilus-window .view .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window .view .subtitle, .nautilus-window iconview .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window iconview .subtitle { color: alpha(@window_fg_color,0.55); } - -.nautilus-window .thumbnail { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } - -.nautilus-window .operations-list, .nautilus-window .operations-list > :hover { background: none; } - -.nautilus-window .nautilus-canvas-item { border-radius: 0px; } - -.nautilus-window .nautilus-canvas-item.label-text { border-radius: 6px; } - -.nautilus-window .nautilus-list-view .view:selected, .nautilus-window .nautilus-list-view iconview:selected { background-color: alpha(@accent_bg_color,0.25); color: @view_fg_color; } - -.nautilus-window .nautilus-list-view .view:selected:hover, .nautilus-window .nautilus-list-view iconview:selected:hover { background-color: alpha(@accent_bg_color,0.32); } - -.nautilus-window .nautilus-list-view .view:hover, .nautilus-window .nautilus-list-view iconview:hover { background-color: alpha(currentColor,0.04); } - -.nautilus-window entry.search > :not(.csd) { margin: 5px; } - -.nautilus-window entry.search > :not(.csd):not(image), .nautilus-window entry.search > :not(.csd):backdrop:not(image) { color: @accent_fg_color; background-color: @accent_bg_color; } - -.floating-bar { padding: 3px; background-color: @view_bg_color; border-width: 1px; border-style: solid solid none; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 8px 0 0 0; } - -.floating-bar.bottom.left { border-left-style: none; border-top-left-radius: 0; } - -.floating-bar.bottom.right { border-right-style: none; border-top-right-radius: 0; } - -.floating-bar:backdrop { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } - -.floating-bar button { padding: 0px; } - -.disk-space-display { border-style: solid; border-width: 2px; } - -.disk-space-display.unknown { background-color: #888a85; border-color: shade(#888a85, 0.7); color: #888a85; } - -.disk-space-display.unknown.border { color: shade(#888a85, 0.7); } - -.disk-space-display.used { background-color: #729fcf; border-color: shade(#729fcf, 0.7); color: #729fcf; } - -.disk-space-display.used.border { color: shade(#729fcf, 0.7); } - -.disk-space-display.free { background-color: #eeeeec; border-color: shade(#eeeeec, 0.7); color: #eeeeec; } - -.disk-space-display.free.border { color: shade(#eeeeec, 0.7); } - -.gedit-search-slider { background: @window_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); border-top-style: none; padding: 4px 8px; border-radius: 0 0 6px 6px; } - -.gedit-search-slider button { padding-top: 7px; padding-bottom: 7px; } - -.gedit-document-panel { background-color: @window_bg_color; } - -.gedit-document-panel row.activatable { padding: 6px; } - -.gedit-document-panel row button { min-width: 22px; min-height: 22px; padding: 0; margin: 0; border: none; } - -.gedit-document-panel row:hover button:hover { background-color: alpha(currentColor,0.15); } - -.gedit-document-panel row:hover button:active { background-color: alpha(currentColor,0.3); } - -.gedit-document-panel row:hover:selected button:hover { color: @window_fg_color; } - -.titlebar.tweak-titlebar-left { background-image: none; background-color: @sidebar_bg_color; border-bottom-color: transparent; } - -.titlebar.tweak-titlebar-left:backdrop { background-color: @sidebar_backdrop_color; } - -.titlebar.tweak-titlebar-left button { background-color: transparent; } - -.titlebar.tweak-titlebar-left button:hover { background-color: alpha(currentColor,0.15); } - -.titlebar.tweak-titlebar-left button:hover:active, .titlebar.tweak-titlebar-left button:active, .titlebar.tweak-titlebar-left button:hover:checked, .titlebar.tweak-titlebar-left button:checked { background-color: alpha(currentColor,0.3); } - -.titlebar.tweak-titlebar-left button:backdrop { background: alpha(currentColor,0.1); } - -.titlebar.tweak-titlebar-left button:backdrop:hover { background: alpha(currentColor,0.15); } - -.titlebar.tweak-titlebar-right { background-image: none; background-color: @window_bg_color; border-bottom-color: transparent; } - -.navigation-sidebar { background-color: @sidebar_bg_color; } - -.navigation-sidebar:backdrop { background-color: @sidebar_backdrop_color; } - -.navigation-sidebar separator.horizontal { margin: 2px 0; padding: 0; background-color: transparent; } - -list.tweak-categories separator.horizontal { background: transparent; margin: 2px 0; } - -.tweak-group .tweak list { border-radius: 12px; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -.org-gnome-Todo taskrow.activatable.new-task-row button.popup.toggle { border-radius: 0px; border: none; border-left: 1px solid mix(currentColor,@window_bg_color,0.85); padding-left: 10px; padding-right: 10px; -gtk-outline-radius: 0px; } - -.org-gnome-Todo viewport.view, .org-gnome-Todo listbox.transparent { background-color: shade(@view_bg_color,0.95); } - -.org-gnome-Todo viewport.view:backdrop, .org-gnome-Todo listbox.transparent:backdrop { background-color: @window_bg_color; } - -window#guake-terminal notebook header { background: @headerbar_bg_color; } - -.XfceHeading { background-color: @view_bg_color; margin: 0; padding: 0; border-width: 0; } - -XfdesktopIconView.view { background: transparent; color: rgba(255, 255, 255, 0.9); border-radius: 6px; } - -XfdesktopIconView.view:active { background: alpha(mix(black,@accent_bg_color,0.85),0.5); text-shadow: 0 1px 1px black; } - -XfdesktopIconView.view .label { text-shadow: 1px 1px 2px black; } - -XfdesktopIconView.view .rubberband { border-radius: 0; } - -@define-color panel_bg_color black; -@define-color panel_fg_color white; -.xfce4-panel.background { border: none; background-color: @panel_bg_color; color: @panel_fg_color; transition-duration: 250ms; } - -.xfce4-panel.background .tasklist button, .xfce4-panel.background #actions-button, .xfce4-panel.background #clock-button { margin: 0 1px; } - -.xfce4-panel.background.horizontal .tasklist button { margin: 0 1px; } - -.xfce4-panel.background.horizontal .tasklist button label { padding-right: 3px; } - -.xfce4-panel.background.vertical .tasklist button { margin: 1px 0; } - -.xfce4-panel.background.vertical .tasklist button label { padding-bottom: 3px; } - -.xfce4-panel.background .tasklist image { margin-left: 2px; margin-right: 2px; } - -.xfce4-panel.background button label { padding-left: 6px; padding-right: 6px; } - -.xfce4-panel.background button { padding: 0 6px; min-height: 12px; min-width: 12px; border-radius: 24px; color: @panel_fg_color; transition-duration: 250ms; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.xfce4-panel.background button:disabled { background-color: transparent; color: alpha(@panel_fg_color,0.2); } - -.xfce4-panel.background button:hover:not(:active):not(:checked) { color: @panel_fg_color; background-color: alpha(@panel_fg_color,0.25); background-image: none; } - -.xfce4-panel.background button:checked { background-color: alpha(@panel_fg_color,0.2); color: @panel_fg_color; } - -.xfce4-panel.background button:checked:hover { background-color: alpha(@panel_fg_color,0.35); } - -.xfce4-panel.background button:checked:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@panel_fg_color,0.2); } - -.xfce4-panel.background button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -.xfce4-panel.background button entry { caret-color: @view_fg_color; } - -.xfce4-panel.background button menu { -gtk-icon-effect: none; text-shadow: none; } - -.xfce4-panel.background button menu .linked button { color: @view_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -.xfce4-panel.background button menu .linked button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: alpha(mix(currentColor,@window_bg_color,0.85),0.5); } - -.xfce4-panel.background progressbar { margin: 0; } - -.xfce4-panel.background progressbar.horizontal trough { min-height: 6px; padding: 0; } - -.xfce4-panel.background progressbar.horizontal progress { min-height: 4px; } - -.xfce4-panel.background progressbar.vertical trough { min-width: 6px; padding: 0; } - -.xfce4-panel.background progressbar.vertical progress { min-width: 4px; } - -.xfce4-panel.background progressbar progress { border-radius: 0px; } - -.xfce4-panel.background progressbar trough { background: shade(@panel_bg_color,0.7); border-radius: 0px; border-color: shade(@panel_bg_color,0.4); } - -wnck-pager { background-color: alpha(@panel_fg_color,0.1); } - -wnck-pager:selected { background-color: shade(@accent_bg_color,0.88); } - -wnck-pager:hover { background-color: @accent_bg_color; } - -#xfwm-tabwin { padding: 12px; border-radius: 12px; -XfwmTabwinWidget-icon-size: 64px; -XfwmTabwinWidget-preview-size: 128px; } - -#xfwm-tabwin .tabwin-app-grid button { min-width: 96px; min-height: 96px; } - -window#whiskermenu-window button { transition: none; } - -#whiskermenu-button { transition: none; } - -#XfceNotifyWindow { border-radius: 8px; background-color: @view_bg_color; } - -.caja-desktop.caja-canvas-item, .nemo-desktop.nemo-canvas-item { color: @accent_fg_color; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); } - -.nemo-properties-dialog .dialog-action-box .dialog-action-area { margin: 2px 6px 4px; } - -.nemo-properties-dialog toolbar stackswitcher.linked button { margin-right: 0; } - -.nemo-properties-dialog toolbar stackswitcher.linked button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: @window_bg_color; } - -.nemo-window .sidebar scrolledwindow.frame.nemo-places-sidebar { border: none; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview { background-image: image(@window_bg_color); border-radius: 0; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:selected { background: @accent_bg_color; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:not(:selected):not(:backdrop):hover { background-image: image(alpha(@window_fg_color,0.05)); } - -.nemo-window .nemo-inactive-pane .view, .nemo-window .nemo-inactive-pane iconview { background-color: @window_bg_color; } - -.nemo-window .nemo-window-pane widget.entry { border: 1px solid; border-radius: 3px; color: @window_fg_color; border-color: @accent_bg_color; background-color: @window_bg_color; } - -.nemo-window .nemo-window-pane widget.entry:selected { border: 1px solid; border-radius: 3px; color: @accent_fg_color; border-color: @accent_bg_color; background-color: @accent_bg_color; } - -.nemo-window toolbar.horizontal.primary-toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } - -.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:first-child widget { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } - -.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:last-child widget { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } - -.nemo-window toolbar.horizontal.primary-toolbar toolitem box widget * { min-height: 0; min-width: 0; } - -.nemo-window toolbar.horizontal.primary-toolbar .linked button { margin-right: 0; } - -#dialog-action_area3 { margin: 5px; } - -window.background.chromium { background-color: mix(currentColor,@window_bg_color,0.9); } - -window.background.chromium entry, window.background.chromium > button { border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(currentColor,@window_bg_color,0.8); } - -window.background.chromium textview.view { background-color: @view_bg_color; } - -window.background.chromium menuitem { border-radius: 0; } - -#MozillaGtkWidget.background button { font-weight: initial; } - -#MozillaGtkWidget.background check, #MozillaGtkWidget.background radio { padding: 0; min-height: 12px; min-width: 12px; } - -#MozillaGtkWidget.background menuitem { border-radius: 0; } - -#MozillaGtkWidget.background menuitem check, #MozillaGtkWidget.background menuitem radio { min-height: 12px; min-width: 12px; } - -#MozillaGtkWidget.background { background-color: @headerbar_bg_color; } - -#MozillaGtkWidget > widget border { border-color: mix(currentColor,@window_bg_color,0.85); } - -window.background.chromium selection:focus, window.background.chromium selection, #MozillaGtkWidget.background selection:focus, #MozillaGtkWidget.background selection { background-color: @accent_bg_color; color: @accent_fg_color; } - -button .download_progress trough { min-height: 2px; } - -.titlebar .navigation-box.linked button:not(:only-child):not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):disabled:not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):backdrop:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.titlebar .navigation-box.linked button:not(:only-child):last-child, .titlebar .navigation-box.linked button:not(:only-child):disabled:last-child, .titlebar .navigation-box.linked button:not(:only-child):backdrop:last-child { border-left-color: transparent; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected:hover { background-color: @accent_bg_color; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle { color: @accent_fg_color; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected image { color: @accent_fg_color; } - -.incognito-mode headerbar, .incognito-mode headerbar.titlebar, .incognito-mode .titlebar { background: @incognito_bg_color; } - -.incognito-mode headerbar:backdrop, .incognito-mode headerbar.titlebar:backdrop, .incognito-mode .titlebar:backdrop { background: mix(@incognito_bg_color,@window_bg_color,0.5); } - -.incognito-mode headerbar button.image-button:hover, .incognito-mode headerbar.titlebar button.image-button:hover, .incognito-mode .titlebar button.image-button:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.03),0.903); } - -.incognito-mode headerbar button.image-button:hover:backdrop, .incognito-mode headerbar.titlebar button.image-button:hover:backdrop, .incognito-mode .titlebar button.image-button:hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@incognito_bg_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar button.image-button:active, .incognito-mode headerbar button.image-button:checked, .incognito-mode headerbar.titlebar button.image-button:active, .incognito-mode headerbar.titlebar button.image-button:checked, .incognito-mode .titlebar button.image-button:active, .incognito-mode .titlebar button.image-button:checked { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.903); } - -.incognito-mode headerbar button.image-button:active:hover, .incognito-mode headerbar button.image-button:checked:hover, .incognito-mode headerbar.titlebar button.image-button:active:hover, .incognito-mode headerbar.titlebar button.image-button:checked:hover, .incognito-mode .titlebar button.image-button:active:hover, .incognito-mode .titlebar button.image-button:checked:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,0.963),0.903); } - -.incognito-mode headerbar button.image-button:active:backdrop, .incognito-mode headerbar button.image-button:checked:backdrop, .incognito-mode headerbar.titlebar button.image-button:active:backdrop, .incognito-mode headerbar.titlebar button.image-button:checked:backdrop, .incognito-mode .titlebar button.image-button:active:backdrop, .incognito-mode .titlebar button.image-button:checked:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar entry, .incognito-mode headerbar.titlebar entry, .incognito-mode .titlebar entry { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.903); } - -.incognito-mode headerbar entry:backdrop, .incognito-mode headerbar.titlebar entry:backdrop, .incognito-mode .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar entry:disabled, .incognito-mode headerbar.titlebar entry:disabled, .incognito-mode .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.incognito-mode headerbar entry:disabled:backdrop, .incognito-mode headerbar.titlebar entry:disabled:backdrop, .incognito-mode .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.org-gnome-Builder .dzlmenubuttonitem { font-weight: normal; min-height: 32px; } - -terminal-window notebook > header.top tabs:not(:only-child):first-child, terminal-window notebook > header.bottom tabs:not(:only-child):first-child { margin-left: 0px; } - -terminal-window notebook > header.top tabs:not(:only-child):last-child, terminal-window notebook > header.bottom tabs:not(:only-child):last-child { margin-right: 0px; } - -terminal-window notebook scrollbar slider { margin: 0; border-width: 3px; } - -window.background.caja-navigation-window #Toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } - -window.background.caja-navigation-window #Toolbar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } - -.caja-pathbar button { min-width: 32px; border-radius: 0; border-right-width: 0; margin-right: -3px; } - -.caja-pathbar button.slider-button:nth-child(odd) { border-radius: 6px 0px 0px 6px; } - -.caja-pathbar button.slider-button:nth-child(even) { border-radius: 0 6px 6px 0; border-right-width: 1px; } - -.caja-side-pane .frame { border-style: solid none none none; } - -.caja-notebook .view, .caja-notebook iconview, .caja-notebook .view.frame, .caja-notebook .frame { border-left: 0; border-right: 0; } - -.caja-side-pane + separator + box:backdrop { background: @window_bg_color; } - -.caja-navigation-window widget.view widget.entry, .caja-desktop-window widget.view widget.entry { background: mix(currentColor,@window_bg_color,0.95); color: @window_fg_color; border-color: mix(currentColor,@window_bg_color,0.85); } - -.caja-navigation-window widget.view widget.entry:selected, .caja-desktop-window widget.view widget.entry:selected { background: @accent_bg_color; color: @accent_fg_color; } - -#gnc-id-main-window treeview.view:not(:selected):hover { background-color: mix(currentColor,@view_bg_color,0.93); } - -gnc-id-sheet-list { background-color: @window_bg_color; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content { background-color: @window_bg_color; border: none; border-radius: 0; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-bottom-width: 0; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background { background-color: transparent; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background > revealer > box { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background { background-color: transparent; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background > actionbar > revealer > box { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer searchbar > revealer > box { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); } - -.geary-folder-popover-list-row { border-radius: 0; margin: 0; } - -.geary-main-window leaflet > leaflet > box:first-child { background-color: @sidebar_bg_color; } - -.geary-main-window leaflet > leaflet > box:first-child:backdrop { background-color: @sidebar_backdrop_color; } - -.geary-main-window leaflet > box:first-child > .titlebar { background-color: @sidebar_bg_color; background-image: none; border-bottom: transparent; box-shadow: none; } - -.geary-main-window leaflet > box:first-child > .titlebar:backdrop { background-color: @sidebar_backdrop_color; } - -.geary-main-window leaflet > box:first-child > .titlebar button { background-color: transparent; } - -.geary-main-window leaflet > box:first-child > .titlebar button:hover { background-color: alpha(currentColor,0.15); } - -.geary-main-window leaflet > box:first-child > .titlebar button:hover:active, .geary-main-window leaflet > box:first-child > .titlebar button:active, .geary-main-window leaflet > box:first-child > .titlebar button:hover:checked, .geary-main-window leaflet > box:first-child > .titlebar button:checked { background-color: alpha(currentColor,0.3); } - -.geary-main-window leaflet > box:first-child > .titlebar button:backdrop { background: transparent; } - -.geary-main-window leaflet > box:first-child > .titlebar button:backdrop:hover { background: alpha(currentColor,0.15); } - -.geary-main-window leaflet > box:not(:first-child) > .titlebar { border-bottom: transparent; box-shadow: none; } - -.geary-main-window leaflet > box:not(:first-child) > .titlebar:backdrop { background-image: none; background-color: @new_title_bg_color; } - -.geary-main-window separator.sidebar { background-color: mix(currentColor,@window_bg_color,0.85); } - -.geary-main-window .titlebar .image-button { padding: 0 6px; } - -.geary-folder .sidebar.view:selected, .geary-folder iconview.sidebar:selected { background-color: alpha(currentColor,0.1); } - -.geary-folder .sidebar.view:selected:hover, .geary-folder iconview.sidebar:selected:hover { background-color: alpha(currentColor,0.13); } - -.geary-folder .sidebar.view:hover, .geary-folder iconview.sidebar:hover { background-color: alpha(currentColor,0.07); } - -#DialogNotebook treeview.view:hover { background-color: alpha(@accent_bg_color,0.5); } - -.budgie-panel button { min-height: 16px; min-width: 16px; padding: 0; border-radius: 0; } - -.budgie-panel button.flat.launcher { padding: 0; } - -.budgie-panel.horizontal button, .budgie-panel #tasklist-button { padding: 0 4px; } - -.budgie-panel.vertical button { padding: 4px 0; } - -.budgie-panel.vertical #tasklist-button { min-height: 32px; } diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/libadwaita-tweaks.css b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/libadwaita-tweaks.css deleted file mode 100644 index f30fdf1c..00000000 --- a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/libadwaita-tweaks.css +++ /dev/null @@ -1,9 +0,0 @@ -/* - This file will fix some legacy widget styles that aren't styled in libadwaita -*/ - -/* add a bg color to notebook headers */ -notebook > header { - background-color: @headerbar_bg_color; - border-color: mix(currentColor,@window_bg_color,0.85); -} diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/libadwaita.css b/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/libadwaita.css deleted file mode 100644 index 3dbb9282..00000000 --- a/config-files/.local/share/themes/adw-gtk3-dark/gtk-3.0/libadwaita.css +++ /dev/null @@ -1,2499 +0,0 @@ -@define-color blue_1 #99c1f1; -@define-color blue_2 #62a0ea; -@define-color blue_3 #3584e4; -@define-color blue_4 #1c71d8; -@define-color blue_5 #1a5fb4; -@define-color green_1 #8ff0a4; -@define-color green_2 #57e389; -@define-color green_3 #33d17a; -@define-color green_4 #2ec27e; -@define-color green_5 #26a269; -@define-color yellow_1 #f9f06b; -@define-color yellow_2 #f8e45c; -@define-color yellow_3 #f6d32d; -@define-color yellow_4 #f5c211; -@define-color yellow_5 #e5a50a; -@define-color orange_1 #ffbe6f; -@define-color orange_2 #ffa348; -@define-color orange_3 #ff7800; -@define-color orange_4 #e66100; -@define-color orange_5 #c64600; -@define-color red_1 #f66151; -@define-color red_2 #ed333b; -@define-color red_3 #e01b24; -@define-color red_4 #c01c28; -@define-color red_5 #a51d2d; -@define-color purple_1 #dc8add; -@define-color purple_2 #c061cb; -@define-color purple_3 #9141ac; -@define-color purple_4 #813d9c; -@define-color purple_5 #613583; -@define-color brown_1 #cdab8f; -@define-color brown_2 #b5835a; -@define-color brown_3 #986a44; -@define-color brown_4 #865e3c; -@define-color brown_5 #63452c; -@define-color light_1 #ffffff; -@define-color light_2 #f6f5f4; -@define-color light_3 #deddda; -@define-color light_4 #c0bfbc; -@define-color light_5 #9a9996; -@define-color dark_1 #77767b; -@define-color dark_2 #5e5c64; -@define-color dark_3 #3d3846; -@define-color dark_4 #241f31; -@define-color dark_5 #000000; -.background { color: @window_fg_color; background-color: @window_bg_color; } - -dnd { color: @window_fg_color; } - -.normal-icons { -gtk-icon-size: 16px; } - -.large-icons { -gtk-icon-size: 32px; } - -.osd popover > arrow, .osd popover > contents, popover.touch-selection > arrow, popover.touch-selection > contents, popover.magnifier > arrow, popover.magnifier > contents, toast, .app-notification, dialog-host > dialog.osd sheet, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } - -/* Text selection */ -selection { background-color: alpha(@view_fg_color,0.1); color: transparent; } - -selection:focus-within { background-color: alpha(@accent_bg_color,0.3); } - -:not(window):drop(active):focus, :not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } - -.navigation-sidebar :not(window):drop(active):focus, .navigation-sidebar :not(window):drop(active), placessidebar :not(window):drop(active):focus, placessidebar :not(window):drop(active), stackswitcher :not(window):drop(active):focus, stackswitcher :not(window):drop(active), expander-widget :not(window):drop(active):focus, expander-widget :not(window):drop(active) { box-shadow: none; } - -/* Outline for low res icons */ -.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -/* Drop shadow for large icons */ -.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -@keyframes needs_attention { from { background-image: radial-gradient(farthest-side, @accent_color 0%, transparent 0%); } - to { background-image: radial-gradient(farthest-side, @accent_color 95%, transparent); } } - -stacksidebar row.needs-attention > label, stackswitcher > button.needs-attention > label, stackswitcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } - -stacksidebar row.needs-attention > label:dir(rtl), stackswitcher > button.needs-attention > label:dir(rtl), stackswitcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } - -avatar { border-radius: 9999px; font-weight: bold; } - -avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } - -avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } - -avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } - -avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } - -avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } - -avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } - -avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } - -avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } - -avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } - -avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } - -avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } - -avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } - -avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } - -avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } - -avatar.contrasted { color: white; } - -avatar.image { background: none; } - -bottom-sheet > dimming { background-color: alpha(@shade_color,2); } - -bottom-sheet > sheet { border-top-left-radius: 12px; border-top-right-radius: 12px; box-shadow: 0 2px 8px 2px rgba(0, 0, 0, 0.07), 0 3px 20px 10px rgba(0, 0, 0, 0.05), 0 6px 32px 16px rgba(0, 0, 0, 0.02), 0 0 0 1px rgba(0, 0, 0, 0.05); } - -bottom-sheet > sheet > drag-handle { background-color: alpha(currentColor,0.25); min-width: 60px; min-height: 4px; margin: 6px; border-radius: 99px; } - -bottom-sheet > sheet > outline { border-top-left-radius: 12px; border-top-right-radius: 12px; box-shadow: inset 1px 0 rgba(255, 255, 255, 0.07), inset -1px 0 rgba(255, 255, 255, 0.07), inset 0 1px rgba(255, 255, 255, 0.07); } - -bottom-sheet > sheet > outline.flush-left { box-shadow: inset -1px 0 rgba(255, 255, 255, 0.07), inset 0 1px rgba(255, 255, 255, 0.07); } - -bottom-sheet > sheet > outline.flush-right { box-shadow: inset 1px 0 rgba(255, 255, 255, 0.07), inset 0 1px rgba(255, 255, 255, 0.07); } - -bottom-sheet > sheet > outline.flush-left.flush-right { box-shadow: inset 0 1px rgba(255, 255, 255, 0.07); } - -notebook > header > tabs > arrow, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay, button { min-height: 24px; min-width: 16px; padding: 5px 10px; border-radius: 6px; font-weight: bold; } - -notebook > header > tabs > arrow, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay, button { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -notebook > header > tabs > arrow:focus:focus-visible, row.spin spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:focus:focus-visible, button:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd notebook > header > tabs > arrow:focus:focus-visible, .osd row.spin spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin .osd spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, .osd row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin .osd spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd colorswatch#add-color-button > overlay:focus:focus-visible, .osd button:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -actionbar > revealer > box popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay, button { background-color: alpha(currentColor,0.1); } - -actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, actionbar > revealer > box popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:hover, row.spin spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:hover, button:hover { background-color: alpha(currentColor,0.15); } - -actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, actionbar > revealer > box popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, actionbar > revealer > box popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow.keyboard-activating, row.spin spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.keyboard-activating, notebook > header > tabs > arrow:active, row.spin spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:active, button.keyboard-activating, button:active { background-color: alpha(currentColor,0.3); } - -actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, actionbar > revealer > box popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked, row.spin spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked, button:checked { background-color: alpha(currentColor,0.3); } - -actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, actionbar > revealer > box popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked:hover, row.spin spinbutton > button.image-button.up:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked:hover, button:checked:hover { background-color: alpha(currentColor,0.35); } - -actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, actionbar > revealer > box popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, actionbar > revealer > box popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked.keyboard-activating, row.spin spinbutton > button.image-button.up:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked.keyboard-activating, notebook > header > tabs > arrow:checked:active, row.spin spinbutton > button.image-button.up:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked:active, button:checked.keyboard-activating, button:checked:active { background-color: alpha(currentColor,0.4); } - -notebook > header > tabs > arrow:disabled, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:disabled, button:disabled { filter: opacity(0.5); } - -notebook > header > tabs > arrow:disabled label, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child label, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) label, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child label, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) label, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child label, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child label, colorswatch#add-color-button > overlay:disabled label, button:disabled label { filter: none; } - -notebook > header > tabs > arrow.image-button, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.image-button, button.image-button { min-width: 24px; padding-left: 5px; padding-right: 5px; } - -notebook > header > tabs > arrow.text-button, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.text-button, button.text-button { padding-left: 17px; padding-right: 17px; } - -notebook > header > tabs > arrow.text-button.image-button, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.text-button.image-button, notebook > header > tabs > arrow.image-text-button, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.image-text-button, button.text-button.image-button, button.image-text-button { padding-left: 9px; padding-right: 9px; } - -notebook > header > tabs > arrow.text-button.image-button > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.text-button.image-button > box, notebook > header > tabs > arrow.text-button.image-button > box > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box, colorswatch#add-color-button > overlay.text-button.image-button > box > box, notebook > header > tabs > arrow.image-text-button > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.image-text-button > box, notebook > header > tabs > arrow.image-text-button > box > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box, colorswatch#add-color-button > overlay.image-text-button > box > box, button.text-button.image-button > box, button.text-button.image-button > box > box, button.image-text-button > box, button.image-text-button > box > box { border-spacing: 4px; } - -notebook > header > tabs > arrow.text-button.image-button > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > label, colorswatch#add-color-button > overlay.text-button.image-button > box > label, notebook > header > tabs > arrow.text-button.image-button > box > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box > label, colorswatch#add-color-button > overlay.text-button.image-button > box > box > label, notebook > header > tabs > arrow.image-text-button > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > label, colorswatch#add-color-button > overlay.image-text-button > box > label, notebook > header > tabs > arrow.image-text-button > box > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box > label, colorswatch#add-color-button > overlay.image-text-button > box > box > label, button.text-button.image-button > box > label, button.text-button.image-button > box > box > label, button.image-text-button > box > label, button.image-text-button > box > box > label { padding-left: 2px; padding-right: 2px; } - -notebook > header > tabs > arrow.arrow-button, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.arrow-button, button.arrow-button { padding-left: 9px; padding-right: 9px; } - -notebook > header > tabs > arrow.arrow-button > box, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.arrow-button > box, button.arrow-button > box { border-spacing: 4px; } - -notebook > header > tabs > arrow.arrow-button.text-button > box, row.spin spinbutton > button.arrow-button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.arrow-button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.arrow-button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.arrow-button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.arrow-button.text-button > box, button.arrow-button.text-button > box { border-spacing: 4px; } - -dropdown:drop(active) button.combo, combobox:drop(active) button.combo, searchbar > revealer > box .close:drop(active), actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), actionbar > revealer > box button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), window.dialog.message.csd .dialog-action-area > button:drop(active), popover.menu box.circular-buttons button.circular.image-button.model:drop(active), popover.menu box.inline-buttons button.image-button.model:drop(active), filechooser #pathbarbox > stack > box > button:drop(active), filechooser #pathbarbox > stack > box > box > button:drop(active), filechooser #pathbarbox > stack > box > menubutton > button:drop(active), button.sidebar-button:drop(active), button.emoji-section.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:drop(active), calendar > header > button:drop(active), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), splitbutton.flat > button:drop(active), splitbutton.flat > menubutton > button:drop(active), menubutton.flat > button:drop(active), button.flat:drop(active), menubutton.osd > button:drop(active), button.osd:drop(active), notebook > header > tabs > arrow:drop(active), row.spin spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:drop(active), button:drop(active) { color: @accent_bg_color; box-shadow: inset 0 0 0 2px @accent_bg_color; } - -menubutton.osd > button, button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: rgba(0, 0, 0, 0.65); } - -menubutton.osd > button, button.osd { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -menubutton.osd > button:focus:focus-visible, button.osd:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 1px; } - -menubutton.osd > button:hover, button.osd:hover { color: white; background-color: alpha(mix(black,currentColor,0.15),0.65); } - -menubutton.osd > button.keyboard-activating, menubutton.osd > button:active, button.osd.keyboard-activating, button.osd:active { color: white; background-color: alpha(mix(black,currentColor,0.25),0.65); } - -menubutton.osd > button:checked, button.osd:checked { background-color: alpha(mix(black,currentColor,0.2),0.65); } - -menubutton.osd > button:checked:hover, button.osd:checked:hover { background-color: alpha(mix(black,currentColor,0.25),0.65); } - -menubutton.osd > button:checked.keyboard-activating, menubutton.osd > button:checked:active, button.osd:checked.keyboard-activating, button.osd:checked:active { background-color: alpha(mix(black,currentColor,0.35),0.65); } - -menubutton.osd > button:focus:focus-visible, .osd button.osd:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -actionbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button, splitbutton.suggested-action > menubutton > button, splitbutton.destructive-action > button, splitbutton.destructive-action > menubutton > button, splitbutton.opaque > button, splitbutton.opaque > menubutton > button, menubutton.suggested-action > button, menubutton.destructive-action > button, menubutton.opaque > button, button.suggested-action, button.destructive-action, button.opaque { box-shadow: none; } - -actionbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button, splitbutton.suggested-action > menubutton > button, splitbutton.destructive-action > button, splitbutton.destructive-action > menubutton > button, splitbutton.opaque > button, splitbutton.opaque > menubutton > button, menubutton.suggested-action > button, menubutton.destructive-action > button, menubutton.opaque > button, button.suggested-action, button.destructive-action, button.opaque { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -actionbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:focus:focus-visible, splitbutton.suggested-action > menubutton > button:focus:focus-visible, splitbutton.destructive-action > button:focus:focus-visible, splitbutton.destructive-action > menubutton > button:focus:focus-visible, splitbutton.opaque > button:focus:focus-visible, splitbutton.opaque > menubutton > button:focus:focus-visible, menubutton.suggested-action > button:focus:focus-visible, menubutton.destructive-action > button:focus:focus-visible, menubutton.opaque > button:focus:focus-visible, button.suggested-action:focus:focus-visible, button.destructive-action:focus:focus-visible, button.opaque:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 1px; } - -.osd actionbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd splitbutton.suggested-action > button:focus:focus-visible, .osd splitbutton.suggested-action > menubutton > button:focus:focus-visible, .osd splitbutton.destructive-action > button:focus:focus-visible, .osd splitbutton.destructive-action > menubutton > button:focus:focus-visible, .osd splitbutton.opaque > button:focus:focus-visible, .osd splitbutton.opaque > menubutton > button:focus:focus-visible, .osd menubutton.suggested-action > button:focus:focus-visible, .osd menubutton.destructive-action > button:focus:focus-visible, .osd menubutton.opaque > button:focus:focus-visible, .osd button.suggested-action:focus:focus-visible, .osd button.destructive-action:focus:focus-visible, .osd button.opaque:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -actionbar > revealer > box menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:hover, splitbutton.suggested-action > menubutton > button:hover, splitbutton.destructive-action > button:hover, splitbutton.destructive-action > menubutton > button:hover, splitbutton.opaque > button:hover, splitbutton.opaque > menubutton > button:hover, menubutton.suggested-action > button:hover, menubutton.destructive-action > button:hover, menubutton.opaque > button:hover, button.suggested-action:hover, button.destructive-action:hover, button.opaque:hover { background-image: image(alpha(currentColor,0.1)); } - -actionbar > revealer > box menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button.keyboard-activating, splitbutton.suggested-action > menubutton > button.keyboard-activating, splitbutton.destructive-action > button.keyboard-activating, splitbutton.destructive-action > menubutton > button.keyboard-activating, splitbutton.opaque > button.keyboard-activating, splitbutton.opaque > menubutton > button.keyboard-activating, menubutton.suggested-action > button.keyboard-activating, menubutton.destructive-action > button.keyboard-activating, menubutton.opaque > button.keyboard-activating, button.keyboard-activating.suggested-action, button.keyboard-activating.destructive-action, button.keyboard-activating.opaque, actionbar > revealer > box menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:active, splitbutton.suggested-action > menubutton > button:active, splitbutton.destructive-action > button:active, splitbutton.destructive-action > menubutton > button:active, splitbutton.opaque > button:active, splitbutton.opaque > menubutton > button:active, menubutton.suggested-action > button:active, menubutton.destructive-action > button:active, menubutton.opaque > button:active, button.suggested-action:active, button.destructive-action:active, button.opaque:active { background-image: image(rgba(0, 0, 0, 0.2)); } - -actionbar > revealer > box menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked, splitbutton.suggested-action > menubutton > button:checked, splitbutton.destructive-action > button:checked, splitbutton.destructive-action > menubutton > button:checked, splitbutton.opaque > button:checked, splitbutton.opaque > menubutton > button:checked, menubutton.suggested-action > button:checked, menubutton.destructive-action > button:checked, menubutton.opaque > button:checked, button.suggested-action:checked, button.destructive-action:checked, button.opaque:checked { background-image: image(rgba(0, 0, 0, 0.15)); } - -actionbar > revealer > box menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked:hover, splitbutton.suggested-action > menubutton > button:checked:hover, splitbutton.destructive-action > button:checked:hover, splitbutton.destructive-action > menubutton > button:checked:hover, splitbutton.opaque > button:checked:hover, splitbutton.opaque > menubutton > button:checked:hover, menubutton.suggested-action > button:checked:hover, menubutton.destructive-action > button:checked:hover, menubutton.opaque > button:checked:hover, button.suggested-action:checked:hover, button.destructive-action:checked:hover, button.opaque:checked:hover { background-image: image(rgba(0, 0, 0, 0.05)); } - -actionbar > revealer > box menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked.keyboard-activating, splitbutton.suggested-action > menubutton > button:checked.keyboard-activating, splitbutton.destructive-action > button:checked.keyboard-activating, splitbutton.destructive-action > menubutton > button:checked.keyboard-activating, splitbutton.opaque > button:checked.keyboard-activating, splitbutton.opaque > menubutton > button:checked.keyboard-activating, menubutton.suggested-action > button:checked.keyboard-activating, menubutton.destructive-action > button:checked.keyboard-activating, menubutton.opaque > button:checked.keyboard-activating, button.suggested-action:checked.keyboard-activating, button.destructive-action:checked.keyboard-activating, button.opaque:checked.keyboard-activating, actionbar > revealer > box menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked:active, splitbutton.suggested-action > menubutton > button:checked:active, splitbutton.destructive-action > button:checked:active, splitbutton.destructive-action > menubutton > button:checked:active, splitbutton.opaque > button:checked:active, splitbutton.opaque > menubutton > button:checked:active, menubutton.suggested-action > button:checked:active, menubutton.destructive-action > button:checked:active, menubutton.opaque > button:checked:active, button.suggested-action:checked:active, button.destructive-action:checked:active, button.opaque:checked:active { background-image: image(rgba(0, 0, 0, 0.3)); } - -button.opaque { background-color: mix(@window_bg_color,@window_fg_color,0.15); color: @window_fg_color; } - -button.destructive-action { color: @destructive_fg_color; } - -button.destructive-action, button.destructive-action:checked { background-color: @destructive_bg_color; } - -button.suggested-action { color: @accent_fg_color; } - -button.suggested-action, button.suggested-action:checked { background-color: @accent_bg_color; } - -searchbar > revealer > box .close, actionbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow, window.dialog.message.csd .dialog-action-area > button, popover.menu box.circular-buttons button.circular.image-button.model, popover.menu box.inline-buttons button.image-button.model, filechooser #pathbarbox > stack > box > button, filechooser #pathbarbox > stack > box > box > button, filechooser #pathbarbox > stack > box > menubutton > button, button.sidebar-button, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close, calendar > header > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, splitbutton.flat > button, splitbutton.flat > menubutton > button, menubutton.flat > button, button.flat { background: transparent; box-shadow: none; } - -searchbar > revealer > box .close, actionbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow, window.dialog.message.csd .dialog-action-area > button, popover.menu box.circular-buttons button.circular.image-button.model, popover.menu box.inline-buttons button.image-button.model, filechooser #pathbarbox > stack > box > button, filechooser #pathbarbox > stack > box > box > button, filechooser #pathbarbox > stack > box > menubutton > button, button.sidebar-button, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close, calendar > header > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, splitbutton.flat > button, splitbutton.flat > menubutton > button, menubutton.flat > button, button.flat { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -searchbar > revealer > box .close:focus:focus-visible, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, actionbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:focus:focus-visible, window.dialog.message.csd .dialog-action-area > button:focus:focus-visible, popover.menu box.circular-buttons button.circular.image-button.model:focus:focus-visible, popover.menu box.inline-buttons button.image-button.model:focus:focus-visible, filechooser #pathbarbox > stack > box > button:focus:focus-visible, filechooser #pathbarbox > stack > box > box > button:focus:focus-visible, filechooser #pathbarbox > stack > box > menubutton > button:focus:focus-visible, button.sidebar-button:focus:focus-visible, button.emoji-section.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:focus:focus-visible, calendar > header > button:focus:focus-visible, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, splitbutton.flat > button:focus:focus-visible, splitbutton.flat > menubutton > button:focus:focus-visible, menubutton.flat > button:focus:focus-visible, button.flat:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd searchbar > revealer > box .close:focus:focus-visible, searchbar > revealer > box .osd .close:focus:focus-visible, .osd actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, actionbar > revealer > box .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, searchbar > revealer > box .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .toolbar .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, headerbar .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd actionbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd notebook > header > tabs > arrow:focus:focus-visible, .osd window.dialog.message.csd .dialog-action-area > button:focus:focus-visible, window.dialog.message.csd .osd .dialog-action-area > button:focus:focus-visible, .osd popover.menu box.circular-buttons button.circular.image-button.model:focus:focus-visible, popover.menu box.circular-buttons .osd button.circular.image-button.model:focus:focus-visible, .osd popover.menu box.inline-buttons button.image-button.model:focus:focus-visible, popover.menu box.inline-buttons .osd button.image-button.model:focus:focus-visible, .osd filechooser #pathbarbox > stack > box > button:focus:focus-visible, filechooser .osd #pathbarbox > stack > box > button:focus:focus-visible, .osd filechooser #pathbarbox > stack > box > box > button:focus:focus-visible, filechooser .osd #pathbarbox > stack > box > box > button:focus:focus-visible, .osd filechooser #pathbarbox > stack > box > menubutton > button:focus:focus-visible, filechooser .osd #pathbarbox > stack > box > menubutton > button:focus:focus-visible, .osd button.sidebar-button:focus:focus-visible, .osd button.emoji-section.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd infobar .close:focus:focus-visible, infobar .osd .close:focus:focus-visible, .osd calendar > header > button:focus:focus-visible, .osd actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, actionbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, searchbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .toolbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, headerbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, actionbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, searchbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .toolbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, headerbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd splitbutton.flat > button:focus:focus-visible, .osd splitbutton.flat > menubutton > button:focus:focus-visible, .osd menubutton.flat > button:focus:focus-visible, .osd button.flat:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -searchbar > revealer > box .close:hover, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, actionbar > revealer > box button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:hover, window.dialog.message.csd .dialog-action-area > button:hover, popover.menu box.circular-buttons button.circular.image-button.model:hover, popover.menu box.inline-buttons button.image-button.model:hover, filechooser #pathbarbox > stack > box > button:hover, filechooser #pathbarbox > stack > box > box > button:hover, filechooser #pathbarbox > stack > box > menubutton > button:hover, button.sidebar-button:hover, button.emoji-section.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:hover, calendar > header > button:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, splitbutton.flat > button:hover, splitbutton.flat > menubutton > button:hover, menubutton.flat > button:hover, button.flat:hover { background: alpha(currentColor,0.07); } - -searchbar > revealer > box .keyboard-activating.close, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, actionbar > revealer > box button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow.keyboard-activating, window.dialog.message.csd .dialog-action-area > button.keyboard-activating, popover.menu box.circular-buttons button.keyboard-activating.circular.image-button.model, popover.menu box.inline-buttons button.keyboard-activating.image-button.model, filechooser #pathbarbox > stack > box > button.keyboard-activating, filechooser #pathbarbox > stack > box > box > button.keyboard-activating, filechooser #pathbarbox > stack > box > menubutton > button.keyboard-activating, button.keyboard-activating.sidebar-button, button.keyboard-activating.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .keyboard-activating.close, calendar > header > button.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, splitbutton.flat > button.keyboard-activating, splitbutton.flat > menubutton > button.keyboard-activating, menubutton.flat > button.keyboard-activating, searchbar > revealer > box .close:active, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, actionbar > revealer > box button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:active, window.dialog.message.csd .dialog-action-area > button:active, popover.menu box.circular-buttons button.circular.image-button.model:active, popover.menu box.inline-buttons button.image-button.model:active, filechooser #pathbarbox > stack > box > button:active, filechooser #pathbarbox > stack > box > box > button:active, filechooser #pathbarbox > stack > box > menubutton > button:active, button.sidebar-button:active, button.emoji-section.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:active, calendar > header > button:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, splitbutton.flat > button:active, splitbutton.flat > menubutton > button:active, menubutton.flat > button:active, button.flat.keyboard-activating, button.flat:active { background: alpha(currentColor,0.16); } - -searchbar > revealer > box .close:checked, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, actionbar > revealer > box button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked, window.dialog.message.csd .dialog-action-area > button:checked, popover.menu box.circular-buttons button.circular.image-button.model:checked, popover.menu box.inline-buttons button.image-button.model:checked, filechooser #pathbarbox > stack > box > button:checked, filechooser #pathbarbox > stack > box > box > button:checked, filechooser #pathbarbox > stack > box > menubutton > button:checked, button.sidebar-button:checked, button.emoji-section.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked, calendar > header > button:checked, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, splitbutton.flat > button:checked, splitbutton.flat > menubutton > button:checked, menubutton.flat > button:checked, button.flat:checked { background: alpha(currentColor,0.1); } - -searchbar > revealer > box .close:checked:hover, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, actionbar > revealer > box button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked:hover, window.dialog.message.csd .dialog-action-area > button:checked:hover, popover.menu box.circular-buttons button.circular.image-button.model:checked:hover, popover.menu box.inline-buttons button.image-button.model:checked:hover, filechooser #pathbarbox > stack > box > button:checked:hover, filechooser #pathbarbox > stack > box > box > button:checked:hover, filechooser #pathbarbox > stack > box > menubutton > button:checked:hover, button.sidebar-button:checked:hover, button.emoji-section.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked:hover, calendar > header > button:checked:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, splitbutton.flat > button:checked:hover, splitbutton.flat > menubutton > button:checked:hover, menubutton.flat > button:checked:hover, button.flat:checked:hover { background: alpha(currentColor,0.13); } - -searchbar > revealer > box .close:checked.keyboard-activating, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, actionbar > revealer > box button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked.keyboard-activating, window.dialog.message.csd .dialog-action-area > button:checked.keyboard-activating, popover.menu box.circular-buttons button.circular.image-button.model:checked.keyboard-activating, popover.menu box.inline-buttons button.image-button.model:checked.keyboard-activating, filechooser #pathbarbox > stack > box > button:checked.keyboard-activating, filechooser #pathbarbox > stack > box > box > button:checked.keyboard-activating, filechooser #pathbarbox > stack > box > menubutton > button:checked.keyboard-activating, button.sidebar-button:checked.keyboard-activating, button.emoji-section.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked.keyboard-activating, calendar > header > button:checked.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, splitbutton.flat > button:checked.keyboard-activating, splitbutton.flat > menubutton > button:checked.keyboard-activating, menubutton.flat > button:checked.keyboard-activating, searchbar > revealer > box .close:checked:active, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, actionbar > revealer > box button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked:active, window.dialog.message.csd .dialog-action-area > button:checked:active, popover.menu box.circular-buttons button.circular.image-button.model:checked:active, popover.menu box.inline-buttons button.image-button.model:checked:active, filechooser #pathbarbox > stack > box > button:checked:active, filechooser #pathbarbox > stack > box > box > button:checked:active, filechooser #pathbarbox > stack > box > menubutton > button:checked:active, button.sidebar-button:checked:active, button.emoji-section.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked:active, calendar > header > button:checked:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, splitbutton.flat > button:checked:active, splitbutton.flat > menubutton > button:checked:active, menubutton.flat > button:checked:active, button.flat:checked.keyboard-activating, button.flat:checked:active { background: alpha(currentColor,0.19); } - -searchbar > revealer > box .close:disabled:not(:checked), actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), actionbar > revealer > box button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:disabled:not(:checked):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:disabled:not(:checked):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:disabled:not(:checked), window.dialog.message.csd .dialog-action-area > button:disabled:not(:checked), popover.menu box.circular-buttons button.circular.image-button.model:disabled:not(:checked), popover.menu box.inline-buttons button.image-button.model:disabled:not(:checked), filechooser #pathbarbox > stack > box > button:disabled:not(:checked), filechooser #pathbarbox > stack > box > box > button:disabled:not(:checked), filechooser #pathbarbox > stack > box > menubutton > button:disabled:not(:checked), button.sidebar-button:disabled:not(:checked), button.emoji-section.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:disabled:not(:checked), calendar > header > button:disabled:not(:checked), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), splitbutton.flat > button:disabled:not(:checked), splitbutton.flat > menubutton > button:disabled:not(:checked), menubutton.flat > button:disabled:not(:checked), button.flat:disabled:not(:checked) { filter: opacity(0.3); } - -stackswitcher > button > label { padding: 0 6px; margin: 0 -6px; } - -stackswitcher > button > image { padding: 3px 6px; margin: -3px -6px; } - -stackswitcher > button.text-button { min-width: 100px; } - -button.font separator { background-color: transparent; } - -button.font > box { border-spacing: 6px; } - -button.font > box > box > label { font-weight: bold; } - -row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), menubutton.circular > button, button.circular { min-width: 34px; min-height: 34px; padding: 0; border-radius: 9999px; } - -row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child label, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child label, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child label, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) label, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child label, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child label, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) label, menubutton.circular > button label, button.circular label { padding: 0; } - -menubutton.pill > button, button.pill { padding: 10px 32px; border-radius: 9999px; } - -button.card { background-color: @card_bg_color; background-clip: padding-box; font-weight: inherit; padding: 0; } - -button.card { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -button.card:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } - -button.card:hover { background-image: image(alpha(currentColor,0.04)); } - -button.card.keyboard-activating, button.card:active { background-image: image(alpha(currentColor,0.08)); } - -button.card:checked { background-color: @card_bg_color; background-image: image(alpha(@accent_bg_color,0.25)); } - -button.card:checked:hover { background-image: image(alpha(@accent_bg_color,0.32)); } - -button.card:checked.keyboard-activating, button.card:checked:active { background-image: image(alpha(@accent_bg_color,0.39)); } - -button.card:checked.has-open-popup { background-image: image(alpha(@accent_bg_color,0.32)); } - -.osd button.card:checked { background-color: alpha(currentColor,0.1); } - -button.card:drop(active) { color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -popover.menu modelbutton, button.link, button.link:hover, button.link:active, button.link:checked, columnview > header > button, treeview.view > header > button, window.print treeview.dialog-action-box > header > button { background-color: transparent; } - -button.color { padding: 5px; } - -button.color > colorswatch:only-child { border-radius: 2.5px; } - -button.color > colorswatch:only-child > overlay { border-radius: 2px; } - -button.color > colorswatch:only-child:disabled { filter: none; } - -button.color > colorswatch:only-child.light > overlay { border-color: alpha(@view_fg_color,0.1); } - -menubutton.osd { background: none; color: inherit; } - -menubutton.suggested-action { background-color: @accent_bg_color; color: @accent_fg_color; } - -menubutton.destructive-action { background-color: @destructive_bg_color; color: @destructive_fg_color; } - -menubutton.opaque { background-color: mix(@window_bg_color,@window_fg_color,0.15); color: @window_fg_color; } - -menubutton.suggested-action, menubutton.destructive-action, menubutton.opaque { border-radius: 6px; } - -menubutton.suggested-action.circular, menubutton.suggested-action.pill, menubutton.destructive-action.circular, menubutton.destructive-action.pill, menubutton.opaque.circular, menubutton.opaque.pill { border-radius: 9999px; } - -menubutton.suggested-action > button, menubutton.suggested-action > button:checked, menubutton.destructive-action > button, menubutton.destructive-action > button:checked, menubutton.opaque > button, menubutton.opaque > button:checked { background-color: transparent; color: inherit; } - -menubutton.image-button > button { min-width: 24px; padding-left: 5px; padding-right: 5px; } - -menubutton.card > button { border-radius: 12px; } - -menubutton arrow { min-height: 16px; min-width: 16px; } - -menubutton arrow.none { -gtk-icon-source: -gtk-icontheme("open-menu-symbolic"); } - -menubutton arrow.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -menubutton arrow.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -menubutton arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } - -menubutton arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } - -splitbutton { border-radius: 6px; } - -splitbutton, splitbutton > separator { transition: background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background; } - -splitbutton > separator { margin-top: 6px; margin-bottom: 6px; background: none; } - -splitbutton > menubutton > button { padding-left: 4px; padding-right: 4px; } - -splitbutton.image-button > button { min-width: 24px; padding-left: 5px; padding-right: 5px; } - -splitbutton.text-button.image-button > button, splitbutton.image-text-button > button { padding-left: 9px; padding-right: 9px; } - -splitbutton.text-button.image-button > button > box, splitbutton.image-text-button > button > box { border-spacing: 6px; } - -splitbutton:disabled { filter: opacity(0.5); } - -splitbutton:disabled > button, splitbutton:disabled > menubutton > button { filter: none; } - -splitbutton > button:dir(ltr), splitbutton > menubutton > button:dir(rtl) { border-top-right-radius: 0; border-bottom-right-radius: 0; margin-right: -1px; } - -splitbutton > button:dir(rtl), splitbutton > menubutton > button:dir(ltr) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, splitbutton.flat > separator { background: alpha(currentColor,0.3); } - -actionbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.flat:hover, splitbutton.flat:active, splitbutton.flat:checked { background: alpha(currentColor,0.07); } - -actionbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, actionbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, actionbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, splitbutton.flat:hover > separator, splitbutton.flat:active > separator, splitbutton.flat:checked > separator { background: none; } - -actionbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.flat:disabled { filter: opacity(0.3); } - -actionbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, searchbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, .toolbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, headerbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, actionbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, searchbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, .toolbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, headerbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, splitbutton.flat:disabled > button:disabled, splitbutton.flat:disabled > menubutton > button:disabled { filter: none; } - -actionbar > revealer > box splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, splitbutton.flat:focus-within:focus-visible > separator { background: none; } - -actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, splitbutton.flat > button, splitbutton.flat > menubutton > button { border-radius: 6px; } - -splitbutton.suggested-action { background-color: @accent_bg_color; color: @accent_fg_color; } - -splitbutton.destructive-action { background-color: @destructive_bg_color; color: @destructive_fg_color; } - -splitbutton.opaque { background-color: mix(@window_bg_color,@window_fg_color,0.15); color: @window_fg_color; } - -splitbutton.suggested-action > button, splitbutton.suggested-action > button:checked, splitbutton.suggested-action > menubutton > button, splitbutton.suggested-action > menubutton > button:checked, splitbutton.destructive-action > button, splitbutton.destructive-action > button:checked, splitbutton.destructive-action > menubutton > button, splitbutton.destructive-action > menubutton > button:checked, splitbutton.opaque > button, splitbutton.opaque > button:checked, splitbutton.opaque > menubutton > button, splitbutton.opaque > menubutton > button:checked { color: inherit; background-color: transparent; } - -splitbutton.suggested-action > menubutton > button:dir(ltr), splitbutton.destructive-action > menubutton > button:dir(ltr), splitbutton.opaque > menubutton > button:dir(ltr) { box-shadow: inset 1px 0 alpha(currentColor,0.3); } - -splitbutton.suggested-action > menubutton > button:dir(rtl), splitbutton.destructive-action > menubutton > button:dir(rtl), splitbutton.opaque > menubutton > button:dir(rtl) { box-shadow: inset -1px 0 alpha(currentColor,0.3); } - -splitbutton > menubutton > button > arrow.none { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -buttoncontent > box { border-spacing: 6px; } - -buttoncontent > box > label { font-weight: bold; } - -buttoncontent > box > label:dir(ltr) { padding-right: 2px; } - -buttoncontent > box > label:dir(rtl) { padding-left: 2px; } - -.arrow-button > box > buttoncontent > box > label:dir(ltr), splitbutton > button > buttoncontent > box > label:dir(ltr) { padding-right: 0; } - -.arrow-button > box > buttoncontent > box > label:dir(rtl), splitbutton > button > buttoncontent > box > label:dir(rtl) { padding-left: 0; } - -tabbutton label { font-weight: 800; font-size: 8pt; } - -tabbutton label.small { font-size: 6pt; } - -tabbutton indicatorbin > indicator, tabbutton indicatorbin > mask { transform: translate(-1px, 1px); } - -calendar { color: @view_fg_color; background-clip: padding-box; border: 1px solid alpha(currentColor,0.15); font-feature-settings: "tnum"; } - -calendar > header { border-bottom: 1px solid alpha(currentColor,0.15); } - -calendar > header > button { border-radius: 0; } - -calendar > grid { padding-left: 3px; padding-bottom: 3px; } - -calendar > grid > label.today { box-shadow: inset 0px -2px alpha(currentColor,0.15); } - -calendar > grid > label.today:selected { box-shadow: none; } - -calendar > grid > label { margin-top: 3px; margin-right: 3px; } - -calendar > grid > label { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -calendar > grid > label:focus { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -calendar > grid > label.day-number { padding: 3px; } - -calendar > grid > label.day-number:checked { border-radius: 6px; background-color: alpha(@accent_bg_color,0.3); } - -calendar > grid > label.day-number:selected { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } - -calendar > grid > label.day-number.other-month { color: alpha(currentColor,0.3); } - -checkbutton { border-spacing: 4px; border-radius: 9px; padding: 3px; } - -checkbutton { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -checkbutton:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd checkbutton:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -checkbutton.text-button { padding: 4px; } - -check, radio { min-height: 14px; min-width: 14px; -gtk-icon-size: 14px; padding: 3px; box-shadow: inset 0 0 0 2px alpha(currentColor,0.15); } - -check:not(:checked):not(:indeterminate):hover, radio:not(:checked):not(:indeterminate):hover { box-shadow: inset 0 0 0 2px alpha(currentColor,0.2); } - -check:not(:checked):not(:indeterminate):active, radio:not(:checked):not(:indeterminate):active { background-color: alpha(currentColor,0.25); box-shadow: none; } - -check:checked, check:indeterminate, radio:checked, radio:indeterminate { background-color: @accent_bg_color; color: @accent_fg_color; box-shadow: none; } - -check:checked:hover, check:indeterminate:hover, radio:checked:hover, radio:indeterminate:hover { background-image: image(alpha(currentColor,0.1)); } - -check:checked:active, check:indeterminate:active, radio:checked:active, radio:indeterminate:active { background-image: image(rgba(0, 0, 0, 0.2)); } - -check:disabled, radio:disabled { filter: opacity(0.5); } - -.osd check:checked, .osd check:indeterminate, .osd radio:checked, .osd radio:indeterminate { background-color: rgba(255, 255, 255, 0.75); color: rgba(0, 0, 0, 0.75); } - -check { border-radius: 6px; } - -check:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/check-symbolic.symbolic.png")), -gtk-recolor(url("assets/check@2-symbolic.symbolic.png"))); } - -radio { border-radius: 100%; } - -radio:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/bullet-symbolic.symbolic.png")), -gtk-recolor(url("assets/bullet@2-symbolic.symbolic.png"))); } - -check:indeterminate, radio:indeterminate { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/dash-symbolic.symbolic.png")), -gtk-recolor(url("assets/dash@2-symbolic.symbolic.png"))); } - -checkbutton.selection-mode { border-radius: 100px; } - -checkbutton.selection-mode check, checkbutton.selection-mode radio { padding: 7px; border-radius: 100px; } - -checkbutton.selection-mode label:dir(ltr) { margin-right: 6px; } - -checkbutton.selection-mode label:dir(rtl) { margin-left: 6px; } - -colorswatch { outline: 0 solid transparent; outline-offset: 6px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -colorswatch:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 4px; outline-offset: -2px; } - -colorswatch.top { border-top-left-radius: 6.5px; border-top-right-radius: 6.5px; } - -colorswatch.top > overlay { border-top-left-radius: 6px; border-top-right-radius: 6px; } - -colorswatch.bottom { border-bottom-left-radius: 6.5px; border-bottom-right-radius: 6.5px; } - -colorswatch.bottom > overlay { border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; } - -colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 6.5px; border-bottom-left-radius: 6.5px; } - -colorswatch.left > overlay, colorswatch:first-child:not(.top) > overlay { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } - -colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 6.5px; border-bottom-right-radius: 6.5px; } - -colorswatch.right > overlay, colorswatch:last-child:not(.bottom) > overlay { border-top-right-radius: 6px; border-bottom-right-radius: 6px; } - -colorswatch.dark > overlay { color: white; } - -colorswatch.light > overlay { color: rgba(0, 0, 0, 0.75); box-shadow: inset 0 0 0 1px alpha(@view_fg_color,0.1); } - -colorswatch:drop(active).light > overlay { box-shadow: inset 0 0 0 2px @accent_bg_color; } - -colorswatch:drop(active).dark > overlay { box-shadow: inset 0 0 0 2px @accent_bg_color; } - -colorswatch#add-color-button > overlay { border-radius: 6px 0 0 6px; } - -colorswatch#add-color-button:only-child > overlay { border-radius: 6px; } - -colorswatch:disabled { filter: opacity(0.5); } - -colorswatch#editor-color-sample { border-radius: 6px; } - -colorswatch#editor-color-sample > overlay { border-radius: 6.5px; } - -plane { outline: 0 solid transparent; outline-offset: 6px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -plane:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 2px; } - -colorchooser .popover.osd { border-radius: 12px; } - -columnview, treeview.view, window.print treeview.dialog-action-box { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -columnview:focus:focus-visible, treeview.view:focus:focus-visible, window.print treeview.dialog-action-box:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -columnview:drop(active), treeview.view:drop(active), window.print treeview.dialog-action-box:drop(active) { box-shadow: none; } - -columnview > header > button, treeview.view > header > button, window.print treeview.dialog-action-box > header > button { padding-top: 3px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; border-radius: 0; box-shadow: none; line-height: 100%; border-left: 1px solid transparent; } - -columnview > header > button:first-child, treeview.view > header > button:first-child, window.print treeview.dialog-action-box > header > button:first-child { border-left-width: 0; } - -columnview > header > button > box, treeview.view > header > button > box, window.print treeview.dialog-action-box > header > button > box { color: alpha(currentColor,0.4); font-weight: 700; font-size: 9pt; border-spacing: 6px; } - -columnview > header > button:hover > box, treeview.view > header > button:hover > box, window.print treeview.dialog-action-box > header > button:hover > box { color: alpha(currentColor,0.7); box-shadow: none; } - -columnview > header > button:active > box, treeview.view > header > button:active > box, window.print treeview.dialog-action-box > header > button:active > box { color: currentColor; } - -columnview > header > button sort-indicator, treeview.view > header > button sort-indicator, window.print treeview.dialog-action-box > header > button sort-indicator { min-height: 16px; min-width: 16px; } - -columnview > header > button sort-indicator.ascending, treeview.view > header > button sort-indicator.ascending, window.print treeview.dialog-action-box > header > button sort-indicator.ascending { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -columnview > header > button sort-indicator.descending, treeview.view > header > button sort-indicator.descending, window.print treeview.dialog-action-box > header > button sort-indicator.descending { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -columnview button.dnd:active, columnview button.dnd:selected, columnview button.dnd:hover, columnview button.dnd, treeview.view button.dnd, window.print treeview.dialog-action-box button.dnd, columnview header.button.dnd:active, columnview header.button.dnd:selected, columnview header.button.dnd:hover, columnview header.button.dnd, treeview.view header.button.dnd, window.print treeview.dialog-action-box header.button.dnd { color: @accent_fg_color; background-color: @accent_bg_color; transition: none; } - -columnview.view > listview.view, treeview.view > listview.view, window.print columnview.dialog-action-box > listview.view, window.print treeview.dialog-action-box > listview.view, window.print columnview.view > listview.dialog-action-box, window.print treeview.view > listview.dialog-action-box, window.print columnview.dialog-action-box > listview.dialog-action-box, window.print treeview.dialog-action-box > listview.dialog-action-box { background: none; color: inherit; } - -columnview > listview > row, treeview.view > listview > row, window.print treeview.dialog-action-box > listview > row { padding: 0; } - -columnview > listview > row > cell, treeview.view > listview > row > cell, window.print treeview.dialog-action-box > listview > row > cell { padding: 8px 6px; } - -columnview > listview > row > cell:not(:first-child), treeview.view > listview > row > cell:not(:first-child), window.print treeview.dialog-action-box > listview > row > cell:not(:first-child) { border-left: 1px solid transparent; } - -columnview.column-separators > listview > row > cell, treeview.column-separators.view > listview > row > cell, window.print treeview.column-separators.dialog-action-box > listview > row > cell, columnview.column-separators > header > button, treeview.column-separators.view > header > button, window.print treeview.column-separators.dialog-action-box > header > button { border-left-color: alpha(currentColor,0.15); } - -columnview > listview:not(.horizontal).separators > row:not(.separator), treeview.view > listview:not(.horizontal).separators > row:not(.separator), window.print treeview.dialog-action-box > listview:not(.horizontal).separators > row:not(.separator) { border-top: 1px solid alpha(currentColor,0.15); border-bottom: none; } - -columnview.data-table > listview > row > cell, treeview.data-table.view > listview > row > cell, window.print treeview.data-table.dialog-action-box > listview > row > cell { padding-top: 2px; padding-bottom: 2px; } - -columnview ~ undershoot.top, treeview.view ~ undershoot.top, window.print treeview.dialog-action-box ~ undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } - -columnview row:not(:selected) cell editablelabel:not(.editing):focus-within, treeview.view row:not(:selected) cell editablelabel:not(.editing):focus-within, window.print treeview.dialog-action-box row:not(:selected) cell editablelabel:not(.editing):focus-within { outline: 2px solid alpha(@accent_color,0.5); } - -columnview row:not(:selected) cell editablelabel.editing:focus-within, treeview.view row:not(:selected) cell editablelabel.editing:focus-within, window.print treeview.dialog-action-box row:not(:selected) cell editablelabel.editing:focus-within { outline: 2px solid @accent_color; } - -treeexpander { border-spacing: 4px; } - -.dialog-action-area { margin: 6px; border-spacing: 6px; } - -/**************** Print dialog * */ -window.print drawing { color: @window_fg_color; background: none; border: none; padding: 0; } - -window.print drawing paper { background-color: white; color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid alpha(currentColor,0.15); } - -/******************** Page setup dalog * */ -/****************** GtkAboutDialog * */ -window.aboutdialog image.large-icons { -gtk-icon-size: 128px; } - -/************************* GtkColorChooserDialog * */ -/************* AdwDialog * */ -floating-sheet > dimming { background-color: alpha(@shade_color,2); } - -floating-sheet > sheet { border-radius: 12px; box-shadow: 0 2px 8px 2px rgba(0, 0, 0, 0.07), 0 3px 20px 10px rgba(0, 0, 0, 0.05), 0 6px 32px 16px rgba(0, 0, 0, 0.02), 0 0 0 1px rgba(0, 0, 0, 0.05); outline: 1px solid rgba(255, 255, 255, 0.07); outline-offset: -1px; } - -dialog.bottom-sheet.landscape sheet { margin-left: 30px; margin-right: 30px; } - -dialog.bottom-sheet.landscape sheet > outline.flush-left, dialog.bottom-sheet.landscape sheet > outline.flush-right, dialog.bottom-sheet.landscape sheet > outline.flush-left.flush-right { box-shadow: inset 1px 0 rgba(255, 255, 255, 0.07), inset -1px 0 rgba(255, 255, 255, 0.07), inset 0 1px rgba(255, 255, 255, 0.07); } - -dialog-host > dialog.background { background: none; } - -dialog-host > dialog.background sheet { background-color: @window_bg_color; color: @window_fg_color; } - -dialog-host > dialog.view, window.print dialog-host > dialog.dialog-action-box { background: none; } - -dialog-host > dialog.osd { background: none; } - -/*********************** GtkAppChooserDialog * */ -window.appchooser headerbar.titlebar > windowhandle { padding-top: 3px; } - -window.appchooser headerbar.titlebar box.start + box { margin-top: -6px; margin-bottom: -6px; min-height: 12px; } - -window.appchooser searchbar { background: none; } - -window.appchooser .dialog-vbox > box > box:not(.dialog-action-area) { margin: 6px; } - -window.appchooser .dialog-action-area { margin-top: 0; } - -/**************** GtkAssistant * */ -window.assistant .sidebar { padding: 6px; background-color: @sidebar_bg_color; color: @sidebar_fg_color; } - -window.assistant .sidebar:not(separator):dir(ltr) { border-right: none; box-shadow: inset -1px 0 @sidebar_border_color; } - -window.assistant .sidebar:not(separator):dir(rtl) { box-shadow: inset 1px 0 @sidebar_border_color; } - -window.assistant .sidebar:backdrop { background-color: @sidebar_backdrop_color; transition: background-color 200ms ease-out; } - -window.assistant .sidebar > label { padding: 6px 12px; border-radius: 6px; } - -window.assistant .sidebar > label.highlight { background-color: alpha(currentColor,0.1); } - -/*************** GtkComboBox * */ -combobox button { padding-top: 2px; padding-bottom: 2px; min-height: 30px; } - -/*************** GtkIconView * */ -iconview { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -iconview:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -iconview:drop(active) { box-shadow: none; } - -iconview > dndtarget:drop(active) { border-style: solid; border-width: 1px; border-color: @accent_bg_color; } - -/************** GtkInfoBar * */ -infobar > revealer > box { padding: 6px; padding-bottom: 7px; border-spacing: 6px; box-shadow: inset 0 -1px @shade_color; } - -infobar > revealer > box > box { border-spacing: 6px; } - -infobar.action:hover > revealer > box { background-image: image(alpha(currentColor,0.05)); } - -infobar.action:active > revealer > box { background-image: image(alpha(currentColor,0.1)); } - -infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; } - -infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; } - -infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; } - -infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; } - -infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } - -/**************** GtkStatusBar * */ -statusbar { padding: 6px 10px 6px 10px; } - -/*************** GtkTreeView * */ -treeview.view, window.print treeview.dialog-action-box { border-left-color: mix(currentColor,@view_bg_color,0.8); border-top-color: mix(currentColor,@view_bg_color,0.8); } - -treeview.view:selected:focus, treeview.view:selected, window.print treeview.dialog-action-box:selected { border-radius: 0; } - -treeview.view.separator, window.print treeview.separator.dialog-action-box { min-height: 2px; color: alpha(currentColor,0.15); } - -treeview.view.expander, window.print treeview.expander.dialog-action-box { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: alpha(currentColor,0.7); } - -treeview.view.expander:dir(rtl), window.print treeview.expander.dialog-action-box:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -treeview.view.expander:hover, window.print treeview.expander.dialog-action-box:hover, treeview.view.expander:active, window.print treeview.expander.dialog-action-box:active { color: currentColor; } - -treeview.view.expander:checked, window.print treeview.expander.dialog-action-box:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -treeview.view.expander:disabled, window.print treeview.expander.dialog-action-box:disabled { color: alpha(currentColor,0.5); } - -treeview.view > dndtarget:drop(active), window.print treeview.dialog-action-box > dndtarget:drop(active) { border-style: solid none; border-width: 1px; border-color: @accent_bg_color; } - -treeview.view > dndtarget:drop(active).after, window.print treeview.dialog-action-box > dndtarget:drop(active).after { border-top-style: none; } - -treeview.view > dndtarget:drop(active).before, window.print treeview.dialog-action-box > dndtarget:drop(active).before { border-bottom-style: none; } - -treeview.view > header > button, window.print treeview.dialog-action-box > header > button { padding-left: 4px; padding-right: 4px; border-bottom: 1px solid alpha(currentColor,0.15); } - -treeview.view.progressbar, window.print treeview.progressbar.dialog-action-box { box-shadow: none; } - -treeview.view.progressbar, window.print treeview.progressbar.dialog-action-box, treeview.view.progressbar:selected { background-color: @accent_bg_color; color: @accent_fg_color; } - -treeview.view.trough, window.print treeview.trough.dialog-action-box { background-color: alpha(currentColor,0.1); } - -treeview.view ~ undershoot.top, window.print treeview.dialog-action-box ~ undershoot.top { box-shadow: none; background: none; } - -treeview.view acceleditor > label, window.print treeview.dialog-action-box acceleditor > label { background-color: mix(currentColor,@view_bg_color,0.9); } - -treeview.navigation-sidebar { padding: 0; } - -treeview.navigation-sidebar:selected:focus, treeview.navigation-sidebar:selected { background-color: alpha(currentColor,0.1); } - -treeview entry:focus-within:dir(rtl), treeview entry:focus-within:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } - -treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } - -treeview entry.flat:focus-within, treeview entry:focus-within { border-color: @accent_color; } - -treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } - -treeview spinbutton:not(.vertical) > text { min-height: 0; padding: 1px 2px; } - -.sidebar:not(separator):dir(ltr), .sidebar:not(separator).left, .sidebar:not(separator).left:dir(rtl) { border-right: 1px solid alpha(currentColor,0.15); border-left-style: none; } - -.sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid alpha(currentColor,0.15); border-right-style: none; } - -.sidebar listview.view, .sidebar window.print listview.dialog-action-box, window.print .sidebar listview.dialog-action-box, .sidebar list { background-color: transparent; color: inherit; } - -paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } - -.large-title { font-weight: 300; font-size: 24pt; } - -dropdown > button > box, combobox > button > box { border-spacing: 6px; } - -dropdown > button > box > stack > row.activatable:hover, combobox > button > box > stack > row.activatable:hover, dropdown > button > box > stack > row.activatable:active, combobox > button > box > stack > row.activatable:active { background: none; } - -dropdown arrow, combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } - -dropdown:drop(active), combobox:drop(active) { box-shadow: none; } - -dropdown popover.menu, combobox popover.menu { padding-top: 6px; } - -dropdown popover.menu listview > row, combobox popover.menu listview > row { min-width: 0; } - -dropdown popover.menu .dropdown-searchbar, combobox popover.menu .dropdown-searchbar { padding: 6px; } - -dropdown popover.menu .dropdown-searchbar + scrolledwindow > undershoot.top, combobox popover.menu .dropdown-searchbar + scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover.emoji-picker > contents { padding: 0; } - -.emoji-searchbar { padding: 6px; } - -.emoji-toolbar { padding: 3px; } - -button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { min-width: 32px; min-height: 32px; } - -popover.emoji-picker emoji { font-size: x-large; padding: 6px; border-radius: 6px; } - -popover.emoji-picker emoji:focus, popover.emoji-picker emoji:hover { background: alpha(currentColor,0.07); } - -popover.emoji-picker emoji:active { background: alpha(currentColor,0.16); } - -popover.emoji-picker scrolledwindow.view, popover.emoji-picker window.print scrolledwindow.dialog-action-box, window.print popover.emoji-picker scrolledwindow.dialog-action-box { background: none; color: inherit; } - -popover.emoji-picker scrolledwindow.view > undershoot.top, popover.emoji-picker window.print scrolledwindow.dialog-action-box > undershoot.top, window.print popover.emoji-picker scrolledwindow.dialog-action-box > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover.emoji-picker scrolledwindow.view > undershoot.bottom, popover.emoji-picker window.print scrolledwindow.dialog-action-box > undershoot.bottom, window.print popover.emoji-picker scrolledwindow.dialog-action-box > undershoot.bottom { box-shadow: inset 0 -1px alpha(@popover_shade_color,0.75); background: linear-gradient(to top, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover.emoji-completion > contents { padding: 6px; padding-bottom: 4px; } - -emoji-completion-row { padding: 6px; margin-bottom: 2px; border-radius: 6px; } - -emoji-completion-row:dir(ltr) { padding-right: 12px; } - -emoji-completion-row:dir(rtl) { padding-left: 12px; } - -emoji-completion-row > box { border-spacing: 6px; } - -emoji-completion-row:focus, emoji-completion-row:hover { background-color: alpha(currentColor,0.1); color: @popover_fg_color; } - -emoji-completion-row:active { background-color: alpha(currentColor,0.16); } - -spinbutton, entry { min-height: 34px; padding-left: 9px; padding-right: 9px; border-radius: 6px; border-spacing: 6px; background-color: alpha(currentColor,0.1); background-clip: padding-box; caret-color: currentColor; } - -spinbutton, entry { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -spinbutton:focus-within, entry:focus-within { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd spinbutton:focus-within, .osd entry:focus-within { outline-color: rgba(255, 255, 255, 0.5); } - -spinbutton > text > block-cursor, entry > text > block-cursor { color: @view_bg_color; background-color: @view_fg_color; } - -spinbutton.flat, entry.flat:focus-within, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; box-shadow: none; border-radius: 0; } - -spinbutton:disabled, entry:disabled { filter: opacity(0.5); } - -spinbutton.error, entry.error { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -spinbutton.error:focus-within, entry.error:focus-within { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -2px; } - -spinbutton.error > text > selection:focus-within, entry.error > text > selection:focus-within { background-color: alpha(@error_color,0.2); } - -spinbutton.error > text > cursor-handle > contents, entry.error > text > cursor-handle > contents { background-color: currentColor; } - -spinbutton.error > progress > trough > progress, entry.error > progress > trough > progress { border-color: currentColor; } - -spinbutton.warning, entry.warning { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -spinbutton.warning:focus-within, entry.warning:focus-within { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -2px; } - -spinbutton.warning > text > selection:focus-within, entry.warning > text > selection:focus-within { background-color: alpha(@warning_color,0.2); } - -spinbutton.warning > text > cursor-handle > contents, entry.warning > text > cursor-handle > contents { background-color: currentColor; } - -spinbutton.warning > progress > trough > progress, entry.warning > progress > trough > progress { border-color: currentColor; } - -spinbutton.success, entry.success { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -spinbutton.success:focus-within, entry.success:focus-within { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -2px; } - -spinbutton.success > text > selection:focus-within, entry.success > text > selection:focus-within { background-color: alpha(@success_color,0.2); } - -spinbutton.success > text > cursor-handle > contents, entry.success > text > cursor-handle > contents { background-color: currentColor; } - -spinbutton.success > progress > trough > progress, entry.success > progress > trough > progress { border-color: currentColor; } - -spinbutton > image, entry > image { opacity: 0.7; } - -spinbutton > image:hover, entry > image:hover { opacity: 1; } - -spinbutton > image:active, entry > image:active { opacity: 0.8; } - -spinbutton > image.left, entry > image.left { margin-right: 6px; } - -spinbutton > image.right, entry > image.right { margin-left: 6px; } - -spinbutton.password image.caps-lock-indicator, entry.password image.caps-lock-indicator { opacity: 0.3; } - -spinbutton:drop(active), entry:drop(active):focus-within, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -spinbutton > progress, entry > progress { margin-bottom: 3px; } - -spinbutton > progress > trough > progress, entry > progress > trough > progress { background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } - -.osd spinbutton > progress > trough > progress, .osd entry > progress > trough > progress { border-color: rgba(255, 255, 255, 0.75); } - -expander { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } - -expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -expander:disabled { filter: opacity(0.5); } - -expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -expander-widget > box > title { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -expander-widget:focus:focus-visible > box > title { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -expander-widget > box > title { border-radius: 6px; } - -expander-widget > box > title > expander { opacity: .7; } - -expander-widget > box > title:hover > expander, expander-widget > box > title:active > expander { opacity: 1; } - -placessidebar .navigation-sidebar > row { padding: 0; } - -placessidebar .navigation-sidebar > row > revealer { padding: 0 14px; } - -placessidebar .navigation-sidebar > row image.sidebar-icon:dir(ltr) { padding-right: 8px; } - -placessidebar .navigation-sidebar > row image.sidebar-icon:dir(rtl) { padding-left: 8px; } - -placessidebar .navigation-sidebar > row label.sidebar-label:dir(ltr) { padding-right: 2px; } - -placessidebar .navigation-sidebar > row label.sidebar-label:dir(rtl) { padding-left: 2px; } - -button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; } - -placessidebar .navigation-sidebar > row:selected:active { box-shadow: none; } - -placessidebar .navigation-sidebar > row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } - -placessidebar .navigation-sidebar > row.sidebar-new-bookmark-row { color: @accent_color; } - -placessidebar .navigation-sidebar > row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -row image.sidebar-icon { opacity: 0.7; } - -row .sidebar-button { opacity: 0.7; } - -row .sidebar-button:hover, row .sidebar-button:active, row .sidebar-button.keyboard-activating { opacity: 1; } - -placesview .server-list-button > image { transition: -gtk-icon-transform 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } - -placesview .server-list-button:checked > image { -gtk-icon-transform: rotate(-0.5turn); } - -placesview > actionbar > revealer > box > box { border-spacing: 6px; } - -filechooser { box-shadow: 0 1px alpha(currentColor,0.15); } - -filechooser pathbar button:not(.image-button) { padding-left: 9px; padding-right: 9px; } - -filechooser pathbar button > box { border-spacing: 4px; } - -filechooser pathbar button > box > label { padding-left: 2px; padding-right: 2px; } - -filechooser columnview > listview > row > cell, filechooser treeview.view > listview > row > cell, filechooser window.print treeview.dialog-action-box > listview > row > cell, window.print filechooser treeview.dialog-action-box > listview > row > cell { padding: 0; } - -filechooser columnview > listview > row > cell > filelistcell, filechooser treeview.view > listview > row > cell > filelistcell, filechooser window.print treeview.dialog-action-box > listview > row > cell > filelistcell, window.print filechooser treeview.dialog-action-box > listview > row > cell > filelistcell { padding: 8px 6px; } - -filechooser gridview { padding: 15px; } - -filechooser gridview ~ undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } - -filechooser gridview > child { border-radius: 12px; padding: 0; margin: 3px; } - -filechooser gridview > child > filelistcell { padding: 6px 12px; } - -filechooser gridview > child filethumbnail image { filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.3)); } - -filechooser gridview > child box { border-spacing: 6px; } - -filechooser > box > actionbar { box-shadow: 0 -1px alpha(@headerbar_shade_color,0.5), 0 -2px 4px alpha(@headerbar_shade_color,0.5); } - -filechooser > box > actionbar > revealer > box { box-shadow: none; padding-top: 6px; } - -filechooser scrolledwindow + actionbar > revealer > box { background-color: mix(@accent_bg_color,@view_bg_color,0.7); color: @window_fg_color; box-shadow: none; padding-top: 6px; font-weight: bold; } - -filechooser scrolledwindow + actionbar > revealer > box:backdrop { background-color: mix(@accent_bg_color,@view_bg_color,0.85); } - -filechooser placesview > stack > scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@shade_color,0.75); background: linear-gradient(to top, alpha(@shade_color,0.75), transparent 4px); } - -filechooser placesview > actionbar > revealer > box { background: @view_bg_color; color: @view_fg_color; box-shadow: none; padding-top: 6px; } - -filechooser placesview > actionbar > revealer > box:backdrop { background: @view_bg_color; transition: none; } - -filechooser placessidebar { background-color: @sidebar_bg_color; color: @sidebar_fg_color; } - -filechooser placessidebar:backdrop { background-color: @sidebar_backdrop_color; transition: background-color 200ms ease-out; } - -filechooser paned.horizontal > separator:dir(ltr) { box-shadow: inset 1px 0 @sidebar_bg_color, inset 1px 0 @sidebar_border_color; } - -filechooser paned.horizontal > separator:dir(ltr):backdrop { box-shadow: inset 1px 0 @sidebar_backdrop_color, inset 1px 0 @sidebar_border_color; } - -filechooser paned.horizontal > separator:dir(rtl) { box-shadow: inset -1px 0 @sidebar_bg_color, inset -1px 0 @sidebar_border_color; } - -filechooser paned.horizontal > separator:dir(rtl):backdrop { box-shadow: inset -1px 0 @sidebar_backdrop_color, inset -1px 0 @sidebar_border_color; } - -filechooser paned.horizontal > separator:backdrop { transition: box-shadow 200ms ease-out; } - -/* Fix header bar height in the file chooser */ -window.filechooser headerbar box.start + box.vertical { margin-top: -6px; margin-bottom: -6px; min-height: 12px; } - -headerbar { min-height: 47px; background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 -1px @headerbar_shade_color, inset 1px 0 alpha(@headerbar_border_color,0.15), inset -1px 0 alpha(@headerbar_border_color,0.15); margin-left: -1px; margin-right: -1px; } - -headerbar > windowhandle > box { padding: 6px 7px 7px 7px; } - -headerbar > windowhandle > box > box.start, headerbar > windowhandle > box > box.end { border-spacing: 6px; } - -headerbar > windowhandle > box > box.start:dir(ltr), headerbar > windowhandle > box > box.end:dir(rtl), headerbar > windowhandle > box > widget > box.start:dir(ltr), headerbar > windowhandle > box > widget > box.end:dir(rtl) { margin-right: 6px; } - -headerbar > windowhandle > box > box.start:dir(rtl), headerbar > windowhandle > box > box.end:dir(ltr), headerbar > windowhandle > box > widget > box.start:dir(rtl), headerbar > windowhandle > box > widget > box.end:dir(ltr) { margin-left: 6px; } - -headerbar:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } - -headerbar:backdrop > windowhandle { filter: opacity(0.5); transition: filter 200ms ease-out; } - -headerbar.default-decoration { min-height: 37px; } - -headerbar.default-decoration > windowhandle > box { padding: 3px 4px 4px 4px; } - -headerbar.default-decoration windowcontrols > button { min-height: 22px; min-width: 22px; padding: 4px; } - -headerbar.default-decoration windowcontrols > .icon { margin: 7px; } - -window > .titlebar:not(.flat) { box-shadow: 0 1px alpha(@headerbar_shade_color,0.5), 0 2px 4px alpha(@headerbar_shade_color,0.5); } - -window > .titlebar headerbar:not(.flat) { box-shadow: inset 1px 0 alpha(@headerbar_border_color,0.15), inset -1px 0 alpha(@headerbar_border_color,0.15); } - -window > headerbar.titlebar, window > .titlebar headerbar { min-height: 46px; } - -window > headerbar.titlebar > windowhandle > box, window > .titlebar headerbar > windowhandle > box { padding-bottom: 6px; } - -window > headerbar.titlebar.default-decoration, window > .titlebar headerbar.default-decoration { min-height: 36px; } - -window > headerbar.titlebar.default-decoration > windowhandle > box, window > .titlebar headerbar.default-decoration > windowhandle > box { padding-bottom: 3px; } - -toolbarview > .top-bar headerbar, toolbarview > .bottom-bar headerbar, headerbar.flat, window.shortcuts headerbar.titlebar, window.print headerbar.titlebar, window.pagesetup headerbar.titlebar, window.aboutdialog headerbar.titlebar, window.colorchooser headerbar.titlebar, window.appchooser headerbar.titlebar { background: none; box-shadow: none; color: inherit; min-height: 46px; } - -toolbarview > .top-bar headerbar > windowhandle > box, toolbarview > .bottom-bar headerbar > windowhandle > box, headerbar.flat > windowhandle > box, window.shortcuts headerbar.titlebar > windowhandle > box, window.print headerbar.titlebar > windowhandle > box, window.pagesetup headerbar.titlebar > windowhandle > box, window.aboutdialog headerbar.titlebar > windowhandle > box, window.colorchooser headerbar.titlebar > windowhandle > box, window.appchooser headerbar.titlebar > windowhandle > box { padding-bottom: 6px; } - -toolbarview > .top-bar headerbar.default-decoration, toolbarview > .bottom-bar headerbar.default-decoration, headerbar.default-decoration.flat, window.shortcuts headerbar.default-decoration.titlebar, window.print headerbar.default-decoration.titlebar, window.pagesetup headerbar.default-decoration.titlebar, window.aboutdialog headerbar.default-decoration.titlebar, window.colorchooser headerbar.default-decoration.titlebar, window.appchooser headerbar.default-decoration.titlebar { min-height: 36px; } - -toolbarview > .top-bar headerbar.default-decoration > windowhandle > box, toolbarview > .bottom-bar headerbar.default-decoration > windowhandle > box, headerbar.default-decoration.flat > windowhandle > box, window.shortcuts headerbar.default-decoration.titlebar > windowhandle > box, window.print headerbar.default-decoration.titlebar > windowhandle > box, window.pagesetup headerbar.default-decoration.titlebar > windowhandle > box, window.aboutdialog headerbar.default-decoration.titlebar > windowhandle > box, window.colorchooser headerbar.default-decoration.titlebar > windowhandle > box, window.appchooser headerbar.default-decoration.titlebar > windowhandle > box { padding-bottom: 3px; } - -toolbarview > .top-bar headerbar:backdrop, toolbarview > .bottom-bar headerbar:backdrop { transition: none; } - -toolbarview > .top-bar headerbar:backdrop > windowhandle, toolbarview > .bottom-bar headerbar:backdrop > windowhandle { filter: none; transition: none; } - -window.devel toolbarview > .top-bar headerbar > windowhandle, toolbarview > .top-bar window.devel headerbar > windowhandle, window.devel toolbarview > .bottom-bar headerbar > windowhandle, toolbarview > .bottom-bar window.devel headerbar > windowhandle { background-image: none; } - -toolbarview > .top-bar .collapse-spacing headerbar, toolbarview > .bottom-bar .collapse-spacing headerbar, window.shortcuts headerbar.titlebar, window.appchooser headerbar.titlebar { min-height: 40px; } - -toolbarview > .top-bar .collapse-spacing headerbar > windowhandle > box, toolbarview > .bottom-bar .collapse-spacing headerbar > windowhandle > box, window.shortcuts headerbar.titlebar > windowhandle > box, window.appchooser headerbar.titlebar > windowhandle > box { padding-top: 3px; padding-bottom: 3px; } - -toolbarview > .top-bar .collapse-spacing headerbar.default-decoration, toolbarview > .bottom-bar .collapse-spacing headerbar.default-decoration, window.shortcuts headerbar.default-decoration.titlebar, window.appchooser headerbar.default-decoration.titlebar { min-height: 30px; } - -toolbarview > .top-bar .collapse-spacing headerbar.default-decoration > windowhandle > box, toolbarview > .bottom-bar .collapse-spacing headerbar.default-decoration > windowhandle > box, window.shortcuts headerbar.default-decoration.titlebar > windowhandle > box, window.appchooser headerbar.default-decoration.titlebar > windowhandle > box { padding-top: 0px; padding-bottom: 0px; } - -.titlebar:not(headerbar) separator { background-color: alpha(@headerbar_border_color,0.15); } - -/********************* GtkWindowControls * */ -windowcontrols { border-spacing: 3px; } - -windowcontrols > button { min-width: 24px; padding: 5px; box-shadow: none; } - -windowcontrols > button > image { background-color: alpha(currentColor,0.1); border-radius: 100%; padding: 2px; transition: background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -windowcontrols > button, windowcontrols > button:hover, windowcontrols > button:active { background: none; } - -windowcontrols > button:hover > image { background-color: alpha(currentColor,0.15); } - -windowcontrols > button:active > image { background-color: alpha(currentColor,0.3); } - -windowcontrols > .icon { margin: 9px; } - -/****************** AdwWindowTitle * */ -headerbar .title, windowtitle .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } - -headerbar .subtitle, windowtitle .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } - -windowtitle { margin-top: -6px; margin-bottom: -6px; min-height: 12px; } - -window.devel headerbar > windowhandle { background-image: cross-fade(5% -gtk-recolor(url("assets/devel-symbolic.svg")), image(transparent)); background-repeat: repeat-x; } - -window.devel dialog headerbar > windowhandle { background-image: unset; background-repeat: unset; } - -label { caret-color: currentColor; } - -label:disabled { filter: opacity(0.5); } - -.dim-label, scale > value, progressbar > text, row.expander image.expander-row-arrow, row.property > box.header > box.title > .title, row.expander.property box > list > row > box.header > box.title > .title, row label.subtitle, spinbutton > text > placeholder, entry > text > placeholder, headerbar .subtitle, windowtitle .subtitle, label.separator { opacity: 0.55; } - -.accent { color: @accent_color; } - -.success { color: @success_color; } - -.warning { color: @warning_color; } - -.error { color: @error_color; } - -/********************** General Typography * */ -.title-1 { font-weight: 800; font-size: 20pt; } - -.title-2 { font-weight: 800; font-size: 15pt; } - -.title-3 { font-weight: 700; font-size: 15pt; } - -.title-4 { font-weight: 700; font-size: 13pt; } - -.heading, listview > header { font-weight: 700; font-size: 11pt; } - -.body { font-weight: 400; font-size: 11pt; } - -.caption-heading { font-weight: 700; font-size: 9pt; } - -.caption { font-weight: 400; font-size: 9pt; } - -.monospace { font-family: monospace; } - -.numeric, spinbutton, scale > value, progressbar > text { font-feature-settings: "tnum"; } - -/******************* Editable Labels * */ -editablelabel > stack > text { color: @view_fg_color; background-color: @view_bg_color; } - -levelbar:disabled { filter: opacity(0.5); } - -levelbar.horizontal trough > block { min-height: 8px; border-radius: 99px; } - -levelbar.horizontal trough > block.empty, levelbar.horizontal trough > block.full { border-radius: 99px; } - -levelbar.horizontal.discrete > trough > block { min-height: 8px; margin-right: 2px; min-width: 26px; border-radius: 0; } - -levelbar.horizontal.discrete > trough > block:first-child { border-radius: 99px 0 0 99px; } - -levelbar.horizontal.discrete > trough > block:last-child { border-radius: 0 99px 99px 0; margin-right: 0; } - -levelbar.vertical trough > block { min-width: 8px; border-radius: 99px; } - -levelbar.vertical trough > block.empty, levelbar.vertical trough > block.full { border-radius: 99px; } - -levelbar.vertical.discrete > trough > block { min-width: 8px; margin-bottom: 2px; min-height: 26px; border-radius: 0; } - -levelbar.vertical.discrete > trough > block:first-child { border-radius: 99px 99px 0 0; } - -levelbar.vertical.discrete > trough > block:last-child { border-radius: 0 0 99px 99px; margin-bottom: 0; } - -levelbar > trough { padding: 0; } - -levelbar > trough > block.low { background-color: @warning_bg_color; } - -levelbar > trough > block.high, levelbar > trough > block:not(.empty) { background-color: @accent_bg_color; } - -levelbar > trough > block.full { background-color: @success_bg_color; } - -levelbar > trough > block.empty { background-color: alpha(currentColor,0.15); } - -.osd levelbar > trough > block.high, .osd levelbar > trough > block:not(.empty) { background-color: rgba(255, 255, 255, 0.75); } - -.linked:not(.vertical) > button:dir(ltr):not(:first-child), .linked:not(.vertical) > button:dir(rtl):not(:last-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > button:dir(ltr):not(:last-child), .linked:not(.vertical) > button:dir(rtl):not(:first-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical button:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical button:not(:last-child) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > menubutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > menubutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > menubutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > menubutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical menubutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical menubutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > dropdown:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > combobox:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > dropdown:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > combobox:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > dropdown:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > combobox:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > dropdown:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > combobox:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical dropdown:not(:first-child) > button, .linked.vertical combobox:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical dropdown:not(:last-child) > button, .linked.vertical combobox:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > colorbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > colorbutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > colorbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > colorbutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical colorbutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical colorbutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > fontbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > fontbutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > fontbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > fontbutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical fontbutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical fontbutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > tabbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > tabbutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > tabbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > tabbutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical tabbutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical tabbutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > spinbutton:dir(ltr):not(:first-child), .linked:not(.vertical) > spinbutton:dir(rtl):not(:last-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > spinbutton:dir(ltr):not(:last-child), .linked:not(.vertical) > spinbutton:dir(rtl):not(:first-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical spinbutton:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical spinbutton:not(:last-child) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > entry:dir(ltr):not(:first-child), .linked:not(.vertical) > entry:dir(rtl):not(:last-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > entry:dir(ltr):not(:last-child), .linked:not(.vertical) > entry:dir(rtl):not(:first-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical entry:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical entry:not(:last-child) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > combobox:dir(ltr):not(:first-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(rtl):not(:last-child) > box > button.combo { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > combobox:dir(ltr):not(:last-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(rtl):not(:first-child) > box > button.combo { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical combobox:not(:first-child) > box > button.combo { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical combobox:not(:last-child) > box > button.combo { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > appchooserbutton:dir(ltr):not(:first-child) > combobox > box > button.combo, .linked:not(.vertical) > appchooserbutton:dir(rtl):not(:last-child) > combobox > box > button.combo { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > appchooserbutton:dir(ltr):not(:last-child) > combobox > box > button.combo, .linked:not(.vertical) > appchooserbutton:dir(rtl):not(:first-child) > combobox > box > button.combo { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical appchooserbutton:not(:first-child) > combobox > box > button.combo { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical appchooserbutton:not(:last-child) > combobox > box > button.combo { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -link, button.link { color: @accent_color; text-decoration: underline; font-weight: inherit; } - -link:visited, button.link:visited { color: mix(@accent_color,@view_fg_color,0.2); } - -link:hover, button.link:hover { color: shade(@accent_color,1.1); } - -link:active, button.link:active { color: @accent_color; } - -link:disabled, button.link:disabled { color: alpha(currentColor,0.5); } - -.osd link, .osd button.link { color: mix(@accent_bg_color,white,0.5); } - -.osd link:visited, .osd button.link:visited { color: mix(@accent_bg_color,white,0.25); } - -.osd link:active, .osd button.link:active { color: mix(@accent_bg_color,white,0.5); } - -link { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -link:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd link:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -button.link > label { text-decoration: underline; } - -listview, list { color: @view_fg_color; background-color: @view_bg_color; background-clip: padding-box; border-color: alpha(currentColor,0.15); } - -listview > row, list > row { padding: 2px; background-clip: padding-box; } - -listview > row.expander, list > row.expander { padding: 0px; } - -listview > row.expander .row-header, list > row.expander .row-header { padding: 2px; } - -listview.horizontal row.separator, listview.separators.horizontal > row:not(.separator), list.horizontal row.separator, list.separators.horizontal > row:not(.separator) { border-left: 1px solid alpha(currentColor,0.15); } - -listview:not(.horizontal) row.separator, listview.separators:not(.horizontal) > row:not(.separator), list:not(.horizontal) row.separator, list.separators:not(.horizontal) > row:not(.separator) { border-bottom: 1px solid alpha(currentColor,0.15); } - -listview > header { padding: 2px; padding-top: 18px; padding-bottom: 6px; } - -row { background-clip: padding-box; } - -row { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd row:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -.osd row.activatable:hover { background-color: alpha(currentColor,0.07); } - -.osd row.activatable:active { background-color: alpha(currentColor,0.16); } - -.osd row.activatable.has-open-popup { background-color: alpha(currentColor,0.07); } - -.osd row.activatable:selected:hover { background-color: alpha(currentColor,0.13); } - -.osd row.activatable:selected:active { background-color: alpha(currentColor,0.19); } - -.osd row.activatable:selected.has-open-popup { background-color: alpha(currentColor,0.13); } - -.osd row:selected { background-color: alpha(currentColor,0.1); } - -row.activatable:hover { background-color: alpha(currentColor,0.04); } - -row.activatable:active { background-color: alpha(currentColor,0.08); } - -row.activatable.has-open-popup { background-color: alpha(currentColor,0.04); } - -row.activatable:selected:hover { background-color: alpha(@accent_bg_color,0.32); } - -row.activatable:selected:active { background-color: alpha(@accent_bg_color,0.39); } - -row.activatable:selected.has-open-popup { background-color: alpha(@accent_bg_color,0.32); } - -row:selected { background-color: alpha(@accent_bg_color,0.25); } - -/******************************************************* Rich Lists * Large list usually containing lots of widgets * https://gitlab.gnome.org/GNOME/gtk/-/issues/3073 * */ -.rich-list { /* rich lists usually containing other widgets than just labels/text */ } - -.rich-list > row { padding: 8px 12px; min-height: 32px; /* should be tall even when only containing a label */ } - -.rich-list > row > box { border-spacing: 12px; } - -.rich-list > header { padding-left: 12px; padding-right: 12px; } - -/**************** AdwActionRow * */ -row label.subtitle { font-size: smaller; } - -row > box.header { margin-left: 12px; margin-right: 12px; border-spacing: 6px; min-height: 50px; } - -row > box.header > .icon:disabled { filter: opacity(0.5); } - -row > box.header > box.title { margin-top: 6px; margin-bottom: 6px; border-spacing: 3px; padding: 0; } - -row > box.header > box.title, row > box.header > box.title > .title, row > box.header > box.title > .subtitle { padding: 0; font-weight: inherit; } - -row > box.header > .prefixes, row > box.header > .suffixes { border-spacing: 6px; } - -row > box.header > .icon:dir(ltr), row > box.header > .prefixes:dir(ltr) { margin-right: 6px; } - -row > box.header > .icon:dir(rtl), row > box.header > .prefixes:dir(rtl) { margin-left: 6px; } - -row.property > box.header > box.title > .title, row.expander.property box > list > row > box.header > box.title > .title { font-size: smaller; } - -row.property > box.header > box.title > .subtitle, row.expander.property box > list > row > box.header > box.title > .subtitle { font-size: inherit; opacity: 1; } - -/****************************** AdwEntryRow and AdwSpinRow * */ -row.entry:not(:selected).activatable.focused:hover, row.entry:not(:selected).activatable.focused:active { background-color: transparent; } - -row.entry:disabled text { opacity: 0.5; } - -row.entry:disabled .dim-label, row.entry:disabled scale > value, row.entry:disabled progressbar > text, row.entry:disabled row.expander image.expander-row-arrow, row.expander row.entry:disabled image.expander-row-arrow, row.entry:disabled spinbutton > text > placeholder, row.entry:disabled entry > text > placeholder, row.entry:disabled label.separator, row.entry:disabled row.property > box.header > box.title > .title, row.entry:disabled row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry:disabled box > list > row > box.header > box.title > .title, row.entry:disabled .subtitle { opacity: 1; } - -row.entry .edit-icon, row.entry .indicator { min-width: 24px; min-height: 24px; padding: 5px; } - -row.entry .edit-icon:disabled { opacity: 0.3; } - -row.entry .indicator { opacity: 0.3; } - -row.entry.monospace { font-family: inherit; } - -row.entry.monospace text { font-family: monospace; } - -row.spin:not(:selected).activatable.focused:hover, row.spin:not(:selected).activatable.focused:active { background-color: transparent; } - -row.spin spinbutton { background: none; border-spacing: 6px; box-shadow: none; } - -row.spin spinbutton, row.spin spinbutton:focus { outline: none; } - -row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child { min-width: 30px; min-height: 30px; margin: 10px 2px; border: none; } - -row.spin:disabled spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:disabled, row.spin:disabled spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child:disabled, row.spin:disabled spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child:disabled, row.spin:disabled spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):disabled, row.spin:disabled spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child:disabled, row.spin:disabled spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child:disabled { filter: none; } - -row.entry, row.spin { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.entry.focused, row.spin.focused { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } - -row.entry:not(:selected).activatable.focused:hover, row.entry:not(:selected).activatable.focused:active, row.spin:not(:selected).activatable.focused:hover, row.spin:not(:selected).activatable.focused:active { background-color: transparent; } - -row.entry.error, row.spin.error { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.entry.error.focused, row.spin.error.focused { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -1px; } - -row.entry.error text > selection:focus-within, row.spin.error text > selection:focus-within { background-color: alpha(@error_color,0.2); } - -row.entry.error text > cursor-handle > contents, row.spin.error text > cursor-handle > contents { background-color: currentColor; } - -row.entry.error .dim-label, row.entry.error scale > value, row.entry.error progressbar > text, row.entry.error row.expander image.expander-row-arrow, row.expander row.entry.error image.expander-row-arrow, row.entry.error spinbutton > text > placeholder, row.entry.error entry > text > placeholder, row.entry.error label.separator, row.entry.error row.property > box.header > box.title > .title, row.entry.error row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry.error box > list > row > box.header > box.title > .title, row.entry.error .subtitle, row.spin.error .dim-label, row.spin.error scale > value, row.spin.error progressbar > text, row.spin.error row.expander image.expander-row-arrow, row.expander row.spin.error image.expander-row-arrow, row.spin.error spinbutton > text > placeholder, row.spin.error entry > text > placeholder, row.spin.error label.separator, row.spin.error row.property > box.header > box.title > .title, row.spin.error row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.spin.error box > list > row > box.header > box.title > .title, row.spin.error .subtitle { opacity: 1; } - -row.entry.error .suggested-action, row.spin.error .suggested-action { background-color: @error_bg_color; color: @error_fg_color; } - -row.entry.warning, row.spin.warning { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.entry.warning.focused, row.spin.warning.focused { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -1px; } - -row.entry.warning text > selection:focus-within, row.spin.warning text > selection:focus-within { background-color: alpha(@warning_color,0.2); } - -row.entry.warning text > cursor-handle > contents, row.spin.warning text > cursor-handle > contents { background-color: currentColor; } - -row.entry.warning .dim-label, row.entry.warning scale > value, row.entry.warning progressbar > text, row.entry.warning row.expander image.expander-row-arrow, row.expander row.entry.warning image.expander-row-arrow, row.entry.warning spinbutton > text > placeholder, row.entry.warning entry > text > placeholder, row.entry.warning label.separator, row.entry.warning row.property > box.header > box.title > .title, row.entry.warning row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry.warning box > list > row > box.header > box.title > .title, row.entry.warning .subtitle, row.spin.warning .dim-label, row.spin.warning scale > value, row.spin.warning progressbar > text, row.spin.warning row.expander image.expander-row-arrow, row.expander row.spin.warning image.expander-row-arrow, row.spin.warning spinbutton > text > placeholder, row.spin.warning entry > text > placeholder, row.spin.warning label.separator, row.spin.warning row.property > box.header > box.title > .title, row.spin.warning row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.spin.warning box > list > row > box.header > box.title > .title, row.spin.warning .subtitle { opacity: 1; } - -row.entry.warning .suggested-action, row.spin.warning .suggested-action { background-color: @warning_bg_color; color: @warning_fg_color; } - -row.entry.success, row.spin.success { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.entry.success.focused, row.spin.success.focused { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -1px; } - -row.entry.success text > selection:focus-within, row.spin.success text > selection:focus-within { background-color: alpha(@success_color,0.2); } - -row.entry.success text > cursor-handle > contents, row.spin.success text > cursor-handle > contents { background-color: currentColor; } - -row.entry.success .dim-label, row.entry.success scale > value, row.entry.success progressbar > text, row.entry.success row.expander image.expander-row-arrow, row.expander row.entry.success image.expander-row-arrow, row.entry.success spinbutton > text > placeholder, row.entry.success entry > text > placeholder, row.entry.success label.separator, row.entry.success row.property > box.header > box.title > .title, row.entry.success row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry.success box > list > row > box.header > box.title > .title, row.entry.success .subtitle, row.spin.success .dim-label, row.spin.success scale > value, row.spin.success progressbar > text, row.spin.success row.expander image.expander-row-arrow, row.expander row.spin.success image.expander-row-arrow, row.spin.success spinbutton > text > placeholder, row.spin.success entry > text > placeholder, row.spin.success label.separator, row.spin.success row.property > box.header > box.title > .title, row.spin.success row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.spin.success box > list > row > box.header > box.title > .title, row.spin.success .subtitle { opacity: 1; } - -row.entry.success .suggested-action, row.spin.success .suggested-action { background-color: @success_bg_color; color: @success_fg_color; } - -/*************** AdwComboRow * */ -row.combo image.dropdown-arrow:disabled { filter: opacity(0.5); } - -row.combo listview.inline { background: none; border: none; box-shadow: none; color: inherit; } - -row.combo listview.inline, row.combo listview.inline:disabled { background: none; color: inherit; } - -row.combo popover > contents { min-width: 120px; } - -row.combo popover > contents .combo-searchbar { margin: 6px; } - -row.combo popover > contents .combo-searchbar + scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } - -/****************** AdwExpanderRow * */ -list.boxed-list > row, list.content > row, list.boxed-list > row.expander row.header, list.content > row.expander row.header, row.expander list.nested > row { border-bottom: 1px solid @card_shade_color; } - -list.boxed-list > row, list.content > row, list.boxed-list > row.expander row.header, list.content > row.expander row.header, row.expander list.nested > row { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -list.boxed-list > row:focus:focus-visible, list.content > row:focus:focus-visible, list.boxed-list > row.expander row.header:focus:focus-visible, list.content > row.expander row.header:focus:focus-visible, row.expander list.nested > row:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } - -.osd list.boxed-list > row:focus:focus-visible, .osd list.content > row:focus:focus-visible, .osd list.boxed-list > row.expander row.header:focus:focus-visible, list.boxed-list > row.expander .osd row.header:focus:focus-visible, .osd list.content > row.expander row.header:focus:focus-visible, list.content > row.expander .osd row.header:focus:focus-visible, .osd row.expander list.nested > row:focus:focus-visible, row.expander .osd list.nested > row:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -list.boxed-list > row:not(:selected).activatable:hover, list.content > row:not(:selected).activatable:hover, list.boxed-list > row.expander row.header:not(:selected).activatable:hover, list.content > row.expander row.header:not(:selected).activatable:hover, row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } - -list.boxed-list > row:not(:selected).activatable:active, list.content > row:not(:selected).activatable:active, list.boxed-list > row.expander row.header:not(:selected).activatable:active, list.content > row.expander row.header:not(:selected).activatable:active, row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } - -list.boxed-list > row:not(:selected).activatable.has-open-popup, list.content > row:not(:selected).activatable.has-open-popup, list.boxed-list > row.expander row.header:not(:selected).activatable.has-open-popup, list.content > row.expander row.header:not(:selected).activatable.has-open-popup, row.expander list.nested > row:not(:selected).activatable.has-open-popup { background-color: alpha(currentColor,0.03); } - -row.expander { background: none; padding: 0px; } - -row.expander > box > list { background: none; color: inherit; } - -row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; } - -row.expander image.expander-row-arrow { transition: -gtk-icon-transform 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.expander image.expander-row-arrow:dir(ltr) { margin-left: 3px; } - -row.expander image.expander-row-arrow:dir(rtl) { margin-right: 3px; } - -row.expander image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(0.5turn); } - -row.expander image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(-0.5turn); } - -row.expander image.expander-row-arrow:disabled { filter: opacity(0.5); } - -row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); opacity: 1; } - -row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_color; } - -.osd row.expander:checked image.expander-row-arrow:not(:disabled) { color: inherit; } - -/***************** Boxed Lists * */ -list.boxed-list > row.expander, list.content > row.expander { border: none; } - -list.boxed-list > row:first-child, list.content > row:first-child, list.boxed-list > row:first-child.expander row.header, list.content > row:first-child.expander row.header { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -list.boxed-list > row:last-child, list.content > row:last-child, list.boxed-list > row:last-child.expander:not(:checked), list.boxed-list > row:last-child.expander:not(:checked) row.header, list.content > row:last-child.expander:not(:checked) row.header, list.boxed-list > row:last-child.expander:checked list.nested, list.content > row:last-child.expander:checked list.nested, list.boxed-list > row:last-child.expander:checked list.nested > row:last-child, list.content > row:last-child.expander:checked list.nested > row:last-child { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom-width: 0; } - -popover.menu > contents { min-width: 120px; } - -popover.menu scrollbar.vertical > range > trough > slider { min-height: 30px; } - -popover.menu box.inline-buttons { padding: 0 12px; } - -popover.menu box.inline-buttons button.image-button.model { min-height: 32px; min-width: 32px; padding: 0; border: none; outline: none; transition: none; } - -popover.menu box.inline-buttons button.image-button.model:selected { background-color: alpha(currentColor,0.1); } - -popover.menu box.inline-buttons button.image-button.model:selected:active { background-color: alpha(currentColor,0.19); } - -popover.menu box.circular-buttons { padding: 12px 12px 6px; } - -popover.menu box.circular-buttons button.circular.image-button.model { outline: none; padding: 11px; box-shadow: inset 0 0 0 1px alpha(currentColor,0.15); } - -popover.menu box.circular-buttons button.circular.image-button.model:selected { background-color: alpha(currentColor,0.13); box-shadow: none; } - -popover.menu box.circular-buttons button.circular.image-button.model:selected:active { background-color: alpha(currentColor,0.19); } - -popover.menu > contents { padding: 0; } - -popover.menu > contents > stack > box, popover.menu > contents > scrolledwindow > viewport > stack > box { padding: 6px; } - -popover.menu separator { margin: 6px 0; } - -popover.menu list separator { margin: 0; } - -popover.menu accelerator { color: alpha(currentColor,0.55); } - -popover.menu accelerator:dir(ltr) { margin-left: 12px; } - -popover.menu accelerator:dir(rtl) { margin-right: 12px; } - -popover.menu check, popover.menu radio { min-width: 14px; min-height: 14px; -gtk-icon-size: 14px; padding: 2px; } - -popover.menu check, popover.menu check:hover:checked, popover.menu check:hover:indeterminate, popover.menu check:hover:not(:checked):not(:indeterminate), popover.menu check:active:checked, popover.menu check:active:indeterminate, popover.menu check:active:not(:checked):not(:indeterminate), popover.menu radio, popover.menu radio:hover:checked, popover.menu radio:hover:indeterminate, popover.menu radio:hover:not(:checked):not(:indeterminate), popover.menu radio:active:checked, popover.menu radio:active:indeterminate, popover.menu radio:active:not(:checked):not(:indeterminate) { background: none; box-shadow: none; color: inherit; } - -.osd popover.menu check, .osd popover.menu radio { background: none; color: inherit; } - -popover.menu radio { padding: 1px; border: 1px solid alpha(currentColor,0.3); } - -popover.menu check.left, popover.menu radio.left, popover.menu arrow.left { margin-left: -2px; margin-right: 6px; } - -popover.menu check.right, popover.menu radio.right, popover.menu arrow.right { margin-left: 6px; margin-right: -2px; } - -popover.menu modelbutton { min-height: 32px; min-width: 40px; padding: 0 12px; border-radius: 6px; } - -popover.menu modelbutton:hover, popover.menu modelbutton:selected { background-color: alpha(currentColor,0.1); } - -popover.menu modelbutton:active { background-color: alpha(currentColor,0.19); } - -popover.menu modelbutton arrow { background: none; min-width: 16px; min-height: 16px; opacity: 0.3; } - -popover.menu modelbutton arrow:hover { background: none; } - -popover.menu modelbutton arrow:disabled { filter: opacity(0.5); } - -popover.menu modelbutton arrow.left { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } - -popover.menu modelbutton arrow.right { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } - -popover.menu label.title { font-weight: bold; padding: 4px 32px; } - -popover.menu list, popover.menu listview { background: none; color: inherit; } - -popover.menu list > row, popover.menu listview > row { border-radius: 6px; padding: 0 12px; min-height: 32px; min-width: 40px; } - -popover.menu list > row:selected, popover.menu listview > row:selected { background: none; } - -popover.menu list > row:hover, popover.menu list > row:hover:selected.activatable, popover.menu listview > row:hover, popover.menu listview > row:hover:selected.activatable { background-color: alpha(currentColor,0.1); } - -popover.menu list > row:active, popover.menu list > row:active:selected.activatable, popover.menu listview > row:active, popover.menu listview > row:active:selected.activatable { background-color: alpha(currentColor,0.19); } - -popover.menu list > row.has-open-popup, popover.menu list > row.has-open-popup:selected.activatable, popover.menu listview > row.has-open-popup, popover.menu listview > row.has-open-popup:selected.activatable { background-color: alpha(currentColor,0.1); } - -popover.menu list > row > box, popover.menu listview > row > box { border-spacing: 6px; } - -popover.menu contents > list, popover.menu contents > listview, popover.menu scrolledwindow > viewport > list, popover.menu scrolledwindow > listview { padding: 6px 0; } - -popover.menu contents > list > row, popover.menu contents > listview > row, popover.menu scrolledwindow > viewport > list > row, popover.menu scrolledwindow > listview > row { margin: 0 6px; padding: 9px 12px; min-height: 0; } - -menubar { box-shadow: inset 0 -1px alpha(currentColor,0.15); padding-bottom: 1px; } - -menubar > item { min-height: 16px; padding: 4px 8px; border-radius: 6px; } - -menubar > item:selected { background-color: alpha(currentColor,0.1); } - -menubar > item popover.menu popover.menu { padding: 0 0 4px 0; } - -menubar > item popover.menu popover.menu > contents { margin: 0; border-radius: 12px; } - -toolbarview > .top-bar menubar, toolbarview > .bottom-bar menubar { box-shadow: none; padding-bottom: 0; } - -/******************** GtkMessageDialog * */ -window.dialog.message .titlebar { min-height: 20px; background: none; box-shadow: none; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } - -window.dialog.message box.dialog-vbox.vertical { margin-top: 6px; border-spacing: 24px; } - -window.dialog.message box.dialog-vbox.vertical > box > box > box > label.title { font-weight: 800; font-size: 15pt; } - -window.dialog.message.csd { border-bottom-left-radius: 13px; border-bottom-right-radius: 13px; } - -window.dialog.message.csd .dialog-action-area { border-top: 1px solid alpha(currentColor,0.15); margin: 0; border-spacing: 0; } - -window.dialog.message.csd .dialog-action-area > button { padding: 10px 14px; border-radius: 0; border: none; background-clip: padding-box; border-left: 1px solid alpha(currentColor,0.15); } - -window.dialog.message.csd .dialog-action-area > button:first-child { border-bottom-left-radius: 13px; border-left: none; } - -window.dialog.message.csd .dialog-action-area > button:last-child { border-bottom-right-radius: 13px; } - -window.dialog.message.csd .dialog-action-area > button.suggested-action { color: @accent_color; } - -window.dialog.message.csd .dialog-action-area > button.destructive-action { color: @destructive_color; } - -/******************** AdwMessageDialog * */ -window.messagedialog, dialog-host > dialog.alert sheet, window.dialog-window.alert { background-color: @dialog_bg_color; color: @dialog_fg_color; } - -window.messagedialog { outline: none; } - -dialog-host > dialog.alert.floating sheet, window.dialog-window.alert { border-radius: 13px; outline: none; } - -window.messagedialog .message-area, dialog.alert .message-area { padding: 24px 30px; border-spacing: 24px; } - -window.messagedialog .message-area.has-heading.has-body, dialog.alert .message-area.has-heading.has-body { border-spacing: 10px; } - -window.messagedialog .response-area > button, dialog.alert .response-area > button { padding: 10px 14px; border-radius: 0; } - -window.messagedialog .response-area > button.suggested, dialog.alert .response-area > button.suggested { color: @accent_color; } - -window.messagedialog .response-area > button.destructive, dialog.alert .response-area > button.destructive { color: @destructive_color; } - -window.messagedialog .response-area:not(.compact) > button, dialog.alert .response-area:not(.compact) > button { margin-top: -1px; margin-right: -1px; margin-left: -1px; } - -window.messagedialog .response-area:not(.compact) > button:first-child:dir(ltr), window.messagedialog .response-area:not(.compact) > button:last-child:dir(rtl), dialog.alert .response-area:not(.compact) > button:first-child:dir(ltr), dialog.alert .response-area:not(.compact) > button:last-child:dir(rtl) { margin-left: 0; } - -window.messagedialog .response-area:not(.compact) > button:last-child:dir(ltr), window.messagedialog .response-area:not(.compact) > button:first-child:dir(rtl), dialog.alert .response-area:not(.compact) > button:last-child:dir(ltr), dialog.alert .response-area:not(.compact) > button:first-child:dir(rtl) { margin-right: 0; } - -window.messagedialog .response-area.compact > button, dialog.alert .response-area.compact > button { margin-top: -1px; margin-bottom: -1px; } - -window.messagedialog .response-area.compact > button:first-child, dialog.alert .response-area.compact > button:first-child { margin-bottom: 0; } - -window.messagedialog .response-area:not(.compact) > button:first-child:dir(ltr), window.messagedialog .response-area:not(.compact) > button:last-child:dir(rtl), dialog.alert.floating .response-area:not(.compact) > button:first-child:dir(ltr), dialog.alert.floating .response-area:not(.compact) > button:last-child:dir(rtl) { border-bottom-left-radius: 13px; } - -window.messagedialog .response-area:not(.compact) > button:last-child:dir(ltr), window.messagedialog .response-area:not(.compact) > button:first-child:dir(rtl), dialog.alert.floating .response-area:not(.compact) > button:last-child:dir(ltr), dialog.alert.floating .response-area:not(.compact) > button:first-child:dir(rtl) { border-bottom-right-radius: 13px; } - -window.messagedialog .response-area.compact > button:first-child, dialog.alert.floating .response-area.compact > button:first-child { border-bottom-left-radius: 13px; border-bottom-right-radius: 13px; } - -/********** Frames * */ -frame, .frame { border: 1px solid alpha(currentColor,0.15); } - -frame { border-radius: 12px; } - -frame > label { margin: 4px; } - -/************** Separators * */ -separator { background: alpha(currentColor,0.15); min-width: 1px; min-height: 1px; } - -separator.spacer { background: none; } - -separator.spacer.horizontal { min-width: 12px; } - -separator.spacer.vertical { min-height: 12px; } - -/********************* App Notifications * */ -.app-notification { padding: 10px; border-spacing: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; } - -.app-notification border { border: none; } - -/********** Toasts * */ -toast { margin: 12px; margin-bottom: 24px; border-radius: 150px; border-spacing: 6px; padding: 6px; } - -toast:dir(ltr) { padding-left: 12px; } - -toast:dir(rtl) { padding-right: 12px; } - -toast > widget { margin: 0 6px; } - -/************** GtkVideo * */ -video { background: black; } - -video image.osd { min-width: 64px; min-height: 64px; border-radius: 32px; } - -/****************** AdwAboutWindow * */ -window.about .main-page > viewport > clamp > box, dialog.about .main-page > viewport > clamp > box { margin: 12px; border-spacing: 6px; } - -window.about .main-page > viewport > clamp > box > box, dialog.about .main-page > viewport > clamp > box > box { margin-top: 18px; border-spacing: 18px; margin-bottom: 6px; } - -window.about .main-page .app-version, dialog.about .main-page .app-version { padding: 3px 18px; color: @accent_color; border-radius: 999px; margin-top: 3px; } - -window.about .subpage > viewport > clamp > box, dialog.about .subpage > viewport > clamp > box { margin: 18px 12px; border-spacing: 18px; } - -window.about .subpage > clamp > textview, dialog.about .subpage > clamp > textview { background: none; color: inherit; } - -/***************** AdwStatusPage * */ -statuspage > scrolledwindow > viewport > box { margin: 36px 12px; border-spacing: 36px; } - -statuspage > scrolledwindow > viewport > box > clamp > box { border-spacing: 12px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon { -gtk-icon-size: 128px; color: alpha(currentColor,0.55); } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon:disabled { opacity: 0.5; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 24px; } - -statuspage.compact > scrolledwindow > viewport > box { margin: 24px 12px; border-spacing: 24px; } - -statuspage.compact > scrolledwindow > viewport > box > clamp > box > .icon { -gtk-icon-size: 96px; } - -statuspage.compact > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 12px; } - -statuspage.compact > scrolledwindow > viewport > box > clamp > box > .title { font-size: 18pt; } - -/* Cards */ -shortcut > .keycap, list.boxed-list, list.content, .card { background-color: @card_bg_color; color: @card_fg_color; border-radius: 12px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } - -.osd shortcut > .keycap, .osd list.boxed-list, .osd list.content, shortcut > .osd.keycap, list.osd.boxed-list, list.osd.content, .osd .card, .card.osd { background-color: alpha(currentColor,0.1); color: inherit; box-shadow: none; } - -.card { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -.card:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } - -.osd .card:focus:focus-visible, .card.osd:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -.card.activatable { transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -.card.activatable:hover { background-image: image(alpha(currentColor,0.03)); } - -.card.activatable:active { background-image: image(alpha(currentColor,0.08)); } - -/* Transition shadows */ -flap > dimming, leaflet > dimming, navigation-view > dimming, overlay-split-view > dimming { background: @shade_color; } - -flap > shadow, leaflet > shadow, navigation-view > shadow, overlay-split-view > shadow { min-width: 56px; min-height: 56px; } - -flap > shadow.left, leaflet > shadow.left, navigation-view > shadow.left, overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to right, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } - -flap > shadow.right, leaflet > shadow.right, navigation-view > shadow.right, overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to left, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } - -flap > shadow.up, leaflet > shadow.up, navigation-view > shadow.up, overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to bottom, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } - -flap > shadow.down, leaflet > shadow.down, navigation-view > shadow.down, overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to top, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } - -notebook > header > tabs > tab:checked { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -notebook:focus:focus-visible > header > tabs > tab:checked { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -notebook > header { padding: 1px; border-color: alpha(currentColor,0.15); border-width: 1px; background-clip: padding-box; } - -notebook > header > tabs { margin: -1px; } - -notebook > header.top { border-bottom-style: solid; } - -notebook > header.top > tabs { margin-bottom: -2px; } - -notebook > header.top > tabs > tab:hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } - -notebook > header.top > tabs > tab:checked { box-shadow: inset 0 -4px @accent_bg_color; } - -notebook > header.bottom { border-top-style: solid; } - -notebook > header.bottom > tabs { margin-top: -2px; } - -notebook > header.bottom > tabs > tab:hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } - -notebook > header.bottom > tabs > tab:checked { box-shadow: inset 0 4px @accent_bg_color; } - -notebook > header.left { border-right-style: solid; } - -notebook > header.left > tabs { margin-right: -2px; } - -notebook > header.left > tabs > tab:hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } - -notebook > header.left > tabs > tab:checked { box-shadow: inset -4px 0 @accent_bg_color; } - -notebook > header.right { border-left-style: solid; } - -notebook > header.right > tabs { margin-left: -2px; } - -notebook > header.right > tabs > tab:hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } - -notebook > header.right > tabs > tab:checked { box-shadow: inset 4px 0 @accent_bg_color; } - -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 { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } - -notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } - -notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -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 { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } - -notebook > header > tabs > arrow:hover:not(:active) { box-shadow: none; } - -notebook > header > tabs > tab { transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); min-height: 30px; min-width: 30px; padding: 3px 12px; font-weight: normal; } - -notebook > header > tabs > tab:hover, notebook > header > tabs > tab:active { background-color: alpha(currentColor,0.07); } - -notebook > header > tabs > tab:not(:checked) { outline-color: transparent; } - -notebook > header > tabs > tab:disabled { filter: opacity(0.5); } - -notebook > header > tabs > tab:disabled label, notebook > header > tabs > tab:disabled button { filter: none; } - -notebook > header > tabs > tab button.flat { color: alpha(currentColor,0.3); padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; } - -notebook > header > tabs > tab button.flat:hover, notebook > header > tabs > tab button.flat:active { color: currentColor; } - -notebook > header > tabs > tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } - -notebook > header > tabs > tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } - -notebook > header.top > tabs, notebook > header.bottom > tabs { padding-left: 4px; padding-right: 4px; } - -notebook > header.top > tabs:not(:only-child), notebook > header.bottom > tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } - -notebook > header.top > tabs:not(:only-child):first-child, notebook > header.bottom > tabs:not(:only-child):first-child { margin-left: -1px; } - -notebook > header.top > tabs:not(:only-child):last-child, notebook > header.bottom > tabs:not(:only-child):last-child { margin-right: -1px; } - -notebook > header.top > tabs > tab, notebook > header.bottom > tabs > tab { margin-left: 4px; margin-right: 4px; } - -notebook > header.left > tabs, notebook > header.right > tabs { padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left > tabs:not(:only-child), notebook > header.right > tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } - -notebook > header.left > tabs:not(:only-child):first-child, notebook > header.right > tabs:not(:only-child):first-child { margin-top: -1px; } - -notebook > header.left > tabs:not(:only-child):last-child, notebook > header.right > tabs:not(:only-child):last-child { margin-bottom: -1px; } - -notebook > header.left > tabs > tab, notebook > header.right > tabs > tab { margin-top: 4px; margin-bottom: 4px; } - -notebook > header.top > tabs > tab { padding-bottom: 4px; } - -notebook > header.bottom > tabs > tab { padding-top: 4px; } - -notebook > stack:not(:only-child) { background-color: @view_bg_color; } - -paned > separator { min-width: 1px; min-height: 1px; background: none; background-size: 1px 1px; } - -paned > separator.wide { min-width: 5px; min-height: 5px; } - -paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; box-shadow: inset 1px 0 alpha(currentColor,0.15); } - -paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -paned.horizontal > separator.wide { margin: 0; padding: 0; box-shadow: inset 1px 0 alpha(currentColor,0.15), inset -1px 0 alpha(currentColor,0.15); } - -paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; box-shadow: inset 0 1px alpha(currentColor,0.15); } - -paned.vertical > separator.wide { margin: 0; padding: 0; box-shadow: inset 0 1px alpha(currentColor,0.15), inset 0 -1px alpha(currentColor,0.15); } - -toolbarview.undershoot-top popover scrolledwindow undershoot.top, toolbarview.undershoot-bottom popover scrolledwindow undershoot.bottom { background: none; box-shadow: none; } - -popover.background { background-color: transparent; font: initial; } - -popover > arrow, popover > contents { background-color: @popover_bg_color; color: @popover_fg_color; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.14); box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 14px 3px rgba(0, 0, 0, 0.05); } - -popover > contents { padding: 8px; border-radius: 12px; } - -popover > contents > list, popover > contents > .view, window.print popover > contents > .dialog-action-box, popover > contents > toolbar { border-style: none; background-color: transparent; } - -.osd popover, popover.touch-selection, popover.magnifier { background-color: transparent; } - -.osd popover > arrow, .osd popover > contents, popover.touch-selection > arrow, popover.touch-selection > contents, popover.magnifier > arrow, popover.magnifier > contents { border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: none; } - -popover toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@popover_shade_color,0.75); background: linear-gradient(to top, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@popover_shade_color,0.75); background: linear-gradient(to top, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to right, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to left, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to left, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to right, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover flap > dimming, popover leaflet > dimming, popover navigation-view > dimming, popover overlay-split-view > dimming { background: @popover_shade_color; } - -popover flap > shadow, popover leaflet > shadow, popover navigation-view > shadow, popover overlay-split-view > shadow { min-width: 56px; min-height: 56px; } - -popover flap > shadow.left, popover leaflet > shadow.left, popover navigation-view > shadow.left, popover overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to right, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } - -popover flap > shadow.right, popover leaflet > shadow.right, popover navigation-view > shadow.right, popover overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to left, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } - -popover flap > shadow.up, popover leaflet > shadow.up, popover navigation-view > shadow.up, popover overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to bottom, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } - -popover flap > shadow.down, popover leaflet > shadow.down, popover navigation-view > shadow.down, popover overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to top, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } - -preferencespage > scrolledwindow > viewport > clamp > box { margin: 24px 12px; border-spacing: 24px; } - -preferencesgroup > box, preferencesgroup > box .labels { border-spacing: 6px; } - -preferencesgroup > box > box.header:not(.single-line) { margin-bottom: 6px; } - -preferencesgroup > box > box.single-line { min-height: 34px; } - -progressbar.horizontal > trough { min-width: 150px; } - -progressbar.horizontal > trough, progressbar.horizontal > trough > progress { min-height: 8px; } - -progressbar.vertical > trough { min-height: 80px; } - -progressbar.vertical > trough, progressbar.vertical > trough > progress { min-width: 8px; } - -progressbar > text { font-size: smaller; } - -progressbar:disabled { filter: opacity(0.5); } - -progressbar > trough > progress { /* share most of scales' */ border-radius: 99px; } - -progressbar > trough > progress.left { border-top-left-radius: 99px; border-bottom-left-radius: 99px; } - -progressbar > trough > progress.right { border-top-right-radius: 99px; border-bottom-right-radius: 99px; } - -progressbar > trough > progress.top { border-top-right-radius: 99px; border-top-left-radius: 99px; } - -progressbar > trough > progress.bottom { border-bottom-right-radius: 99px; border-bottom-left-radius: 99px; } - -progressbar.osd { min-width: 2px; min-height: 2px; background-color: transparent; color: inherit; } - -progressbar.osd > trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } - -progressbar.osd > trough > progress { border-style: none; border-radius: 0; } - -progressbar.osd.horizontal > trough, progressbar.osd.horizontal > trough > progress { min-height: 2px; } - -progressbar.osd.vertical > trough, progressbar.osd.vertical > trough > progress { min-width: 2px; } - -progressbar > trough.empty > progress { all: unset; } - -.osd progressbar > trough > progress { background-color: rgba(255, 255, 255, 0.75); } - -scale > trough > fill, scale > trough, progressbar > trough { border-radius: 99px; background-color: alpha(currentColor,0.15); } - -scale > trough > highlight, progressbar > trough > progress { border-radius: 99px; background-color: @accent_bg_color; color: @accent_fg_color; } - -scale { min-height: 10px; min-width: 10px; padding: 12px; } - -scale > trough > slider { outline: 0 solid transparent; outline-offset: 6px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -scale:focus:focus-visible > trough > slider { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 0; } - -scale > trough > slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.2); border-radius: 100%; min-width: 20px; min-height: 20px; margin: -8px; } - -scale:hover > trough, scale:active > trough { background-color: alpha(currentColor,0.2); } - -scale:hover > trough > highlight, scale:active > trough > highlight { background-image: image(alpha(currentColor,0.1)); } - -scale:hover > trough > slider, scale:active > trough > slider { background-color: white; } - -.osd scale:focus:focus-visible > trough { outline-color: rgba(255, 255, 255, 0.5); } - -.osd scale > trough > highlight { background-color: rgba(255, 255, 255, 0.75); color: rgba(0, 0, 0, 0.75); } - -scale:disabled { filter: opacity(0.5); } - -scale:disabled > trough > slider { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px transparent; outline-color: rgba(0, 0, 0, 0.2); } - -scale.fine-tune { padding: 9px; } - -scale.fine-tune.horizontal { min-height: 16px; } - -scale.fine-tune.vertical { min-width: 16px; } - -scale.fine-tune > trough > slider { margin: -5px; } - -scale.marks-before:not(.marks-after) > trough > slider, scale.marks-after:not(.marks-before) > trough > slider { transform: rotate(45deg); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 1px 1px 4px rgba(0, 0, 0, 0.2); } - -scale.marks-before:not(.marks-after) > trough > slider:disabled, scale.marks-after:not(.marks-before) > trough > slider:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 1px 1px 4px transparent; } - -scale.horizontal > marks { color: alpha(currentColor,0.55); } - -scale.horizontal > marks.top { margin-bottom: 6px; } - -scale.horizontal > marks.bottom { margin-top: 6px; } - -scale.horizontal > marks indicator { background-color: currentColor; min-height: 6px; min-width: 1px; } - -scale.horizontal > value.left { margin-right: 9px; } - -scale.horizontal > value.right { margin-left: 9px; } - -scale.horizontal.fine-tune > marks.top { margin-top: 3px; } - -scale.horizontal.fine-tune > marks.bottom { margin-bottom: 3px; } - -scale.horizontal.fine-tune > marks indicator { min-height: 3px; } - -scale.horizontal.marks-before { padding-top: 0; } - -scale.horizontal.marks-before > trough > slider { border-top-left-radius: 0; } - -scale.horizontal.marks-after { padding-bottom: 0; } - -scale.horizontal.marks-after > trough > slider { border-bottom-right-radius: 0; } - -scale.horizontal.marks-before.marks-after > trough > slider { border-radius: 100%; } - -scale.vertical > marks { color: alpha(currentColor,0.55); } - -scale.vertical > marks.top { margin-right: 6px; } - -scale.vertical > marks.bottom { margin-left: 6px; } - -scale.vertical > marks indicator { background-color: currentColor; min-height: 1px; min-width: 6px; } - -scale.vertical > value.top { margin-bottom: 9px; } - -scale.vertical > value.bottom { margin-top: 9px; } - -scale.vertical.fine-tune > marks.top { margin-left: 3px; } - -scale.vertical.fine-tune > marks.bottom { margin-right: 3px; } - -scale.vertical.fine-tune > marks indicator { min-height: 3px; } - -scale.vertical.marks-before { padding-left: 0; } - -scale.vertical.marks-before > trough > slider { border-bottom-left-radius: 0; } - -scale.vertical.marks-after { padding-right: 0; } - -scale.vertical.marks-after > trough > slider { border-top-right-radius: 0; } - -scale.color { padding: 0; } - -scale.color > trough { border: none; background: none; border-radius: 10px; } - -scale.color > trough > slider { margin: 0; background-color: rgba(255, 255, 255, 0.8); } - -scale.color.fine-tune { padding: 2px; } - -scale.color.fine-tune > trough > slider { margin: -2px; } - -scrollbar > range > trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; } - -scrollbar > range > trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; background-color: alpha(currentColor,0.2); } - -scrollbar > range > trough > slider:hover { background-color: alpha(currentColor,0.4); } - -scrollbar > range > trough > slider:active { background-color: alpha(currentColor,0.6); } - -scrollbar > range > trough > slider:disabled { opacity: 0; } - -scrollbar.horizontal > range > trough { margin-top: 6px; margin-bottom: 6px; } - -scrollbar.vertical > range > trough { margin-left: 6px; margin-right: 6px; } - -scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } - -scrollbar.overlay-indicator > range > trough { outline: 1px solid transparent; } - -scrollbar.overlay-indicator > range > trough > slider { outline: 1px solid alpha(@scrollbar_outline_color,0.6); outline-offset: -6px; } - -.osd scrollbar.overlay-indicator > range > trough > slider { outline: 1px solid alpha(rgba(0, 0, 0, 0.5),0.6); } - -scrollbar.overlay-indicator:not(.hovering) > range > trough > slider { min-width: 3px; min-height: 3px; outline-color: alpha(@scrollbar_outline_color,0.35); } - -.osd scrollbar.overlay-indicator:not(.hovering) > range > trough > slider { outline-color: alpha(rgba(0, 0, 0, 0.5),0.35); } - -scrollbar.overlay-indicator.hovering > range > trough { background-color: alpha(currentColor,0.1); } - -scrollbar.overlay-indicator.horizontal > range > trough > slider { min-width: 40px; } - -scrollbar.overlay-indicator.horizontal.hovering > range > trough > slider { min-height: 8px; } - -scrollbar.overlay-indicator.horizontal:not(.hovering) > range > trough { margin-top: 3px; margin-bottom: 3px; } - -scrollbar.overlay-indicator.vertical > range > trough > slider { min-height: 40px; } - -scrollbar.overlay-indicator.vertical.hovering > range > trough > slider { min-width: 8px; } - -scrollbar.overlay-indicator.vertical:not(.hovering) > range > trough { margin-left: 3px; margin-right: 3px; } - -scrollbar.horizontal > range > trough > slider { min-width: 40px; } - -scrollbar.vertical > range > trough > slider { min-height: 40px; } - -scrollbar > range.fine-tune > trough > slider, scrollbar > range.fine-tune > trough > slider:hover, scrollbar > range.fine-tune > trough > slider:active { background-color: alpha(@accent_color,0.6); } - -scrolledwindow > overshoot.top { background-image: radial-gradient(farthest-side at top, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at top, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 100% 3%, 100% 50%; background-repeat: no-repeat; background-position: top; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow > overshoot.bottom { background-image: radial-gradient(farthest-side at bottom, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at bottom, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 100% 3%, 100% 50%; background-repeat: no-repeat; background-position: bottom; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow > overshoot.left { background-image: radial-gradient(farthest-side at left, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at left, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 3% 100%, 50% 100%; background-repeat: no-repeat; background-position: left; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow > overshoot.right { background-image: radial-gradient(farthest-side at right, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at right, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 3% 100%, 50% 100%; background-repeat: no-repeat; background-position: right; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } - -scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@shade_color,0.75); background: linear-gradient(to top, alpha(@shade_color,0.75), transparent 4px); } - -scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@shade_color,0.75); background: linear-gradient(to right, alpha(@shade_color,0.75), transparent 4px); } - -scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@shade_color,0.75); background: linear-gradient(to left, alpha(@shade_color,0.75), transparent 4px); } - -scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@shade_color,0.75); background: linear-gradient(to left, alpha(@shade_color,0.75), transparent 4px); } - -scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@shade_color,0.75); background: linear-gradient(to right, alpha(@shade_color,0.75), transparent 4px); } - -shortcuts-section { margin: 20px; } - -.shortcuts-search-results { margin: 20px; border-spacing: 24px; } - -shortcut { border-spacing: 6px; border-radius: 6px; } - -shortcut { outline: 0 solid transparent; outline-offset: 8px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -shortcut:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 4px; } - -shortcut > .keycap { min-width: 20px; min-height: 25px; padding: 2px 6px; border-radius: 6px; font-size: smaller; } - -shortcuts-section stackswitcher.circular { border-spacing: 12px; } - -shortcuts-section stackswitcher.circular > button.circular, shortcuts-section stackswitcher.circular > button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } - -window.shortcuts headerbar.titlebar > windowhandle { padding-top: 3px; } - -window.shortcuts searchbar { background: none; } - -.sidebar-pane { background-color: @sidebar_bg_color; color: @sidebar_fg_color; } - -.sidebar-pane:backdrop { background-color: @sidebar_backdrop_color; transition: background-color 200ms ease-out; } - -.sidebar-pane toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane flap > dimming, .sidebar-pane leaflet > dimming, .sidebar-pane navigation-view > dimming, .sidebar-pane overlay-split-view > dimming { background: @sidebar_shade_color; } - -.sidebar-pane flap > shadow, .sidebar-pane leaflet > shadow, .sidebar-pane navigation-view > shadow, .sidebar-pane overlay-split-view > shadow { min-width: 56px; min-height: 56px; } - -.sidebar-pane flap > shadow.left, .sidebar-pane leaflet > shadow.left, .sidebar-pane navigation-view > shadow.left, .sidebar-pane overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to right, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } - -.sidebar-pane flap > shadow.right, .sidebar-pane leaflet > shadow.right, .sidebar-pane navigation-view > shadow.right, .sidebar-pane overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to left, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } - -.sidebar-pane flap > shadow.up, .sidebar-pane leaflet > shadow.up, .sidebar-pane navigation-view > shadow.up, .sidebar-pane overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to bottom, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } - -.sidebar-pane flap > shadow.down, .sidebar-pane leaflet > shadow.down, .sidebar-pane navigation-view > shadow.down, .sidebar-pane overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to top, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } - -.sidebar-pane banner > revealer > widget { background-color: mix(@accent_bg_color,@sidebar_bg_color,0.7); color: @sidebar_fg_color; } - -.sidebar-pane banner > revealer > widget:backdrop { background-color: mix(@accent_bg_color,@sidebar_backdrop_color,0.85); } - -.sidebar-pane:dir(ltr), .sidebar-pane:dir(ltr) banner > revealer > widget, .sidebar-pane.end:dir(rtl), .sidebar-pane.end:dir(rtl) banner > revealer > widget { box-shadow: inset -1px 0 @sidebar_border_color; } - -.sidebar-pane:dir(rtl), .sidebar-pane:dir(rtl) banner > revealer > widget, .sidebar-pane.end:dir(ltr), .sidebar-pane.end:dir(ltr) banner > revealer > widget { box-shadow: inset 1px 0 @sidebar_border_color; } - -/* Middle pane in three-pane setups */ -.content-pane .sidebar-pane, .sidebar-pane .content-pane { background-color: @secondary_sidebar_bg_color; color: @secondary_sidebar_fg_color; } - -.content-pane .sidebar-pane:backdrop, .sidebar-pane .content-pane:backdrop { background-color: @secondary_sidebar_backdrop_color; transition: background-color 200ms ease-out; } - -.content-pane .sidebar-pane toolbarview.undershoot-top scrolledwindow > undershoot.top, .sidebar-pane .content-pane toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom, .sidebar-pane .content-pane toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-top > undershoot.top, .sidebar-pane .content-pane scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-bottom > undershoot.bottom, .sidebar-pane .content-pane scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-start:dir(ltr) > undershoot.left, .sidebar-pane .content-pane scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-start:dir(rtl) > undershoot.right, .sidebar-pane .content-pane scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-end:dir(ltr) > undershoot.right, .sidebar-pane .content-pane scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-end:dir(rtl) > undershoot.left, .sidebar-pane .content-pane scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane flap > dimming, .content-pane .sidebar-pane leaflet > dimming, .content-pane .sidebar-pane navigation-view > dimming, .content-pane .sidebar-pane overlay-split-view > dimming, .sidebar-pane .content-pane flap > dimming, .sidebar-pane .content-pane leaflet > dimming, .sidebar-pane .content-pane navigation-view > dimming, .sidebar-pane .content-pane overlay-split-view > dimming { background: @secondary_sidebar_shade_color; } - -.content-pane .sidebar-pane flap > shadow, .content-pane .sidebar-pane leaflet > shadow, .content-pane .sidebar-pane navigation-view > shadow, .content-pane .sidebar-pane overlay-split-view > shadow, .sidebar-pane .content-pane flap > shadow, .sidebar-pane .content-pane leaflet > shadow, .sidebar-pane .content-pane navigation-view > shadow, .sidebar-pane .content-pane overlay-split-view > shadow { min-width: 56px; min-height: 56px; } - -.content-pane .sidebar-pane flap > shadow.left, .content-pane .sidebar-pane leaflet > shadow.left, .content-pane .sidebar-pane navigation-view > shadow.left, .content-pane .sidebar-pane overlay-split-view > shadow.left, .sidebar-pane .content-pane flap > shadow.left, .sidebar-pane .content-pane leaflet > shadow.left, .sidebar-pane .content-pane navigation-view > shadow.left, .sidebar-pane .content-pane overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } - -.content-pane .sidebar-pane flap > shadow.right, .content-pane .sidebar-pane leaflet > shadow.right, .content-pane .sidebar-pane navigation-view > shadow.right, .content-pane .sidebar-pane overlay-split-view > shadow.right, .sidebar-pane .content-pane flap > shadow.right, .sidebar-pane .content-pane leaflet > shadow.right, .sidebar-pane .content-pane navigation-view > shadow.right, .sidebar-pane .content-pane overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } - -.content-pane .sidebar-pane flap > shadow.up, .content-pane .sidebar-pane leaflet > shadow.up, .content-pane .sidebar-pane navigation-view > shadow.up, .content-pane .sidebar-pane overlay-split-view > shadow.up, .sidebar-pane .content-pane flap > shadow.up, .sidebar-pane .content-pane leaflet > shadow.up, .sidebar-pane .content-pane navigation-view > shadow.up, .sidebar-pane .content-pane overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } - -.content-pane .sidebar-pane flap > shadow.down, .content-pane .sidebar-pane leaflet > shadow.down, .content-pane .sidebar-pane navigation-view > shadow.down, .content-pane .sidebar-pane overlay-split-view > shadow.down, .sidebar-pane .content-pane flap > shadow.down, .sidebar-pane .content-pane leaflet > shadow.down, .sidebar-pane .content-pane navigation-view > shadow.down, .sidebar-pane .content-pane overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } - -.content-pane .sidebar-pane banner > revealer > widget, .sidebar-pane .content-pane banner > revealer > widget { background-color: mix(@accent_bg_color,@secondary_sidebar_bg_color,0.7); color: @secondary_sidebar_fg_color; } - -.content-pane .sidebar-pane banner > revealer > widget:backdrop, .sidebar-pane .content-pane banner > revealer > widget:backdrop { background-color: mix(@accent_bg_color,@secondary_sidebar_backdrop_color,0.85); } - -.content-pane .sidebar-pane:dir(ltr), .content-pane .sidebar-pane:dir(ltr) banner > revealer > widget, .content-pane .sidebar-pane.end:dir(rtl), .content-pane .sidebar-pane.end:dir(rtl) banner > revealer > widget, .sidebar-pane .content-pane:dir(ltr), .sidebar-pane .content-pane:dir(ltr) banner > revealer > widget, .sidebar-pane .content-pane.end:dir(rtl), .sidebar-pane .content-pane.end:dir(rtl) banner > revealer > widget { box-shadow: inset -1px 0 @secondary_sidebar_border_color; } - -.content-pane .sidebar-pane:dir(rtl), .content-pane .sidebar-pane:dir(rtl) banner > revealer > widget, .content-pane .sidebar-pane.end:dir(ltr), .content-pane .sidebar-pane.end:dir(ltr) banner > revealer > widget, .sidebar-pane .content-pane:dir(rtl), .sidebar-pane .content-pane:dir(rtl) banner > revealer > widget, .sidebar-pane .content-pane.end:dir(ltr), .sidebar-pane .content-pane.end:dir(ltr) banner > revealer > widget { box-shadow: inset 1px 0 @secondary_sidebar_border_color; } - -.sidebar-pane .sidebar-pane { background-color: transparent; color: inherit; } - -stacksidebar row { padding: 10px 4px; } - -stacksidebar row > label { padding-left: 6px; padding-right: 6px; } - -stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } - -/********************** Navigation Sidebar * */ -.navigation-sidebar { padding: 6px 0; } - -.navigation-sidebar, .navigation-sidebar.view, window.print .navigation-sidebar.dialog-action-box, .navigation-sidebar.view:disabled { background-color: transparent; color: inherit; } - -.navigation-sidebar.background, .navigation-sidebar.background:disabled { background-color: @window_bg_color; color: @window_fg_color; } - -.navigation-sidebar row.activatable:hover { background-color: alpha(currentColor,0.07); } - -.navigation-sidebar row.activatable:active { background-color: alpha(currentColor,0.16); } - -.navigation-sidebar row.activatable.has-open-popup { background-color: alpha(currentColor,0.07); } - -.navigation-sidebar row.activatable:selected:hover { background-color: alpha(currentColor,0.13); } - -.navigation-sidebar row.activatable:selected:active { background-color: alpha(currentColor,0.19); } - -.navigation-sidebar row.activatable:selected.has-open-popup { background-color: alpha(currentColor,0.13); } - -.navigation-sidebar row:selected { background-color: alpha(currentColor,0.1); } - -.navigation-sidebar > separator { margin: 6px; } - -.navigation-sidebar > row { min-height: 36px; padding: 0 8px; border-radius: 6px; margin: 0 6px 2px; } - -@keyframes spin { to { transform: rotate(1turn); } } - -spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } - -spinner:checked { opacity: 1; animation: spin 1s linear infinite; } - -spinner:checked:disabled { opacity: 0.5; } - -spinbutton { padding: 0; border-spacing: 0; /* :not here just to bump specificity above that of the list button styling */ } - -spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { margin: 0; border-radius: 0; box-shadow: none; border-style: solid; border-color: alpha(currentColor,0.1); } - -spinbutton:not(.vertical) { /* :not here just to bump specificity above that of the list button styling */ } - -spinbutton:not(.vertical) > text { min-width: 28px; padding: 6px; } - -spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { min-height: 16px; min-width: 22px; padding-bottom: 0; padding-top: 0; border-left-width: 1px; } - -spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl), spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl) { border-left-width: 0; border-right-width: 1px; } - -spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child { border-radius: 0 6px 6px 0; } - -spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child { border-radius: 6px 0 0 6px; } - -spinbutton.vertical { /* :not here just to bump specificity above that of the list button styling */ } - -spinbutton.vertical > text { min-height: 30px; min-width: 30px; } - -spinbutton.vertical > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, spinbutton.vertical > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child { border-top-width: 1px; border-radius: 0 0 6px 6px; } - -spinbutton.vertical > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):first-child, spinbutton.vertical > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):first-child { border-bottom-width: 1px; border-radius: 6px 6px 0 0; } - -switch { border-radius: 14px; padding: 3px; background-color: alpha(currentColor,0.15); } - -switch:hover { background-color: alpha(currentColor,0.2); } - -switch:active { background-color: alpha(currentColor,0.25); } - -switch { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -switch:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 1px; } - -switch:disabled { filter: opacity(0.5); } - -switch > slider { min-width: 20px; min-height: 20px; border-radius: 50%; background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } - -switch > slider:disabled { box-shadow: 0 2px 4px transparent; } - -switch:hover > slider, switch:active > slider { background: white; } - -switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } - -switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } - -switch:checked:active { background-image: image(rgba(0, 0, 0, 0.2)); } - -switch:checked > slider { background-color: white; } - -.osd switch:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -.osd switch:checked { background-color: rgba(255, 255, 255, 0.6); color: rgba(0, 0, 0, 0.75); } - -tabbar .box { background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 -1px @headerbar_shade_color; padding: 1px; padding-top: 0; } - -tabbar .box:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } - -tabbar .box:backdrop > scrolledwindow, tabbar .box:backdrop > .start-action, tabbar .box:backdrop > .end-action { filter: opacity(0.5); transition: filter 200ms ease-out; } - -tabbar tabbox { padding-bottom: 6px; padding-top: 6px; min-height: 34px; } - -tabbar tabbox > tabboxchild { border-radius: 6px; } - -tabbar tabbox > tabboxchild { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -tabbar tabbox > tabboxchild:focus-within:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -tabbar tabbox > separator { margin-top: 3px; margin-bottom: 3px; transition: opacity 150ms ease-in-out; } - -tabbar tabbox > separator.hidden { opacity: 0; } - -tabbar tabbox > revealer > indicator { min-width: 2px; border-radius: 2px; margin: 3px 6px; background: alpha(@accent_color,0.5); } - -tabbar tab { transition: background 150ms ease-in-out; } - -tabbar tab:selected { background-color: alpha(currentColor,0.1); } - -tabbar tab:selected:hover { background-color: alpha(currentColor,0.13); } - -tabbar tab:selected:active { background-color: alpha(currentColor,0.19); } - -tabbar tab:hover { background-color: alpha(currentColor,0.07); } - -tabbar tab:active { background-color: alpha(currentColor,0.16); } - -tabbar tabbox.single-tab tab, tabbar tabbox.single-tab tab:hover, tabbar tabbox.single-tab tab:active { background: none; } - -tabbar .start-action, tabbar .end-action { padding: 6px 5px; } - -tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { padding-right: 0; } - -tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { padding-left: 0; } - -toolbarview > .top-bar tabbar .box, toolbarview > .bottom-bar tabbar .box, tabbar.inline .box { background-color: transparent; color: inherit; box-shadow: none; padding-bottom: 0; } - -toolbarview > .top-bar tabbar .box:backdrop, toolbarview > .bottom-bar tabbar .box:backdrop, tabbar.inline .box:backdrop { background-color: transparent; transition: none; } - -toolbarview > .top-bar tabbar .box:backdrop > scrolledwindow, toolbarview > .bottom-bar tabbar .box:backdrop > scrolledwindow, tabbar.inline .box:backdrop > scrolledwindow, toolbarview > .top-bar tabbar .box:backdrop > .start-action, toolbarview > .bottom-bar tabbar .box:backdrop > .start-action, tabbar.inline .box:backdrop > .start-action, toolbarview > .top-bar tabbar .box:backdrop > .end-action, toolbarview > .bottom-bar tabbar .box:backdrop > .end-action, tabbar.inline .box:backdrop > .end-action { filter: none; transition: none; } - -toolbarview > .top-bar .collapse-spacing tabbar tabbox, toolbarview > .bottom-bar .collapse-spacing tabbar tabbox, toolbarview > .top-bar .collapse-spacing tabbar .start-action, toolbarview > .bottom-bar .collapse-spacing tabbar .start-action, toolbarview > .top-bar .collapse-spacing tabbar .end-action, toolbarview > .bottom-bar .collapse-spacing tabbar .end-action { padding-top: 3px; padding-bottom: 3px; } - -dnd tab { background-color: @headerbar_bg_color; background-image: image(alpha(currentColor,0.19)); color: @headerbar_fg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); margin: 25px; } - -tabbar tab, dnd tab { min-height: 26px; padding: 4px; border-radius: 6px; } - -tabbar tab button.image-button, dnd tab button.image-button { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; } - -tabbar tab indicator, dnd tab indicator { min-height: 2px; border-radius: 2px; background: alpha(@accent_color,0.5); transform: translateY(4px); } - -tabgrid > tabgridchild .card { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -tabgrid > tabgridchild:focus:focus-visible .card { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 0; } - -tabthumbnail { border-radius: 16px; transition: box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -tabthumbnail > box { margin: 6px; } - -tabthumbnail:drop(active) { box-shadow: inset 0 0 0 2px alpha(@accent_bg_color,0.4); background-color: alpha(@accent_bg_color,0.1); } - -tabthumbnail .needs-attention:dir(ltr) { transform: translate(8px, -8px); } - -tabthumbnail .needs-attention:dir(rtl) { transform: translate(-8px, -8px); } - -tabthumbnail .needs-attention > widget { background: @accent_color; min-width: 12px; min-height: 12px; border-radius: 8px; margin: 3px; box-shadow: 0 1px 2px alpha(@accent_color,0.4); } - -tabthumbnail .card { background: none; color: inherit; } - -tabthumbnail .card picture { outline: 1px solid rgba(255, 255, 255, 0.07); outline-offset: -1px; border-radius: 12px; } - -tabthumbnail.pinned .card { background-color: @thumbnail_bg_color; color: @thumbnail_fg_color; } - -tabthumbnail .icon-title-box { border-spacing: 6px; } - -tabthumbnail .tab-unpin-icon { margin: 6px; min-width: 24px; min-height: 24px; } - -tabthumbnail button.circular { margin: 6px; background-color: alpha(@thumbnail_bg_color,0.75); min-width: 24px; min-height: 24px; } - -tabthumbnail button.circular:hover { background-color: alpha(mix(@thumbnail_bg_color,currentColor,0.1),0.75); } - -tabthumbnail button.circular:active { background-color: alpha(mix(@thumbnail_bg_color,currentColor,0.2),0.75); } - -taboverview > .overview .new-tab-button { margin: 18px; } - -tabview:drop(active), tabbox:drop(active), tabgrid:drop(active) { box-shadow: none; } - -cursor-handle { all: unset; padding: 24px 20px; } - -cursor-handle > contents { min-width: 20px; min-height: 20px; border-radius: 50%; background-color: @accent_bg_color; } - -cursor-handle.top > contents { border-top-right-radius: 0; } - -cursor-handle.bottom > contents { border-top-left-radius: 0; transform: translateX(1px); } - -cursor-handle.insertion-cursor > contents { border-top-left-radius: 0; transform: translateX(1px) translateY(4px) rotate(45deg); } - -magnifier { background-color: @view_bg_color; } - -actionbar > revealer > box.osd button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible, searchbar > revealer > box.osd button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible, .osd.toolbar button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible, headerbar.osd button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -actionbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { color: inherit; background-color: transparent; } - -actionbar > revealer > box switch, searchbar > revealer > box switch, .toolbar switch, headerbar switch { margin-top: 4px; margin-bottom: 4px; } - -.toolbar { padding: 6px; border-spacing: 6px; } - -.toolbar.osd { padding: 12px; border-radius: 12px; } - -toolbarview > .top-bar .collapse-spacing .toolbar, toolbarview > .bottom-bar .collapse-spacing .toolbar { padding-top: 3px; padding-bottom: 3px; } - -/**************** GtkSearchBar * */ -searchbar > revealer > box { padding: 6px 6px 7px 6px; background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 -1px @headerbar_shade_color; } - -searchbar > revealer > box:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } - -searchbar > revealer > box:backdrop > * { filter: opacity(0.5); transition: filter 200ms ease-out; } - -searchbar > revealer > box .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } - -searchbar > revealer > box .close:dir(ltr) { margin-left: 10px; margin-right: 4px; } - -searchbar > revealer > box .close:dir(rtl) { margin-left: 4px; margin-right: 10px; } - -toolbarview > .top-bar searchbar > revealer > box, toolbarview > .bottom-bar searchbar > revealer > box, searchbar.inline > revealer > box, window.appchooser searchbar > revealer > box, window.shortcuts searchbar > revealer > box { background-color: transparent; color: inherit; box-shadow: none; padding-bottom: 6px; } - -toolbarview > .top-bar searchbar > revealer > box:backdrop, toolbarview > .bottom-bar searchbar > revealer > box:backdrop, searchbar.inline > revealer > box:backdrop { background-color: transparent; transition: none; } - -toolbarview > .top-bar searchbar > revealer > box:backdrop > *, toolbarview > .bottom-bar searchbar > revealer > box:backdrop > *, searchbar.inline > revealer > box:backdrop > * { filter: none; transition: none; } - -toolbarview > .top-bar .collapse-spacing searchbar > revealer > box, toolbarview > .bottom-bar .collapse-spacing searchbar > revealer > box, window.appchooser.csd searchbar > revealer > box, window.shortcuts searchbar > revealer > box { padding-top: 3px; padding-bottom: 3px; } - -/**************** GtkActionBar * */ -actionbar > revealer > box { background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 1px @headerbar_shade_color; padding: 7px 6px 6px 6px; } - -actionbar > revealer > box, actionbar > revealer > box > box.start, actionbar > revealer > box > box.end { border-spacing: 6px; } - -actionbar > revealer > box:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } - -actionbar > revealer > box:backdrop > * { filter: opacity(0.5); transition: filter 200ms ease-out; } - -toolbarview > .top-bar actionbar > revealer > box, toolbarview > .bottom-bar actionbar > revealer > box { background-color: transparent; color: inherit; box-shadow: none; padding-top: 6px; } - -toolbarview > .top-bar actionbar > revealer > box:backdrop, toolbarview > .bottom-bar actionbar > revealer > box:backdrop { background-color: transparent; transition: none; } - -toolbarview > .top-bar actionbar > revealer > box:backdrop > *, toolbarview > .bottom-bar actionbar > revealer > box:backdrop > * { filter: none; transition: none; } - -toolbarview > .top-bar .collapse-spacing actionbar > revealer > box, toolbarview > .bottom-bar .collapse-spacing actionbar > revealer > box { padding-top: 3px; padding-bottom: 3px; } - -/************* AdwBanner * */ -banner > revealer > widget { /* There are 2 more instances in _sidebars.css, keep in sync with that */ background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; padding: 6px; } - -banner > revealer > widget:backdrop { background-color: mix(@accent_bg_color,@window_bg_color,0.85); transition: background-color 200ms ease-out; } - -banner > revealer > widget:backdrop > label, banner > revealer > widget:backdrop > button { filter: opacity(0.5); transition: filter 200ms ease-out; } - -/****************** AdwToolbarView * */ -toolbarview > .top-bar .collapse-spacing, toolbarview > .bottom-bar .collapse-spacing { padding-top: 3px; padding-bottom: 3px; } - -toolbarview > .top-bar.raised, toolbarview > .bottom-bar.raised { background-color: @headerbar_bg_color; color: @headerbar_fg_color; } - -toolbarview > .top-bar.raised:backdrop, toolbarview > .bottom-bar.raised:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } - -toolbarview > .top-bar:backdrop > windowhandle, toolbarview > .bottom-bar:backdrop > windowhandle { filter: opacity(0.5); transition: filter 200ms ease-out; } - -toolbarview > .top-bar.raised { box-shadow: 0 1px alpha(@headerbar_shade_color,0.5), 0 2px 4px alpha(@headerbar_shade_color,0.5); } - -toolbarview > .top-bar.raised.border { box-shadow: 0 1px @headerbar_darker_shade_color; } - -toolbarview > .bottom-bar.raised { box-shadow: 0 -1px alpha(@headerbar_shade_color,0.5), 0 -2px 4px alpha(@headerbar_shade_color,0.5); } - -toolbarview > .bottom-bar.raised.border { box-shadow: 0 -1px @headerbar_darker_shade_color; } - -toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } - -toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@shade_color,0.75); background: linear-gradient(to top, alpha(@shade_color,0.75), transparent 4px); } - -window.devel toolbarview > .top-bar { background-image: cross-fade(5% -gtk-recolor(url("assets/devel-symbolic.svg")), image(transparent)); background-repeat: repeat-x; } - -window.devel dialog toolbarview > .top-bar { background-image: unset; background-repeat: unset; } - -tooltip { padding: 6px 10px; border-radius: 9px; box-shadow: none; } - -tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); color: white; } - -tooltip > box { border-spacing: 6px; } - -.view, window.print .dialog-action-box, textview > text, dialog-host > dialog.view sheet, window.print dialog-host > dialog.dialog-action-box sheet, iconview { color: @view_fg_color; background-color: @view_bg_color; } - -.view:disabled, window.print .dialog-action-box:disabled, textview > text:disabled, dialog-host > dialog.view sheet:disabled, window.print dialog-host > dialog.dialog-action-box sheet:disabled, iconview:disabled { color: alpha(currentColor,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -.view:selected:focus, .view:selected, window.print .dialog-action-box:selected, textview > text:selected, dialog-host > dialog.view sheet:selected, window.print dialog-host > dialog.dialog-action-box sheet:selected, iconview:selected { background-color: alpha(@accent_bg_color,0.25); border-radius: 6px; } - -textview { caret-color: currentColor; } - -textview > text { background-color: transparent; } - -textview > border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } - -textview:drop(active) { caret-color: @accent_bg_color; } - -rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } - -flowbox > flowboxchild, gridview > child { padding: 3px; border-radius: 6px; } - -flowbox > flowboxchild, gridview > child { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -flowbox > flowboxchild:focus:focus-visible, gridview > child:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -flowbox > flowboxchild:selected, gridview > child:selected { background-color: alpha(@accent_bg_color,0.25); } - -gridview > child.activatable:hover { background-color: alpha(currentColor,0.04); } - -gridview > child.activatable:active { background-color: alpha(currentColor,0.08); } - -gridview > child.activatable:selected:hover { background-color: alpha(@accent_bg_color,0.32); } - -gridview > child.activatable:selected:active { background-color: alpha(@accent_bg_color,0.39); } - -viewswitcher { border-spacing: 3px; } - -viewswitcher.narrow { margin-top: -3px; margin-bottom: -3px; min-height: 6px; } - -viewswitcher button.toggle { padding: 0; } - -viewswitcher button.toggle > stack > box.narrow { font-size: 0.75rem; padding-top: 4px; } - -viewswitcher button.toggle > stack > box.narrow > label { min-height: 18px; padding-left: 3px; padding-right: 3px; padding-bottom: 2px; } - -viewswitcher button.toggle > stack > box.wide { padding: 2px 12px; border-spacing: 6px; } - -/********************** AdwViewSwitcherBar * */ -viewswitcherbar actionbar > revealer > box { padding-left: 0; padding-right: 0; padding-top: 7px; } - -toolbarview > .top-bar .collapse-spacing viewswitcherbar actionbar > revealer > box, toolbarview > .bottom-bar .collapse-spacing viewswitcherbar actionbar > revealer > box { padding-top: 6px; } - -/************************ AdwViewSwitcherTitle * */ -viewswitchertitle { margin-top: -6px; margin-bottom: -6px; } - -viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } - -viewswitchertitle viewswitcher.narrow { margin-top: 3px; margin-bottom: 3px; } - -viewswitchertitle viewswitcher.wide { margin-top: 6px; margin-bottom: 6px; } - -viewswitchertitle windowtitle { margin-top: 0; margin-bottom: 0; } - -/******************* AdwIndicatorBin * */ -indicatorbin > indicator, indicatorbin > mask { min-width: 6px; min-height: 6px; border-radius: 100px; } - -indicatorbin > indicator { margin: 1px; background: alpha(currentColor,0.4); } - -indicatorbin > mask { padding: 1px; background: black; } - -indicatorbin.needs-attention > indicator { background: @accent_color; } - -indicatorbin.badge > indicator, indicatorbin.badge > mask { min-height: 13px; } - -indicatorbin.badge > indicator > label { font-size: 0.6rem; font-weight: bold; padding-left: 4px; padding-right: 4px; color: white; } - -indicatorbin.badge.needs-attention > indicator { background: @accent_bg_color; } - -indicatorbin.badge.needs-attention > indicator > label { color: @accent_fg_color; } - -window.csd { box-shadow: 0 1px 3px 3px transparent, 0 2px 8px 2px rgba(0, 0, 0, 0.13), 0 3px 20px 10px rgba(0, 0, 0, 0.09), 0 6px 32px 16px rgba(0, 0, 0, 0.04), 0 0 0 1px rgba(0, 0, 0, 0.05); margin: 0px; border-radius: 12px; outline: 1px solid rgba(255, 255, 255, 0.07); outline-offset: -1px; } - -window.csd:backdrop { box-shadow: 0 1px 3px 3px rgba(0, 0, 0, 0.09), 0 2px 14px 5px rgba(0, 0, 0, 0.05), 0 4px 28px 12px rgba(0, 0, 0, 0.03), 0 6px 32px 16px transparent, 0 0 0 1px rgba(0, 0, 0, 0.02); transition: box-shadow 200ms ease-out; } - -window.csd.dialog.message, window.csd.messagedialog { box-shadow: 0 2px 8px 2px rgba(0, 0, 0, 0.07), 0 3px 20px 10px rgba(0, 0, 0, 0.05), 0 6px 32px 16px rgba(0, 0, 0, 0.02), 0 0 0 1px rgba(0, 0, 0, 0.05); } - -window.csd.tiled, window.csd.tiled-top, window.csd.tiled-left, window.csd.tiled-right, window.csd.tiled-bottom { border-radius: 0; outline: none; box-shadow: 0 0 0 1px alpha(currentColor,0.15), 0 0 0 20px transparent; } - -window.csd.tiled:backdrop, window.csd.tiled-top:backdrop, window.csd.tiled-left:backdrop, window.csd.tiled-right:backdrop, window.csd.tiled-bottom:backdrop { box-shadow: 0 0 0 1px alpha(currentColor,0.15), 0 0 0 20px transparent; } - -window.csd.maximized, window.csd.fullscreen { border-radius: 0; outline: none; box-shadow: none; transition: none; } - -window.solid-csd { margin: 0; padding: 5px; border-radius: 0; box-shadow: inset 0 0 0 5px alpha(currentColor,0.15), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px alpha(currentColor,0.15); } - -window.solid-csd:backdrop { box-shadow: inset 0 0 0 5px alpha(currentColor,0.15), inset 0 0 0 4px @headerbar_backdrop_color, inset 0 0 0 1px alpha(currentColor,0.15); } - -window.ssd { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05); } - -/* Public colors from Default */ -@define-color theme_bg_color @window_bg_color; -@define-color theme_fg_color @window_fg_color; -@define-color theme_base_color @view_bg_color; -@define-color theme_text_color @view_fg_color; -@define-color theme_selected_bg_color @accent_bg_color; -@define-color theme_selected_fg_color @accent_fg_color; -@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); -@define-color insensitive_fg_color alpha(@window_fg_color,0.5); -@define-color insensitive_base_color @view_bg_color; -@define-color borders alpha(currentColor,0.15); -@define-color theme_unfocused_bg_color @window_bg_color; -@define-color theme_unfocused_fg_color @window_fg_color; -@define-color theme_unfocused_base_color @view_bg_color; -@define-color theme_unfocused_text_color @view_fg_color; -@define-color theme_unfocused_selected_bg_color @accent_bg_color; -@define-color theme_unfocused_selected_fg_color @accent_fg_color; -@define-color unfocused_insensitive_color @insensitive_bg_color; -@define-color unfocused_borders alpha(currentColor,0.15); diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css b/config-files/.local/share/themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css deleted file mode 100644 index 070550eb..00000000 --- a/config-files/.local/share/themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css +++ /dev/null @@ -1,50 +0,0 @@ -/* GTK NAMED COLORS ---------------- use responsibly! */ -@define-color accent_bg_color @blue_3; -@define-color accent_fg_color white; -@define-color accent_color #78aeed; -@define-color destructive_bg_color @red_4; -@define-color destructive_fg_color white; -@define-color destructive_color #ff7b63; -@define-color success_bg_color @green_5; -@define-color success_fg_color white; -@define-color success_color @green_1; -@define-color warning_bg_color #cd9309; -@define-color warning_fg_color rgba(0, 0, 0, 0.8); -@define-color warning_color @yellow_2; -@define-color error_bg_color @red_4; -@define-color error_fg_color white; -@define-color error_color #ff7b63; -@define-color window_bg_color #242424; -@define-color window_fg_color white; -@define-color view_bg_color #1e1e1e; -@define-color view_fg_color white; -@define-color headerbar_bg_color #303030; -@define-color headerbar_fg_color white; -@define-color headerbar_border_color white; -@define-color headerbar_backdrop_color @window_bg_color; -@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); -@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); -@define-color sidebar_bg_color #303030; -@define-color sidebar_fg_color white; -@define-color sidebar_backdrop_color #2a2a2a; -@define-color sidebar_shade_color rgba(0, 0, 0, 0.25); -@define-color sidebar_border_color rgba(0, 0, 0, 0.36); -@define-color secondary_sidebar_bg_color #2a2a2a; -@define-color secondary_sidebar_fg_color white; -@define-color secondary_sidebar_backdrop_color #272727; -@define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.25); -@define-color secondary_sidebar_border_color rgba(0, 0, 0, 0.36); -@define-color card_bg_color rgba(255, 255, 255, 0.08); -@define-color card_fg_color white; -@define-color card_shade_color rgba(0, 0, 0, 0.36); -@define-color dialog_bg_color #383838; -@define-color dialog_fg_color white; -@define-color popover_bg_color #383838; -@define-color popover_fg_color white; -@define-color popover_shade_color rgba(0, 0, 0, 0.25); -@define-color thumbnail_bg_color #383838; -@define-color thumbnail_fg_color white; -@define-color shade_color rgba(0, 0, 0, 0.25); -@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); -@import '../gtk-3.0/libadwaita.css'; -@import '../gtk-3.0/libadwaita-tweaks.css'; diff --git a/config-files/.local/share/themes/adw-gtk3-dark/gtk-4.0/gtk.css b/config-files/.local/share/themes/adw-gtk3-dark/gtk-4.0/gtk.css deleted file mode 100644 index 070550eb..00000000 --- a/config-files/.local/share/themes/adw-gtk3-dark/gtk-4.0/gtk.css +++ /dev/null @@ -1,50 +0,0 @@ -/* GTK NAMED COLORS ---------------- use responsibly! */ -@define-color accent_bg_color @blue_3; -@define-color accent_fg_color white; -@define-color accent_color #78aeed; -@define-color destructive_bg_color @red_4; -@define-color destructive_fg_color white; -@define-color destructive_color #ff7b63; -@define-color success_bg_color @green_5; -@define-color success_fg_color white; -@define-color success_color @green_1; -@define-color warning_bg_color #cd9309; -@define-color warning_fg_color rgba(0, 0, 0, 0.8); -@define-color warning_color @yellow_2; -@define-color error_bg_color @red_4; -@define-color error_fg_color white; -@define-color error_color #ff7b63; -@define-color window_bg_color #242424; -@define-color window_fg_color white; -@define-color view_bg_color #1e1e1e; -@define-color view_fg_color white; -@define-color headerbar_bg_color #303030; -@define-color headerbar_fg_color white; -@define-color headerbar_border_color white; -@define-color headerbar_backdrop_color @window_bg_color; -@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); -@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); -@define-color sidebar_bg_color #303030; -@define-color sidebar_fg_color white; -@define-color sidebar_backdrop_color #2a2a2a; -@define-color sidebar_shade_color rgba(0, 0, 0, 0.25); -@define-color sidebar_border_color rgba(0, 0, 0, 0.36); -@define-color secondary_sidebar_bg_color #2a2a2a; -@define-color secondary_sidebar_fg_color white; -@define-color secondary_sidebar_backdrop_color #272727; -@define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.25); -@define-color secondary_sidebar_border_color rgba(0, 0, 0, 0.36); -@define-color card_bg_color rgba(255, 255, 255, 0.08); -@define-color card_fg_color white; -@define-color card_shade_color rgba(0, 0, 0, 0.36); -@define-color dialog_bg_color #383838; -@define-color dialog_fg_color white; -@define-color popover_bg_color #383838; -@define-color popover_fg_color white; -@define-color popover_shade_color rgba(0, 0, 0, 0.25); -@define-color thumbnail_bg_color #383838; -@define-color thumbnail_fg_color white; -@define-color shade_color rgba(0, 0, 0, 0.25); -@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); -@import '../gtk-3.0/libadwaita.css'; -@import '../gtk-3.0/libadwaita-tweaks.css'; diff --git a/config-files/.local/share/themes/adw-gtk3-dark/index.theme b/config-files/.local/share/themes/adw-gtk3-dark/index.theme deleted file mode 100644 index 2ca916c7..00000000 --- a/config-files/.local/share/themes/adw-gtk3-dark/index.theme +++ /dev/null @@ -1,6 +0,0 @@ -[X-GNOME-Metatheme] -Name=adw-gtk3-dark -Type=X-GNOME-Metatheme -Comment=adw-gtk3-dark theme -Encoding=UTF-8 -GtkTheme=adw-gtk3-dark diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/bullet-symbolic.svg b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/bullet-symbolic.svg deleted file mode 100644 index f359a701..00000000 --- a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/bullet-symbolic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/bullet-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/bullet-symbolic.symbolic.png deleted file mode 100644 index 8e6925a5..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/bullet-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/bullet@2-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/bullet@2-symbolic.symbolic.png deleted file mode 100644 index e9df4256..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/bullet@2-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/check-symbolic.svg b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/check-symbolic.svg deleted file mode 100644 index 27c620d4..00000000 --- a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/check-symbolic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/check-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/check-symbolic.symbolic.png deleted file mode 100644 index 9144bcd1..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/check-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/check@2-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/check@2-symbolic.symbolic.png deleted file mode 100644 index c0baa3c1..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/check@2-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/dash-symbolic.svg b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/dash-symbolic.svg deleted file mode 100644 index de3638dd..00000000 --- a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/dash-symbolic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/dash-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/dash-symbolic.symbolic.png deleted file mode 100644 index 3afcfd6f..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/dash-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/dash@2-symbolic.symbolic.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/dash@2-symbolic.symbolic.png deleted file mode 100644 index 9cb59945..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/dash@2-symbolic.symbolic.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png deleted file mode 100644 index bb01fab6..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png deleted file mode 100644 index a9dd44d0..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png deleted file mode 100644 index 774644b8..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png deleted file mode 100644 index b307ea43..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png deleted file mode 100644 index f6a9c363..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png deleted file mode 100644 index bf88b80f..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above.png deleted file mode 100644 index 451b5d92..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png deleted file mode 100644 index 8292a90c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png deleted file mode 100644 index d6fe329f..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png deleted file mode 100644 index c570548c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png deleted file mode 100644 index 55e73d4c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png deleted file mode 100644 index 68a8d1d6..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png deleted file mode 100644 index c3cdf8f0..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png deleted file mode 100644 index 57b52654..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below.png deleted file mode 100644 index 09a3a581..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png deleted file mode 100644 index fd816093..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png deleted file mode 100644 index 02645ecb..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png deleted file mode 100644 index 748f160c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png deleted file mode 100644 index fc30edaf..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png deleted file mode 100644 index bc69354a..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png deleted file mode 100644 index 2028ef77..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png deleted file mode 100644 index daef0668..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above.png deleted file mode 100644 index f7d335a4..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png deleted file mode 100644 index 496101b9..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png deleted file mode 100644 index dc07324b..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png deleted file mode 100644 index eba7322c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png deleted file mode 100644 index 312d33a3..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png deleted file mode 100644 index a80fa899..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png deleted file mode 100644 index bf546b1c..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png deleted file mode 100644 index 743e0448..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below.png deleted file mode 100644 index 0c191431..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png deleted file mode 100644 index bb94b0d8..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-dark.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-dark.png deleted file mode 100644 index ef29a0d4..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-dark@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-dark@2.png deleted file mode 100644 index cbd5b7b5..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-light.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-light.png deleted file mode 100644 index 58c01fd1..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-light.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-light@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-light@2.png deleted file mode 100644 index 188c227e..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/tab-border-light@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end-dark.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end-dark.png deleted file mode 100644 index 534dbb3a..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end-dark@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end-dark@2.png deleted file mode 100644 index 43da0e4f..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end.png deleted file mode 100644 index 84e80deb..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end@2.png deleted file mode 100644 index 2661b187..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-end@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start-dark.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start-dark.png deleted file mode 100644 index 30973689..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start-dark.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start-dark@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start-dark@2.png deleted file mode 100644 index d1c18539..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start-dark@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start.png deleted file mode 100644 index 28634f0b..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start@2.png b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start@2.png deleted file mode 100644 index 306e9546..00000000 Binary files a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/assets/text-select-start@2.png and /dev/null differ diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/gtk-dark.css b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/gtk-dark.css deleted file mode 100644 index 936a5763..00000000 --- a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/gtk-dark.css +++ /dev/null @@ -1,3249 +0,0 @@ -@define-color blue_1 #99c1f1; -@define-color blue_2 #62a0ea; -@define-color blue_3 #3584e4; -@define-color blue_4 #1c71d8; -@define-color blue_5 #1a5fb4; -@define-color green_1 #8ff0a4; -@define-color green_2 #57e389; -@define-color green_3 #33d17a; -@define-color green_4 #2ec27e; -@define-color green_5 #26a269; -@define-color yellow_1 #f9f06b; -@define-color yellow_2 #f8e45c; -@define-color yellow_3 #f6d32d; -@define-color yellow_4 #f5c211; -@define-color yellow_5 #e5a50a; -@define-color orange_1 #ffbe6f; -@define-color orange_2 #ffa348; -@define-color orange_3 #ff7800; -@define-color orange_4 #e66100; -@define-color orange_5 #c64600; -@define-color red_1 #f66151; -@define-color red_2 #ed333b; -@define-color red_3 #e01b24; -@define-color red_4 #c01c28; -@define-color red_5 #a51d2d; -@define-color purple_1 #dc8add; -@define-color purple_2 #c061cb; -@define-color purple_3 #9141ac; -@define-color purple_4 #813d9c; -@define-color purple_5 #613583; -@define-color brown_1 #cdab8f; -@define-color brown_2 #b5835a; -@define-color brown_3 #986a44; -@define-color brown_4 #865e3c; -@define-color brown_5 #63452c; -@define-color light_1 #ffffff; -@define-color light_2 #f6f5f4; -@define-color light_3 #deddda; -@define-color light_4 #c0bfbc; -@define-color light_5 #9a9996; -@define-color dark_1 #77767b; -@define-color dark_2 #5e5c64; -@define-color dark_3 #3d3846; -@define-color dark_4 #241f31; -@define-color dark_5 #000000; -@define-color accent_bg_color @blue_3; -@define-color accent_fg_color white; -@define-color accent_color #78aeed; -@define-color destructive_bg_color @red_4; -@define-color destructive_fg_color white; -@define-color destructive_color #ff7b63; -@define-color success_bg_color @green_5; -@define-color success_fg_color white; -@define-color success_color @green_1; -@define-color warning_bg_color #cd9309; -@define-color warning_fg_color rgba(0, 0, 0, 0.8); -@define-color warning_color @yellow_2; -@define-color error_bg_color @red_4; -@define-color error_fg_color white; -@define-color error_color #ff7b63; -@define-color window_bg_color #242424; -@define-color window_fg_color white; -@define-color view_bg_color #1e1e1e; -@define-color view_fg_color white; -@define-color headerbar_bg_color #303030; -@define-color headerbar_fg_color white; -@define-color headerbar_border_color white; -@define-color headerbar_backdrop_color @window_bg_color; -@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); -@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); -@define-color sidebar_bg_color #303030; -@define-color sidebar_fg_color white; -@define-color sidebar_backdrop_color #2a2a2a; -@define-color sidebar_shade_color rgba(0, 0, 0, 0.25); -@define-color sidebar_border_color rgba(0, 0, 0, 0.36); -@define-color card_bg_color rgba(255, 255, 255, 0.08); -@define-color card_fg_color white; -@define-color card_shade_color rgba(0, 0, 0, 0.36); -@define-color dialog_bg_color #383838; -@define-color dialog_fg_color white; -@define-color popover_bg_color #383838; -@define-color popover_fg_color white; -@define-color popover_shade_color rgba(0, 0, 0, 0.25); -@define-color thumbnail_bg_color #383838; -@define-color thumbnail_fg_color white; -@define-color shade_color rgba(0, 0, 0, 0.25); -@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); -@define-color incognito_bg_color #1c2438; -@define-color new_title_bg_color #303030; -* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: @error_bg_color; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 4px; -gtk-secondary-caret-color: @accent_bg_color; } - -.background { color: @window_fg_color; background-color: @window_bg_color; } - -.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; } - -*:disabled { -gtk-icon-effect: dim; } - -.gtkstyle-fallback { color: @window_fg_color; background-color: @window_bg_color; } - -.gtkstyle-fallback:hover { color: @window_fg_color; background-color: shade(@window_bg_color,1.1); } - -.gtkstyle-fallback:active { color: @window_fg_color; background-color: shade(@window_bg_color,0.9); } - -.gtkstyle-fallback:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -.gtkstyle-fallback:selected { color: @accent_fg_color; background-color: @accent_bg_color; } - -.view, iconview, .nautilus-window notebook, .nautilus-window notebook > stack:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar, .view text, iconview text, textview text { color: @view_fg_color; caret-color: shade(@view_fg_color,0.97); background-color: @view_bg_color; } - -.view:disabled, iconview:disabled, .nautilus-window notebook:disabled, .nautilus-window notebook > stack:disabled:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -.view:selected:focus, .view:selected, iconview:selected, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected, iconview text:selected, textview text:selected { background-color: alpha(@accent_bg_color,0.25); border-radius: 6px; } - -textview border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } - -.rubberband, rubberband, XfdesktopIconView.view .rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } - -flowbox flowboxchild { padding: 3px; } - -flowbox flowboxchild:selected { outline-offset: -2px; } - -.content-view .tile { margin: 2px; background-color: black; border-radius: 0; padding: 0; } - -.content-view .tile:backdrop { background-color: mix(black,@window_bg_color,0.95); } - -.content-view .tile:active, .content-view .tile:selected { background-color: @accent_bg_color; } - -.content-view .tile:disabled { background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -label { caret-color: currentColor; } - -label selection { background-color: @accent_bg_color; color: @accent_fg_color; } - -label:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -button label:disabled { color: inherit; } - -label:disabled:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -button label:disabled:backdrop { color: inherit; } - -label.error { color: @error_bg_color; } - -label.error:disabled { color: alpha(@error_bg_color,0.5); } - -label.error:disabled:backdrop { color: alpha(@error_bg_color,0.4); } - -.dim-label, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, .welcome .dim-label, .welcome label.separator, .welcome headerbar .subtitle, headerbar .welcome .subtitle, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; } - -assistant.csd .sidebar { border-top-style: none; } - -assistant .sidebar label { padding: 6px 12px; } - -assistant .sidebar label.highlight { background-color: mix(@window_bg_color,@window_fg_color,0.2); } - -.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } - -@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } } - -spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } - -spinner:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -spinner:checked { opacity: 1; animation: spin 1s linear infinite; } - -spinner:checked:disabled { opacity: 0.5; } - -.large-title { font-weight: 300; font-size: 24pt; } - -.title-1 { font-weight: 800; font-size: 20pt; } - -.title-2 { font-weight: 800; font-size: 15pt; } - -.title-3 { font-weight: 700; font-size: 15pt; } - -.title-4 { font-weight: 700; font-size: 13pt; } - -.heading { font-weight: 700; font-size: 11pt; } - -.body { font-weight: 400; font-size: 11pt; } - -.caption-heading { font-weight: 700; font-size: 9pt; } - -.caption { font-weight: 400; font-size: 9pt; } - -spinbutton:not(.vertical), entry { min-height: 34px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: @view_fg_color; border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.903); box-shadow: inset 0 0 0 1px alpha(alpha(@accent_color,0.5),0); } - -spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; } - -spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; } - -spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } - -spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); border-color: alpha(@accent_color,0.5); transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton:disabled:not(.vertical), entry:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); } - -spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; border-color: @error_bg_color; } - -spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton.error:not(.vertical) selection, entry.error selection { background-color: @error_bg_color; } - -spinbutton.warning:not(.vertical), entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } - -spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: @warning_bg_color; } - -spinbutton:not(.vertical) image, entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } - -spinbutton:not(.vertical) image:hover, entry image:hover { color: @window_fg_color; } - -spinbutton:not(.vertical) image:active, entry image:active { color: @accent_bg_color; } - -spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: @accent_bg_color; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } - -.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: @error_bg_color; } - -.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: @accent_bg_color; } - -.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } - -.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.7); } - -.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: alpha(@accent_color,0.5); } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: @error_bg_color; } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: @accent_bg_color; } - -.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: alpha(@accent_color,0.5); } - -.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: @error_bg_color; } - -.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: @accent_bg_color; } - -spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; } - -treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } - -treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } - -treeview entry.flat:focus, treeview entry:focus { border-color: @accent_bg_color; } - -.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: @view_bg_color; background-color: mix(@window_fg_color,@view_bg_color,0.5); } - -:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; } - -:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; } - -.entry-tag:hover { background-color: mix(white,mix(@window_fg_color,@view_bg_color,0.5),0.9); } - -:backdrop .entry-tag { color: @window_bg_color; background-color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -.entry-tag.button { background-color: transparent; color: alpha(@view_bg_color,0.7); } - -:not(:backdrop) .entry-tag.button:hover { border: 1px solid mix(@window_fg_color,@view_bg_color,0.5); color: @view_bg_color; } - -:not(:backdrop) .entry-tag.button:active { background-color: mix(@window_fg_color,@view_bg_color,0.5); color: alpha(@view_bg_color,0.7); } - -@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(mix(white,@accent_bg_color,0.85)), to(transparent)); } - to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); } } - -notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 10px; border: 1px solid; border-color: transparent; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); font-weight: bold; outline-style: solid; outline-offset: -2px; outline-width: 2px; -gtk-outline-radius: 4px; color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } - -button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition: none; } - -button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; } - -button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -notebook > header > tabs > arrow:hover, button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; -gtk-icon-effect: highlight; } - -notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; } - -notebook > header > tabs > arrow:active:hover, notebook > header > tabs > arrow:checked:hover, button:active:hover, button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { transition: 200ms ease-out; -gtk-icon-effect: none; } - -button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -notebook > header > tabs > arrow:disabled, button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } - -notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 4px; padding-right: 4px; } - -notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 10px; padding-right: 10px; } - -notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 4px; padding-right: 4px; } - -notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 4px; padding-right: 4px; } - -combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: @window_fg_color; border-color: transparent; } - -button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); border-radius: 5px; color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd.image-button { min-width: 34px; } - -button.osd:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd:active, button.osd:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd:disabled:backdrop, button.osd:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } - -button.osd:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } - -.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; border-color: transparent; box-shadow: none; } - -.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -button.suggested-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } - -button.suggested-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @accent_bg_color; } - -button.suggested-action:hover { color: white; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } - -button.suggested-action:active, button.suggested-action:checked { color: white; background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.suggested-action:active:hover, button.suggested-action:checked:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } - -button.suggested-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@accent_bg_color,0.8); } - -button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: mix(white,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } - -.osd button.suggested-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd button.suggested-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@accent_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.destructive-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } - -button.destructive-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @destructive_bg_color; } - -button.destructive-action:hover { color: white; background-color: mix(currentColor,@destructive_bg_color,0.85); box-shadow: none; } - -button.destructive-action:active, button.destructive-action:checked { color: white; background-color: mix(currentColor,@destructive_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.destructive-action:active:hover, button.destructive-action:checked:hover { background-color: mix(currentColor,@destructive_bg_color,0.653); } - -button.destructive-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@destructive_bg_color,0.8); } - -button.destructive-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: mix(white,shade(mix(@destructive_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; } - -.osd button.destructive-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd button.destructive-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@destructive_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.stack-switcher > button { outline-offset: -3px; } - -.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: 2px; padding-right: 2px; } - -.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; } - -button.font separator, button.file separator { background-color: transparent; } - -button.font > box > box > label { font-weight: bold; } - -.primary-toolbar button { -gtk-icon-shadow: none; } - -button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; } - -button.circular label { padding: 0; } - -button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); border-color: transparent; } - -button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: transparent; } - -stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } - -stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } - -.inline-toolbar toolbutton > button { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } - -.inline-toolbar toolbutton > button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } - -.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:active:hover, .inline-toolbar toolbutton > button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -.inline-toolbar toolbutton > button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.inline-toolbar toolbutton > button:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; } - -.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:first-child, headerbar .linked button:first-child:not(:only-child), .titlebar .linked button:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-left-color: transparent; border-top-left-radius: 6px; border-bottom-left-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-bottom-left-radius: 6px; } - -.linked:not(.vertical) > combobox:first-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):last-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:not(button):focus:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:first-child, headerbar .linked button:not(button):focus:first-child:not(:only-child), .titlebar .linked button:not(button):focus:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:first-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:first-child, .inline-toolbar button:not(button):focus:first-child, .linked > button:not(button):focus:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat:not(button):focus { border-left-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:last-child, headerbar .linked button:last-child:not(:only-child), .titlebar .linked button:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-color: transparent; border-right-style: solid; border-top-right-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-top-right-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } - -.linked:not(.vertical) > combobox:last-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):first-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:not(button):focus:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:last-child, headerbar .linked button:not(button):focus:last-child:not(:only-child), .titlebar .linked button:not(button):focus:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:last-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:last-child, .inline-toolbar button:not(button):focus:last-child, .linked > button:not(button):focus:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat:not(button):focus { border-right-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .xfce4-panel.background button menu .linked button:only-child, .nautilus-window .titlebar :not(.raised) .linked > button:only-child, headerbar .linked button:only-child:not(:only-child), .titlebar .linked button:only-child:not(:only-child), .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } - -.xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); } - -.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); border-style: solid none none none; border-radius: 0; -gtk-outline-radius: 0; } - -.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-color: transparent; border-top-left-radius: 6px; border-top-right-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-top-right-radius: 6px; } - -.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-color: transparent; border-bottom-style: solid; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-bottom-left-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } - -.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } - -.linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); } - -.scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -modelbutton.flat, .menuitem.button.flat { min-height: 32px; padding-left: 5px; padding-right: 5px; border-radius: 6px; outline-offset: -2px; } - -modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: alpha(currentColor,0.1); } - -modelbutton.flat:selected, .menuitem.button.flat:selected { background-color: alpha(currentColor,0.1); } - -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 { padding: 4px; } - -button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; } - -list row button.image-button:not(.flat):hover { background-color: alpha(currentColor,0.04); } - -list row button.image-button:not(.flat):active { background-color: alpha(currentColor,0.08); } - -list row button.image-button:not(.flat):checked { background-color: alpha(@accent_bg_color,0.25); } - -list row button.image-button:not(.flat):checked:hover { background-color: alpha(@accent_bg_color,0.32); } - -list row button.image-button:not(.flat):checked:active { background-color: alpha(@accent_bg_color,0.39); } - -button:link > label, button:visited > label, button:link, button:visited, *:link { color: @accent_color; } - -button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: mix(@accent_color,@view_fg_color,0.2); } - -*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: mix(@accent_fg_color,mix(@accent_color,@view_fg_color,0.2),0.4); } - -button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: mix(white,@accent_color,0.9); } - -*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: mix(@accent_fg_color,mix(white,@accent_color,0.9),0.1); } - -button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: @accent_color; } - -*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: mix(@accent_fg_color,@accent_color,0.2); } - -button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: alpha(@accent_color,0.9); } - -button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: alpha(mix(white,black,0.5),0.8); } - -.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: mix(@accent_fg_color,@accent_color,0.2); } - -button:link, button:visited { text-shadow: none; font-weight: 400; } - -button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; } - -button:link > label, button:visited > label { text-decoration-line: underline; } - -spinbutton { font-feature-settings: "tnum"; } - -spinbutton:not(.vertical) { padding: 0; } - -.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; } - -spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; } - -spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: mix(@window_fg_color,@view_bg_color,0.1); background-color: transparent; border-style: none none none solid; border-color: alpha(currentColor,0.15); border-radius: 0; box-shadow: none; } - -spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } - -spinbutton:not(.vertical) button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-color: alpha(currentColor,0.1); } - -spinbutton:not(.vertical) button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: transparent; } - -spinbutton:not(.vertical) button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: alpha(currentColor,0.15); } - -spinbutton:not(.vertical) button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } - -spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } - -.osd spinbutton:not(.vertical) button { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-style: none none none solid; border-color: alpha(rgba(0, 0, 0, 0.9),0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } - -.osd spinbutton:not(.vertical) button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); background-color: alpha(rgba(255, 255, 255, 0.9),0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } - -.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } - -spinbutton.vertical:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; } - -spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; } - -spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; } - -spinbutton.vertical button.up { border-color: alpha(currentColor,0.15); border-radius: 6px 6px 0 0; border-style: none none solid none; } - -spinbutton.vertical button.down { border-color: alpha(currentColor,0.15); border-radius: 0 0 6px 6px; border-style: solid none none none; } - -.osd spinbutton.vertical button:first-child { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd spinbutton.vertical button:first-child:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } - -treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; } - -combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } - -combobox:drop(active) { box-shadow: none; } - -searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: @window_bg_color; } - -searchbar > revealer > box:backdrop, .location-bar:backdrop, .inline-toolbar:backdrop, toolbar:backdrop { background-color: @window_bg_color; } - -toolbar { padding: 4px 3px 3px 4px; } - -.osd toolbar { background-color: transparent; } - -toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(0, 0, 0, 0.7); } - -toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; } - -toolbar.horizontal separator { margin: 0 7px 1px 6px; } - -toolbar.vertical separator { margin: 6px 1px 7px 0; } - -toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; } - -.inline-toolbar { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); border-style: solid; padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; } - -searchbar > revealer > box, .location-bar { border-width: 0 0 1px; border-style: solid; border-color: mix(currentColor,@window_bg_color,0.85); padding: 3px; } - -searchbar > revealer > box { margin: -6px; padding: 6px; } - -.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: @headerbar_shade_color; border-radius: 0; background: @headerbar_bg_color linear-gradient(to top, @headerbar_bg_color, @headerbar_bg_color); } - -.titlebar:backdrop:not(headerbar), headerbar:backdrop { background-color: @headerbar_backdrop_color; background-image: none; transition: 200ms ease-out; } - -.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } - -.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } - -.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.7); background: @accent_bg_color linear-gradient(to top, @accent_bg_color, @accent_bg_color); } - -.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: @accent_bg_color; background-image: none; box-shadow: inset 0 1px mix(alpha(@window_fg_color,0.07),@accent_bg_color,0.4); } - -.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: @accent_fg_color; } - -.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } - -.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:active:hover, .selection-mode .titlebar:not(headerbar) button:checked:hover, .selection-mode.titlebar:not(headerbar) button:active:hover, .selection-mode.titlebar:not(headerbar) button:checked:hover, .selection-mode headerbar button:active:hover, .selection-mode headerbar button:checked:hover, .selection-mode headerbar button.toggle:checked:hover, .selection-mode headerbar button.toggle:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.toggle:checked:hover, headerbar.selection-mode button.toggle:active:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } - -.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { color: mix(@accent_fg_color,@accent_bg_color,0.2); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; -gtk-icon-effect: none; border-color: transparent; } - -.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); } - -.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode headerbar button.suggested-action:active:hover, headerbar.selection-mode button.suggested-action:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: alpha(@accent_bg_color,0); background-color: alpha(@accent_bg_color,0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; } - -.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; } - -.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: alpha(@accent_fg_color,0.5); -gtk-icon-shadow: none; } - -.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; } - -.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 36px; padding: 0 6px 0 6px; } - -.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { border-radius: 100%; background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:hover, headerbar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:active, headerbar.default-decoration button.titlebutton:hover:active, headerbar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop, headerbar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop:hover, headerbar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } - -.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; } - -.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; } - -headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; } - -headerbar switch { margin-top: 9px; margin-bottom: 9px; } - -headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; } - -.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; } - -window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 12px; } - -window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 12px; } - -window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; } - -window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; } - -.titlebar:not(headerbar) separator { background-color: mix(currentColor,@window_bg_color,0.85); } - -.titlebar:not(headerbar) separator:backdrop { background-color: mix(currentColor,@window_bg_color,0.73); } - -window.devel headerbar.titlebar:not(.selection-mode) { background: @window_bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, alpha(@accent_bg_color,0.1)), linear-gradient(to top, mix(white,@headerbar_bg_color,0.97) 3px, mix(white,@headerbar_bg_color,0.95)); } - -window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: @headerbar_backdrop_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(@headerbar_backdrop_color); } - -.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; } - -.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; } - -.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; } - -.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; } - -.path-bar button image { padding-left: 4px; padding-right: 4px; } - -.path-bar button.slider-button { padding-left: 0; padding-right: 0; } - -treeview.view { border-left-color: mix(@window_fg_color,@view_bg_color,0.5); border-top-color: @window_bg_color; } - -* { -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:selected:focus, treeview.view:selected { border-radius: 0; } - -treeview.view:selected:backdrop, treeview.view:selected { border-left-color: mix(@accent_fg_color,@accent_bg_color,0.5); border-top-color: alpha(@window_fg_color,0.1); } - -treeview.view:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -treeview.view:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.6); } - -treeview.view:disabled:selected:backdrop { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.7); } - -treeview.view.separator { min-height: 2px; color: @window_bg_color; } - -treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: mix(black,@accent_bg_color,0.7); } - -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-end-symbolic"); color: mix(@view_fg_color,@view_bg_color,0.3); } - -treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -treeview.view.expander:hover { color: @view_fg_color; } - -treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -treeview.view.progressbar { background-color: @accent_bg_color; background-image: image(@accent_bg_color); box-shadow: none; } - -treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); background-image: image(@view_bg_color); } - -treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { background-color: @window_bg_color; } - -treeview.view.progressbar:backdrop { border-color: @window_bg_color; background-image: none; box-shadow: none; } - -treeview.view.trough { background-color: alpha(@window_fg_color,0.1); } - -treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: mix(black,@accent_bg_color,0.9); } - -treeview.view header button { color: mix(@window_fg_color,@view_bg_color,0.5); background-color: @view_bg_color; font-weight: bold; font-size: smaller; text-shadow: none; box-shadow: none; } - -treeview.view header button:hover { color: mix(mix(@window_fg_color,@view_bg_color,0.5),@window_fg_color,0.5); box-shadow: none; transition: none; } - -treeview.view header button:active { color: @window_fg_color; transition: none; } - -treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: @view_bg_color; background-image: none; background-color: @accent_bg_color; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px @view_bg_color; text-shadow: none; transition: none; } - -treeview.view acceleditor > label { background-color: @accent_bg_color; } - -treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none; border-radius: 0; text-shadow: none; } - -treeview.view header button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } - -treeview.view header button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -treeview.view header button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -treeview.view header button:disabled { border-color: @window_bg_color; background-image: none; } - -treeview.view header button:last-child { border-right-style: none; } - -menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0; } - -menubar:backdrop, .menubar:backdrop { background-color: @window_bg_color; } - -menubar > menuitem, .menubar > menuitem { border-radius: 6px; min-height: 16px; padding: 4px 8px; } - -menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 8px; padding: 6px; } - -menubar > menuitem menu:dir(rtl) menuitem, menubar > menuitem menu:dir(ltr) menuitem, .menubar > menuitem menu:dir(rtl) menuitem, .menubar > menuitem menu:dir(ltr) menuitem { border-radius: 6px; } - -menubar > menuitem:hover, .menubar > menuitem:hover { background-color: alpha(currentColor,0.1); } - -menubar > menuitem:disabled, .menubar > menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); box-shadow: none; } - -menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 8px; } - -.background.popup { background-color: transparent; } - -menu, .menu, .context-menu { margin: 4px; padding: 6px; background-color: @popover_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -menu separator, .menu separator, .context-menu separator { margin: 6px 0; } - -.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 8px; } - -menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; font-weight: normal; border-radius: 6px; } - -menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: @window_fg_color; background-color: alpha(currentColor,0.1); } - -menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -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: 10px; } - -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: 10px; } - -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 { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; min-height: 16px; min-width: 16px; padding: 4px; background-color: @popover_bg_color; border-radius: 0; } - -menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-top-right-radius: 8px; border-top-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: mix(@window_fg_color,@view_bg_color,0.9); } - -menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; } - -menuitem accelerator { color: alpha(currentColor,0.55); } - -menuitem check, menuitem radio { min-height: 16px; min-width: 16px; } - -menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; } - -menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; } - -popover.background { padding: 2px; background-color: @popover_bg_color; box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 8px 3px rgba(0, 0, 0, 0.05); } - -.csd popover.background, popover.background { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-radius: 12px; } - -.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.14); } - -popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; } - -.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); } - -popover.background separator { margin: 6px 0; } - -popover.background list separator { margin: 0px; } - -notebook > header { padding: 0px; border-color: alpha(currentColor,0.15); border-width: 0px; background-color: @window_bg_color; box-shadow: none; } - -notebook > header.top { box-shadow: inset 0 -1px alpha(currentColor,0.15); } - -notebook > header.bottom { box-shadow: inset 0 1px alpha(currentColor,0.15); } - -notebook > header.left { box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -notebook > header.right { box-shadow: inset 1px 0 alpha(currentColor,0.15); } - -notebook > header tabs { margin: 0px; } - -notebook > header.top { border-bottom-style: solid; } - -notebook > header.top > tabs { margin-bottom: 0px; } - -notebook > header.top > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } - -notebook > header.top > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.top > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 -4px @accent_bg_color; } - -notebook > header.bottom { border-top-style: solid; } - -notebook > header.bottom > tabs { margin-top: 0px; } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 4px @accent_bg_color; } - -notebook > header.left { border-right-style: solid; } - -notebook > header.left > tabs { margin-right: 0px; } - -notebook > header.left > tabs > tab:not(.reorderable-page):hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } - -notebook > header.left > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.left > tabs > tab:not(.reorderable-page):checked { box-shadow: inset -4px 0 @accent_bg_color; } - -notebook > header.right { border-left-style: solid; } - -notebook > header.right > tabs { margin-left: 0px; } - -notebook > header.right > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } - -notebook > header.right > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.right > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 4px 0 @accent_bg_color; } - -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 { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } - -notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } - -notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -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 { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } - -notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; } - -notebook > header > tabs > arrow:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: @window_fg_color; font-weight: normal; border-width: 0px; border-color: transparent; } - -notebook > header tab.reorderable-page { background-color: mix(currentColor,@window_bg_color,0.99); box-shadow: inset -1px -1px alpha(currentColor,0.15); border: none; } - -notebook > header tab:hover { color: @window_fg_color; } - -notebook > header tab:hover.reorderable-page { border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.963); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(currentColor,0.15); transition: background-color 150ms ease-in-out; } - -notebook > header tab:hover.reorderable-page:backdrop { background-color: mix(currentColor,@window_bg_color,1.017); } - -notebook > header tab:backdrop.reorderable-page { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.4); border-color: transparent; background-color: mix(currentColor,@window_bg_color,1.07); box-shadow: inset -1px -1px alpha(currentColor,0.15); } - -notebook > header tab:checked { color: @window_fg_color; } - -notebook > header tab:checked.reorderable-page { border-width: 0; border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px @accent_bg_color; } - -notebook > header tab:checked.reorderable-page:hover { background-color: shade(mix(currentColor,@window_bg_color,0.943),1.11); } - -notebook > header tab:backdrop:checked.reorderable-page { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: alpha(currentColor,0.15); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(@accent_bg_color,0.5); background-color: @window_bg_color; } - -notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; border-radius: 100%; } - -notebook > header tab button.flat:hover { color: currentColor; background-color: alpha(currentColor,0.15); } - -notebook > header tab button.flat:active { background-color: alpha(currentColor,0.3); } - -notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); } - -notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } - -notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } - -notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 0px; padding-right: 0px; } - -notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } - -notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; } - -notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; } - -notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; } - -notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; margin-left: 0px; margin-right: 0px; } - -notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } - -notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; } - -notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; } - -notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; } - -notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: none solid; margin-top: 0px; margin-bottom: 0px; } - -notebook > header.top tab { padding-bottom: 4px; } - -notebook > header.bottom tab { padding-top: 4px; } - -notebook > stack:not(:only-child) { background-color: @view_bg_color; } - -scrollbar { background-color: @view_bg_color; transition: all 200ms linear; } - -* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; } - -scrollbar slider { color: @window_fg_color; min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: alpha(currentColor,0.2); transition: all 200ms linear; } - -scrollbar slider:hover { background-color: alpha(currentColor,0.4); } - -scrollbar slider:hover:active { background-color: alpha(currentColor,0.6); } - -scrollbar slider:disabled { background-color: transparent; } - -scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: alpha(@accent_color,0.6); } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; transition-property: background-color, min-height, min-width; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: @window_fg_color; border: 1px solid black; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: @window_fg_color; background-clip: padding-box; border-radius: 100%; border: 1px solid black; -gtk-icon-source: none; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { margin: 0 2px; min-width: 40px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { margin: 1px 2px; min-width: 5px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { margin: 2px 0; min-height: 40px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { margin: 2px 1px; min-height: 5px; } - -scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; } - -scrollbar.horizontal slider { min-width: 40px; } - -scrollbar.vertical slider { min-height: 40px; } - -scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } - -scrollbar button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.4); } - -scrollbar button:active, scrollbar button:checked { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.6); } - -scrollbar button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } - -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"); } - -treeview ~ scrollbar.vertical { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); margin-top: -1px; } - -switch { outline-offset: -4px; padding: 3px; border-radius: 14px; color: @window_fg_color; background-color: alpha(currentColor,0.15); } - -switch:hover:not(:checked) { background-color: alpha(currentColor,0.2); } - -switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } - -switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } - -switch:checked:hover:active { background-image: image(rgba(0, 0, 0, 0.2)); } - -switch:checked:disabled { background-color: alpha(@accent_bg_color,0.5); } - -switch:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; } - -switch slider { margin: 0px; min-width: 20px; min-height: 20px; background-color: mix(white,@view_bg_color,0.2); border: 1px solid transparent; border-radius: 50%; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; } - -switch image { color: transparent; } - -switch:hover slider { background-color: white; } - -switch:checked > slider { background-color: white; } - -switch:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: none; } - -.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), .content-view:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.7); background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; } - -checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; } - -checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; } - -check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 2px solid; -gtk-icon-source: none; padding: 1px; } - -check:only-child, radio:only-child { margin: 0; } - -popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; } - -popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; } - -check, radio { background-clip: padding-box; background-image: image(transparent); border-color: alpha(currentColor,0.15); box-shadow: none; color: @window_fg_color; } - -check:hover:not(:checked):not(:indeterminate), radio:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:active, radio:active { box-shadow: none; } - -check:disabled, radio:disabled { box-shadow: none; background-image: image(transparent); color: alpha(@window_fg_color,0.5); border-color: alpha(currentColor,0.15); } - -check:checked, radio:checked { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } - -check:checked:hover:not(:checked):not(:indeterminate), radio:checked:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:checked:active, radio:checked:active { box-shadow: none; } - -check:checked:disabled, radio:checked:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } - -check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } - -check:indeterminate:hover:not(:checked):not(:indeterminate), radio:indeterminate:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:indeterminate:active, radio:indeterminate:active { box-shadow: none; } - -check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } - -.osd check, .osd radio { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:hover, .osd radio:hover { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:active, .osd radio:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:backdrop, .osd radio:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd check:disabled, .osd radio:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -menu menuitem check, menu menuitem radio { margin: 0; padding: 0; } - -menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:not(:checked), menu menuitem check:not(:checked):hover, menu menuitem check:not(:checked):disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:not(:checked), menu menuitem radio:not(:checked):hover, menu menuitem radio:not(:checked):disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; padding: 1px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-width: 1px; border-color: mix(currentColor,transparent,0.4); } - -check { border-radius: 6px; } - -check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } - -check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } - -menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled { border: none; } - -treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; } - -treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } - -treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } - -menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } - -treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: @accent_fg_color; } - -progressbar trough, scale fill, scale trough { border-radius: 6px; background-color: alpha(currentColor,0.15); } - -progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: alpha(alpha(currentColor,0.15),0.5); } - -row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: mix(black,@accent_bg_color,0.7); } - -.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.7); } - -.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(0, 0, 0, 0.65); } - -progressbar progress, scale highlight { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } - -progressbar progress:disabled, scale highlight:disabled { background-color: mix(@accent_bg_color,@view_bg_color,0.5); border-color: transparent; } - -row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: mix(black,@accent_bg_color,0.7); } - -.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.9); } - -.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; } - -scale { min-height: 10px; min-width: 10px; padding: 12px; } - -scale slider { min-height: 18px; min-width: 18px; margin: -9px; } - -scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; } - -scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; } - -scale.fine-tune slider { margin: -6px; } - -scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; } - -scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; } - -scale.horizontal trough { min-height: 4px; } - -scale.vertical trough { min-width: 4px; } - -scale fill:backdrop, scale fill { background-color: mix(currentColor,@window_bg_color,0.85); } - -scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; } - -.osd scale fill { background-color: mix(rgba(255, 255, 255, 0.9),rgba(0, 0, 0, 0.9),0.75); } - -.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; } - -scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; } - -scale slider:hover { background-color: white; } - -scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } - -scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15); } - -scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } - -row:selected scale slider:disabled, row:selected scale slider { border-color: mix(black,@accent_bg_color,0.7); } - -.osd scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; } - -.osd scale slider:hover { background-color: white; } - -.osd scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } - -.osd scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2); } - -.osd scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } - -scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; } - -scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; } - -scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; } - -scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; } - -scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; } - -scale.vertical marks.top { margin-right: 6px; margin-left: -12px; } - -scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; } - -scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; } - -scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; } - -scale.horizontal indicator { min-height: 6px; min-width: 1px; } - -scale.horizontal.fine-tune indicator { min-height: 3px; } - -scale.vertical indicator { min-height: 1px; min-width: 6px; } - -scale.vertical.fine-tune indicator { min-width: 3px; } - -scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:hover, scale.horizontal.marks-before:not(.marks-after) slider:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:hover:hover, scale.horizontal.marks-before:not(.marks-after) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:hover, scale.horizontal.marks-after:not(.marks-before) slider:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:hover:hover, scale.horizontal.marks-after:not(.marks-before) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:hover, scale.vertical.marks-before:not(.marks-after) slider:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:hover:hover, scale.vertical.marks-before:not(.marks-after) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:hover, scale.vertical.marks-after:not(.marks-before) slider:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:hover:hover, scale.vertical.marks-after:not(.marks-before) slider:hover:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:disabled:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:active { 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).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.color { min-height: 0; min-width: 0; } - -scale.color trough { background-image: image(mix(currentColor,@window_bg_color,0.85)); background-repeat: no-repeat; } - -scale.color.horizontal { padding: 0 0 15px 0; } - -scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; } - -scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; } - -scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; } - -scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; } - -scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } - -scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; } - -scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; } - -scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } - -scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; } - -scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; } - -scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; } - -scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; } - -scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; } - -scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } - -scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; } - -scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; } - -scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } - -progressbar { font-size: smaller; color: alpha(@window_fg_color,0.4); font-feature-settings: "tnum"; } - -progressbar.horizontal trough, progressbar.horizontal progress { min-height: 8px; } - -progressbar.vertical trough, progressbar.vertical progress { min-width: 8px; } - -progressbar.horizontal progress { margin: 0 -1px; } - -progressbar.vertical progress { margin: -1px 0; } - -progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; } - -progressbar progress { border-radius: 8px; } - -progressbar progress.left { border-top-left-radius: 8px; border-bottom-left-radius: 8px; } - -progressbar progress.right { border-top-right-radius: 8px; border-bottom-right-radius: 8px; } - -progressbar progress.top { border-top-right-radius: 8px; border-top-left-radius: 8px; } - -progressbar progress.bottom { border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; } - -progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; } - -progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } - -progressbar.osd progress { border-style: none; border-radius: 0; } - -progressbar trough.empty progress { all: unset; } - -levelbar.horizontal block { min-height: 8px; } - -levelbar.horizontal.continuous block:first-child, levelbar.horizontal.continuous block:last-child { border-radius: 8px; } - -levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; } - -levelbar.horizontal.discrete block:first-child { border-radius: 8px 0 0 8px; } - -levelbar.horizontal.discrete block:last-child { border-radius: 0 8px 8px 0; } - -levelbar.vertical block { min-width: 8px; } - -levelbar.vertical.continuous block:first-child, levelbar.vertical.continuous block:last-child { border-radius: 8px; } - -levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; } - -levelbar.vertical.discrete block:first-child { border-radius: 8px 8px 0 0; } - -levelbar.vertical.discrete block:last-child { border-radius: 0 0 8px 8px; } - -levelbar:backdrop { transition: 200ms ease-out; } - -levelbar trough { border: 0px solid; padding: 0; border-radius: 8px; background-color: alpha(currentColor,0.15); } - -levelbar trough:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } - -levelbar block { border: 0px solid; border-radius: 0; } - -levelbar block.low { border-color: @warning_bg_color; background-color: @warning_bg_color; } - -levelbar block.low:backdrop { border-color: @warning_bg_color; } - -levelbar block.high, levelbar block:not(.empty) { border-color: @accent_bg_color; background-color: @accent_bg_color; } - -levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: @accent_bg_color; } - -levelbar block.full { border-color: @success_bg_color; background-color: @success_bg_color; } - -levelbar block.full:backdrop { border-color: @success_bg_color; } - -levelbar block.empty { background-color: transparent; border-color: alpha(@window_fg_color,0.1); } - -levelbar block.empty:backdrop { border-color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.15); } - -printdialog paper { color: @window_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); background: white; padding: 0; border-radius: 0; box-shadow: none; } - -printdialog paper:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } - -printdialog .dialog-action-box { margin: 12px; } - -frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -frame > border.flat, .frame.flat { border-style: none; } - -actionbar > revealer > box { padding: 6px; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } - -scrolledwindow viewport.frame { border-style: none; } - -scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, mix(currentColor,@window_bg_color,0.85) 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: @view_bg_color; } - -scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; } - -separator { background: mix(currentColor,@window_bg_color,0.85); min-width: 1px; min-height: 1px; } - -list { color: @view_fg_color; background-color: @view_bg_color; border-color: @card_shade_color; } - -list row { padding: 2px; outline-color: alpha(@accent_color,0.5); outline-style: solid; outline-offset: -3px; outline-width: 2px; -gtk-outline-radius: 6px; } - -row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row:hover { transition: none; } - -row:backdrop { transition: 200ms ease-out; } - -row.activatable.has-open-popup, row.activatable:hover { background-color: alpha(currentColor,0.07); } - -row.activatable:active { background-color: alpha(currentColor,0.16); } - -row.activatable:backdrop:hover { background-color: transparent; } - -row.activatable:selected { color: @window_fg_color; } - -row.activatable:selected:active { background-color: alpha(currentColor,0.19); } - -row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: alpha(currentColor,0.13); color: @window_fg_color; } - -row.activatable:selected:backdrop { background-color: alpha(currentColor,0.07); color: @window_fg_color; } - -row:selected { background-color: alpha(currentColor,0.1); } - -.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; border: none; } - -.app-notification:backdrop, .app-notification.frame:backdrop { background-image: none; transition: 200ms ease-out; } - -.app-notification border, .app-notification.frame border { border: none; } - -expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } - -expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -expander title > arrow:hover { color: mix(white,@window_fg_color,0.7); } - -expander title > arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -expander title > arrow:disabled:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -calendar { color: @view_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -calendar:selected { border-radius: 6px; } - -calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); } - -calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); } - -calendar.button { color: alpha(@window_fg_color,0.45); } - -calendar.button:hover { color: @window_fg_color; } - -calendar.button:backdrop { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } - -calendar.button:disabled { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } - -calendar.highlight { color: mix(@window_fg_color,@window_bg_color,0.5); } - -calendar.highlight:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -calendar:backdrop { color: mix(@view_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } - -calendar:indeterminate { color: alpha(currentColor,0.1); } - -messagedialog .titlebar, messagedialog .titlebar:backdrop { min-height: 20px; background-image: none; background: @dialog_bg_color; color: @dialog_fg_color; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } - -messagedialog.csd.background { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; background-color: @dialog_bg_color; color: @dialog_fg_color; } - -messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; background-color: @dialog_bg_color; color: @dialog_fg_color; border-top: 1px solid alpha(currentColor,0.15); border-left: 1px solid alpha(currentColor,0.15); } - -messagedialog.csd .dialog-action-area button:hover { background: alpha(currentColor,0.04); } - -messagedialog.csd .dialog-action-area button:active { background: alpha(currentColor,0.08); } - -messagedialog.csd .dialog-action-area button.suggested-action { color: @accent_color; } - -messagedialog.csd .dialog-action-area button.destructive-action { color: @destructive_color; } - -messagedialog.csd .dialog-action-area button:checked { background: alpha(@accent_bg_color,0.25); } - -messagedialog.csd .dialog-action-area button:checked:hover { background: alpha(@accent_bg_color,0.32); } - -messagedialog.csd .dialog-action-area button:checked:active { background: alpha(@accent_bg_color,0.39); } - -messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 11px; -gtk-outline-bottom-left-radius: 11px; } - -messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 11px; -gtk-outline-bottom-right-radius: 11px; } - -filechooser .dialog-action-box { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } - -filechooser #pathbarbox { border-bottom: 1px solid @window_bg_color; } - -filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; } - -.sidebar { border-style: none; background-color: @sidebar_bg_color; color: @sidebar_fg_color; } - -.sidebar:backdrop { background-color: @sidebar_backdrop_color; } - -stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid @sidebar_border_color; border-left-style: none; } - -stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid @sidebar_border_color; border-right-style: none; } - -.sidebar list { background-color: transparent; } - -paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } - -.sidebar row { border-radius: 6px; } - -.sidebar row:backdrop { color: @sidebar_fg_color; } - -.sidebar row, .sidebar separator { margin: 0 4px; } - -stacksidebar row { padding: 10px 4px; } - -stacksidebar row > label { padding-left: 6px; padding-right: 6px; } - -stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } - -separator.sidebar { background-color: @sidebar_border_color; } - -separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: shade(@accent_bg_color,0.8); } - -row image.sidebar-icon { opacity: 0.7; } - -placessidebar > viewport.frame { border-style: none; } - -placessidebar row { min-height: 36px; padding: 0px; } - -placessidebar row > revealer { padding: 0 14px; } - -placessidebar row:selected { color: @accent_fg_color; } - -placessidebar row:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -placessidebar row:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -placessidebar row:backdrop:selected { color: mix(@view_fg_color,@window_bg_color,0.5); } - -placessidebar row:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -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; } - -button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; } - -button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; } - -placessidebar row:selected:active { box-shadow: none; } - -placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } - -placessidebar row.sidebar-new-bookmark-row { color: @accent_bg_color; } - -placessidebar row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 1px @accent_bg_color, inset 0 -1px @accent_bg_color; } - -placessidebar row:drop(active):not(:disabled):selected { color: @accent_fg_color; background-color: @accent_bg_color; } - -placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } - -placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); } - -placesview row.activatable:hover { background-color: transparent; } - -placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; } - -paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px; } - -paned > separator:selected { background-image: image(@accent_bg_color); } - -paned > separator:backdrop { background-image: image(mix(currentColor,@window_bg_color,0.73)); } - -paned > separator.wide { min-width: 5px; min-height: 5px; background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.85)), image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px, 1px 1px; } - -paned > separator.wide:backdrop { background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.73)), image(mix(currentColor,@window_bg_color,0.73)); } - -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; } - -infobar { border-style: none; } - -infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.info > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.info button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } - -infobar.info button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } - -infobar.info button:checked, infobar.info button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } - -infobar.info button:backdrop:not(:disabled) label, infobar.info button:backdrop:not(:disabled), infobar.info button:not(:disabled) label, infobar.info button:not(:disabled) { color: @window_fg_color; } - -infobar.info button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } - -infobar.info button:disabled label, infobar.info button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } - -infobar.action.info:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } - -infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.question > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.question button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } - -infobar.question button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } - -infobar.question button:checked, infobar.question button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } - -infobar.question button:backdrop:not(:disabled) label, infobar.question button:backdrop:not(:disabled), infobar.question button:not(:disabled) label, infobar.question button:not(:disabled) { color: @window_fg_color; } - -infobar.question button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } - -infobar.question button:disabled label, infobar.question button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } - -infobar.action.question:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } - -infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.warning > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.warning button { background-color: mix(@warning_bg_color,@window_bg_color,0.5); } - -infobar.warning button:hover { background-color: mix(@warning_bg_color,@window_bg_color,0.35); } - -infobar.warning button:checked, infobar.warning button:active { background-color: mix(@warning_bg_color,@window_bg_color,0.2); } - -infobar.warning button:backdrop:not(:disabled) label, infobar.warning button:backdrop:not(:disabled), infobar.warning button:not(:disabled) label, infobar.warning button:not(:disabled) { color: @window_fg_color; } - -infobar.warning button:disabled { background-color: mix(@warning_bg_color,@window_bg_color,0.6); } - -infobar.warning button:disabled label, infobar.warning button:disabled { color: alpha(mix(@window_fg_color,@warning_bg_color,0.3),0.6); } - -infobar.action.warning:hover > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@warning_bg_color,@window_bg_color,0.3); } - -infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.error > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.error button { background-color: mix(@error_bg_color,@window_bg_color,0.5); } - -infobar.error button:hover { background-color: mix(@error_bg_color,@window_bg_color,0.35); } - -infobar.error button:checked, infobar.error button:active { background-color: mix(@error_bg_color,@window_bg_color,0.2); } - -infobar.error button:backdrop:not(:disabled) label, infobar.error button:backdrop:not(:disabled), infobar.error button:not(:disabled) label, infobar.error button:not(:disabled) { color: @window_fg_color; } - -infobar.error button:disabled { background-color: mix(@error_bg_color,@window_bg_color,0.6); } - -infobar.error button:disabled label, infobar.error button:disabled { color: alpha(mix(@window_fg_color,@error_bg_color,0.3),0.6); } - -infobar.action.error:hover > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@error_bg_color,@window_bg_color,0.3); } - -infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } - -infobar selection { background-color: shade(@window_bg_color,0.9); } - -infobar *:link { color: @accent_color; } - -tooltip { padding: 4px; border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; } - -tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); } - -tooltip decoration { background-color: transparent; } - -tooltip * { padding: 4px; background-color: transparent; color: white; } - -colorswatch:drop(active), colorswatch { border-style: none; } - -colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; } - -colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; } - -colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; } - -colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } - -colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; } - -colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; } - -colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; } - -colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; } - -colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); } - -colorswatch.dark overlay { color: white; } - -colorswatch.dark overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } - -colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); } - -colorswatch.light overlay { color: black; } - -colorswatch.light overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } - -colorswatch:drop(active) { box-shadow: none; } - -colorswatch:drop(active).light overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } - -colorswatch:drop(active).dark overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } - -colorswatch overlay { border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); } - -colorswatch#add-color-button { border-radius: 5px 5px 0 0; } - -colorswatch#add-color-button:only-child { border-radius: 5px; } - -colorswatch#add-color-button overlay { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } - -colorswatch#add-color-button overlay:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } - -colorswatch:disabled { opacity: 0.5; } - -colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; } - -row:selected colorswatch { box-shadow: 0 0 0 2px @accent_fg_color; } - -colorswatch#editor-color-sample { border-radius: 4px; } - -colorswatch#editor-color-sample overlay { border-radius: 4.5px; } - -colorchooser .popover.osd { border-radius: 5px; } - -.content-view { background-color: shade(@window_bg_color,0.93); } - -.content-view:hover { -gtk-icon-effect: highlight; } - -.osd .scale-popup button.flat { border-style: none; border-radius: 5px; } - -.scale-popup button:hover { background-color: alpha(@window_fg_color,0.1); border-radius: 5px; } - -decoration { border-radius: 12px 12px 0 0; border-width: 0px; box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); margin: 10px; } - -decoration:backdrop { box-shadow: 0 3px 12px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.14), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); transition: 200ms ease-out; } - -.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; } - -.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86), 0 0 0 20px transparent; } - -.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7), 0 0 0 20px transparent; } - -.popup decoration { box-shadow: none; } - -.ssd decoration { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); } - -.ssd decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); } - -.ssd.maximized decoration, .ssd.maximized decoration:backdrop { box-shadow: none; } - -.csd.popup decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } - -tooltip.csd decoration { border-radius: 5px; box-shadow: none; } - -messagedialog.csd decoration { border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } - -.solid-csd decoration { margin: 0; padding: 4px; background-color: mix(currentColor,@window_bg_color,0.85); border: solid 1px mix(currentColor,@window_bg_color,0.85); border-radius: 0; box-shadow: inset 0 0 0 5px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px mix(currentColor,@window_bg_color,0.85); } - -.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px @window_bg_color; } - -button.titlebutton { padding: 2px; margin: 0; box-shadow: none; border: none; background: none; text-shadow: none; } - -button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 0px; margin: 0 4px; min-width: 24px; min-height: 24px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-color: alpha(currentColor,0.1); } - -button.titlebutton:not(.appmenu):hover { background-color: alpha(currentColor,0.15); } - -button.titlebutton:not(.appmenu):hover:active { background-color: alpha(currentColor,0.3); } - -button.titlebutton:not(.appmenu):backdrop { background-color: alpha(currentColor,0.1); } - -button.titlebutton:not(.appmenu):backdrop:hover { background-color: alpha(currentColor,0.15); } - -button.titlebutton:backdrop { -gtk-icon-shadow: none; } - -.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; } - -headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { background-color: alpha(@accent_bg_color,0.25); } - -label:selected, .selection-mode button.titlebutton, headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { color: @window_fg_color; } - -.monospace { font-family: monospace; } - -cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; } - -cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } - -cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } - -cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -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")); } - -cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } - -cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } - -cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -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; } - -.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: @window_fg_color; background-color: @view_bg_color; border: 1px solid; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 5px; box-shadow: inset 0 -3px mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.4); font-size: smaller; } - -.keycap:backdrop { background-color: @window_bg_color; color: mix(@window_fg_color,@window_bg_color,0.5); transition: 200ms ease-out; } - -:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } - -stackswitcher button.text-button { min-width: 100px; } - -stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } - -.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -popover.emoji-picker { padding-left: 0; padding-right: 0; } - -popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; } - -button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; } - -button.emoji-section:first-child { margin-left: 7px; } - -button.emoji-section:last-child { margin-right: 7px; } - -button.emoji-section:backdrop:not(:checked) { border-color: transparent; } - -button.emoji-section:hover { border-color: alpha(@window_fg_color,0.1); } - -button.emoji-section:checked { border-color: alpha(currentColor,0.1); } - -button.emoji-section label { padding: 0; opacity: 0.55; } - -button.emoji-section:hover label { opacity: 0.775; } - -button.emoji-section:checked label { opacity: 1; } - -popover.emoji-picker .emoji { font-size: x-large; padding: 6px; border-radius: 6px; } - -popover.emoji-picker .emoji :focus, popover.emoji-picker .emoji :hover { background: alpha(currentColor,0.07); } - -popover.emoji-picker .emoji :active { background: alpha(currentColor,0.16); } - -popover.emoji-completion arrow { border: none; background: none; } - -popover.emoji-completion contents row box { padding: 2px 10px; } - -popover.emoji-completion .emoji:hover { background: alpha(currentColor,0.04); } - -@define-color theme_fg_color @window_fg_color; -@define-color theme_text_color @view_fg_color; -@define-color theme_bg_color @window_bg_color; -@define-color theme_base_color @view_bg_color; -@define-color theme_selected_bg_color @accent_bg_color; -@define-color theme_selected_fg_color @accent_fg_color; -@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); -@define-color insensitive_fg_color mix(@window_fg_color,@window_bg_color,0.5); -@define-color insensitive_base_color @view_bg_color; -@define-color theme_unfocused_fg_color mix(@window_fg_color,@window_bg_color,0.5); -@define-color theme_unfocused_text_color @view_fg_color; -@define-color theme_unfocused_bg_color @window_bg_color; -@define-color theme_unfocused_base_color @window_bg_color; -@define-color theme_unfocused_selected_bg_color @accent_bg_color; -@define-color theme_unfocused_selected_fg_color @accent_fg_color; -@define-color unfocused_insensitive_color mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); -@define-color borders mix(currentColor,@window_bg_color,0.85); -@define-color unfocused_borders mix(currentColor,@window_bg_color,0.73); -@define-color warning_color @warning_color; -@define-color error_color @error_color; -@define-color success_color @success_color; -@define-color wm_title shade(@window_fg_color, 1.8); -@define-color wm_unfocused_title mix(@window_fg_color,@window_bg_color,0.5); -@define-color wm_highlight rgba(0, 0, 0, 0); -@define-color wm_borders_edge alpha(@window_fg_color,0.07); -@define-color wm_bg_a shade(@window_bg_color, 1.2); -@define-color wm_bg_b @window_bg_color; -@define-color wm_shadow alpha(black, 0.35); -@define-color wm_border alpha(black, 0.18); -@define-color wm_button_hover_color_a shade(@window_bg_color, 1.3); -@define-color wm_button_hover_color_b @window_bg_color; -@define-color wm_button_active_color_a shade(@window_bg_color, 0.85); -@define-color wm_button_active_color_b shade(@window_bg_color, 0.89); -@define-color wm_button_active_color_c shade(@window_bg_color, 0.9); -@define-color content_view_bg @view_bg_color; -@define-color text_view_bg shade(@view_bg_color,0.94); -.nautilus-window .thumbnail, .checkerboard { background-position: 0px 0px, 10px 10px; background-size: 20px 20px; background-image: linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, transparent 25%, transparent 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%), linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, @view_bg_color 25%, @view_bg_color 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%); } - -.org-gnome-Calendar .titlebar .text-button, .nautilus-window .linked entry ~ .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup, headerbar .linked entry ~ .image-button, .titlebar .linked entry ~ .image-button, headerbar .linked.raised button, headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button, .titlebar .linked.raised button, .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button, headerbar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.org-gnome-Calendar .titlebar .text-button:backdrop, .nautilus-window .linked entry ~ .image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop, headerbar .linked entry ~ .image-button:backdrop, .titlebar .linked entry ~ .image-button:backdrop, headerbar .linked.raised button:backdrop, headerbar .linked button:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop, .titlebar .linked.raised button:backdrop, .titlebar .linked button:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop, headerbar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.97),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.97),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:hover, .nautilus-window .linked entry ~ .image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover, headerbar .linked entry ~ .image-button:hover, .titlebar .linked entry ~ .image-button:hover, headerbar .linked.raised button:hover, headerbar .linked button:hover:not(:only-child), headerbar > .stack-switcher.linked > button:hover, .titlebar .linked.raised button:hover, .titlebar .linked button:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:hover, headerbar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.993),0.85); box-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:hover:backdrop, .nautilus-window .linked entry ~ .image-button:hover:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover:backdrop, headerbar .linked entry ~ .image-button:hover:backdrop, .titlebar .linked entry ~ .image-button:hover:backdrop, headerbar .linked.raised button:hover:backdrop, headerbar .linked button:hover:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:hover:backdrop, .titlebar .linked.raised button:hover:backdrop, .titlebar .linked button:hover:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:hover:backdrop, headerbar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.88),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active, .nautilus-window .linked entry ~ .image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active, headerbar .linked entry ~ .image-button:active, .titlebar .linked entry ~ .image-button:active, headerbar .linked.raised button:active, headerbar .linked button:active:not(:only-child), headerbar > .stack-switcher.linked > button:active, .titlebar .linked.raised button:active, .titlebar .linked button:active:not(:only-child), .titlebar > .stack-switcher.linked > button:active, headerbar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked, .nautilus-window .linked entry ~ .image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked, headerbar .linked entry ~ .image-button:checked, .titlebar .linked entry ~ .image-button:checked, headerbar .linked.raised button:checked, headerbar .linked button:checked:not(:only-child), headerbar > .stack-switcher.linked > button:checked, .titlebar .linked.raised button:checked, .titlebar .linked button:checked:not(:only-child), .titlebar > .stack-switcher.linked > button:checked, headerbar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.653); } - -.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active:hover:hover, .nautilus-window .linked entry ~ .image-button:active:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover:hover, headerbar .linked entry ~ .image-button:active:hover:hover, .titlebar .linked entry ~ .image-button:active:hover:hover, headerbar .linked.raised button:active:hover:hover, headerbar .linked button:active:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover:hover, .titlebar .linked.raised button:active:hover:hover, .titlebar .linked button:active:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover:hover, headerbar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover:hover, headerbar .linked entry ~ .image-button:checked:hover:hover, .titlebar .linked entry ~ .image-button:checked:hover:hover, headerbar .linked.raised button:checked:hover:hover, headerbar .linked button:checked:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover:hover, .titlebar .linked.raised button:checked:hover:hover, .titlebar .linked button:checked:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover:hover, headerbar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.653); } - -.org-gnome-Calendar .titlebar .text-button:active:backdrop, .nautilus-window .linked entry ~ .image-button:active:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:backdrop, headerbar .linked entry ~ .image-button:active:backdrop, .titlebar .linked entry ~ .image-button:active:backdrop, headerbar .linked.raised button:active:backdrop, headerbar .linked button:active:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:active:backdrop, .titlebar .linked.raised button:active:backdrop, .titlebar .linked button:active:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:active:backdrop, headerbar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:backdrop, .nautilus-window .linked entry ~ .image-button:checked:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:backdrop, headerbar .linked entry ~ .image-button:checked:backdrop, .titlebar .linked entry ~ .image-button:checked:backdrop, headerbar .linked.raised button:checked:backdrop, headerbar .linked button:checked:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:checked:backdrop, .titlebar .linked.raised button:checked:backdrop, .titlebar .linked button:checked:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:backdrop, headerbar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.89),0.903); } - -.org-gnome-Calendar .titlebar .text-button:disabled, .nautilus-window .linked entry ~ .image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:disabled, headerbar .linked entry ~ .image-button:disabled, .titlebar .linked entry ~ .image-button:disabled, headerbar .linked.raised button:disabled, headerbar .linked button:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:disabled, .titlebar .linked.raised button:disabled, .titlebar .linked button:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:disabled, headerbar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:backdrop:disabled, .nautilus-window .linked entry ~ .image-button:backdrop:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop:disabled, headerbar .linked entry ~ .image-button:backdrop:disabled, .titlebar .linked entry ~ .image-button:backdrop:disabled, headerbar .linked.raised button:backdrop:disabled, headerbar .linked button:backdrop:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop:disabled, .titlebar .linked.raised button:backdrop:disabled, .titlebar .linked button:backdrop:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop:disabled, headerbar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .nautilus-window .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .default.toggle.popup:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), headerbar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .titlebar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.org-gnome-Calendar .titlebar .flat.text-button:not(:hover):not(:active), .nautilus-window .linked entry ~ .flat.image-button:not(:hover):not(:active):not(:checked):not(.model), .nautilus-window .search + .flat.toggle.popup:not(:hover):not(:active), headerbar .linked entry ~ .flat.image-button:not(:hover):not(:active), .titlebar .linked entry ~ .flat.image-button:not(:hover):not(:active), headerbar .linked.raised button.flat:not(:hover):not(:active), headerbar .linked button.flat:not(:hover):not(:active):not(:only-child), headerbar > .stack-switcher.linked > button.flat:not(:hover):not(:active), .titlebar .linked.raised button.flat:not(:hover):not(:active), .titlebar .linked button.flat:not(:hover):not(:active):not(:only-child), .titlebar > .stack-switcher.linked > button.flat:not(:hover):not(:active), headerbar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover, headerbar viewswitcher button.radio:hover:checked, .titlebar viewswitcher button.radio:hover:checked, headerbar button:hover:not(.titlebutton), .titlebar button:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.903); } - -.nautilus-window .linked.raised button.image-button:hover:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover:backdrop, headerbar viewswitcher button.radio:hover:backdrop:checked, .titlebar viewswitcher button.radio:hover:backdrop:checked, headerbar button:hover:backdrop:not(.titlebutton), .titlebar button:hover:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active, headerbar button:active:not(.titlebutton), .titlebar button:active:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked, headerbar viewswitcher button.radio:checked, .titlebar viewswitcher button.radio:checked, headerbar button:checked:not(.titlebutton), .titlebar button:checked:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.nautilus-window .linked.raised button.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:hover, headerbar button:active:hover:not(.titlebutton), .titlebar button:active:hover:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:hover, headerbar viewswitcher button.radio:checked:hover, .titlebar viewswitcher button.radio:checked:hover, headerbar button:checked:hover:not(.titlebutton), .titlebar button:checked:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.963),0.903); } - -.nautilus-window .linked.raised button.image-button:active:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:backdrop, headerbar button:active:backdrop:not(.titlebutton), .titlebar button:active:backdrop:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:backdrop, headerbar viewswitcher button.radio:checked:backdrop, .titlebar viewswitcher button.radio:checked:backdrop, headerbar button:checked:backdrop:not(.titlebutton), .titlebar button:checked:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, .titlebar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, headerbar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton), .titlebar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.nautilus-window .linked.raised button.flat.image-button:not(:hover):not(:active):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.flat:not(:hover):not(:active), headerbar viewswitcher button.flat.radio:not(:hover):not(:active):checked, .titlebar viewswitcher button.flat.radio:not(:hover):not(:active):checked, headerbar button.flat:not(:hover):not(:active):not(.titlebutton), .titlebar button.flat:not(:hover):not(:active):not(.titlebutton) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action, .content list button.suggested-action, .content list > row:not(:selected):hover button.suggested-action, list.content button.suggested-action, list.content > row:not(:selected):hover button.suggested-action, list.view.frame button.suggested-action, list.view.frame > row:not(:selected):hover button.suggested-action, headerbar.selection-mode button, headerbar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button, .titlebar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button, .nautilus-window .linked entry ~ .suggested-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup, headerbar .linked entry ~ .suggested-action.image-button, .titlebar .linked entry ~ .suggested-action.image-button, headerbar .linked.raised button.suggested-action, headerbar .linked button.suggested-action:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action, .titlebar .linked.raised button.suggested-action, .titlebar .linked button.suggested-action:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action, headerbar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:not(.titlebutton), .titlebar button.suggested-action:not(.titlebutton), headerbar button.text-button.suggested-action:not(.titlebutton) { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } - -popover.background button.suggested-action:hover, .content list button.suggested-action:hover, .content list > row:not(:selected):hover button.suggested-action:hover, list.content button.suggested-action:hover, list.content > row:not(:selected):hover button.suggested-action:hover, list.view.frame button.suggested-action:hover, list.view.frame > row:not(:selected):hover button.suggested-action:hover, headerbar.selection-mode button:hover, headerbar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:hover, .titlebar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:hover, headerbar .linked entry ~ .suggested-action.image-button:hover, .titlebar .linked entry ~ .suggested-action.image-button:hover, headerbar .linked.raised button.suggested-action:hover, headerbar .linked button.suggested-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:hover, .titlebar .linked.raised button.suggested-action:hover, .titlebar .linked button.suggested-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:hover, headerbar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:hover, headerbar viewswitcher button.suggested-action.radio:hover:checked, .titlebar viewswitcher button.suggested-action.radio:hover:checked, headerbar button.suggested-action:hover:not(.titlebutton), .titlebar button.suggested-action:hover:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } - -popover.background button.suggested-action:active, .content list button.suggested-action:active, .content list > row:not(:selected):hover button.suggested-action:active, list.content button.suggested-action:active, list.content > row:not(:selected):hover button.suggested-action:active, list.view.frame button.suggested-action:active, list.view.frame > row:not(:selected):hover button.suggested-action:active, headerbar.selection-mode button:active, headerbar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active, .titlebar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active, .nautilus-window .linked entry ~ .suggested-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active, headerbar .linked entry ~ .suggested-action.image-button:active, .titlebar .linked entry ~ .suggested-action.image-button:active, headerbar .linked.raised button.suggested-action:active, headerbar .linked button.suggested-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active, .titlebar .linked.raised button.suggested-action:active, .titlebar .linked button.suggested-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active, headerbar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active, headerbar button.suggested-action:active:not(.titlebutton), .titlebar button.suggested-action:active:not(.titlebutton), popover.background button.suggested-action:checked, .content list button.suggested-action:checked, .content list > row:not(:selected):hover button.suggested-action:checked, list.content button.suggested-action:checked, list.content > row:not(:selected):hover button.suggested-action:checked, list.view.frame button.suggested-action:checked, list.view.frame > row:not(:selected):hover button.suggested-action:checked, headerbar.selection-mode button:checked, headerbar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked, .titlebar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked, headerbar .linked entry ~ .suggested-action.image-button:checked, .titlebar .linked entry ~ .suggested-action.image-button:checked, headerbar .linked.raised button.suggested-action:checked, headerbar .linked button.suggested-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked, .titlebar .linked.raised button.suggested-action:checked, .titlebar .linked button.suggested-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked, headerbar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:checked:not(.titlebutton), .titlebar button.suggested-action:checked:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action:active:hover, .content list button.suggested-action:active:hover, .content list > row:not(:selected):hover button.suggested-action:active:hover, list.content button.suggested-action:active:hover, list.content > row:not(:selected):hover button.suggested-action:active:hover, list.view.frame button.suggested-action:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active:hover, .titlebar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active:hover, headerbar .linked entry ~ .suggested-action.image-button:active:hover, .titlebar .linked entry ~ .suggested-action.image-button:active:hover, headerbar .linked.raised button.suggested-action:active:hover, headerbar .linked button.suggested-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active:hover, .titlebar .linked.raised button.suggested-action:active:hover, .titlebar .linked button.suggested-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active:hover, headerbar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active:hover, headerbar button.suggested-action:active:hover:not(.titlebutton), .titlebar button.suggested-action:active:hover:not(.titlebutton), popover.background button.suggested-action:checked:hover, .content list button.suggested-action:checked:hover, .content list > row:not(:selected):hover button.suggested-action:checked:hover, list.content button.suggested-action:checked:hover, list.content > row:not(:selected):hover button.suggested-action:checked:hover, list.view.frame button.suggested-action:checked:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked:hover, .titlebar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked:hover, headerbar .linked entry ~ .suggested-action.image-button:checked:hover, .titlebar .linked entry ~ .suggested-action.image-button:checked:hover, headerbar .linked.raised button.suggested-action:checked:hover, headerbar .linked button.suggested-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked:hover, .titlebar .linked.raised button.suggested-action:checked:hover, .titlebar .linked button.suggested-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked:hover, headerbar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked:hover, headerbar viewswitcher button.suggested-action.radio:checked:hover, .titlebar viewswitcher button.suggested-action.radio:checked:hover, headerbar button.suggested-action:checked:hover:not(.titlebutton), .titlebar button.suggested-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.653); } - -popover.background button.suggested-action:backdrop, .content list button.suggested-action:backdrop, .content list > row:not(:selected):hover button.suggested-action:backdrop, list.content button.suggested-action:backdrop, list.content > row:not(:selected):hover button.suggested-action:backdrop, list.view.frame button.suggested-action:backdrop, list.view.frame > row:not(:selected):hover button.suggested-action:backdrop, headerbar.selection-mode button:backdrop, headerbar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:backdrop, .titlebar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:backdrop, headerbar .linked entry ~ .suggested-action.image-button:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:backdrop, headerbar .linked.raised button.suggested-action:backdrop, headerbar .linked button.suggested-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:backdrop, .titlebar .linked.raised button.suggested-action:backdrop, .titlebar .linked button.suggested-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:backdrop, headerbar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:backdrop, headerbar viewswitcher button.suggested-action.radio:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:backdrop:checked, headerbar button.suggested-action:backdrop:not(.titlebutton), .titlebar button.suggested-action:backdrop:not(.titlebutton) { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action:disabled, .content list button.suggested-action:disabled, .content list > row:not(:selected):hover button.suggested-action:disabled, list.content button.suggested-action:disabled, list.content > row:not(:selected):hover button.suggested-action:disabled, list.view.frame button.suggested-action:disabled, list.view.frame > row:not(:selected):hover button.suggested-action:disabled, headerbar.selection-mode button:disabled, headerbar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled, .titlebar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled, headerbar .linked entry ~ .suggested-action.image-button:disabled, .titlebar .linked entry ~ .suggested-action.image-button:disabled, headerbar .linked.raised button.suggested-action:disabled, headerbar .linked button.suggested-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled, .titlebar .linked.raised button.suggested-action:disabled, .titlebar .linked button.suggested-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled, headerbar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled, headerbar viewswitcher button.suggested-action.radio:disabled:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:checked, headerbar button.suggested-action:disabled:not(.titlebutton), .titlebar button.suggested-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -popover.background button.suggested-action:disabled:backdrop, .content list button.suggested-action:disabled:backdrop, .content list > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.content button.suggested-action:disabled:backdrop, list.content > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.view.frame button.suggested-action:disabled:backdrop, headerbar.selection-mode button:disabled:backdrop, headerbar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled:backdrop, .titlebar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .suggested-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:disabled:backdrop, headerbar .linked.raised button.suggested-action:disabled:backdrop, headerbar .linked button.suggested-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, .titlebar .linked.raised button.suggested-action:disabled:backdrop, .titlebar .linked button.suggested-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, headerbar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled:backdrop, headerbar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, headerbar button.suggested-action:disabled:backdrop:not(.titlebutton), .titlebar button.suggested-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action, .content list button.destructive-action, .content list > row:not(:selected):hover button.destructive-action, list.content button.destructive-action, list.content > row:not(:selected):hover button.destructive-action, list.view.frame button.destructive-action, list.view.frame > row:not(:selected):hover button.destructive-action, .org-gnome-Calendar .titlebar .destructive-action.text-button, .nautilus-window .linked entry ~ .destructive-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup, headerbar .linked entry ~ .destructive-action.image-button, .titlebar .linked entry ~ .destructive-action.image-button, headerbar .linked.raised button.destructive-action, headerbar .linked button.destructive-action:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action, .titlebar .linked.raised button.destructive-action, .titlebar .linked button.destructive-action:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action, headerbar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:not(.titlebutton), .titlebar button.destructive-action:not(.titlebutton), headerbar button.text-button.destructive-action:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } - -popover.background button.destructive-action:hover, .content list button.destructive-action:hover, .content list > row:not(:selected):hover button.destructive-action:hover, list.content button.destructive-action:hover, list.content > row:not(:selected):hover button.destructive-action:hover, list.view.frame button.destructive-action:hover, list.view.frame > row:not(:selected):hover button.destructive-action:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:hover, headerbar .linked entry ~ .destructive-action.image-button:hover, .titlebar .linked entry ~ .destructive-action.image-button:hover, headerbar .linked.raised button.destructive-action:hover, headerbar .linked button.destructive-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:hover, .titlebar .linked.raised button.destructive-action:hover, .titlebar .linked button.destructive-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:hover, headerbar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:hover, headerbar viewswitcher button.destructive-action.radio:hover:checked, .titlebar viewswitcher button.destructive-action.radio:hover:checked, headerbar button.destructive-action:hover:not(.titlebutton), .titlebar button.destructive-action:hover:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } - -popover.background button.destructive-action:active, .content list button.destructive-action:active, .content list > row:not(:selected):hover button.destructive-action:active, list.content button.destructive-action:active, list.content > row:not(:selected):hover button.destructive-action:active, list.view.frame button.destructive-action:active, list.view.frame > row:not(:selected):hover button.destructive-action:active, .org-gnome-Calendar .titlebar .destructive-action.text-button:active, .nautilus-window .linked entry ~ .destructive-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active, headerbar .linked entry ~ .destructive-action.image-button:active, .titlebar .linked entry ~ .destructive-action.image-button:active, headerbar .linked.raised button.destructive-action:active, headerbar .linked button.destructive-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active, .titlebar .linked.raised button.destructive-action:active, .titlebar .linked button.destructive-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active, headerbar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active, headerbar button.destructive-action:active:not(.titlebutton), .titlebar button.destructive-action:active:not(.titlebutton), popover.background button.destructive-action:checked, .content list button.destructive-action:checked, .content list > row:not(:selected):hover button.destructive-action:checked, list.content button.destructive-action:checked, list.content > row:not(:selected):hover button.destructive-action:checked, list.view.frame button.destructive-action:checked, list.view.frame > row:not(:selected):hover button.destructive-action:checked, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked, headerbar .linked entry ~ .destructive-action.image-button:checked, .titlebar .linked entry ~ .destructive-action.image-button:checked, headerbar .linked.raised button.destructive-action:checked, headerbar .linked button.destructive-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked, .titlebar .linked.raised button.destructive-action:checked, .titlebar .linked button.destructive-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked, headerbar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:checked:not(.titlebutton), .titlebar button.destructive-action:checked:not(.titlebutton) { color: @destructive_fg_color; background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action:active:hover, .content list button.destructive-action:active:hover, .content list > row:not(:selected):hover button.destructive-action:active:hover, list.content button.destructive-action:active:hover, list.content > row:not(:selected):hover button.destructive-action:active:hover, list.view.frame button.destructive-action:active:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:active:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active:hover, headerbar .linked entry ~ .destructive-action.image-button:active:hover, .titlebar .linked entry ~ .destructive-action.image-button:active:hover, headerbar .linked.raised button.destructive-action:active:hover, headerbar .linked button.destructive-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active:hover, .titlebar .linked.raised button.destructive-action:active:hover, .titlebar .linked button.destructive-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active:hover, headerbar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active:hover, headerbar button.destructive-action:active:hover:not(.titlebutton), .titlebar button.destructive-action:active:hover:not(.titlebutton), popover.background button.destructive-action:checked:hover, .content list button.destructive-action:checked:hover, .content list > row:not(:selected):hover button.destructive-action:checked:hover, list.content button.destructive-action:checked:hover, list.content > row:not(:selected):hover button.destructive-action:checked:hover, list.view.frame button.destructive-action:checked:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked:hover, headerbar .linked entry ~ .destructive-action.image-button:checked:hover, .titlebar .linked entry ~ .destructive-action.image-button:checked:hover, headerbar .linked.raised button.destructive-action:checked:hover, headerbar .linked button.destructive-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked:hover, .titlebar .linked.raised button.destructive-action:checked:hover, .titlebar .linked button.destructive-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked:hover, headerbar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked:hover, headerbar viewswitcher button.destructive-action.radio:checked:hover, .titlebar viewswitcher button.destructive-action.radio:checked:hover, headerbar button.destructive-action:checked:hover:not(.titlebutton), .titlebar button.destructive-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.653); } - -popover.background button.destructive-action:backdrop, .content list button.destructive-action:backdrop, .content list > row:not(:selected):hover button.destructive-action:backdrop, list.content button.destructive-action:backdrop, list.content > row:not(:selected):hover button.destructive-action:backdrop, list.view.frame button.destructive-action:backdrop, list.view.frame > row:not(:selected):hover button.destructive-action:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:backdrop, headerbar .linked entry ~ .destructive-action.image-button:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:backdrop, headerbar .linked.raised button.destructive-action:backdrop, headerbar .linked button.destructive-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:backdrop, .titlebar .linked.raised button.destructive-action:backdrop, .titlebar .linked button.destructive-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:backdrop, headerbar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:backdrop, headerbar viewswitcher button.destructive-action.radio:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:backdrop:checked, headerbar button.destructive-action:backdrop:not(.titlebutton), .titlebar button.destructive-action:backdrop:not(.titlebutton) { color: mix(@destructive_fg_color,alpha(@destructive_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action:disabled, .content list button.destructive-action:disabled, .content list > row:not(:selected):hover button.destructive-action:disabled, list.content button.destructive-action:disabled, list.content > row:not(:selected):hover button.destructive-action:disabled, list.view.frame button.destructive-action:disabled, list.view.frame > row:not(:selected):hover button.destructive-action:disabled, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled, headerbar .linked entry ~ .destructive-action.image-button:disabled, .titlebar .linked entry ~ .destructive-action.image-button:disabled, headerbar .linked.raised button.destructive-action:disabled, headerbar .linked button.destructive-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled, .titlebar .linked.raised button.destructive-action:disabled, .titlebar .linked button.destructive-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled, headerbar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled, headerbar viewswitcher button.destructive-action.radio:disabled:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:checked, headerbar button.destructive-action:disabled:not(.titlebutton), .titlebar button.destructive-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -popover.background button.destructive-action:disabled:backdrop, .content list button.destructive-action:disabled:backdrop, .content list > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.content button.destructive-action:disabled:backdrop, list.content > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.view.frame button.destructive-action:disabled:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .destructive-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:disabled:backdrop, headerbar .linked.raised button.destructive-action:disabled:backdrop, headerbar .linked button.destructive-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, .titlebar .linked.raised button.destructive-action:disabled:backdrop, .titlebar .linked button.destructive-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, headerbar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled:backdrop, headerbar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, headerbar button.destructive-action:disabled:backdrop:not(.titlebutton), .titlebar button.destructive-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar { box-shadow: 0 1px alpha(@headerbar_shade_color,0.1); } - -headerbar:not(.selection-mode), headerbar:not(.selection-mode) entry, .titlebar:not(.selection-mode), .titlebar:not(.selection-mode) entry { color: @headerbar_fg_color; } - -headerbar:not(.selection-mode):backdrop, headerbar:not(.selection-mode) entry:backdrop, .titlebar:not(.selection-mode):backdrop, .titlebar:not(.selection-mode) entry:backdrop { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) entry:disabled, .titlebar:not(.selection-mode) entry:disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action), .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action) { color: @headerbar_fg_color; } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) switch image, .titlebar:not(.selection-mode) switch image { color: transparent; } - -headerbar button:not(.titlebutton), headerbar button:not(.titlebutton):backdrop, .titlebar button:not(.titlebutton), .titlebar button:not(.titlebutton):backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar .linked.raised button:not(:only-child):not(:first-child), headerbar .linked button:not(:only-child):not(:first-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:first-child), .titlebar .linked.raised button:not(:only-child):not(:first-child), .titlebar .linked button:not(:only-child):not(:first-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:first-child) { border-left-color: alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):not(:last-child), headerbar .linked button:not(:only-child):not(:last-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child), .titlebar .linked.raised button:not(:only-child):not(:last-child), .titlebar .linked button:not(:only-child):not(:last-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child) { border-right-color: alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):first-child, headerbar .linked button:not(:only-child):first-child, headerbar > .stack-switcher.linked > button:not(:only-child):first-child, .titlebar .linked.raised button:not(:only-child):first-child, .titlebar .linked button:not(:only-child):first-child, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child { border-left-color: transparent; } - -headerbar .linked.raised button:not(:only-child):last-child, headerbar .linked button:not(:only-child):last-child, headerbar > .stack-switcher.linked > button:not(:only-child):last-child, .titlebar .linked.raised button:not(:only-child):last-child, .titlebar .linked button:not(:only-child):last-child, .titlebar > .stack-switcher.linked > button:not(:only-child):last-child { border-right-color: transparent; } - -headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active { box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button { border-left-color: transparent; } - -headerbar.selection-mode button:hover:backdrop, .titlebar.selection-mode button:hover:backdrop { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar entry, .titlebar entry { min-height: 32px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -headerbar entry:backdrop, .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar entry:disabled, .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar entry:disabled:backdrop, .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar entry image, .titlebar entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } - -headerbar entry image.left, .titlebar entry image.left { margin-right: 6px; } - -headerbar entry image.right, .titlebar entry image.right { margin-left: 6px; } - -headerbar entry image:hover, .titlebar entry image:hover { color: @headerbar_fg_color; } - -headerbar entry image:active, .titlebar entry image:active { color: @accent_bg_color; } - -headerbar entry image:backdrop, .titlebar entry image:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.2); } - -headerbar entry.error, .titlebar entry.error { color: @error_bg_color; border-color: @error_bg_color; } - -headerbar entry.error:focus, .titlebar entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -headerbar entry.error selection, .titlebar entry.error selection { background-color: @error_bg_color; } - -headerbar entry.warning, .titlebar entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } - -headerbar entry.warning:focus, .titlebar entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -headerbar entry.warning selection, .titlebar entry.warning selection { background-color: @warning_bg_color; } - -headerbar entry.flat:focus, headerbar entry.flat:backdrop, headerbar entry.flat:disabled, headerbar entry.flat:backdrop:disabled, headerbar entry.flat, .titlebar entry.flat:focus, .titlebar entry.flat:backdrop, .titlebar entry.flat:disabled, .titlebar entry.flat:backdrop:disabled, .titlebar entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } - -headerbar entry:drop(active):focus, headerbar entry:drop(active), .titlebar entry:drop(active):focus, .titlebar entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -headerbar entry progress, .titlebar entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } - -headerbar entry progress:backdrop, .titlebar entry progress:backdrop { background-color: transparent; } - -headerbar .linked entry:not(:first-child), .titlebar .linked entry:not(:first-child) { border-left-color: alpha(currentColor,0.15); } - -headerbar .linked entry:not(:first-child):backdrop, .titlebar .linked entry:not(:first-child):backdrop { border-left-color: alpha(currentColor,0.15); } - -headerbar switch:backdrop, .titlebar switch:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; transition: 200ms ease-out; } - -headerbar switch:backdrop:checked, .titlebar switch:backdrop:checked { background-color: alpha(@accent_bg_color,0.5); } - -headerbar switch:backdrop:checked:disabled, .titlebar switch:backdrop:checked:disabled { background-color: alpha(@accent_bg_color,0.3); } - -headerbar switch:backdrop:disabled, .titlebar switch:backdrop:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar switch:backdrop slider, .titlebar switch:backdrop slider { transition: 200ms ease-out; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } - -headerbar switch:backdrop:checked > slider, .titlebar switch:backdrop:checked > slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } - -headerbar switch:backdrop:disabled slider, .titlebar switch:backdrop:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.4); } - -headerbar switch:disabled, .titlebar switch:disabled { background-color: shade(mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3),0.96); } - -headerbar switch:disabled:backdrop, .titlebar switch:disabled:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } - -headerbar:not(:backdrop), .titlebar:not(:backdrop) { transition: 50ms ease-in; transition-property: background-color, background-image, box-shadow, border-color, color, text-shadow; } - -headerbar .right, .titlebar .right { margin-left: -4px; } - -headerbar .right separator, .titlebar .right separator { min-width: 0; } - -headerbar .left, .titlebar .left { margin-right: -4px; } - -headerbar .left separator, .titlebar .left separator { min-width: 0; } - -.content list button, .content list > row:not(:selected):hover button, list.content button, list.content > row:not(:selected):hover button, list.view.frame button, list.view.frame > row:not(:selected):hover button { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -.content list button.flat:not(:hover):not(:active), .content list > row:not(:selected):hover button.flat:not(:hover):not(:active), list.content button.flat:not(:hover):not(:active), list.content > row:not(:selected):hover button.flat:not(:hover):not(:active), list.view.frame button.flat:not(:hover):not(:active), list.view.frame > row:not(:selected):hover button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.content list button:hover, .content list > row:not(:selected):hover button:hover, list.content button:hover, list.content > row:not(:selected):hover button:hover, list.view.frame button:hover, list.view.frame > row:not(:selected):hover button:hover { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.85); box-shadow: none; } - -.content list button:active, .content list button:checked, .content list > row:not(:selected):hover button:active, .content list > row:not(:selected):hover button:checked, list.content button:active, list.content button:checked, list.content > row:not(:selected):hover button:active, list.content > row:not(:selected):hover button:checked, list.view.frame button:active, list.view.frame button:checked, list.view.frame > row:not(:selected):hover button:active, list.view.frame > row:not(:selected):hover button:checked { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.content list button:active:hover, .content list button:checked:hover, .content list > row:not(:selected):hover button:active:hover, .content list > row:not(:selected):hover button:checked:hover, list.content button:active:hover, list.content button:checked:hover, list.content > row:not(:selected):hover button:active:hover, list.content > row:not(:selected):hover button:checked:hover, list.view.frame button:active:hover, list.view.frame button:checked:hover, list.view.frame > row:not(:selected):hover button:active:hover, list.view.frame > row:not(:selected):hover button:checked:hover { background-color: mix(currentColor,@card_bg_color,0.653); } - -.content list button:disabled, .content list > row:not(:selected):hover button:disabled, list.content button:disabled, list.content > row:not(:selected):hover button:disabled, list.view.frame button:disabled, list.view.frame > row:not(:selected):hover button:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -.content list entry, list.content entry, list.view.frame entry { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -.content list entry:disabled, list.content entry:disabled, list.view.frame entry:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -popover.background button { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -popover.background button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button:hover { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.85); box-shadow: none; } - -popover.background button:active, popover.background button:checked { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button:active:hover, popover.background button:checked:hover { background-color: mix(currentColor,@popover_bg_color,0.653); } - -popover.background button:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -popover.background entry { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -popover.background entry:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -button.toggle:not(.image-button) { padding-left: 8px; padding-right: 8px; } - -.flat.popup:not(.title) { font-weight: normal; } - -statusbar { font-size: small; } - -scrolledwindow list:not(.content) { padding: 6px 0; } - -scrolledwindow list row { margin: 0 6px; border-radius: 6px; } - -scrolledwindow list separator.horizontal { margin: 6px; } - -list.content .horizontal spinbutton entry { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } - -list.view.frame { border-radius: 12px; } - -list.view.frame, list.view.frame:backdrop { background-color: @card_bg_color; } - -.ssd .titlebar { border-width: 0; padding: 0px 4px; min-height: 36px; border-bottom: 1px solid @headerbar_shade_color; } - -.ssd .titlebar.default-decoration button.titlebutton { background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; } - -.ssd .titlebar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } - -.ssd .titlebar.default-decoration button.titlebutton:hover:active, .ssd .titlebar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } - -.ssd .titlebar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } - -.ssd .titlebar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } - -.default-decoration .title { color: @headerbar_fg_color; } - -.default-decoration .title:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } - -treeview.view:not(:backdrop):not(:selected):hover { background-color: alpha(currentColor,0.04); } - -.preferences scrolledwindow > .frame > clamp.large, .preferences scrolledwindow > .frame > clamp.medium, .preferences scrolledwindow > .frame > clamp.small { padding-bottom: 30px; } - -.osd .linked > button { border-color: transparent; } - -.primary-toolbar, .toolbar { background-color: @window_bg_color; } - -.primary-toolbar:backdrop, .toolbar:backdrop { background-color: @window_bg_color; } - -popover.background modelbutton.flat { padding-left: 16px; padding-right: 16px; } - -popover.background modelbutton.flat, popover.background .menuitem.button.flat { color: @popover_fg_color; } - -popover.background modelbutton.flat:disabled label, popover.background .menuitem.button.flat:disabled label { color: mix(@popover_fg_color,@popover_bg_color,0.5); } - -popover.background modelbutton.flat:backdrop:hover, popover.background .menuitem.button.flat:backdrop:hover { background-color: alpha(currentColor,0.04); } - -popover.menu > stack { margin: -6px; } - -window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 12px; } - -window.csd.unified scrollbar { background-color: @view_bg_color; color: @window_fg_color; } - -window.csd.unified scrollbar trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; background-color: alpha(currentColor,0.15); } - -window.csd.unified scrollbar trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; } - -window.csd.unified scrollbar.horizontal trough { margin-top: 6px; margin-bottom: 6px; } - -window.csd.unified scrollbar.vertical trough { margin-left: 6px; margin-right: 6px; } - -window.csd.unified scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } - -window.csd.unified scrollbar.overlay-indicator:not(.hovering) trough { background-color: transparent; } - -window.csd.unified scrollbar.overlay-indicator.horizontal trough > slider { min-width: 40px; } - -window.csd.unified scrollbar.overlay-indicator.horizontal.hovering trough > slider { min-height: 8px; } - -window.csd.unified scrollbar.overlay-indicator.horizontal:not(.hovering) trough { margin-top: 3px; margin-bottom: 3px; } - -window.csd.unified scrollbar.overlay-indicator.vertical trough > slider { min-height: 40px; } - -window.csd.unified scrollbar.overlay-indicator.vertical.hovering trough > slider { min-width: 8px; } - -window.csd.unified scrollbar.overlay-indicator.vertical:not(.hovering) trough { margin-left: 3px; margin-right: 3px; } - -window.csd.unified scrollbar.horizontal trough > slider { min-width: 40px; } - -window.csd.unified scrollbar.vertical trough > slider { min-height: 40px; } - -popover.combo { padding: 0px; } - -popover.combo list { border-style: none; background-color: transparent; min-width: 200px; margin-top: 6px; margin-bottom: 6px; } - -popover.combo list > row { padding: 0px 8px 0px 8px; min-height: 50px; } - -popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(mix(currentColor,@window_bg_color,0.85), 0.5); } - -popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } - -popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } - -popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } - -popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } - -row.expander { padding: 0px; } - -row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } - -row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } - -row.expander { background-color: transparent; } - -row.expander list.nested > row { background-color: transparent; border-radius: 0; border: none; } - -row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } - -row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } - -row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; border-radius: 0; border-top: 1px solid alpha(currentColor,0.15); } - -row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } - -row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } - -row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } - -row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } - -row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_bg_color; } - -row.expander image.expander-row-arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -list.content { background-color: transparent; color: @card_fg_color; border-radius: 12px; } - -list.content list { background-color: transparent; border-radius: 12px; } - -list.content > row { background-color: @card_bg_color; color: @card_fg_color; margin: 0; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -list.content > row:not(:last-child) { box-shadow: inset 0 -1px @card_shade_color; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -list.content > row:not(:first-child):not(:last-child) { border-radius: 0; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0; } - -list.content > row:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; border-top: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 12px 12px 0 0; } - -list.content > row:last-child { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0 0 12px 12px; } - -list.content > row:only-child { border: 1px solid @card_shade_color; border-radius: 12px; -gtk-outline-radius: 12px; } - -list.content > row:not(.expander):not(:active):hover.activatable:not(:selected), list.content > row.expander row.header:not(:active):hover.activatable:not(:selected) { background-color: mix(@card_fg_color, @card_bg_color, 0.954); } - -button.list-button:not(:active):not(:checked):not(:hover) { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } - -keypad .digit { font-size: 200%; font-weight: bold; } - -keypad .letters { font-size: 70%; } - -keypad .symbol { font-size: 160%; } - -viewswitcher, viewswitcher button { margin: 0; padding: 0; } - -viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; border-width: 0; } - -viewswitcher button:not(:checked):not(:hover) { background: transparent; } - -viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } - -viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } - -viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } - -viewswitcher button:not(:checked):hover:not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-image: none; } - -viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } - -viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: alpha(currentColor,0.15); } - -viewswitcher button:not(:checked):hover:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: none; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(black,@headerbar_bg_color,0.87),0.903); } - -headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } - -headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: alpha(currentColor,0.15); } - -headerbar viewswitcher button:not(:checked):hover:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),mix(black,@headerbar_backdrop_color,0.9),0.2); background-color: mix(currentColor,mix(black,@headerbar_backdrop_color,0.9),0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -viewswitcher button:checked, viewswitcher button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -viewswitcher button:checked:hover, viewswitcher button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -viewswitcher button:checked:backdrop, viewswitcher button:active:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); background-image: none; } - -viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } - -viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } - -viewswitcher button > stack > box.wide { padding: 8px 12px; } - -viewswitcher button > stack > box.wide image:dir(ltr) { padding-left: 7px; } - -viewswitcher button > stack > box.wide image:dir(rtl) { padding-right: 7px; } - -viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } - -viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } - -viewswitcher button > stack > box label.active { font-weight: bold; } - -viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } - -viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } - -viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } - -viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } - -viewswitcherbar actionbar > revealer > box { padding: 0; } - -viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon { color: alpha(@window_fg_color,0.5); } - -statuspage > scrolledwindow > viewport > box { margin: 36px 12px; } - -statuspage > scrolledwindow > viewport > box > clamp:not(:last-child) > box { margin-bottom: 36px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 36px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .title:not(:last-child) { margin-bottom: 12px; } - -row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } - -row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } - -row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } - -tabbar .box { min-height: 38px; background: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; } - -tabbar .box:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: @headerbar_backdrop_color; } - -tabbar scrolledwindow.pinned undershoot { border: 0 solid mix(black,@window_bg_color,0.82); } - -tabbar scrolledwindow.pinned:dir(rtl) undershoot.left { border-left-width: 1px; } - -tabbar scrolledwindow.pinned:dir(ltr) undershoot.right { border-right-width: 1px; } - -tabbar scrolledwindow.pinned:backdrop undershoot { border-color: mix(currentColor,@window_bg_color,0.73); } - -tabbar scrolledwindow.pinned tabbox:dir(ltr) { padding-right: 1px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -tabbar scrolledwindow.pinned tabbox:dir(rtl) { padding-left: 1px; box-shadow: inset 1px 0 alpha(currentColor,0.15); } - -tabbar undershoot { transition: none; } - -tabbar undershoot.left { background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } - -tabbar undershoot.right { background: linear-gradient(to left, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } - -tabbar .needs-attention-left undershoot.left { background: linear-gradient(to right, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } - -tabbar .needs-attention-right undershoot.right { background: linear-gradient(to left, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } - -tabbar tab { margin: 4px 3px; border-style: none; border-radius: 6px; transition: background-color 150ms ease-in-out; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } - -tabbar tab:first-child { background-image: none; } - -tabbar tab:hover { background-color: alpha(currentColor,0.07); } - -tabbar tab:hover, tabbar tab:hover + tab { background-image: none; } - -tabbar tab:checked { background-color: alpha(currentColor,0.1); } - -tabbar tab:checked, tabbar tab:checked + tab { background-image: none; } - -tabbar tab:checked:hover { background-color: alpha(currentColor,0.13); } - -tabbar .start-action, tabbar .end-action { background-color: @headerbar_bg_color; border-color: transparent; border-style: solid; transition: background-color 150ms ease-in-out; } - -tabbar .start-action:backdrop, tabbar .end-action:backdrop { border-color: transparent; background-color: @headerbar_backdrop_color; } - -tabbar .start-action button, tabbar .end-action button { border: none; border-radius: 0; } - -tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { border-right-width: 1px; } - -tabbar .start-action:dir(ltr) > *, tabbar .end-action:dir(rtl) > * { margin-right: 1px; } - -tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { border-left-width: 1px; } - -tabbar .start-action:dir(rtl) > *, tabbar .end-action:dir(ltr) > * { margin-left: 1px; } - -.tab-drag-icon tab { min-height: 26px; background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.25), 0 0 0 1px alpha(mix(currentColor,@window_bg_color,0.85),0.9), inset 0 1px alpha(@window_fg_color,0.07); margin: 25px; } - -tabbar tab, .tab-drag-icon tab { padding: 6px; } - -tabbar tab.needs-attention, .tab-drag-icon tab.needs-attention { background-image: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.8), alpha(@accent_bg_color,0.2) 15%, alpha(@accent_bg_color,0) 15%); } - -tabbar tab .tab-close-button, tabbar tab .tab-indicator, .tab-drag-icon tab .tab-close-button, .tab-drag-icon tab .tab-indicator { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; border: none; box-shadow: none; -gtk-icon-shadow: none; text-shadow: none; background: none; } - -tabbar tab .tab-close-button:hover, tabbar tab .tab-indicator.clickable:hover, .tab-drag-icon tab .tab-close-button:hover, .tab-drag-icon tab .tab-indicator.clickable:hover { background: alpha(@window_fg_color, 0.15); } - -tabbar tab .tab-close-button:active, tabbar tab .tab-indicator.clickable:active, .tab-drag-icon tab .tab-close-button:active, .tab-drag-icon tab .tab-indicator.clickable:active { background: alpha(black, 0.2); } - -flap > dimming, deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.24); } - -flap > border, deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.2); } - -flap > shadow, deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } - -flap > shadow.left, deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.right, deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.up, deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.down, deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > outline, deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.05); } - -avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } - -avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } - -avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } - -avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } - -avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } - -avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } - -avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } - -avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } - -avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } - -avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } - -avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } - -avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } - -avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } - -avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } - -avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } - -avatar.contrasted { color: #fff; } - -avatar.image { background: none; } - -window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp, preferencespage > scrolledwindow > viewport > clamp { margin: 0 12px; } - -window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > list, window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > box > preferencesgroup, preferencespage > scrolledwindow > viewport > clamp > list, preferencespage > scrolledwindow > viewport > clamp > box > preferencesgroup { margin-top: 24px; } - -preferencesgroup > box > label:not(:first-child) { margin-top: 6px; } - -preferencesgroup > box > box:not(:first-child) { margin-top: 12px; } - -tabbar .tab-indicator:not(.clickable) { background: none; box-shadow: none; border-color: transparent; } - -.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } - -.heading.h4 { color: @window_fg_color; } - -window.rounded, window.rounded actionbar { border-radius: 0 0 12px 12px; } - -window.rounded decoration, window.rounded actionbar decoration { border-radius: 12px; } - -window.flat headerbar { box-shadow: none; } - -.accent { color: @accent_bg_color; } - -.h1 { font-size: 20pt; font-weight: 300; } - -.h2 { font-size: 16pt; font-weight: 200; } - -.h3 { font-size: 11pt; } - -.h4, .category-label { color: shade(@window_fg_color,1.2); font-weight: 700; } - -.h4 { padding-top: 0.5em; padding-bottom: 0.5em; } - -list .h4 { padding-left: 0.5em; } - -.storage-bar .trough { padding: 8px 6px; border: none; border-radius: 6px 6px 0 0; background-image: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } - -.storage-bar .fill-block { padding: 8px 6px; border: 1px solid rgba(0, 0, 0, 0.35); border-top-width: 0; border-right-width: 0; border-bottom-width: 1px; border-left-width: 0; border-radius: 0; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.75); background-color: shade(@view_bg_color,0.85); } - -.storage-bar .fill-block:first-child { border-radius: 6px 0 0; } - -.storage-bar .fill-block:last-child { border-radius: 0 6px 0 0; } - -.storage-bar .fill-block:only-child { border-radius: 6px 6px 0 0; } - -.storage-bar .fill-block image { -gtk-icon-style: symbolic; } - -.storage-bar .empty-block { border-bottom-width: 1px; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.6); background-color: shade(@view_bg_color,0.95); } - -.storage-bar .empty-block image { color: black; } - -.storage-bar .app { border-bottom-width: 1px; border-bottom-color: shade(#dc8add,0.7); background-color: #dc8add; } - -.storage-bar .app image { color: white; } - -.storage-bar .audio { border-bottom-width: 1px; border-bottom-color: shade(#ffa348,0.8); background-color: #ffa348; } - -.storage-bar .audio image { color: black; } - -.storage-bar .files { border-bottom-width: 1px; border-bottom-color: shade(#99c1f1,0.8); background-color: #99c1f1; } - -.storage-bar .files image { color: black; } - -.storage-bar .photo { border-bottom-width: 1px; border-bottom-color: shade(#57e389,0.7); background-color: #57e389; } - -.storage-bar .photo image { color: black; } - -.storage-bar .video { border-bottom-width: 1px; border-bottom-color: shade(#f66151,0.8); background-color: #f66151; } - -.storage-bar .video image { color: white; } - -.storage-bar .legend { padding: 8px; border-radius: 50%; } - -.storage-bar .legend image { color: black; } - -.storage-bar .disk-bar { padding: 0; border-radius: 6px; background-color: #cdab8f; } - -.storage-bar .ext2, .storage-bar .ext3, .storage-bar .ext4, .storage-bar .fat16, .storage-bar .fat32, .storage-bar .btrfs, .storage-bar .xfs, .storage-bar .ntfs, .storage-bar .luks, .storage-bar .lvm, .storage-bar .none, .storage-bar .swap, .storage-bar .unused { border: none; box-shadow: inset 0 -2px rgba(94, 92, 100, 0.5), inset 1px 0 rgba(94, 92, 100, 0.5), inset -1px 0 rgba(94, 92, 100, 0.5); } - -.storage-bar .swap { background-color: #a51d2d; } - -.storage-bar .swap image { color: white; } - -.storage-bar .ext4 { background-color: #57e389; } - -.storage-bar .ext4 image { color: black; } - -.storage-bar .ext3 { background-color: #26a269; } - -.storage-bar .ext3 image { color: white; } - -.storage-bar .ext2 { background-color: #8ff0a4; } - -.storage-bar .ext2 image { color: black; } - -.storage-bar .fat16, .storage-bar .fat32 { background-color: #f8e45c; } - -.storage-bar .fat16 image, .storage-bar .fat32 image { color: black; } - -.storage-bar .btrfs { background-color: #1a5fb4; } - -.storage-bar .btrfs image { color: white; } - -.storage-bar .xfs { background-color: #99c1f1; } - -.storage-bar .xfs image { color: black; } - -.storage-bar .ntfs { background-color: #ffa348; } - -.storage-bar .ntfs image { color: black; } - -.storage-bar .luks { background-color: #c061cb; } - -.storage-bar .luks image { color: black; } - -.storage-bar .lvm { background-color: #dc8add; } - -.storage-bar .lvm image { color: black; } - -.storage-bar .none { background-color: #99c1f1; } - -.storage-bar .none image { color: black; } - -.storage-bar .unused { background-color: #cdab8f; } - -.storage-bar .unused image { color: black; } - -.storage-bar .legend { box-shadow: none; } - -GraniteWidgetsPopOver { -GraniteWidgetsPopOver-arrow-width: 21; -GraniteWidgetsPopOver-arrow-height: 10; -GraniteWidgetsPopOver-border-radius: 12px; -GraniteWidgetsPopOver-border-width: 0; -GraniteWidgetsPopOver-shadow-size: 12; border: 1px solid @view_bg_color; background: @view_bg_color; color: @window_fg_color; } - -GraniteWidgetsPopOver .button { background-image: none; background: none; border: none; } - -GraniteWidgetsPopOver .button:active, GraniteWidgetsPopOver .button:active:hover { color: @accent_bg_color; } - -GraniteWidgetsPopOver > .frame { border: none; } - -GraniteWidgetsPopOver .sidebar.view, GraniteWidgetsPopOver iconview.sidebar { border: none; background: none; } - -GraniteWidgetsStaticNotebook .frame { border: none; } - -.popover_bg { background-color: @view_bg_color; background-image: none; border: 1px solid @view_bg_color; color: @window_fg_color; } - -.deck { background-color: @view_bg_color; } - -paper, .card { transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1); border: none; background-color: @view_bg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } - -paper, paper.rounded, .card, .card.rounded { border-radius: 12px; } - -paper.collapsed, .card.collapsed { background-color: @window_bg_color; } - -.source-list { -GtkTreeView-horizontal-separator: 1px; -GtkTreeView-vertical-separator: 6px; background-color: @window_bg_color; border: solid mix(currentColor,@window_bg_color,0.85); color: @window_fg_color; border-right-width: 1px; } - -.source-list .category-expander { color: transparent; } - -.source-list .badge { background-image: none; background-color: rgba(0, 0, 0, 0.4); color: @window_bg_color; border-radius: 10px; padding: 0 6px; margin: 0 3px; border-width: 0; } - -.source-list .badge:selected:backdrop, .source-list .badge:selected:hover:backdrop { background-color: rgba(0, 0, 0, 0.2); color: shade(@window_bg_color,0.95); } - -.source-list row, .source-list .list-row { border: none; padding: 0; } - -.source-list row > GtkLabel, .source-list row > label, .source-list .list-row > GtkLabel, .source-list .list-row > label { padding-left: 6px; padding-right: 6px; } - -.avatar { border-radius: 999px; box-shadow: none; } - -.overlay-bar { padding: 4px; } - -.dynamic-notebook tab.reorderable-page { padding: 8px; } - -scale.temperature trough { background-image: linear-gradient(to right, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } - -scale.temperature:dir(rtl) trough { background-image: linear-gradient(to left, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } - -scale.warmth trough { background-image: linear-gradient(to right, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } - -scale.warmth:dir(rtl) trough { background-image: linear-gradient(to left, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } - -.terminal, .terminal text { background-color: #3d3846; color: white; font-family: monospace; } - -.terminal selection, .terminal text selection { background-color: @accent_bg_color; color: white; } - -.terminal:backdrop, .terminal text:backdrop { background-color: #5e5c64; color: white; } - -label.terminal { padding: 1em; } - -.welcome { font-size: 10pt; text-shadow: none; } - -.welcome .h1, .welcome .h3 { color: shade(@window_fg_color,1.2); } - -button.back-button, button.back-button.text-button { padding-right: 8px; padding-left: 36px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button, .titlebar button.back-button.text-button { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); background-color: @headerbar_bg_color; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; padding-left: 36px; } - -.titlebar button.back-button:hover, .titlebar button.back-button.text-button:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button:active, .titlebar button.back-button.text-button:active { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button:active:hover, .titlebar button.back-button.text-button:active:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } - -button.back-button:dir(rtl), button.back-button.text-button:dir(rtl) { padding: 0.5em 0.6em; padding-right: 36px; padding-left: 8px; background-image: -gtk-icontheme("go-next-symbolic"); background-repeat: no-repeat no-repeat; background-position: 90% 50%; } - -.checkerboard { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } - -.org-gnome-gedit notebook > header, .gedit-side-panel-paned notebook > header, .nautilus-window notebook > header { background-color: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; box-shadow: none; } - -.org-gnome-gedit notebook > header:backdrop, .gedit-side-panel-paned notebook > header:backdrop, .nautilus-window notebook > header:backdrop { background-color: @headerbar_backdrop_color; box-shadow: none; } - -.org-gnome-gedit notebook arrow.down + tab.reorderable-page, .gedit-side-panel-paned notebook arrow.down + tab.reorderable-page, .nautilus-window notebook arrow.down + tab.reorderable-page, .org-gnome-gedit notebook tab:first-child.reorderable-page, .gedit-side-panel-paned notebook tab:first-child.reorderable-page, .nautilus-window notebook tab:first-child.reorderable-page { background-image: none; box-shadow: none; } - -.org-gnome-gedit notebook tab.reorderable-page, .gedit-side-panel-paned notebook tab.reorderable-page, .nautilus-window notebook tab.reorderable-page { -gtk-outline-radius: 8px; outline-width: 2px; outline-style: solid; outline-color: alpha(@accent_color,0.5); min-height: 37px; padding: 4px 0 0 0; box-shadow: none; border: none; color: @headerbar_fg_color; background-color: @headerbar_bg_color; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } - -.org-gnome-gedit notebook tab.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab.reorderable-page:backdrop, .nautilus-window notebook tab.reorderable-page:backdrop { box-shadow: none; } - -.org-gnome-gedit notebook tab.reorderable-page > box, .gedit-side-panel-paned notebook tab.reorderable-page > box, .nautilus-window notebook tab.reorderable-page > box { margin: 0 3px 3px 3px; padding-right: 8px; border-radius: 6px; } - -.org-gnome-gedit notebook tab.reorderable-page > box > label, .gedit-side-panel-paned notebook tab.reorderable-page > box > label, .nautilus-window notebook tab.reorderable-page > box > label { padding-left: 8px; } - -.org-gnome-gedit notebook tab.reorderable-page > box button, .gedit-side-panel-paned notebook tab.reorderable-page > box button, .nautilus-window notebook tab.reorderable-page > box button { margin: 8px 0; } - -.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:hover.reorderable-page > box, .gedit-side-panel-paned notebook tab:hover.reorderable-page > box, .nautilus-window notebook tab:hover.reorderable-page > box { background-color: alpha(currentColor,0.07); transition: background-color 150ms ease-in-out; } - -.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page, .org-gnome-gedit notebook tab:hover.reorderable-page + tab, .gedit-side-panel-paned notebook tab:hover.reorderable-page + tab, .nautilus-window notebook tab:hover.reorderable-page + tab { background-image: none; } - -.org-gnome-gedit notebook tab:hover.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:hover.reorderable-page:backdrop, .nautilus-window notebook tab:hover.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } - -.org-gnome-gedit notebook tab:backdrop.reorderable-page, .gedit-side-panel-paned notebook tab:backdrop.reorderable-page, .nautilus-window notebook tab:backdrop.reorderable-page { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page > box, .nautilus-window notebook tab:checked.reorderable-page > box { background-color: alpha(currentColor,0.1); transition: background-color 150ms ease-in-out; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover, .nautilus-window notebook tab:checked.reorderable-page:hover, .org-gnome-gedit notebook tab:checked.reorderable-page:active, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active, .nautilus-window notebook tab:checked.reorderable-page:active { box-shadow: none; background-color: transparent; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover > box, .nautilus-window notebook tab:checked.reorderable-page:hover > box, .org-gnome-gedit notebook tab:checked.reorderable-page:active > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active > box, .nautilus-window notebook tab:checked.reorderable-page:active > box { background-color: alpha(currentColor,0.13); } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover:backdrop, .nautilus-window notebook tab:checked.reorderable-page:hover:backdrop, .org-gnome-gedit notebook tab:checked.reorderable-page:active:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active:backdrop, .nautilus-window notebook tab:checked.reorderable-page:active:backdrop { box-shadow: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page, .org-gnome-gedit notebook tab:checked.reorderable-page + tab, .gedit-side-panel-paned notebook tab:checked.reorderable-page + tab, .nautilus-window notebook tab:checked.reorderable-page + tab { background-image: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:backdrop, .nautilus-window notebook tab:checked.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } - -.nautilus-window headerbar .path-bar-box, .nautilus-window .titlebar .path-bar-box { border-radius: 6px; border: none; padding-right: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } - -.nautilus-window headerbar .path-bar-box:backdrop, .nautilus-window .titlebar .path-bar-box:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar, .nautilus-window .titlebar .nautilus-path-bar { border-radius: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); min-height: 34px; } - -.nautilus-window headerbar .nautilus-path-bar:backdrop, .nautilus-window .titlebar .nautilus-path-bar:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton) { margin: 0; padding-left: 8px; padding-right: 8px; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).current-dir, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).current-dir { border-width: 0px; border-radius: 6px; background-color: transparent; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir) { border-width: 0px; border-radius: 6px; background-color: transparent; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover { color: @headerbar_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover { background-color: mix(currentColor,@window_bg_color,0.653); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover *, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover * { opacity: 1; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),shade(mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.7); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); border-radius: 0 6px 6px 0; border-left: 1px solid alpha(currentColor,0.15); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup image, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup image { color: @headerbar_fg_color; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-left: 1px solid alpha(currentColor,0.15); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.903); } - -.nautilus-window .path-buttons-box { border: 2px solid transparent; } - -.nautilus-window .path-buttons-box button { min-height: 22px; } - -.nautilus-window .linked.raised button.image-button:not(:only-child), .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop, .nautilus-window .linked.raised button.image-button:not(:only-child):disabled, .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop:disabled { border: none; } - -.nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active), .nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active):backdrop, .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model):backdrop { background-color: transparent; } - -.nautilus-window .search + .toggle.popup { border-left-color: alpha(currentColor,0.15); } - -.nautilus-window .view .dim-label, .nautilus-window .view dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window .view .subtitle, .nautilus-window iconview .dim-label, .nautilus-window iconview dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window iconview .subtitle, .nautilus-window .view label.separator, .nautilus-window iconview label.separator, .nautilus-window .view headerbar .subtitle, headerbar .nautilus-window .view .subtitle, .nautilus-window iconview headerbar .subtitle, headerbar .nautilus-window iconview .subtitle, .nautilus-window .view .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window .view .subtitle, .nautilus-window iconview .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window iconview .subtitle { color: alpha(@window_fg_color,0.55); } - -.nautilus-window .thumbnail { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } - -.nautilus-window .operations-list, .nautilus-window .operations-list > :hover { background: none; } - -.nautilus-window .nautilus-canvas-item { border-radius: 0px; } - -.nautilus-window .nautilus-canvas-item.label-text { border-radius: 6px; } - -.nautilus-window .nautilus-list-view .view:selected, .nautilus-window .nautilus-list-view iconview:selected { background-color: alpha(@accent_bg_color,0.25); color: @view_fg_color; } - -.nautilus-window .nautilus-list-view .view:selected:hover, .nautilus-window .nautilus-list-view iconview:selected:hover { background-color: alpha(@accent_bg_color,0.32); } - -.nautilus-window .nautilus-list-view .view:hover, .nautilus-window .nautilus-list-view iconview:hover { background-color: alpha(currentColor,0.04); } - -.nautilus-window entry.search > :not(.csd) { margin: 5px; } - -.nautilus-window entry.search > :not(.csd):not(image), .nautilus-window entry.search > :not(.csd):backdrop:not(image) { color: @accent_fg_color; background-color: @accent_bg_color; } - -.floating-bar { padding: 3px; background-color: @view_bg_color; border-width: 1px; border-style: solid solid none; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 8px 0 0 0; } - -.floating-bar.bottom.left { border-left-style: none; border-top-left-radius: 0; } - -.floating-bar.bottom.right { border-right-style: none; border-top-right-radius: 0; } - -.floating-bar:backdrop { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } - -.floating-bar button { padding: 0px; } - -.disk-space-display { border-style: solid; border-width: 2px; } - -.disk-space-display.unknown { background-color: #888a85; border-color: shade(#888a85, 0.7); color: #888a85; } - -.disk-space-display.unknown.border { color: shade(#888a85, 0.7); } - -.disk-space-display.used { background-color: #729fcf; border-color: shade(#729fcf, 0.7); color: #729fcf; } - -.disk-space-display.used.border { color: shade(#729fcf, 0.7); } - -.disk-space-display.free { background-color: #eeeeec; border-color: shade(#eeeeec, 0.7); color: #eeeeec; } - -.disk-space-display.free.border { color: shade(#eeeeec, 0.7); } - -.gedit-search-slider { background: @window_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); border-top-style: none; padding: 4px 8px; border-radius: 0 0 6px 6px; } - -.gedit-search-slider button { padding-top: 7px; padding-bottom: 7px; } - -.gedit-document-panel { background-color: @window_bg_color; } - -.gedit-document-panel row.activatable { padding: 6px; } - -.gedit-document-panel row button { min-width: 22px; min-height: 22px; padding: 0; margin: 0; border: none; } - -.gedit-document-panel row:hover button:hover { background-color: alpha(currentColor,0.15); } - -.gedit-document-panel row:hover button:active { background-color: alpha(currentColor,0.3); } - -.gedit-document-panel row:hover:selected button:hover { color: @window_fg_color; } - -.titlebar.tweak-titlebar-left { background-image: none; background-color: @sidebar_bg_color; border-bottom-color: transparent; } - -.titlebar.tweak-titlebar-left:backdrop { background-color: @sidebar_backdrop_color; } - -.titlebar.tweak-titlebar-left button { background-color: transparent; } - -.titlebar.tweak-titlebar-left button:hover { background-color: alpha(currentColor,0.15); } - -.titlebar.tweak-titlebar-left button:hover:active, .titlebar.tweak-titlebar-left button:active, .titlebar.tweak-titlebar-left button:hover:checked, .titlebar.tweak-titlebar-left button:checked { background-color: alpha(currentColor,0.3); } - -.titlebar.tweak-titlebar-left button:backdrop { background: alpha(currentColor,0.1); } - -.titlebar.tweak-titlebar-left button:backdrop:hover { background: alpha(currentColor,0.15); } - -.titlebar.tweak-titlebar-right { background-image: none; background-color: @window_bg_color; border-bottom-color: transparent; } - -.navigation-sidebar { background-color: @sidebar_bg_color; } - -.navigation-sidebar:backdrop { background-color: @sidebar_backdrop_color; } - -.navigation-sidebar separator.horizontal { margin: 2px 0; padding: 0; background-color: transparent; } - -list.tweak-categories separator.horizontal { background: transparent; margin: 2px 0; } - -.tweak-group .tweak list { border-radius: 12px; border: 1px solid mix(currentColor,@window_bg_color,0.85); } - -.org-gnome-Todo taskrow.activatable.new-task-row button.popup.toggle { border-radius: 0px; border: none; border-left: 1px solid mix(currentColor,@window_bg_color,0.85); padding-left: 10px; padding-right: 10px; -gtk-outline-radius: 0px; } - -.org-gnome-Todo viewport.view, .org-gnome-Todo listbox.transparent { background-color: shade(@view_bg_color,0.95); } - -.org-gnome-Todo viewport.view:backdrop, .org-gnome-Todo listbox.transparent:backdrop { background-color: @window_bg_color; } - -window#guake-terminal notebook header { background: @headerbar_bg_color; } - -.XfceHeading { background-color: @view_bg_color; margin: 0; padding: 0; border-width: 0; } - -XfdesktopIconView.view { background: transparent; color: rgba(255, 255, 255, 0.9); border-radius: 6px; } - -XfdesktopIconView.view:active { background: alpha(mix(black,@accent_bg_color,0.85),0.5); text-shadow: 0 1px 1px black; } - -XfdesktopIconView.view .label { text-shadow: 1px 1px 2px black; } - -XfdesktopIconView.view .rubberband { border-radius: 0; } - -@define-color panel_bg_color black; -@define-color panel_fg_color white; -.xfce4-panel.background { border: none; background-color: @panel_bg_color; color: @panel_fg_color; transition-duration: 250ms; } - -.xfce4-panel.background .tasklist button, .xfce4-panel.background #actions-button, .xfce4-panel.background #clock-button { margin: 0 1px; } - -.xfce4-panel.background.horizontal .tasklist button { margin: 0 1px; } - -.xfce4-panel.background.horizontal .tasklist button label { padding-right: 3px; } - -.xfce4-panel.background.vertical .tasklist button { margin: 1px 0; } - -.xfce4-panel.background.vertical .tasklist button label { padding-bottom: 3px; } - -.xfce4-panel.background .tasklist image { margin-left: 2px; margin-right: 2px; } - -.xfce4-panel.background button label { padding-left: 6px; padding-right: 6px; } - -.xfce4-panel.background button { padding: 0 6px; min-height: 12px; min-width: 12px; border-radius: 24px; color: @panel_fg_color; transition-duration: 250ms; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.xfce4-panel.background button:disabled { background-color: transparent; color: alpha(@panel_fg_color,0.2); } - -.xfce4-panel.background button:hover:not(:active):not(:checked) { color: @panel_fg_color; background-color: alpha(@panel_fg_color,0.25); background-image: none; } - -.xfce4-panel.background button:checked { background-color: alpha(@panel_fg_color,0.2); color: @panel_fg_color; } - -.xfce4-panel.background button:checked:hover { background-color: alpha(@panel_fg_color,0.35); } - -.xfce4-panel.background button:checked:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@panel_fg_color,0.2); } - -.xfce4-panel.background button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -.xfce4-panel.background button entry { caret-color: @view_fg_color; } - -.xfce4-panel.background button menu { -gtk-icon-effect: none; text-shadow: none; } - -.xfce4-panel.background button menu .linked button { color: @view_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } - -.xfce4-panel.background button menu .linked button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: alpha(mix(currentColor,@window_bg_color,0.85),0.5); } - -.xfce4-panel.background progressbar { margin: 0; } - -.xfce4-panel.background progressbar.horizontal trough { min-height: 6px; padding: 0; } - -.xfce4-panel.background progressbar.horizontal progress { min-height: 4px; } - -.xfce4-panel.background progressbar.vertical trough { min-width: 6px; padding: 0; } - -.xfce4-panel.background progressbar.vertical progress { min-width: 4px; } - -.xfce4-panel.background progressbar progress { border-radius: 0px; } - -.xfce4-panel.background progressbar trough { background: shade(@panel_bg_color,0.7); border-radius: 0px; border-color: shade(@panel_bg_color,0.4); } - -wnck-pager { background-color: alpha(@panel_fg_color,0.1); } - -wnck-pager:selected { background-color: shade(@accent_bg_color,0.88); } - -wnck-pager:hover { background-color: @accent_bg_color; } - -#xfwm-tabwin { padding: 12px; border-radius: 12px; -XfwmTabwinWidget-icon-size: 64px; -XfwmTabwinWidget-preview-size: 128px; } - -#xfwm-tabwin .tabwin-app-grid button { min-width: 96px; min-height: 96px; } - -window#whiskermenu-window button { transition: none; } - -#whiskermenu-button { transition: none; } - -#XfceNotifyWindow { border-radius: 8px; background-color: @view_bg_color; } - -.caja-desktop.caja-canvas-item, .nemo-desktop.nemo-canvas-item { color: @accent_fg_color; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); } - -.nemo-properties-dialog .dialog-action-box .dialog-action-area { margin: 2px 6px 4px; } - -.nemo-properties-dialog toolbar stackswitcher.linked button { margin-right: 0; } - -.nemo-properties-dialog toolbar stackswitcher.linked button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: @window_bg_color; } - -.nemo-window .sidebar scrolledwindow.frame.nemo-places-sidebar { border: none; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview { background-image: image(@window_bg_color); border-radius: 0; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:selected { background: @accent_bg_color; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:not(:selected):not(:backdrop):hover { background-image: image(alpha(@window_fg_color,0.05)); } - -.nemo-window .nemo-inactive-pane .view, .nemo-window .nemo-inactive-pane iconview { background-color: @window_bg_color; } - -.nemo-window .nemo-window-pane widget.entry { border: 1px solid; border-radius: 3px; color: @window_fg_color; border-color: @accent_bg_color; background-color: @window_bg_color; } - -.nemo-window .nemo-window-pane widget.entry:selected { border: 1px solid; border-radius: 3px; color: @accent_fg_color; border-color: @accent_bg_color; background-color: @accent_bg_color; } - -.nemo-window toolbar.horizontal.primary-toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } - -.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:first-child widget { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } - -.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:last-child widget { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } - -.nemo-window toolbar.horizontal.primary-toolbar toolitem box widget * { min-height: 0; min-width: 0; } - -.nemo-window toolbar.horizontal.primary-toolbar .linked button { margin-right: 0; } - -#dialog-action_area3 { margin: 5px; } - -window.background.chromium { background-color: mix(currentColor,@window_bg_color,0.9); } - -window.background.chromium entry, window.background.chromium > button { border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(currentColor,@window_bg_color,0.8); } - -window.background.chromium textview.view { background-color: @view_bg_color; } - -window.background.chromium menuitem { border-radius: 0; } - -#MozillaGtkWidget.background button { font-weight: initial; } - -#MozillaGtkWidget.background check, #MozillaGtkWidget.background radio { padding: 0; min-height: 12px; min-width: 12px; } - -#MozillaGtkWidget.background menuitem { border-radius: 0; } - -#MozillaGtkWidget.background menuitem check, #MozillaGtkWidget.background menuitem radio { min-height: 12px; min-width: 12px; } - -#MozillaGtkWidget.background { background-color: @headerbar_bg_color; } - -#MozillaGtkWidget > widget border { border-color: mix(currentColor,@window_bg_color,0.85); } - -window.background.chromium selection:focus, window.background.chromium selection, #MozillaGtkWidget.background selection:focus, #MozillaGtkWidget.background selection { background-color: @accent_bg_color; color: @accent_fg_color; } - -button .download_progress trough { min-height: 2px; } - -.titlebar .navigation-box.linked button:not(:only-child):not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):disabled:not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):backdrop:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.titlebar .navigation-box.linked button:not(:only-child):last-child, .titlebar .navigation-box.linked button:not(:only-child):disabled:last-child, .titlebar .navigation-box.linked button:not(:only-child):backdrop:last-child { border-left-color: transparent; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected:hover { background-color: @accent_bg_color; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle { color: @accent_fg_color; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected image { color: @accent_fg_color; } - -.incognito-mode headerbar, .incognito-mode headerbar.titlebar, .incognito-mode .titlebar { background: @incognito_bg_color; } - -.incognito-mode headerbar:backdrop, .incognito-mode headerbar.titlebar:backdrop, .incognito-mode .titlebar:backdrop { background: mix(@incognito_bg_color,@window_bg_color,0.5); } - -.incognito-mode headerbar button.image-button:hover, .incognito-mode headerbar.titlebar button.image-button:hover, .incognito-mode .titlebar button.image-button:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.03),0.903); } - -.incognito-mode headerbar button.image-button:hover:backdrop, .incognito-mode headerbar.titlebar button.image-button:hover:backdrop, .incognito-mode .titlebar button.image-button:hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@incognito_bg_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar button.image-button:active, .incognito-mode headerbar button.image-button:checked, .incognito-mode headerbar.titlebar button.image-button:active, .incognito-mode headerbar.titlebar button.image-button:checked, .incognito-mode .titlebar button.image-button:active, .incognito-mode .titlebar button.image-button:checked { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.903); } - -.incognito-mode headerbar button.image-button:active:hover, .incognito-mode headerbar button.image-button:checked:hover, .incognito-mode headerbar.titlebar button.image-button:active:hover, .incognito-mode headerbar.titlebar button.image-button:checked:hover, .incognito-mode .titlebar button.image-button:active:hover, .incognito-mode .titlebar button.image-button:checked:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,0.963),0.903); } - -.incognito-mode headerbar button.image-button:active:backdrop, .incognito-mode headerbar button.image-button:checked:backdrop, .incognito-mode headerbar.titlebar button.image-button:active:backdrop, .incognito-mode headerbar.titlebar button.image-button:checked:backdrop, .incognito-mode .titlebar button.image-button:active:backdrop, .incognito-mode .titlebar button.image-button:checked:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar entry, .incognito-mode headerbar.titlebar entry, .incognito-mode .titlebar entry { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.903); } - -.incognito-mode headerbar entry:backdrop, .incognito-mode headerbar.titlebar entry:backdrop, .incognito-mode .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar entry:disabled, .incognito-mode headerbar.titlebar entry:disabled, .incognito-mode .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.incognito-mode headerbar entry:disabled:backdrop, .incognito-mode headerbar.titlebar entry:disabled:backdrop, .incognito-mode .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.org-gnome-Builder .dzlmenubuttonitem { font-weight: normal; min-height: 32px; } - -terminal-window notebook > header.top tabs:not(:only-child):first-child, terminal-window notebook > header.bottom tabs:not(:only-child):first-child { margin-left: 0px; } - -terminal-window notebook > header.top tabs:not(:only-child):last-child, terminal-window notebook > header.bottom tabs:not(:only-child):last-child { margin-right: 0px; } - -terminal-window notebook scrollbar slider { margin: 0; border-width: 3px; } - -window.background.caja-navigation-window #Toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } - -window.background.caja-navigation-window #Toolbar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } - -.caja-pathbar button { min-width: 32px; border-radius: 0; border-right-width: 0; margin-right: -3px; } - -.caja-pathbar button.slider-button:nth-child(odd) { border-radius: 6px 0px 0px 6px; } - -.caja-pathbar button.slider-button:nth-child(even) { border-radius: 0 6px 6px 0; border-right-width: 1px; } - -.caja-side-pane .frame { border-style: solid none none none; } - -.caja-notebook .view, .caja-notebook iconview, .caja-notebook .view.frame, .caja-notebook .frame { border-left: 0; border-right: 0; } - -.caja-side-pane + separator + box:backdrop { background: @window_bg_color; } - -.caja-navigation-window widget.view widget.entry, .caja-desktop-window widget.view widget.entry { background: mix(currentColor,@window_bg_color,0.95); color: @window_fg_color; border-color: mix(currentColor,@window_bg_color,0.85); } - -.caja-navigation-window widget.view widget.entry:selected, .caja-desktop-window widget.view widget.entry:selected { background: @accent_bg_color; color: @accent_fg_color; } - -#gnc-id-main-window treeview.view:not(:selected):hover { background-color: mix(currentColor,@view_bg_color,0.93); } - -gnc-id-sheet-list { background-color: @window_bg_color; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content { background-color: @window_bg_color; border: none; border-radius: 0; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-bottom-width: 0; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background { background-color: transparent; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background > revealer > box { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background { background-color: transparent; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background > actionbar > revealer > box { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer searchbar > revealer > box { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); } - -.geary-folder-popover-list-row { border-radius: 0; margin: 0; } - -.geary-main-window leaflet > leaflet > box:first-child { background-color: @sidebar_bg_color; } - -.geary-main-window leaflet > leaflet > box:first-child:backdrop { background-color: @sidebar_backdrop_color; } - -.geary-main-window leaflet > box:first-child > .titlebar { background-color: @sidebar_bg_color; background-image: none; border-bottom: transparent; box-shadow: none; } - -.geary-main-window leaflet > box:first-child > .titlebar:backdrop { background-color: @sidebar_backdrop_color; } - -.geary-main-window leaflet > box:first-child > .titlebar button { background-color: transparent; } - -.geary-main-window leaflet > box:first-child > .titlebar button:hover { background-color: alpha(currentColor,0.15); } - -.geary-main-window leaflet > box:first-child > .titlebar button:hover:active, .geary-main-window leaflet > box:first-child > .titlebar button:active, .geary-main-window leaflet > box:first-child > .titlebar button:hover:checked, .geary-main-window leaflet > box:first-child > .titlebar button:checked { background-color: alpha(currentColor,0.3); } - -.geary-main-window leaflet > box:first-child > .titlebar button:backdrop { background: transparent; } - -.geary-main-window leaflet > box:first-child > .titlebar button:backdrop:hover { background: alpha(currentColor,0.15); } - -.geary-main-window leaflet > box:not(:first-child) > .titlebar { border-bottom: transparent; box-shadow: none; } - -.geary-main-window leaflet > box:not(:first-child) > .titlebar:backdrop { background-image: none; background-color: @new_title_bg_color; } - -.geary-main-window separator.sidebar { background-color: mix(currentColor,@window_bg_color,0.85); } - -.geary-main-window .titlebar .image-button { padding: 0 6px; } - -.geary-folder .sidebar.view:selected, .geary-folder iconview.sidebar:selected { background-color: alpha(currentColor,0.1); } - -.geary-folder .sidebar.view:selected:hover, .geary-folder iconview.sidebar:selected:hover { background-color: alpha(currentColor,0.13); } - -.geary-folder .sidebar.view:hover, .geary-folder iconview.sidebar:hover { background-color: alpha(currentColor,0.07); } - -#DialogNotebook treeview.view:hover { background-color: alpha(@accent_bg_color,0.5); } - -.budgie-panel button { min-height: 16px; min-width: 16px; padding: 0; border-radius: 0; } - -.budgie-panel button.flat.launcher { padding: 0; } - -.budgie-panel.horizontal button, .budgie-panel #tasklist-button { padding: 0 4px; } - -.budgie-panel.vertical button { padding: 4px 0; } - -.budgie-panel.vertical #tasklist-button { min-height: 32px; } diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/gtk.css b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/gtk.css deleted file mode 100644 index 0ad76d41..00000000 --- a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/gtk.css +++ /dev/null @@ -1,3223 +0,0 @@ -@define-color blue_1 #99c1f1; -@define-color blue_2 #62a0ea; -@define-color blue_3 #3584e4; -@define-color blue_4 #1c71d8; -@define-color blue_5 #1a5fb4; -@define-color green_1 #8ff0a4; -@define-color green_2 #57e389; -@define-color green_3 #33d17a; -@define-color green_4 #2ec27e; -@define-color green_5 #26a269; -@define-color yellow_1 #f9f06b; -@define-color yellow_2 #f8e45c; -@define-color yellow_3 #f6d32d; -@define-color yellow_4 #f5c211; -@define-color yellow_5 #e5a50a; -@define-color orange_1 #ffbe6f; -@define-color orange_2 #ffa348; -@define-color orange_3 #ff7800; -@define-color orange_4 #e66100; -@define-color orange_5 #c64600; -@define-color red_1 #f66151; -@define-color red_2 #ed333b; -@define-color red_3 #e01b24; -@define-color red_4 #c01c28; -@define-color red_5 #a51d2d; -@define-color purple_1 #dc8add; -@define-color purple_2 #c061cb; -@define-color purple_3 #9141ac; -@define-color purple_4 #813d9c; -@define-color purple_5 #613583; -@define-color brown_1 #cdab8f; -@define-color brown_2 #b5835a; -@define-color brown_3 #986a44; -@define-color brown_4 #865e3c; -@define-color brown_5 #63452c; -@define-color light_1 #ffffff; -@define-color light_2 #f6f5f4; -@define-color light_3 #deddda; -@define-color light_4 #c0bfbc; -@define-color light_5 #9a9996; -@define-color dark_1 #77767b; -@define-color dark_2 #5e5c64; -@define-color dark_3 #3d3846; -@define-color dark_4 #241f31; -@define-color dark_5 #000000; -@define-color accent_bg_color @blue_3; -@define-color accent_fg_color white; -@define-color accent_color @blue_4; -@define-color destructive_bg_color @red_3; -@define-color destructive_fg_color white; -@define-color destructive_color @red_4; -@define-color success_bg_color @green_4; -@define-color success_fg_color white; -@define-color success_color #1b8553; -@define-color warning_bg_color @yellow_5; -@define-color warning_fg_color rgba(0, 0, 0, 0.8); -@define-color warning_color #9c6e03; -@define-color error_bg_color @red_3; -@define-color error_fg_color white; -@define-color error_color @red_4; -@define-color window_bg_color #fafafa; -@define-color window_fg_color #323232; -@define-color view_bg_color #ffffff; -@define-color view_fg_color #333333; -@define-color headerbar_bg_color #ebebeb; -@define-color headerbar_fg_color #2f2f2f; -@define-color headerbar_border_color rgba(0, 0, 0, 0.8); -@define-color headerbar_backdrop_color @window_bg_color; -@define-color headerbar_shade_color rgba(0, 0, 0, 0.12); -@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.12); -@define-color sidebar_bg_color #ebebeb; -@define-color sidebar_fg_color rgba(0, 0, 0, 0.8); -@define-color sidebar_backdrop_color #f2f2f2; -@define-color sidebar_shade_color rgba(0, 0, 0, 0.07); -@define-color sidebar_border_color rgba(0, 0, 0, 0.07); -@define-color card_bg_color #ffffff; -@define-color card_fg_color #333333; -@define-color card_shade_color rgba(0, 0, 0, 0.07); -@define-color dialog_bg_color #fafafa; -@define-color dialog_fg_color #323232; -@define-color popover_bg_color #ffffff; -@define-color popover_fg_color #333333; -@define-color popover_shade_color rgba(0, 0, 0, 0.07); -@define-color thumbnail_bg_color #ffffff; -@define-color thumbnail_fg_color rgba(0, 0, 0, 0.8); -@define-color shade_color rgba(0, 0, 0, 0.07); -@define-color scrollbar_outline_color white; -@define-color incognito_bg_color #d7e3f0; -@define-color new_title_bg_color #ffffff; -* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: @error_bg_color; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 4px; -gtk-secondary-caret-color: @accent_bg_color; } - -.background { color: @window_fg_color; background-color: @window_bg_color; } - -.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; } - -*:disabled { -gtk-icon-effect: dim; } - -.gtkstyle-fallback { color: @window_fg_color; background-color: @window_bg_color; } - -.gtkstyle-fallback:hover { color: @window_fg_color; background-color: shade(@window_bg_color,1.1); } - -.gtkstyle-fallback:active { color: @window_fg_color; background-color: shade(@window_bg_color,0.9); } - -.gtkstyle-fallback:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -.gtkstyle-fallback:selected { color: @accent_fg_color; background-color: @accent_bg_color; } - -.view, iconview, .nautilus-window notebook, .nautilus-window notebook > stack:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar, .view text, iconview text, textview text { color: @view_fg_color; caret-color: shade(@view_fg_color,1.05); background-color: @view_bg_color; } - -.view:disabled, iconview:disabled, .nautilus-window notebook:disabled, .nautilus-window notebook > stack:disabled:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -.view:selected:focus, .view:selected, iconview:selected, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected, iconview text:selected, textview text:selected { background-color: alpha(@accent_bg_color,0.25); border-radius: 6px; } - -textview border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } - -.rubberband, rubberband, XfdesktopIconView.view .rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } - -flowbox flowboxchild { padding: 3px; } - -flowbox flowboxchild:selected { outline-offset: -2px; } - -.content-view .tile { margin: 2px; background-color: transparent; border-radius: 0; padding: 0; } - -.content-view .tile:backdrop { background-color: transparent; } - -.content-view .tile:active, .content-view .tile:selected { background-color: transparent; } - -.content-view .tile:disabled { background-color: transparent; } - -label { caret-color: currentColor; } - -label selection { background-color: @accent_bg_color; color: @accent_fg_color; } - -label:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -button label:disabled { color: inherit; } - -label:disabled:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -button label:disabled:backdrop { color: inherit; } - -label.error { color: @error_bg_color; } - -label.error:disabled { color: alpha(@error_bg_color,0.5); } - -label.error:disabled:backdrop { color: alpha(@error_bg_color,0.4); } - -.dim-label, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, .welcome .dim-label, .welcome label.separator, .welcome headerbar .subtitle, headerbar .welcome .subtitle, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; } - -assistant.csd .sidebar { border-top-style: none; } - -assistant .sidebar label { padding: 6px 12px; } - -assistant .sidebar label.highlight { background-color: mix(@window_bg_color,@window_fg_color,0.2); } - -.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } - -@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } } - -spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } - -spinner:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -spinner:checked { opacity: 1; animation: spin 1s linear infinite; } - -spinner:checked:disabled { opacity: 0.5; } - -.large-title { font-weight: 300; font-size: 24pt; } - -.title-1 { font-weight: 800; font-size: 20pt; } - -.title-2 { font-weight: 800; font-size: 15pt; } - -.title-3 { font-weight: 700; font-size: 15pt; } - -.title-4 { font-weight: 700; font-size: 13pt; } - -.heading { font-weight: 700; font-size: 11pt; } - -.body { font-weight: 400; font-size: 11pt; } - -.caption-heading { font-weight: 700; font-size: 9pt; } - -.caption { font-weight: 400; font-size: 9pt; } - -spinbutton:not(.vertical), entry { min-height: 34px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: @view_fg_color; border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.92); box-shadow: inset 0 0 0 1px alpha(alpha(@accent_color,0.5),0); } - -spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; } - -spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; } - -spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } - -spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); border-color: alpha(@accent_color,0.5); transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton:disabled:not(.vertical), entry:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); } - -spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; border-color: @error_bg_color; } - -spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton.error:not(.vertical) selection, entry.error selection { background-color: @error_bg_color; } - -spinbutton.warning:not(.vertical), entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } - -spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: @warning_bg_color; } - -spinbutton:not(.vertical) image, entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } - -spinbutton:not(.vertical) image:hover, entry image:hover { color: @window_fg_color; } - -spinbutton:not(.vertical) image:active, entry image:active { color: @accent_bg_color; } - -spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: @accent_bg_color; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } - -.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: @error_bg_color; } - -.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: @accent_bg_color; } - -.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.853),@view_bg_color,0.7); } - -.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.7); } - -.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: mix(mix(currentColor,@window_bg_color,0.853),@view_bg_color,0.7); } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: alpha(@accent_color,0.5); } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: @error_bg_color; } - -.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: @accent_bg_color; } - -.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: alpha(@accent_color,0.5); } - -.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: @error_bg_color; } - -.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: @accent_bg_color; } - -spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; } - -treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } - -treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } - -treeview entry.flat:focus, treeview entry:focus { border-color: @accent_bg_color; } - -.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: @accent_fg_color; background-color: @accent_bg_color; } - -:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; } - -:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; } - -.entry-tag:hover { background-color: mix(white,@accent_bg_color,0.9); } - -:backdrop .entry-tag { color: @window_bg_color; background-color: @accent_bg_color; } - -.entry-tag.button { background-color: transparent; color: alpha(@accent_fg_color,0.7); } - -:not(:backdrop) .entry-tag.button:hover { border: 1px solid @accent_bg_color; color: @accent_fg_color; } - -:not(:backdrop) .entry-tag.button:active { background-color: @accent_bg_color; color: alpha(@accent_fg_color,0.7); } - -@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(@accent_bg_color), to(transparent)); } - to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); } } - -notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 10px; border: 1px solid; border-color: transparent; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); font-weight: bold; outline-style: solid; outline-offset: -2px; outline-width: 2px; -gtk-outline-radius: 4px; color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); } - -button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition: none; } - -button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; } - -button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -notebook > header > tabs > arrow:hover, button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; -gtk-icon-effect: highlight; } - -notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; } - -notebook > header > tabs > arrow:active:hover, notebook > header > tabs > arrow:checked:hover, button:active:hover, button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.65); } - -notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { transition: 200ms ease-out; -gtk-icon-effect: none; } - -button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -notebook > header > tabs > arrow:disabled, button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } - -notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 4px; padding-right: 4px; } - -notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 10px; padding-right: 10px; } - -notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 4px; padding-right: 4px; } - -notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 4px; padding-right: 4px; } - -combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -row:selected button { border-color: mix(black,@accent_bg_color,0.85); } - -row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: @window_fg_color; border-color: transparent; } - -button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); border-radius: 5px; color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd.image-button { min-width: 34px; } - -button.osd:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd:active, button.osd:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } - -button.osd:disabled:backdrop, button.osd:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } - -button.osd:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } - -.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } - -.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; border-color: transparent; box-shadow: none; } - -.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -button.suggested-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.9); } - -button.suggested-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @accent_bg_color; } - -button.suggested-action:hover { color: white; background-color: mix(currentColor,@accent_bg_color,0.853); box-shadow: none; } - -button.suggested-action:active, button.suggested-action:checked { color: white; background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.suggested-action:active:hover, button.suggested-action:checked:hover { background-color: mix(currentColor,@accent_bg_color,0.65); } - -button.suggested-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@accent_bg_color,0.8); } - -button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: mix(white,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.92),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } - -.osd button.suggested-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd button.suggested-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@accent_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.destructive-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.9); } - -button.destructive-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @destructive_bg_color; } - -button.destructive-action:hover { color: white; background-color: mix(currentColor,@destructive_bg_color,0.853); box-shadow: none; } - -button.destructive-action:active, button.destructive-action:checked { color: white; background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -button.destructive-action:active:hover, button.destructive-action:checked:hover { background-color: mix(currentColor,@destructive_bg_color,0.65); } - -button.destructive-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@destructive_bg_color,0.8); } - -button.destructive-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: mix(white,shade(mix(@destructive_bg_color,@view_bg_color,0.15),0.92),0.4); background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; } - -.osd button.destructive-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd button.destructive-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@destructive_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.stack-switcher > button { outline-offset: -3px; } - -.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: 2px; padding-right: 2px; } - -.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; } - -button.font separator, button.file separator { background-color: transparent; } - -button.font > box > box > label { font-weight: bold; } - -.primary-toolbar button { -gtk-icon-shadow: none; } - -button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; } - -button.circular label { padding: 0; } - -button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); border-color: transparent; } - -button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; border-color: transparent; } - -stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } - -stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } - -.inline-toolbar toolbutton > button { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); } - -.inline-toolbar toolbutton > button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; } - -.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:active:hover, .inline-toolbar toolbutton > button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.65); } - -.inline-toolbar toolbutton > button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.inline-toolbar toolbutton > button:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; } - -.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:first-child, headerbar .linked button:first-child:not(:only-child), .titlebar .linked button:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-left-color: transparent; border-top-left-radius: 6px; border-bottom-left-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-bottom-left-radius: 6px; } - -.linked:not(.vertical) > combobox:first-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):last-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:not(button):focus:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:first-child, headerbar .linked button:not(button):focus:first-child:not(:only-child), .titlebar .linked button:not(button):focus:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:first-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:first-child, .inline-toolbar button:not(button):focus:first-child, .linked > button:not(button):focus:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat:not(button):focus { border-left-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:last-child, headerbar .linked button:last-child:not(:only-child), .titlebar .linked button:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-color: transparent; border-right-style: solid; border-top-right-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-top-right-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } - -.linked:not(.vertical) > combobox:last-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):first-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:not(button):focus:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:last-child, headerbar .linked button:not(button):focus:last-child:not(:only-child), .titlebar .linked button:not(button):focus:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:last-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:last-child, .inline-toolbar button:not(button):focus:last-child, .linked > button:not(button):focus:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat:not(button):focus { border-right-color: alpha(@accent_color,0.5); } - -.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .xfce4-panel.background button menu .linked button:only-child, .nautilus-window .titlebar :not(.raised) .linked > button:only-child, headerbar .linked button:only-child:not(:only-child), .titlebar .linked button:only-child:not(:only-child), .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } - -.xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); } - -.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); border-style: solid none none none; border-radius: 0; -gtk-outline-radius: 0; } - -.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-color: transparent; border-top-left-radius: 6px; border-top-right-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-top-right-radius: 6px; } - -.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-color: transparent; border-bottom-style: solid; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-bottom-left-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } - -.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } - -.linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); } - -.scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -modelbutton.flat, .menuitem.button.flat { min-height: 32px; padding-left: 5px; padding-right: 5px; border-radius: 6px; outline-offset: -2px; } - -modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: alpha(currentColor,0.1); } - -modelbutton.flat:selected, .menuitem.button.flat:selected { background-color: alpha(currentColor,0.1); } - -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 { padding: 4px; } - -button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; } - -.osd button.color colorswatch:only-child { box-shadow: none; } - -.osd button.color:disabled colorswatch:only-child, .osd button.color:backdrop colorswatch:only-child, .osd button.color:active colorswatch:only-child, .osd button.color:checked colorswatch:only-child, button.color:disabled colorswatch:only-child, button.color:backdrop colorswatch:only-child, button.color:active colorswatch:only-child, button.color:checked colorswatch:only-child { box-shadow: none; } - -list row button.image-button:not(.flat):hover { background-color: alpha(currentColor,0.04); } - -list row button.image-button:not(.flat):active { background-color: alpha(currentColor,0.08); } - -list row button.image-button:not(.flat):checked { background-color: alpha(@accent_bg_color,0.25); } - -list row button.image-button:not(.flat):checked:hover { background-color: alpha(@accent_bg_color,0.32); } - -list row button.image-button:not(.flat):checked:active { background-color: alpha(@accent_bg_color,0.39); } - -button:link > label, button:visited > label, button:link, button:visited, *:link { color: @accent_color; } - -button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: mix(@accent_color,@view_fg_color,0.2); } - -*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: mix(@accent_fg_color,mix(@accent_color,@view_fg_color,0.2),0.4); } - -button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: mix(white,@accent_color,0.9); } - -*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: mix(@accent_fg_color,mix(white,@accent_color,0.9),0.1); } - -button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: @accent_color; } - -*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: mix(@accent_fg_color,@accent_color,0.2); } - -button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: alpha(@accent_color,0.9); } - -button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: alpha(mix(white,black,0.5),0.8); } - -.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: mix(@accent_fg_color,@accent_color,0.2); } - -button:link, button:visited { text-shadow: none; font-weight: 400; } - -button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; } - -button:link > label, button:visited > label { text-decoration-line: underline; } - -spinbutton { font-feature-settings: "tnum"; } - -spinbutton:not(.vertical) { padding: 0; } - -.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; } - -spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; } - -spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: mix(@window_fg_color,@view_bg_color,0.1); background-color: transparent; border-style: none none none solid; border-color: alpha(currentColor,0.15); border-radius: 0; box-shadow: none; } - -spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } - -spinbutton:not(.vertical) button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; background-color: alpha(currentColor,0.1); } - -spinbutton:not(.vertical) button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: transparent; } - -spinbutton:not(.vertical) button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: alpha(currentColor,0.15); } - -spinbutton:not(.vertical) button:active:hover { background-color: mix(currentColor,@window_bg_color,0.65); } - -spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } - -spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } - -.osd spinbutton:not(.vertical) button { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-style: none none none solid; border-color: alpha(rgba(0, 0, 0, 0.9),0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; } - -.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } - -.osd spinbutton:not(.vertical) button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); background-color: alpha(rgba(255, 255, 255, 0.9),0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } - -.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } - -.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } - -spinbutton.vertical:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; } - -spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; } - -spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; } - -spinbutton.vertical button.up { border-color: alpha(currentColor,0.15); border-radius: 6px 6px 0 0; border-style: none none solid none; } - -spinbutton.vertical button.down { border-color: alpha(currentColor,0.15); border-radius: 0 0 6px 6px; border-style: solid none none none; } - -.osd spinbutton.vertical button:first-child { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd spinbutton.vertical button:first-child:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd spinbutton.vertical button:first-child:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } - -treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; } - -combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } - -combobox:drop(active) { box-shadow: none; } - -searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: @window_bg_color; } - -searchbar > revealer > box:backdrop, .location-bar:backdrop, .inline-toolbar:backdrop, toolbar:backdrop { background-color: @window_bg_color; } - -toolbar { padding: 4px 3px 3px 4px; } - -.osd toolbar { background-color: transparent; } - -toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(0, 0, 0, 0.7); } - -toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; } - -toolbar.horizontal separator { margin: 0 7px 1px 6px; } - -toolbar.vertical separator { margin: 6px 1px 7px 0; } - -toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; } - -.inline-toolbar { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.853); border-style: solid; padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; } - -searchbar > revealer > box, .location-bar { border-width: 0 0 1px; border-style: solid; border-color: mix(currentColor,@window_bg_color,0.853); padding: 3px; } - -searchbar > revealer > box { margin: -6px; padding: 6px; } - -.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: @headerbar_shade_color; border-radius: 0; background: @headerbar_bg_color linear-gradient(to top, @headerbar_bg_color, @headerbar_bg_color); } - -.titlebar:backdrop:not(headerbar), headerbar:backdrop { background-color: @headerbar_backdrop_color; background-image: none; transition: 200ms ease-out; } - -.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } - -.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } - -.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.85); background: @accent_bg_color linear-gradient(to top, @accent_bg_color, @accent_bg_color); } - -.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: @accent_bg_color; background-image: none; box-shadow: inset 0 1px mix(alpha(white,0.5),@accent_bg_color,0.4); } - -.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: @accent_fg_color; } - -.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.9); } - -.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.853); box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:active:hover, .selection-mode .titlebar:not(headerbar) button:checked:hover, .selection-mode.titlebar:not(headerbar) button:active:hover, .selection-mode.titlebar:not(headerbar) button:checked:hover, .selection-mode headerbar button:active:hover, .selection-mode headerbar button:checked:hover, .selection-mode headerbar button.toggle:checked:hover, .selection-mode headerbar button.toggle:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.toggle:checked:hover, headerbar.selection-mode button.toggle:active:hover { background-color: mix(currentColor,@accent_bg_color,0.65); } - -.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { color: mix(@accent_fg_color,@accent_bg_color,0.2); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; -gtk-icon-effect: none; border-color: transparent; } - -.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.92),0.2); background-color: mix(currentColor,@accent_bg_color,0.7); } - -.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.92),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); } - -.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.92),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } - -.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); border-color: mix(black,@accent_bg_color,0.85); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; border-color: mix(black,@accent_bg_color,0.85); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.85); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode headerbar button.suggested-action:active:hover, headerbar.selection-mode button.suggested-action:active:hover { background-color: mix(currentColor,@window_bg_color,0.65); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: mix(black,@accent_bg_color,0.85); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.85); } - -.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.85); } - -.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: alpha(@accent_bg_color,0); background-color: alpha(@accent_bg_color,0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; } - -.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; } - -.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: alpha(@accent_fg_color,0.5); -gtk-icon-shadow: none; } - -.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; } - -.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 36px; padding: 0 6px 0 6px; } - -.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { border-radius: 100%; background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:hover, headerbar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:active, headerbar.default-decoration button.titlebutton:hover:active, headerbar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop, headerbar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } - -.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop:hover, headerbar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } - -.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; } - -.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; } - -headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; } - -headerbar switch { margin-top: 9px; margin-bottom: 9px; } - -headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; } - -.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; } - -window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 12px; } - -window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 12px; } - -window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; } - -window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; } - -.titlebar:not(headerbar) separator { background-color: mix(currentColor,@window_bg_color,0.853); } - -.titlebar:not(headerbar) separator:backdrop { background-color: mix(currentColor,@window_bg_color,0.81); } - -window.devel headerbar.titlebar:not(.selection-mode) { background: @window_bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, alpha(@accent_bg_color,0.2)), linear-gradient(to top, mix(black,@headerbar_bg_color,0.97), @headerbar_bg_color 3px, mix(white,@headerbar_bg_color,0.94)); } - -window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: @headerbar_backdrop_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(@headerbar_backdrop_color); } - -.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; } - -.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; } - -.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; } - -.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; } - -.path-bar button image { padding-left: 4px; padding-right: 4px; } - -.path-bar button.slider-button { padding-left: 0; padding-right: 0; } - -treeview.view { border-left-color: mix(@window_fg_color,@view_bg_color,0.5); border-top-color: @window_bg_color; } - -* { -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:selected:focus, treeview.view:selected { border-radius: 0; } - -treeview.view:selected:backdrop, treeview.view:selected { border-left-color: mix(@accent_fg_color,@accent_bg_color,0.5); border-top-color: alpha(@window_fg_color,0.1); } - -treeview.view:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -treeview.view:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.6); } - -treeview.view:disabled:selected:backdrop { color: mix(@window_bg_color,@accent_bg_color,0.7); } - -treeview.view.separator { min-height: 2px; color: @window_bg_color; } - -treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: mix(black,@accent_bg_color,0.85); } - -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-end-symbolic"); color: mix(@view_fg_color,@view_bg_color,0.3); } - -treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -treeview.view.expander:hover { color: @view_fg_color; } - -treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -treeview.view.progressbar { color: @view_bg_color; background-color: @accent_bg_color; background-image: image(@accent_bg_color); box-shadow: none; } - -treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { color: @accent_bg_color; background-image: image(@view_bg_color); } - -treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { color: @accent_bg_color; background-color: @window_bg_color; } - -treeview.view.progressbar:backdrop { color: @window_bg_color; background-image: none; box-shadow: none; } - -treeview.view.trough { background-color: alpha(@window_fg_color,0.1); } - -treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: alpha(@accent_fg_color,0.3); } - -treeview.view header button { color: mix(@window_fg_color,@view_bg_color,0.5); background-color: @view_bg_color; font-weight: bold; font-size: smaller; text-shadow: none; box-shadow: none; } - -treeview.view header button:hover { color: mix(mix(@window_fg_color,@view_bg_color,0.5),@window_fg_color,0.5); box-shadow: none; transition: none; } - -treeview.view header button:active { color: @window_fg_color; transition: none; } - -treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: @view_bg_color; background-image: none; background-color: @accent_bg_color; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px @view_bg_color; text-shadow: none; transition: none; } - -treeview.view acceleditor > label { background-color: @accent_bg_color; } - -treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none; border-radius: 0; text-shadow: none; } - -treeview.view header button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; } - -treeview.view header button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -treeview.view header button:active:hover { background-color: mix(currentColor,@window_bg_color,0.65); } - -treeview.view header button:disabled { border-color: @window_bg_color; background-image: none; } - -treeview.view header button:last-child { border-right-style: none; } - -menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0; } - -menubar:backdrop, .menubar:backdrop { background-color: @window_bg_color; } - -menubar > menuitem, .menubar > menuitem { border-radius: 6px; min-height: 16px; padding: 4px 8px; } - -menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 8px; padding: 6px; } - -menubar > menuitem menu:dir(rtl) menuitem, menubar > menuitem menu:dir(ltr) menuitem, .menubar > menuitem menu:dir(rtl) menuitem, .menubar > menuitem menu:dir(ltr) menuitem { border-radius: 6px; } - -menubar > menuitem:hover, .menubar > menuitem:hover { background-color: alpha(currentColor,0.1); } - -menubar > menuitem:disabled, .menubar > menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); box-shadow: none; } - -menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 8px; } - -.background.popup { background-color: transparent; } - -menu, .menu, .context-menu { margin: 4px; padding: 6px; background-color: @popover_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.853); } - -menu separator, .menu separator, .context-menu separator { margin: 6px 0; } - -.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 8px; } - -menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; font-weight: normal; border-radius: 6px; } - -menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: @window_fg_color; background-color: alpha(currentColor,0.1); } - -menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -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: 10px; } - -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: 10px; } - -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 { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; min-height: 16px; min-width: 16px; padding: 4px; background-color: @popover_bg_color; border-radius: 0; } - -menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-top-right-radius: 8px; border-top-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: mix(@window_fg_color,@view_bg_color,0.9); } - -menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; } - -menuitem accelerator { color: alpha(currentColor,0.55); } - -menuitem check, menuitem radio { min-height: 16px; min-width: 16px; } - -menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; } - -menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; } - -popover.background { padding: 2px; background-color: @popover_bg_color; box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 8px 3px rgba(0, 0, 0, 0.05); } - -.csd popover.background, popover.background { border: 1px solid mix(currentColor,@window_bg_color,0.853); border-radius: 12px; } - -.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.14); } - -popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; } - -.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); } - -popover.background separator { margin: 6px 0; } - -popover.background list separator { margin: 0px; } - -notebook > header { padding: 0px; border-color: alpha(currentColor,0.15); border-width: 0px; background-color: @window_bg_color; box-shadow: none; } - -notebook > header.top { box-shadow: inset 0 -1px alpha(currentColor,0.15); } - -notebook > header.bottom { box-shadow: inset 0 1px alpha(currentColor,0.15); } - -notebook > header.left { box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -notebook > header.right { box-shadow: inset 1px 0 alpha(currentColor,0.15); } - -notebook > header tabs { margin: 0px; } - -notebook > header.top { border-bottom-style: solid; } - -notebook > header.top > tabs { margin-bottom: 0px; } - -notebook > header.top > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } - -notebook > header.top > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.top > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 -4px @accent_bg_color; } - -notebook > header.bottom { border-top-style: solid; } - -notebook > header.bottom > tabs { margin-top: 0px; } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.bottom > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 4px @accent_bg_color; } - -notebook > header.left { border-right-style: solid; } - -notebook > header.left > tabs { margin-right: 0px; } - -notebook > header.left > tabs > tab:not(.reorderable-page):hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } - -notebook > header.left > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.left > tabs > tab:not(.reorderable-page):checked { box-shadow: inset -4px 0 @accent_bg_color; } - -notebook > header.right { border-left-style: solid; } - -notebook > header.right > tabs { margin-left: 0px; } - -notebook > header.right > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } - -notebook > header.right > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } - -notebook > header.right > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 4px 0 @accent_bg_color; } - -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 { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } - -notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } - -notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -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 { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } - -notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; } - -notebook > header > tabs > arrow:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: @window_fg_color; font-weight: normal; border-width: 0px; border-color: transparent; } - -notebook > header tab.reorderable-page { background-color: mix(currentColor,@window_bg_color,0.88); box-shadow: inset -1px -1px alpha(currentColor,0.15); border: none; } - -notebook > header tab:hover { color: @window_fg_color; } - -notebook > header tab:hover.reorderable-page { border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(currentColor,0.15); transition: background-color 150ms ease-in-out; } - -notebook > header tab:hover.reorderable-page:backdrop { background-color: mix(currentColor,@window_bg_color,0.84); } - -notebook > header tab:backdrop.reorderable-page { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.4); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); box-shadow: inset -1px -1px alpha(currentColor,0.15); } - -notebook > header tab:checked { color: @window_fg_color; } - -notebook > header tab:checked.reorderable-page { border-width: 0; border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.923); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px @accent_bg_color; } - -notebook > header tab:checked.reorderable-page:hover { background-color: shade(mix(currentColor,@window_bg_color,0.923),0.971); } - -notebook > header tab:backdrop:checked.reorderable-page { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: alpha(currentColor,0.15); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(@accent_bg_color,0.5); background-color: @window_bg_color; } - -notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; border-radius: 100%; } - -notebook > header tab button.flat:hover { color: currentColor; background-color: alpha(currentColor,0.15); } - -notebook > header tab button.flat:active { background-color: alpha(currentColor,0.3); } - -notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); } - -notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } - -notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } - -notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 0px; padding-right: 0px; } - -notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } - -notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; } - -notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; } - -notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; } - -notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; margin-left: 0px; margin-right: 0px; } - -notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } - -notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; } - -notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; } - -notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; } - -notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: none solid; margin-top: 0px; margin-bottom: 0px; } - -notebook > header.top tab { padding-bottom: 4px; } - -notebook > header.bottom tab { padding-top: 4px; } - -notebook > stack:not(:only-child) { background-color: @view_bg_color; } - -scrollbar { background-color: @view_bg_color; transition: all 200ms linear; } - -* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; } - -scrollbar slider { color: @window_fg_color; min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: alpha(currentColor,0.2); transition: all 200ms linear; } - -scrollbar slider:hover { background-color: alpha(currentColor,0.4); } - -scrollbar slider:hover:active { background-color: alpha(currentColor,0.6); } - -scrollbar slider:disabled { background-color: transparent; } - -scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: alpha(@accent_color,0.6); } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; transition-property: background-color, min-height, min-width; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: @window_fg_color; border: 1px solid white; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: @window_fg_color; background-clip: padding-box; border-radius: 100%; border: 1px solid white; -gtk-icon-source: none; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { margin: 0 2px; min-width: 40px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { margin: 1px 2px; min-width: 5px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { margin: 2px 0; min-height: 40px; } - -scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { margin: 2px 1px; min-height: 5px; } - -scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; } - -scrollbar.horizontal slider { min-width: 40px; } - -scrollbar.vertical slider { min-height: 40px; } - -scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } - -scrollbar button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.4); } - -scrollbar button:active, scrollbar button:checked { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.6); } - -scrollbar button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } - -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"); } - -treeview ~ scrollbar.vertical { border-top: 1px solid mix(currentColor,@window_bg_color,0.853); margin-top: -1px; } - -switch { outline-offset: -4px; padding: 3px; border-radius: 14px; color: @window_fg_color; background-color: alpha(currentColor,0.15); } - -switch:hover:not(:checked) { background-color: alpha(currentColor,0.2); } - -switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } - -switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } - -switch:checked:hover:active { background-image: image(rgba(0, 0, 0, 0.2)); } - -switch:checked:disabled { background-color: alpha(@accent_bg_color,0.5); } - -switch:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.3); text-shadow: none; } - -switch slider { margin: 0px; min-width: 20px; min-height: 20px; background-color: mix(white,@view_bg_color,0.2); border: 1px solid transparent; border-radius: 50%; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; } - -switch image { color: transparent; } - -switch:hover slider { background-color: white; } - -switch:checked > slider { background-color: white; } - -switch:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: none; } - -row:selected switch { box-shadow: none; border-color: mix(black,@accent_bg_color,0.8); } - -row:selected switch:backdrop { border-color: mix(black,@accent_bg_color,0.8); } - -row:selected switch > slider:checked, row:selected switch > slider { border-color: mix(black,@accent_bg_color,0.8); } - -.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } - -.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), .content-view:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.7); background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } - -checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; } - -checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; } - -checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; } - -check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 2px solid; -gtk-icon-source: none; padding: 1px; } - -check:only-child, radio:only-child { margin: 0; } - -popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; } - -popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; } - -check, radio { background-clip: padding-box; background-image: image(transparent); border-color: alpha(currentColor,0.15); box-shadow: none; color: @window_fg_color; } - -check:hover:not(:checked):not(:indeterminate), radio:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:active, radio:active { box-shadow: none; } - -check:disabled, radio:disabled { box-shadow: none; background-image: image(transparent); color: alpha(@window_fg_color,0.5); border-color: alpha(currentColor,0.15); } - -check:checked, radio:checked { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } - -check:checked:hover:not(:checked):not(:indeterminate), radio:checked:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:checked:active, radio:checked:active { box-shadow: none; } - -check:checked:disabled, radio:checked:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } - -check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } - -check:indeterminate:hover:not(:checked):not(:indeterminate), radio:indeterminate:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } - -check:indeterminate:active, radio:indeterminate:active { box-shadow: none; } - -check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } - -row:selected check, row:selected radio { border-color: mix(black,@accent_bg_color,0.8); } - -.osd check, .osd radio { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:hover, .osd radio:hover { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:active, .osd radio:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } - -.osd check:backdrop, .osd radio:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.osd check:disabled, .osd radio:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -menu menuitem check, menu menuitem radio { margin: 0; padding: 0; } - -menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:not(:checked), menu menuitem check:not(:checked):hover, menu menuitem check:not(:checked):disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:not(:checked), menu menuitem radio:not(:checked):hover, menu menuitem radio:not(:checked):disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; padding: 1px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-width: 1px; border-color: mix(currentColor,transparent,0.6); } - -check { border-radius: 6px; } - -check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } - -check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } - -menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled { border: none; } - -treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; } - -treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } - -treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } - -menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } - -treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.85); } - -progressbar trough, scale fill, scale trough { border-radius: 6px; background-color: alpha(currentColor,0.15); } - -progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: alpha(alpha(currentColor,0.15),0.5); } - -row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: mix(black,@accent_bg_color,0.85); } - -.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.7); } - -.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(0, 0, 0, 0.65); } - -progressbar progress, scale highlight { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } - -progressbar progress:disabled, scale highlight:disabled { background-color: mix(@accent_bg_color,@view_bg_color,0.5); border-color: transparent; } - -row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: mix(black,@accent_bg_color,0.85); } - -.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.9); } - -.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; } - -scale { min-height: 10px; min-width: 10px; padding: 12px; } - -scale slider { min-height: 18px; min-width: 18px; margin: -9px; } - -scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; } - -scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; } - -scale.fine-tune slider { margin: -6px; } - -scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; } - -scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; } - -scale.horizontal trough { min-height: 4px; } - -scale.vertical trough { min-width: 4px; } - -scale fill:backdrop, scale fill { background-color: mix(currentColor,@window_bg_color,0.853); } - -scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; } - -.osd scale fill { background-color: mix(rgba(255, 255, 255, 0.9),rgba(0, 0, 0, 0.9),0.75); } - -.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; } - -scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; } - -scale slider:hover { background-color: white; } - -scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } - -scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15); } - -scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } - -row:selected scale slider:disabled, row:selected scale slider { border-color: mix(black,@accent_bg_color,0.85); } - -.osd scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; } - -.osd scale slider:hover { background-color: white; } - -.osd scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } - -.osd scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2); } - -.osd scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } - -scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; } - -scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; } - -scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; } - -scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; } - -scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; } - -scale.vertical marks.top { margin-right: 6px; margin-left: -12px; } - -scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; } - -scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; } - -scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; } - -scale.horizontal indicator { min-height: 6px; min-width: 1px; } - -scale.horizontal.fine-tune indicator { min-height: 3px; } - -scale.vertical indicator { min-height: 1px; min-width: 6px; } - -scale.vertical.fine-tune indicator { min-width: 3px; } - -scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; 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")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } - -scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } - -scale.color { min-height: 0; min-width: 0; } - -scale.color trough { background-image: image(mix(currentColor,@window_bg_color,0.853)); background-repeat: no-repeat; } - -scale.color.horizontal { padding: 0 0 15px 0; } - -scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; } - -scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; } - -scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; } - -scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; } - -scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } - -scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; } - -scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; } - -scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } - -scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; } - -scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; } - -scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; } - -scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; } - -scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; } - -scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } - -scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; } - -scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; } - -scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } - -progressbar { font-size: smaller; color: alpha(@window_fg_color,0.4); font-feature-settings: "tnum"; } - -progressbar.horizontal trough, progressbar.horizontal progress { min-height: 8px; } - -progressbar.vertical trough, progressbar.vertical progress { min-width: 8px; } - -progressbar.horizontal progress { margin: 0 -1px; } - -progressbar.vertical progress { margin: -1px 0; } - -progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; } - -progressbar progress { border-radius: 8px; } - -progressbar progress.left { border-top-left-radius: 8px; border-bottom-left-radius: 8px; } - -progressbar progress.right { border-top-right-radius: 8px; border-bottom-right-radius: 8px; } - -progressbar progress.top { border-top-right-radius: 8px; border-top-left-radius: 8px; } - -progressbar progress.bottom { border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; } - -progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; } - -progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } - -progressbar.osd progress { border-style: none; border-radius: 0; } - -progressbar trough.empty progress { all: unset; } - -levelbar.horizontal block { min-height: 8px; } - -levelbar.horizontal.continuous block:first-child, levelbar.horizontal.continuous block:last-child { border-radius: 8px; } - -levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; } - -levelbar.horizontal.discrete block:first-child { border-radius: 8px 0 0 8px; } - -levelbar.horizontal.discrete block:last-child { border-radius: 0 8px 8px 0; } - -levelbar.vertical block { min-width: 8px; } - -levelbar.vertical.continuous block:first-child, levelbar.vertical.continuous block:last-child { border-radius: 8px; } - -levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; } - -levelbar.vertical.discrete block:first-child { border-radius: 8px 8px 0 0; } - -levelbar.vertical.discrete block:last-child { border-radius: 0 0 8px 8px; } - -levelbar:backdrop { transition: 200ms ease-out; } - -levelbar trough { border: 0px solid; padding: 0; border-radius: 8px; background-color: alpha(currentColor,0.15); } - -levelbar trough:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.3); } - -levelbar block { border: 0px solid; border-radius: 0; } - -levelbar block.low { border-color: shade(@warning_bg_color,0.8); background-color: @warning_bg_color; } - -levelbar block.low:backdrop { border-color: @warning_bg_color; } - -levelbar block.high, levelbar block:not(.empty) { border-color: shade(@accent_bg_color,0.8); background-color: @accent_bg_color; } - -levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: @accent_bg_color; } - -levelbar block.full { border-color: shade(@success_bg_color,0.8); background-color: @success_bg_color; } - -levelbar block.full:backdrop { border-color: @success_bg_color; } - -levelbar block.empty { background-color: transparent; border-color: alpha(@window_fg_color,0.2); } - -levelbar block.empty:backdrop { border-color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.15); } - -printdialog paper { color: @window_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.853); background: white; padding: 0; border-radius: 0; box-shadow: none; } - -printdialog paper:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.81); } - -printdialog .dialog-action-box { margin: 12px; } - -frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border: 1px solid mix(currentColor,@window_bg_color,0.853); } - -frame > border.flat, .frame.flat { border-style: none; } - -actionbar > revealer > box { padding: 6px; border-top: 1px solid mix(currentColor,@window_bg_color,0.853); } - -scrolledwindow viewport.frame { border-style: none; } - -scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(shade(mix(currentColor,@window_bg_color,0.853),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.853),0.9),0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(mix(currentColor,@window_bg_color,0.81)), to(alpha(mix(currentColor,@window_bg_color,0.81),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(shade(mix(currentColor,@window_bg_color,0.853),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.853),0.9),0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(mix(currentColor,@window_bg_color,0.81)), to(alpha(mix(currentColor,@window_bg_color,0.81),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.853),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.853),0.9),0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(mix(currentColor,@window_bg_color,0.81)), to(alpha(mix(currentColor,@window_bg_color,0.81),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.853),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.853),0.9),0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(mix(currentColor,@window_bg_color,0.81)), to(alpha(mix(currentColor,@window_bg_color,0.81),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, mix(currentColor,@window_bg_color,0.853) 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: @view_bg_color; } - -scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; } - -separator { background: mix(currentColor,@window_bg_color,0.853); min-width: 1px; min-height: 1px; } - -list { color: @view_fg_color; background-color: @view_bg_color; border-color: @card_shade_color; } - -list row { padding: 2px; outline-color: alpha(@accent_color,0.5); outline-style: solid; outline-offset: -3px; outline-width: 2px; -gtk-outline-radius: 6px; } - -row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row:hover { transition: none; } - -row:backdrop { transition: 200ms ease-out; } - -row.activatable.has-open-popup, row.activatable:hover { background-color: alpha(currentColor,0.07); } - -row.activatable:active { background-color: alpha(currentColor,0.16); } - -row.activatable:backdrop:hover { background-color: transparent; } - -row.activatable:selected { color: @window_fg_color; } - -row.activatable:selected:active { background-color: alpha(currentColor,0.19); } - -row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: alpha(currentColor,0.13); color: @window_fg_color; } - -row.activatable:selected:backdrop { background-color: alpha(currentColor,0.07); color: @window_fg_color; } - -row:selected { background-color: alpha(currentColor,0.1); } - -.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; border: none; } - -.app-notification:backdrop, .app-notification.frame:backdrop { background-image: none; transition: 200ms ease-out; } - -.app-notification border, .app-notification.frame border { border: none; } - -expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } - -expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -expander title > arrow:hover { color: mix(white,@window_fg_color,0.7); } - -expander title > arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -expander title > arrow:disabled:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -calendar { color: @view_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.853); } - -calendar:selected { border-radius: 6px; } - -calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); } - -calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); } - -calendar.button { color: alpha(@window_fg_color,0.45); } - -calendar.button:hover { color: @window_fg_color; } - -calendar.button:backdrop { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } - -calendar.button:disabled { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } - -calendar.highlight { color: mix(@window_fg_color,@window_bg_color,0.5); } - -calendar.highlight:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -calendar:backdrop { color: mix(@view_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.81); } - -calendar:indeterminate { color: alpha(currentColor,0.1); } - -messagedialog .titlebar, messagedialog .titlebar:backdrop { min-height: 20px; background-image: none; background: @dialog_bg_color; color: @dialog_fg_color; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } - -messagedialog.csd.background { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; background-color: @dialog_bg_color; color: @dialog_fg_color; } - -messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; background-color: @dialog_bg_color; color: @dialog_fg_color; border-top: 1px solid alpha(currentColor,0.15); border-left: 1px solid alpha(currentColor,0.15); } - -messagedialog.csd .dialog-action-area button:hover { background: alpha(currentColor,0.04); } - -messagedialog.csd .dialog-action-area button:active { background: alpha(currentColor,0.08); } - -messagedialog.csd .dialog-action-area button.suggested-action { color: @accent_color; } - -messagedialog.csd .dialog-action-area button.destructive-action { color: @destructive_color; } - -messagedialog.csd .dialog-action-area button:checked { background: alpha(@accent_bg_color,0.25); } - -messagedialog.csd .dialog-action-area button:checked:hover { background: alpha(@accent_bg_color,0.32); } - -messagedialog.csd .dialog-action-area button:checked:active { background: alpha(@accent_bg_color,0.39); } - -messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 11px; -gtk-outline-bottom-left-radius: 11px; } - -messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 11px; -gtk-outline-bottom-right-radius: 11px; } - -filechooser .dialog-action-box { border-top: 1px solid mix(currentColor,@window_bg_color,0.853); } - -filechooser #pathbarbox { border-bottom: 1px solid @window_bg_color; } - -filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; } - -.sidebar { border-style: none; background-color: @sidebar_bg_color; color: @sidebar_fg_color; } - -.sidebar:backdrop { background-color: @sidebar_backdrop_color; } - -stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid @sidebar_border_color; border-left-style: none; } - -stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid @sidebar_border_color; border-right-style: none; } - -.sidebar list { background-color: transparent; } - -paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } - -.sidebar row { border-radius: 6px; } - -.sidebar row:backdrop { color: @sidebar_fg_color; } - -.sidebar row, .sidebar separator { margin: 0 4px; } - -stacksidebar row { padding: 10px 4px; } - -stacksidebar row > label { padding-left: 6px; padding-right: 6px; } - -stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } - -separator.sidebar { background-color: @sidebar_border_color; } - -separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: shade(@accent_bg_color,0.8); } - -row image.sidebar-icon { opacity: 0.7; } - -placessidebar > viewport.frame { border-style: none; } - -placessidebar row { min-height: 36px; padding: 0px; } - -placessidebar row > revealer { padding: 0 14px; } - -placessidebar row:selected { color: @accent_fg_color; } - -placessidebar row:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -placessidebar row:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -placessidebar row:backdrop:selected { color: @window_bg_color; } - -placessidebar row:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } - -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; } - -button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; } - -button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; } - -placessidebar row:selected:active { box-shadow: none; } - -placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } - -placessidebar row.sidebar-new-bookmark-row { color: @accent_bg_color; } - -placessidebar row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 1px @accent_bg_color, inset 0 -1px @accent_bg_color; } - -placessidebar row:drop(active):not(:disabled):selected { color: @accent_fg_color; background-color: @accent_bg_color; } - -placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } - -placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); } - -placesview row.activatable:hover { background-color: transparent; } - -placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; } - -paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(mix(currentColor,@window_bg_color,0.853)); background-size: 1px 1px; } - -paned > separator:selected { background-image: image(@accent_bg_color); } - -paned > separator:backdrop { background-image: image(mix(currentColor,@window_bg_color,0.81)); } - -paned > separator.wide { min-width: 5px; min-height: 5px; background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.853)), image(mix(currentColor,@window_bg_color,0.853)); background-size: 1px 1px, 1px 1px; } - -paned > separator.wide:backdrop { background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.81)), image(mix(currentColor,@window_bg_color,0.81)); } - -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; } - -infobar { border-style: none; } - -infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.info > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.info button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } - -infobar.info button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } - -infobar.info button:checked, infobar.info button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } - -infobar.info button:backdrop:not(:disabled) label, infobar.info button:backdrop:not(:disabled), infobar.info button:not(:disabled) label, infobar.info button:not(:disabled) { color: @window_fg_color; } - -infobar.info button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } - -infobar.info button:disabled label, infobar.info button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } - -infobar.action.info:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } - -infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.question > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.question button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } - -infobar.question button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } - -infobar.question button:checked, infobar.question button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } - -infobar.question button:backdrop:not(:disabled) label, infobar.question button:backdrop:not(:disabled), infobar.question button:not(:disabled) label, infobar.question button:not(:disabled) { color: @window_fg_color; } - -infobar.question button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } - -infobar.question button:disabled label, infobar.question button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } - -infobar.action.question:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } - -infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.warning > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.warning button { background-color: mix(@warning_bg_color,@window_bg_color,0.5); } - -infobar.warning button:hover { background-color: mix(@warning_bg_color,@window_bg_color,0.35); } - -infobar.warning button:checked, infobar.warning button:active { background-color: mix(@warning_bg_color,@window_bg_color,0.2); } - -infobar.warning button:backdrop:not(:disabled) label, infobar.warning button:backdrop:not(:disabled), infobar.warning button:not(:disabled) label, infobar.warning button:not(:disabled) { color: @window_fg_color; } - -infobar.warning button:disabled { background-color: mix(@warning_bg_color,@window_bg_color,0.6); } - -infobar.warning button:disabled label, infobar.warning button:disabled { color: alpha(mix(@window_fg_color,@warning_bg_color,0.3),0.6); } - -infobar.action.warning:hover > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@warning_bg_color,@window_bg_color,0.3); } - -infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } - -infobar.error > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } - -infobar.error button { background-color: mix(@error_bg_color,@window_bg_color,0.5); } - -infobar.error button:hover { background-color: mix(@error_bg_color,@window_bg_color,0.35); } - -infobar.error button:checked, infobar.error button:active { background-color: mix(@error_bg_color,@window_bg_color,0.2); } - -infobar.error button:backdrop:not(:disabled) label, infobar.error button:backdrop:not(:disabled), infobar.error button:not(:disabled) label, infobar.error button:not(:disabled) { color: @window_fg_color; } - -infobar.error button:disabled { background-color: mix(@error_bg_color,@window_bg_color,0.6); } - -infobar.error button:disabled label, infobar.error button:disabled { color: alpha(mix(@window_fg_color,@error_bg_color,0.3),0.6); } - -infobar.action.error:hover > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@error_bg_color,@window_bg_color,0.3); } - -infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } - -infobar selection { background-color: shade(@window_bg_color,0.9); } - -infobar *:link { color: @accent_color; } - -tooltip { padding: 4px; border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; } - -tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); } - -tooltip decoration { background-color: transparent; } - -tooltip * { padding: 4px; background-color: transparent; color: white; } - -colorswatch:drop(active), colorswatch { border-style: none; } - -colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; } - -colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; } - -colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; } - -colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } - -colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; } - -colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; } - -colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; } - -colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; } - -colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); } - -colorswatch.dark overlay { color: white; } - -colorswatch.dark overlay:hover { border-color: rgba(0, 0, 0, 0.8); } - -colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); } - -colorswatch.light overlay { color: black; } - -colorswatch.light overlay:hover { border-color: rgba(0, 0, 0, 0.5); } - -colorswatch:drop(active) { box-shadow: none; } - -colorswatch:drop(active).light overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px shade(@accent_bg_color,0.93), inset 0 0 0 1px @accent_bg_color; } - -colorswatch:drop(active).dark overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px @accent_bg_color; } - -colorswatch overlay { border: 1px solid rgba(0, 0, 0, 0.3); } - -colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); } - -colorswatch#add-color-button { border-radius: 5px 5px 0 0; } - -colorswatch#add-color-button:only-child { border-radius: 5px; } - -colorswatch#add-color-button overlay { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); } - -colorswatch#add-color-button overlay:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; } - -colorswatch:disabled { opacity: 0.5; } - -colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; } - -row:selected colorswatch { box-shadow: 0 0 0 2px @accent_fg_color; } - -colorswatch#editor-color-sample { border-radius: 4px; } - -colorswatch#editor-color-sample overlay { border-radius: 4.5px; } - -colorchooser .popover.osd { border-radius: 5px; } - -.content-view { background-color: shade(@window_bg_color,0.93); } - -.content-view:hover { -gtk-icon-effect: highlight; } - -.osd .scale-popup button.flat { border-style: none; border-radius: 5px; } - -.scale-popup button:hover { background-color: alpha(@window_fg_color,0.1); border-radius: 5px; } - -decoration { border-radius: 12px 12px 0 0; border-width: 0px; box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.05); margin: 10px; } - -decoration:backdrop { box-shadow: 0 3px 12px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.14), 0 0 0 1px rgba(0, 0, 0, 0.02); transition: 200ms ease-out; } - -.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; } - -.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 0 0 20px transparent; } - -.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.02), 0 0 0 20px transparent; } - -.popup decoration { box-shadow: none; } - -.ssd decoration { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3); } - -.ssd decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } - -.ssd.maximized decoration, .ssd.maximized decoration:backdrop { box-shadow: none; } - -.csd.popup decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(rgba(0, 0, 0, 0.05),0.9); } - -tooltip.csd decoration { border-radius: 5px; box-shadow: none; } - -messagedialog.csd decoration { border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(rgba(0, 0, 0, 0.05),0.9); } - -.solid-csd decoration { margin: 0; padding: 4px; background-color: mix(currentColor,@window_bg_color,0.853); border: solid 1px mix(currentColor,@window_bg_color,0.853); border-radius: 0; box-shadow: inset 0 0 0 5px mix(currentColor,@window_bg_color,0.853), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px mix(currentColor,@window_bg_color,0.853); } - -.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px @window_bg_color; } - -button.titlebutton { padding: 2px; margin: 0; box-shadow: none; border: none; background: none; text-shadow: none; } - -button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 0px; margin: 0 4px; min-width: 24px; min-height: 24px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-color: alpha(currentColor,0.1); } - -button.titlebutton:not(.appmenu):hover { background-color: alpha(currentColor,0.15); } - -button.titlebutton:not(.appmenu):hover:active { background-color: alpha(currentColor,0.3); } - -button.titlebutton:not(.appmenu):backdrop { background-color: alpha(currentColor,0.1); } - -button.titlebutton:not(.appmenu):backdrop:hover { background-color: alpha(currentColor,0.15); } - -button.titlebutton:backdrop { -gtk-icon-shadow: none; } - -.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; } - -headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { background-color: alpha(@accent_bg_color,0.25); } - -label:selected, .selection-mode button.titlebutton, headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { color: @window_fg_color; } - -.monospace { font-family: monospace; } - -cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; } - -cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); padding-left: 10px; } - -cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); padding-right: 10px; } - -cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } - -cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); padding-left: 10px; } - -cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); padding-right: 10px; } - -cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -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; } - -.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: @window_fg_color; background-color: @view_bg_color; border: 1px solid; border-color: mix(mix(currentColor,@window_bg_color,0.853),@window_bg_color,0.5); border-radius: 5px; box-shadow: inset 0 -3px mix(@view_bg_color,@window_bg_color,0.8); font-size: smaller; } - -.keycap:backdrop { background-color: @window_bg_color; color: mix(@window_fg_color,@window_bg_color,0.5); transition: 200ms ease-out; } - -:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } - -stackswitcher button.text-button { min-width: 100px; } - -stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } - -.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -popover.emoji-picker { padding-left: 0; padding-right: 0; } - -popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; } - -button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; } - -button.emoji-section:first-child { margin-left: 7px; } - -button.emoji-section:last-child { margin-right: 7px; } - -button.emoji-section:backdrop:not(:checked) { border-color: transparent; } - -button.emoji-section:hover { border-color: mix(currentColor,@window_bg_color,0.853); } - -button.emoji-section:checked { border-color: alpha(currentColor,0.1); } - -button.emoji-section label { padding: 0; opacity: 0.55; } - -button.emoji-section:hover label { opacity: 0.775; } - -button.emoji-section:checked label { opacity: 1; } - -popover.emoji-picker .emoji { font-size: x-large; padding: 6px; border-radius: 6px; } - -popover.emoji-picker .emoji :focus, popover.emoji-picker .emoji :hover { background: alpha(currentColor,0.07); } - -popover.emoji-picker .emoji :active { background: alpha(currentColor,0.16); } - -popover.emoji-completion arrow { border: none; background: none; } - -popover.emoji-completion contents row box { padding: 2px 10px; } - -popover.emoji-completion .emoji:hover { background: alpha(currentColor,0.04); } - -@define-color theme_fg_color @window_fg_color; -@define-color theme_text_color @view_fg_color; -@define-color theme_bg_color @window_bg_color; -@define-color theme_base_color @view_bg_color; -@define-color theme_selected_bg_color @accent_bg_color; -@define-color theme_selected_fg_color @accent_fg_color; -@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); -@define-color insensitive_fg_color mix(@window_fg_color,@window_bg_color,0.5); -@define-color insensitive_base_color @view_bg_color; -@define-color theme_unfocused_fg_color mix(@window_fg_color,@window_bg_color,0.5); -@define-color theme_unfocused_text_color @view_fg_color; -@define-color theme_unfocused_bg_color @window_bg_color; -@define-color theme_unfocused_base_color @window_bg_color; -@define-color theme_unfocused_selected_bg_color @accent_bg_color; -@define-color theme_unfocused_selected_fg_color @accent_fg_color; -@define-color unfocused_insensitive_color mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); -@define-color borders mix(currentColor,@window_bg_color,0.853); -@define-color unfocused_borders mix(currentColor,@window_bg_color,0.81); -@define-color warning_color @warning_color; -@define-color error_color @error_color; -@define-color success_color @success_color; -@define-color wm_title shade(@window_fg_color, 1.8); -@define-color wm_unfocused_title mix(@window_fg_color,@window_bg_color,0.5); -@define-color wm_highlight alpha(white,0.5); -@define-color wm_borders_edge alpha(white,0.5); -@define-color wm_bg_a shade(@window_bg_color, 1.2); -@define-color wm_bg_b @window_bg_color; -@define-color wm_shadow alpha(black, 0.35); -@define-color wm_border alpha(black, 0.18); -@define-color wm_button_hover_color_a shade(@window_bg_color, 1.3); -@define-color wm_button_hover_color_b @window_bg_color; -@define-color wm_button_active_color_a shade(@window_bg_color, 0.85); -@define-color wm_button_active_color_b shade(@window_bg_color, 0.89); -@define-color wm_button_active_color_c shade(@window_bg_color, 0.9); -@define-color content_view_bg @view_bg_color; -@define-color text_view_bg @view_bg_color; -.nautilus-window .thumbnail, .checkerboard { background-position: 0px 0px, 10px 10px; background-size: 20px 20px; background-image: linear-gradient(45deg, mix(currentColor,@window_bg_color,0.853) 25%, transparent 25%, transparent 75%, mix(currentColor,@window_bg_color,0.853) 75%, mix(currentColor,@window_bg_color,0.853) 100%), linear-gradient(45deg, mix(currentColor,@window_bg_color,0.853) 25%, @view_bg_color 25%, @view_bg_color 75%, mix(currentColor,@window_bg_color,0.853) 75%, mix(currentColor,@window_bg_color,0.853) 100%); } - -.org-gnome-Calendar .titlebar .text-button, .nautilus-window .linked entry ~ .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup, headerbar .linked entry ~ .image-button, .titlebar .linked entry ~ .image-button, headerbar .linked.raised button, headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button, .titlebar .linked.raised button, .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button, headerbar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); } - -.org-gnome-Calendar .titlebar .text-button:backdrop, .nautilus-window .linked entry ~ .image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop, headerbar .linked entry ~ .image-button:backdrop, .titlebar .linked entry ~ .image-button:backdrop, headerbar .linked.raised button:backdrop, headerbar .linked button:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop, .titlebar .linked.raised button:backdrop, .titlebar .linked button:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop, headerbar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.97),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.97),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:hover, .nautilus-window .linked entry ~ .image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover, headerbar .linked entry ~ .image-button:hover, .titlebar .linked entry ~ .image-button:hover, headerbar .linked.raised button:hover, headerbar .linked button:hover:not(:only-child), headerbar > .stack-switcher.linked > button:hover, .titlebar .linked.raised button:hover, .titlebar .linked button:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:hover, headerbar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.853); box-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:hover:backdrop, .nautilus-window .linked entry ~ .image-button:hover:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover:backdrop, headerbar .linked entry ~ .image-button:hover:backdrop, .titlebar .linked entry ~ .image-button:hover:backdrop, headerbar .linked.raised button:hover:backdrop, headerbar .linked button:hover:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:hover:backdrop, .titlebar .linked.raised button:hover:backdrop, .titlebar .linked button:hover:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:hover:backdrop, headerbar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.88),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active, .nautilus-window .linked entry ~ .image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active, headerbar .linked entry ~ .image-button:active, .titlebar .linked entry ~ .image-button:active, headerbar .linked.raised button:active, headerbar .linked button:active:not(:only-child), headerbar > .stack-switcher.linked > button:active, .titlebar .linked.raised button:active, .titlebar .linked button:active:not(:only-child), .titlebar > .stack-switcher.linked > button:active, headerbar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked, .nautilus-window .linked entry ~ .image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked, headerbar .linked entry ~ .image-button:checked, .titlebar .linked entry ~ .image-button:checked, headerbar .linked.raised button:checked, headerbar .linked button:checked:not(:only-child), headerbar > .stack-switcher.linked > button:checked, .titlebar .linked.raised button:checked, .titlebar .linked button:checked:not(:only-child), .titlebar > .stack-switcher.linked > button:checked, headerbar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,@headerbar_bg_color,0.65); } - -.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:active:hover:hover, .nautilus-window .linked entry ~ .image-button:active:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover:hover, headerbar .linked entry ~ .image-button:active:hover:hover, .titlebar .linked entry ~ .image-button:active:hover:hover, headerbar .linked.raised button:active:hover:hover, headerbar .linked button:active:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover:hover, .titlebar .linked.raised button:active:hover:hover, .titlebar .linked button:active:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover:hover, headerbar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover:hover, headerbar .linked entry ~ .image-button:checked:hover:hover, .titlebar .linked entry ~ .image-button:checked:hover:hover, headerbar .linked.raised button:checked:hover:hover, headerbar .linked button:checked:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover:hover, .titlebar .linked.raised button:checked:hover:hover, .titlebar .linked button:checked:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover:hover, headerbar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.65); } - -.org-gnome-Calendar .titlebar .text-button:active:backdrop, .nautilus-window .linked entry ~ .image-button:active:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:backdrop, headerbar .linked entry ~ .image-button:active:backdrop, .titlebar .linked entry ~ .image-button:active:backdrop, headerbar .linked.raised button:active:backdrop, headerbar .linked button:active:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:active:backdrop, .titlebar .linked.raised button:active:backdrop, .titlebar .linked button:active:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:active:backdrop, headerbar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:backdrop, .nautilus-window .linked entry ~ .image-button:checked:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:backdrop, headerbar .linked entry ~ .image-button:checked:backdrop, .titlebar .linked entry ~ .image-button:checked:backdrop, headerbar .linked.raised button:checked:backdrop, headerbar .linked button:checked:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:checked:backdrop, .titlebar .linked.raised button:checked:backdrop, .titlebar .linked button:checked:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:backdrop, headerbar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); } - -.org-gnome-Calendar .titlebar .text-button:disabled, .nautilus-window .linked entry ~ .image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:disabled, headerbar .linked entry ~ .image-button:disabled, .titlebar .linked entry ~ .image-button:disabled, headerbar .linked.raised button:disabled, headerbar .linked button:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:disabled, .titlebar .linked.raised button:disabled, .titlebar .linked button:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:disabled, headerbar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.org-gnome-Calendar .titlebar .text-button:backdrop:disabled, .nautilus-window .linked entry ~ .image-button:backdrop:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop:disabled, headerbar .linked entry ~ .image-button:backdrop:disabled, .titlebar .linked entry ~ .image-button:backdrop:disabled, headerbar .linked.raised button:backdrop:disabled, headerbar .linked button:backdrop:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop:disabled, .titlebar .linked.raised button:backdrop:disabled, .titlebar .linked button:backdrop:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop:disabled, headerbar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.org-gnome-Calendar .titlebar .default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .nautilus-window .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .default.toggle.popup:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), headerbar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .titlebar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); } - -.org-gnome-Calendar .titlebar .flat.text-button:not(:hover):not(:active), .nautilus-window .linked entry ~ .flat.image-button:not(:hover):not(:active):not(:checked):not(.model), .nautilus-window .search + .flat.toggle.popup:not(:hover):not(:active), headerbar .linked entry ~ .flat.image-button:not(:hover):not(:active), .titlebar .linked entry ~ .flat.image-button:not(:hover):not(:active), headerbar .linked.raised button.flat:not(:hover):not(:active), headerbar .linked button.flat:not(:hover):not(:active):not(:only-child), headerbar > .stack-switcher.linked > button.flat:not(:hover):not(:active), .titlebar .linked.raised button.flat:not(:hover):not(:active), .titlebar .linked button.flat:not(:hover):not(:active):not(:only-child), .titlebar > .stack-switcher.linked > button.flat:not(:hover):not(:active), headerbar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover, headerbar viewswitcher button.radio:hover:checked, .titlebar viewswitcher button.radio:hover:checked, headerbar button:hover:not(.titlebutton), .titlebar button:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.9); } - -.nautilus-window .linked.raised button.image-button:hover:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover:backdrop, headerbar viewswitcher button.radio:hover:backdrop:checked, .titlebar viewswitcher button.radio:hover:backdrop:checked, headerbar button:hover:backdrop:not(.titlebutton), .titlebar button:hover:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active, headerbar button:active:not(.titlebutton), .titlebar button:active:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked, headerbar viewswitcher button.radio:checked, .titlebar viewswitcher button.radio:checked, headerbar button:checked:not(.titlebutton), .titlebar button:checked:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); } - -.nautilus-window .linked.raised button.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:hover, headerbar button:active:hover:not(.titlebutton), .titlebar button:active:hover:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:hover, headerbar viewswitcher button.radio:checked:hover, .titlebar viewswitcher button.radio:checked:hover, headerbar button:checked:hover:not(.titlebutton), .titlebar button:checked:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.97),0.9); } - -.nautilus-window .linked.raised button.image-button:active:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:backdrop, headerbar button:active:backdrop:not(.titlebutton), .titlebar button:active:backdrop:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:backdrop, headerbar viewswitcher button.radio:checked:backdrop, .titlebar viewswitcher button.radio:checked:backdrop, headerbar button:checked:backdrop:not(.titlebutton), .titlebar button:checked:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window .linked.raised button.default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, .titlebar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, headerbar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton), .titlebar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); } - -.nautilus-window .linked.raised button.flat.image-button:not(:hover):not(:active):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.flat:not(:hover):not(:active), headerbar viewswitcher button.flat.radio:not(:hover):not(:active):checked, .titlebar viewswitcher button.flat.radio:not(:hover):not(:active):checked, headerbar button.flat:not(:hover):not(:active):not(.titlebutton), .titlebar button.flat:not(:hover):not(:active):not(.titlebutton) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action, .content list button.suggested-action, .content list > row:not(:selected):hover button.suggested-action, list.content button.suggested-action, list.content > row:not(:selected):hover button.suggested-action, list.view.frame button.suggested-action, list.view.frame > row:not(:selected):hover button.suggested-action, headerbar.selection-mode button, headerbar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button, .titlebar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button, .nautilus-window .linked entry ~ .suggested-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup, headerbar .linked entry ~ .suggested-action.image-button, .titlebar .linked entry ~ .suggested-action.image-button, headerbar .linked.raised button.suggested-action, headerbar .linked button.suggested-action:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action, .titlebar .linked.raised button.suggested-action, .titlebar .linked button.suggested-action:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action, headerbar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:not(.titlebutton), .titlebar button.suggested-action:not(.titlebutton), headerbar button.text-button.suggested-action:not(.titlebutton) { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.9); } - -popover.background button.suggested-action:hover, .content list button.suggested-action:hover, .content list > row:not(:selected):hover button.suggested-action:hover, list.content button.suggested-action:hover, list.content > row:not(:selected):hover button.suggested-action:hover, list.view.frame button.suggested-action:hover, list.view.frame > row:not(:selected):hover button.suggested-action:hover, headerbar.selection-mode button:hover, headerbar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:hover, .titlebar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:hover, headerbar .linked entry ~ .suggested-action.image-button:hover, .titlebar .linked entry ~ .suggested-action.image-button:hover, headerbar .linked.raised button.suggested-action:hover, headerbar .linked button.suggested-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:hover, .titlebar .linked.raised button.suggested-action:hover, .titlebar .linked button.suggested-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:hover, headerbar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:hover, headerbar viewswitcher button.suggested-action.radio:hover:checked, .titlebar viewswitcher button.suggested-action.radio:hover:checked, headerbar button.suggested-action:hover:not(.titlebutton), .titlebar button.suggested-action:hover:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.853); box-shadow: none; } - -popover.background button.suggested-action:active, .content list button.suggested-action:active, .content list > row:not(:selected):hover button.suggested-action:active, list.content button.suggested-action:active, list.content > row:not(:selected):hover button.suggested-action:active, list.view.frame button.suggested-action:active, list.view.frame > row:not(:selected):hover button.suggested-action:active, headerbar.selection-mode button:active, headerbar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active, .titlebar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active, .nautilus-window .linked entry ~ .suggested-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active, headerbar .linked entry ~ .suggested-action.image-button:active, .titlebar .linked entry ~ .suggested-action.image-button:active, headerbar .linked.raised button.suggested-action:active, headerbar .linked button.suggested-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active, .titlebar .linked.raised button.suggested-action:active, .titlebar .linked button.suggested-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active, headerbar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active, headerbar button.suggested-action:active:not(.titlebutton), .titlebar button.suggested-action:active:not(.titlebutton), popover.background button.suggested-action:checked, .content list button.suggested-action:checked, .content list > row:not(:selected):hover button.suggested-action:checked, list.content button.suggested-action:checked, list.content > row:not(:selected):hover button.suggested-action:checked, list.view.frame button.suggested-action:checked, list.view.frame > row:not(:selected):hover button.suggested-action:checked, headerbar.selection-mode button:checked, headerbar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked, .titlebar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked, headerbar .linked entry ~ .suggested-action.image-button:checked, .titlebar .linked entry ~ .suggested-action.image-button:checked, headerbar .linked.raised button.suggested-action:checked, headerbar .linked button.suggested-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked, .titlebar .linked.raised button.suggested-action:checked, .titlebar .linked button.suggested-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked, headerbar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:checked:not(.titlebutton), .titlebar button.suggested-action:checked:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action:active:hover, .content list button.suggested-action:active:hover, .content list > row:not(:selected):hover button.suggested-action:active:hover, list.content button.suggested-action:active:hover, list.content > row:not(:selected):hover button.suggested-action:active:hover, list.view.frame button.suggested-action:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active:hover, .titlebar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active:hover, headerbar .linked entry ~ .suggested-action.image-button:active:hover, .titlebar .linked entry ~ .suggested-action.image-button:active:hover, headerbar .linked.raised button.suggested-action:active:hover, headerbar .linked button.suggested-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active:hover, .titlebar .linked.raised button.suggested-action:active:hover, .titlebar .linked button.suggested-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active:hover, headerbar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active:hover, headerbar button.suggested-action:active:hover:not(.titlebutton), .titlebar button.suggested-action:active:hover:not(.titlebutton), popover.background button.suggested-action:checked:hover, .content list button.suggested-action:checked:hover, .content list > row:not(:selected):hover button.suggested-action:checked:hover, list.content button.suggested-action:checked:hover, list.content > row:not(:selected):hover button.suggested-action:checked:hover, list.view.frame button.suggested-action:checked:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked:hover, .titlebar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked:hover, headerbar .linked entry ~ .suggested-action.image-button:checked:hover, .titlebar .linked entry ~ .suggested-action.image-button:checked:hover, headerbar .linked.raised button.suggested-action:checked:hover, headerbar .linked button.suggested-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked:hover, .titlebar .linked.raised button.suggested-action:checked:hover, .titlebar .linked button.suggested-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked:hover, headerbar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked:hover, headerbar viewswitcher button.suggested-action.radio:checked:hover, .titlebar viewswitcher button.suggested-action.radio:checked:hover, headerbar button.suggested-action:checked:hover:not(.titlebutton), .titlebar button.suggested-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.65); } - -popover.background button.suggested-action:backdrop, .content list button.suggested-action:backdrop, .content list > row:not(:selected):hover button.suggested-action:backdrop, list.content button.suggested-action:backdrop, list.content > row:not(:selected):hover button.suggested-action:backdrop, list.view.frame button.suggested-action:backdrop, list.view.frame > row:not(:selected):hover button.suggested-action:backdrop, headerbar.selection-mode button:backdrop, headerbar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:backdrop, .titlebar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:backdrop, headerbar .linked entry ~ .suggested-action.image-button:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:backdrop, headerbar .linked.raised button.suggested-action:backdrop, headerbar .linked button.suggested-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:backdrop, .titlebar .linked.raised button.suggested-action:backdrop, .titlebar .linked button.suggested-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:backdrop, headerbar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:backdrop, headerbar viewswitcher button.suggested-action.radio:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:backdrop:checked, headerbar button.suggested-action:backdrop:not(.titlebutton), .titlebar button.suggested-action:backdrop:not(.titlebutton) { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.suggested-action:disabled, .content list button.suggested-action:disabled, .content list > row:not(:selected):hover button.suggested-action:disabled, list.content button.suggested-action:disabled, list.content > row:not(:selected):hover button.suggested-action:disabled, list.view.frame button.suggested-action:disabled, list.view.frame > row:not(:selected):hover button.suggested-action:disabled, headerbar.selection-mode button:disabled, headerbar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled, .titlebar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled, headerbar .linked entry ~ .suggested-action.image-button:disabled, .titlebar .linked entry ~ .suggested-action.image-button:disabled, headerbar .linked.raised button.suggested-action:disabled, headerbar .linked button.suggested-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled, .titlebar .linked.raised button.suggested-action:disabled, .titlebar .linked button.suggested-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled, headerbar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled, headerbar viewswitcher button.suggested-action.radio:disabled:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:checked, headerbar button.suggested-action:disabled:not(.titlebutton), .titlebar button.suggested-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -popover.background button.suggested-action:disabled:backdrop, .content list button.suggested-action:disabled:backdrop, .content list > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.content button.suggested-action:disabled:backdrop, list.content > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.view.frame button.suggested-action:disabled:backdrop, headerbar.selection-mode button:disabled:backdrop, headerbar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled:backdrop, .titlebar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .suggested-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:disabled:backdrop, headerbar .linked.raised button.suggested-action:disabled:backdrop, headerbar .linked button.suggested-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, .titlebar .linked.raised button.suggested-action:disabled:backdrop, .titlebar .linked button.suggested-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, headerbar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled:backdrop, headerbar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, headerbar button.suggested-action:disabled:backdrop:not(.titlebutton), .titlebar button.suggested-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action, .content list button.destructive-action, .content list > row:not(:selected):hover button.destructive-action, list.content button.destructive-action, list.content > row:not(:selected):hover button.destructive-action, list.view.frame button.destructive-action, list.view.frame > row:not(:selected):hover button.destructive-action, .org-gnome-Calendar .titlebar .destructive-action.text-button, .nautilus-window .linked entry ~ .destructive-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup, headerbar .linked entry ~ .destructive-action.image-button, .titlebar .linked entry ~ .destructive-action.image-button, headerbar .linked.raised button.destructive-action, headerbar .linked button.destructive-action:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action, .titlebar .linked.raised button.destructive-action, .titlebar .linked button.destructive-action:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action, headerbar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:not(.titlebutton), .titlebar button.destructive-action:not(.titlebutton), headerbar button.text-button.destructive-action:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.9); } - -popover.background button.destructive-action:hover, .content list button.destructive-action:hover, .content list > row:not(:selected):hover button.destructive-action:hover, list.content button.destructive-action:hover, list.content > row:not(:selected):hover button.destructive-action:hover, list.view.frame button.destructive-action:hover, list.view.frame > row:not(:selected):hover button.destructive-action:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:hover, headerbar .linked entry ~ .destructive-action.image-button:hover, .titlebar .linked entry ~ .destructive-action.image-button:hover, headerbar .linked.raised button.destructive-action:hover, headerbar .linked button.destructive-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:hover, .titlebar .linked.raised button.destructive-action:hover, .titlebar .linked button.destructive-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:hover, headerbar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:hover, headerbar viewswitcher button.destructive-action.radio:hover:checked, .titlebar viewswitcher button.destructive-action.radio:hover:checked, headerbar button.destructive-action:hover:not(.titlebutton), .titlebar button.destructive-action:hover:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.9); } - -popover.background button.destructive-action:active, .content list button.destructive-action:active, .content list > row:not(:selected):hover button.destructive-action:active, list.content button.destructive-action:active, list.content > row:not(:selected):hover button.destructive-action:active, list.view.frame button.destructive-action:active, list.view.frame > row:not(:selected):hover button.destructive-action:active, .org-gnome-Calendar .titlebar .destructive-action.text-button:active, .nautilus-window .linked entry ~ .destructive-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active, headerbar .linked entry ~ .destructive-action.image-button:active, .titlebar .linked entry ~ .destructive-action.image-button:active, headerbar .linked.raised button.destructive-action:active, headerbar .linked button.destructive-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active, .titlebar .linked.raised button.destructive-action:active, .titlebar .linked button.destructive-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active, headerbar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active, headerbar button.destructive-action:active:not(.titlebutton), .titlebar button.destructive-action:active:not(.titlebutton), popover.background button.destructive-action:checked, .content list button.destructive-action:checked, .content list > row:not(:selected):hover button.destructive-action:checked, list.content button.destructive-action:checked, list.content > row:not(:selected):hover button.destructive-action:checked, list.view.frame button.destructive-action:checked, list.view.frame > row:not(:selected):hover button.destructive-action:checked, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked, headerbar .linked entry ~ .destructive-action.image-button:checked, .titlebar .linked entry ~ .destructive-action.image-button:checked, headerbar .linked.raised button.destructive-action:checked, headerbar .linked button.destructive-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked, .titlebar .linked.raised button.destructive-action:checked, .titlebar .linked button.destructive-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked, headerbar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:checked:not(.titlebutton), .titlebar button.destructive-action:checked:not(.titlebutton) { color: @destructive_fg_color; background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action:active:hover, .content list button.destructive-action:active:hover, .content list > row:not(:selected):hover button.destructive-action:active:hover, list.content button.destructive-action:active:hover, list.content > row:not(:selected):hover button.destructive-action:active:hover, list.view.frame button.destructive-action:active:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:active:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active:hover, headerbar .linked entry ~ .destructive-action.image-button:active:hover, .titlebar .linked entry ~ .destructive-action.image-button:active:hover, headerbar .linked.raised button.destructive-action:active:hover, headerbar .linked button.destructive-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active:hover, .titlebar .linked.raised button.destructive-action:active:hover, .titlebar .linked button.destructive-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active:hover, headerbar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active:hover, headerbar button.destructive-action:active:hover:not(.titlebutton), .titlebar button.destructive-action:active:hover:not(.titlebutton), popover.background button.destructive-action:checked:hover, .content list button.destructive-action:checked:hover, .content list > row:not(:selected):hover button.destructive-action:checked:hover, list.content button.destructive-action:checked:hover, list.content > row:not(:selected):hover button.destructive-action:checked:hover, list.view.frame button.destructive-action:checked:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked:hover, headerbar .linked entry ~ .destructive-action.image-button:checked:hover, .titlebar .linked entry ~ .destructive-action.image-button:checked:hover, headerbar .linked.raised button.destructive-action:checked:hover, headerbar .linked button.destructive-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked:hover, .titlebar .linked.raised button.destructive-action:checked:hover, .titlebar .linked button.destructive-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked:hover, headerbar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked:hover, headerbar viewswitcher button.destructive-action.radio:checked:hover, .titlebar viewswitcher button.destructive-action.radio:checked:hover, headerbar button.destructive-action:checked:hover:not(.titlebutton), .titlebar button.destructive-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.65); } - -popover.background button.destructive-action:backdrop, .content list button.destructive-action:backdrop, .content list > row:not(:selected):hover button.destructive-action:backdrop, list.content button.destructive-action:backdrop, list.content > row:not(:selected):hover button.destructive-action:backdrop, list.view.frame button.destructive-action:backdrop, list.view.frame > row:not(:selected):hover button.destructive-action:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:backdrop, headerbar .linked entry ~ .destructive-action.image-button:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:backdrop, headerbar .linked.raised button.destructive-action:backdrop, headerbar .linked button.destructive-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:backdrop, .titlebar .linked.raised button.destructive-action:backdrop, .titlebar .linked button.destructive-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:backdrop, headerbar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:backdrop, headerbar viewswitcher button.destructive-action.radio:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:backdrop:checked, headerbar button.destructive-action:backdrop:not(.titlebutton), .titlebar button.destructive-action:backdrop:not(.titlebutton) { color: mix(@destructive_fg_color,alpha(@destructive_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button.destructive-action:disabled, .content list button.destructive-action:disabled, .content list > row:not(:selected):hover button.destructive-action:disabled, list.content button.destructive-action:disabled, list.content > row:not(:selected):hover button.destructive-action:disabled, list.view.frame button.destructive-action:disabled, list.view.frame > row:not(:selected):hover button.destructive-action:disabled, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled, headerbar .linked entry ~ .destructive-action.image-button:disabled, .titlebar .linked entry ~ .destructive-action.image-button:disabled, headerbar .linked.raised button.destructive-action:disabled, headerbar .linked button.destructive-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled, .titlebar .linked.raised button.destructive-action:disabled, .titlebar .linked button.destructive-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled, headerbar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled, headerbar viewswitcher button.destructive-action.radio:disabled:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:checked, headerbar button.destructive-action:disabled:not(.titlebutton), .titlebar button.destructive-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -popover.background button.destructive-action:disabled:backdrop, .content list button.destructive-action:disabled:backdrop, .content list > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.content button.destructive-action:disabled:backdrop, list.content > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.view.frame button.destructive-action:disabled:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .destructive-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:disabled:backdrop, headerbar .linked.raised button.destructive-action:disabled:backdrop, headerbar .linked button.destructive-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, .titlebar .linked.raised button.destructive-action:disabled:backdrop, .titlebar .linked button.destructive-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, headerbar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled:backdrop, headerbar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, headerbar button.destructive-action:disabled:backdrop:not(.titlebutton), .titlebar button.destructive-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar { box-shadow: 0 1px alpha(@headerbar_shade_color,0.3); } - -headerbar:not(.selection-mode), headerbar:not(.selection-mode) entry, .titlebar:not(.selection-mode), .titlebar:not(.selection-mode) entry { color: @headerbar_fg_color; } - -headerbar:not(.selection-mode):backdrop, headerbar:not(.selection-mode) entry:backdrop, .titlebar:not(.selection-mode):backdrop, .titlebar:not(.selection-mode) entry:backdrop { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) entry:disabled, .titlebar:not(.selection-mode) entry:disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action), .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action) { color: @headerbar_fg_color; } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } - -headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } - -headerbar:not(.selection-mode) switch image, .titlebar:not(.selection-mode) switch image { color: transparent; } - -headerbar button:not(.titlebutton), headerbar button:not(.titlebutton):backdrop, .titlebar button:not(.titlebutton), .titlebar button:not(.titlebutton):backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar .linked.raised button:not(:only-child):not(:first-child), headerbar .linked button:not(:only-child):not(:first-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:first-child), .titlebar .linked.raised button:not(:only-child):not(:first-child), .titlebar .linked button:not(:only-child):not(:first-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:first-child) { border-left-color: alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):not(:last-child), headerbar .linked button:not(:only-child):not(:last-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child), .titlebar .linked.raised button:not(:only-child):not(:last-child), .titlebar .linked button:not(:only-child):not(:last-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child) { border-right-color: alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):first-child, headerbar .linked button:not(:only-child):first-child, headerbar > .stack-switcher.linked > button:not(:only-child):first-child, .titlebar .linked.raised button:not(:only-child):first-child, .titlebar .linked button:not(:only-child):first-child, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child { border-left-color: transparent; } - -headerbar .linked.raised button:not(:only-child):last-child, headerbar .linked button:not(:only-child):last-child, headerbar > .stack-switcher.linked > button:not(:only-child):last-child, .titlebar .linked.raised button:not(:only-child):last-child, .titlebar .linked button:not(:only-child):last-child, .titlebar > .stack-switcher.linked > button:not(:only-child):last-child { border-right-color: transparent; } - -headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active { box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button { border-left-color: transparent; } - -headerbar.selection-mode button:hover:backdrop, .titlebar.selection-mode button:hover:backdrop { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar entry, .titlebar entry { min-height: 32px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); } - -headerbar entry:backdrop, .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -headerbar entry:disabled, .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar entry:disabled:backdrop, .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar entry image, .titlebar entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } - -headerbar entry image.left, .titlebar entry image.left { margin-right: 6px; } - -headerbar entry image.right, .titlebar entry image.right { margin-left: 6px; } - -headerbar entry image:hover, .titlebar entry image:hover { color: @headerbar_fg_color; } - -headerbar entry image:active, .titlebar entry image:active { color: @accent_bg_color; } - -headerbar entry image:backdrop, .titlebar entry image:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.2); } - -headerbar entry.error, .titlebar entry.error { color: @error_bg_color; border-color: @error_bg_color; } - -headerbar entry.error:focus, .titlebar entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -headerbar entry.error selection, .titlebar entry.error selection { background-color: @error_bg_color; } - -headerbar entry.warning, .titlebar entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } - -headerbar entry.warning:focus, .titlebar entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } - -headerbar entry.warning selection, .titlebar entry.warning selection { background-color: @warning_bg_color; } - -headerbar entry.flat:focus, headerbar entry.flat:backdrop, headerbar entry.flat:disabled, headerbar entry.flat:backdrop:disabled, headerbar entry.flat, .titlebar entry.flat:focus, .titlebar entry.flat:backdrop, .titlebar entry.flat:disabled, .titlebar entry.flat:backdrop:disabled, .titlebar entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } - -headerbar entry:drop(active):focus, headerbar entry:drop(active), .titlebar entry:drop(active):focus, .titlebar entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -headerbar entry progress, .titlebar entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } - -headerbar entry progress:backdrop, .titlebar entry progress:backdrop { background-color: transparent; } - -headerbar .linked entry:not(:first-child), .titlebar .linked entry:not(:first-child) { border-left-color: alpha(currentColor,0.15); } - -headerbar .linked entry:not(:first-child):backdrop, .titlebar .linked entry:not(:first-child):backdrop { border-left-color: alpha(currentColor,0.15); } - -headerbar switch:backdrop, .titlebar switch:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.81); background-color: mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.3); text-shadow: none; transition: 200ms ease-out; } - -headerbar switch:backdrop:checked, .titlebar switch:backdrop:checked { color: @window_bg_color; background-color: alpha(@accent_bg_color,0.5); } - -headerbar switch:backdrop:checked:disabled, .titlebar switch:backdrop:checked:disabled { background-color: alpha(@accent_bg_color,0.3); } - -headerbar switch:backdrop:disabled, .titlebar switch:backdrop:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -headerbar switch:backdrop slider, .titlebar switch:backdrop slider { transition: 200ms ease-out; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } - -headerbar switch:backdrop:checked > slider, .titlebar switch:backdrop:checked > slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } - -headerbar switch:backdrop:disabled slider, .titlebar switch:backdrop:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.4); } - -headerbar switch:disabled, .titlebar switch:disabled { background-color: shade(mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.3),0.96); } - -headerbar switch:disabled:backdrop, .titlebar switch:disabled:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.3); } - -headerbar:not(:backdrop), .titlebar:not(:backdrop) { transition: 50ms ease-in; transition-property: background-color, background-image, box-shadow, border-color, color, text-shadow; } - -headerbar .right, .titlebar .right { margin-left: -4px; } - -headerbar .right separator, .titlebar .right separator { min-width: 0; } - -headerbar .left, .titlebar .left { margin-right: -4px; } - -headerbar .left separator, .titlebar .left separator { min-width: 0; } - -.content list button, .content list > row:not(:selected):hover button, list.content button, list.content > row:not(:selected):hover button, list.view.frame button, list.view.frame > row:not(:selected):hover button { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.9); } - -.content list button.flat:not(:hover):not(:active), .content list > row:not(:selected):hover button.flat:not(:hover):not(:active), list.content button.flat:not(:hover):not(:active), list.content > row:not(:selected):hover button.flat:not(:hover):not(:active), list.view.frame button.flat:not(:hover):not(:active), list.view.frame > row:not(:selected):hover button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.content list button:hover, .content list > row:not(:selected):hover button:hover, list.content button:hover, list.content > row:not(:selected):hover button:hover, list.view.frame button:hover, list.view.frame > row:not(:selected):hover button:hover { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.853); box-shadow: none; } - -.content list button:active, .content list button:checked, .content list > row:not(:selected):hover button:active, .content list > row:not(:selected):hover button:checked, list.content button:active, list.content button:checked, list.content > row:not(:selected):hover button:active, list.content > row:not(:selected):hover button:checked, list.view.frame button:active, list.view.frame button:checked, list.view.frame > row:not(:selected):hover button:active, list.view.frame > row:not(:selected):hover button:checked { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.content list button:active:hover, .content list button:checked:hover, .content list > row:not(:selected):hover button:active:hover, .content list > row:not(:selected):hover button:checked:hover, list.content button:active:hover, list.content button:checked:hover, list.content > row:not(:selected):hover button:active:hover, list.content > row:not(:selected):hover button:checked:hover, list.view.frame button:active:hover, list.view.frame button:checked:hover, list.view.frame > row:not(:selected):hover button:active:hover, list.view.frame > row:not(:selected):hover button:checked:hover { background-color: mix(currentColor,@card_bg_color,0.65); } - -.content list button:disabled, .content list > row:not(:selected):hover button:disabled, list.content button:disabled, list.content > row:not(:selected):hover button:disabled, list.view.frame button:disabled, list.view.frame > row:not(:selected):hover button:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.9); } - -.content list entry, list.content entry, list.view.frame entry { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.9); } - -.content list entry:disabled, list.content entry:disabled, list.view.frame entry:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.9); } - -popover.background button { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.9); } - -popover.background button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button:hover { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.853); box-shadow: none; } - -popover.background button:active, popover.background button:checked { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -popover.background button:active:hover, popover.background button:checked:hover { background-color: mix(currentColor,@popover_bg_color,0.65); } - -popover.background button:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.9); } - -popover.background entry { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.9); } - -popover.background entry:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.9); } - -button.toggle:not(.image-button) { padding-left: 8px; padding-right: 8px; } - -.flat.popup:not(.title) { font-weight: normal; } - -statusbar { font-size: small; } - -scrolledwindow list:not(.content) { padding: 6px 0; } - -scrolledwindow list row { margin: 0 6px; border-radius: 6px; } - -scrolledwindow list separator.horizontal { margin: 6px; } - -list.content .horizontal spinbutton entry { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } - -list.view.frame { border-radius: 12px; } - -list.view.frame, list.view.frame:backdrop { background-color: @card_bg_color; } - -.ssd .titlebar { border-width: 0; padding: 0px 4px; min-height: 36px; border-bottom: 1px solid @headerbar_shade_color; } - -.ssd .titlebar.default-decoration button.titlebutton { background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; } - -.ssd .titlebar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } - -.ssd .titlebar.default-decoration button.titlebutton:hover:active, .ssd .titlebar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } - -.ssd .titlebar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } - -.ssd .titlebar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } - -.default-decoration .title { color: @headerbar_fg_color; } - -.default-decoration .title:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } - -treeview.view:not(:backdrop):not(:selected):hover { background-color: alpha(currentColor,0.04); } - -.preferences scrolledwindow > .frame > clamp.large, .preferences scrolledwindow > .frame > clamp.medium, .preferences scrolledwindow > .frame > clamp.small { padding-bottom: 30px; } - -.osd .linked > button { border-color: transparent; } - -.primary-toolbar, .toolbar { background-color: @window_bg_color; } - -.primary-toolbar:backdrop, .toolbar:backdrop { background-color: @window_bg_color; } - -popover.background modelbutton.flat { padding-left: 16px; padding-right: 16px; } - -popover.background modelbutton.flat, popover.background .menuitem.button.flat { color: @popover_fg_color; } - -popover.background modelbutton.flat:disabled label, popover.background .menuitem.button.flat:disabled label { color: mix(@popover_fg_color,@popover_bg_color,0.5); } - -popover.background modelbutton.flat:backdrop:hover, popover.background .menuitem.button.flat:backdrop:hover { background-color: alpha(currentColor,0.04); } - -popover.menu > stack { margin: -6px; } - -window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 12px; } - -window.csd.unified scrollbar { background-color: @view_bg_color; color: @window_fg_color; } - -window.csd.unified scrollbar trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; background-color: alpha(currentColor,0.15); } - -window.csd.unified scrollbar trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; } - -window.csd.unified scrollbar.horizontal trough { margin-top: 6px; margin-bottom: 6px; } - -window.csd.unified scrollbar.vertical trough { margin-left: 6px; margin-right: 6px; } - -window.csd.unified scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } - -window.csd.unified scrollbar.overlay-indicator:not(.hovering) trough { background-color: transparent; } - -window.csd.unified scrollbar.overlay-indicator.horizontal trough > slider { min-width: 40px; } - -window.csd.unified scrollbar.overlay-indicator.horizontal.hovering trough > slider { min-height: 8px; } - -window.csd.unified scrollbar.overlay-indicator.horizontal:not(.hovering) trough { margin-top: 3px; margin-bottom: 3px; } - -window.csd.unified scrollbar.overlay-indicator.vertical trough > slider { min-height: 40px; } - -window.csd.unified scrollbar.overlay-indicator.vertical.hovering trough > slider { min-width: 8px; } - -window.csd.unified scrollbar.overlay-indicator.vertical:not(.hovering) trough { margin-left: 3px; margin-right: 3px; } - -window.csd.unified scrollbar.horizontal trough > slider { min-width: 40px; } - -window.csd.unified scrollbar.vertical trough > slider { min-height: 40px; } - -popover.combo { padding: 0px; } - -popover.combo list { border-style: none; background-color: transparent; min-width: 200px; margin-top: 6px; margin-bottom: 6px; } - -popover.combo list > row { padding: 0px 8px 0px 8px; min-height: 50px; } - -popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(mix(currentColor,@window_bg_color,0.853), 0.5); } - -popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } - -popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } - -popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } - -popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } - -popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } - -row.expander { padding: 0px; } - -row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } - -row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } - -row.expander { background-color: transparent; } - -row.expander list.nested > row { background-color: transparent; border-radius: 0; border: none; } - -row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } - -row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } - -row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; border-radius: 0; border-top: 1px solid alpha(currentColor,0.15); } - -row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } - -row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } - -row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } - -row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } - -row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_bg_color; } - -row.expander image.expander-row-arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } - -list.content { background-color: transparent; color: @card_fg_color; border-radius: 12px; } - -list.content list { background-color: transparent; border-radius: 12px; } - -list.content > row { background-color: @card_bg_color; color: @card_fg_color; margin: 0; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -list.content > row:not(:last-child) { box-shadow: inset 0 -1px @card_shade_color; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -list.content > row:not(:first-child):not(:last-child) { border-radius: 0; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0; } - -list.content > row:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; border-top: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 12px 12px 0 0; } - -list.content > row:last-child { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0 0 12px 12px; } - -list.content > row:only-child { border: 1px solid @card_shade_color; border-radius: 12px; -gtk-outline-radius: 12px; } - -list.content > row:not(.expander):not(:active):hover.activatable:not(:selected), list.content > row.expander row.header:not(:active):hover.activatable:not(:selected) { background-color: mix(@card_fg_color, @card_bg_color, 0.954); } - -button.list-button:not(:active):not(:checked):not(:hover) { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.9); } - -keypad .digit { font-size: 200%; font-weight: bold; } - -keypad .letters { font-size: 70%; } - -keypad .symbol { font-size: 160%; } - -viewswitcher, viewswitcher button { margin: 0; padding: 0; } - -viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; border-width: 0; } - -viewswitcher button:not(:checked):not(:hover) { background: transparent; } - -viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } - -viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } - -viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } - -viewswitcher button:not(:checked):hover:not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; background-image: none; } - -viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } - -viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: alpha(currentColor,0.15); } - -viewswitcher button:not(:checked):hover:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: none; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(white,@headerbar_bg_color,0.72),0.9); } - -headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } - -headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: alpha(currentColor,0.15); } - -headerbar viewswitcher button:not(:checked):hover:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),mix(white,@headerbar_backdrop_color,0.3),0.2); background-color: mix(currentColor,mix(white,@headerbar_backdrop_color,0.3),0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -viewswitcher button:checked, viewswitcher button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; } - -viewswitcher button:checked:hover, viewswitcher button:active:hover { background-color: mix(currentColor,@window_bg_color,0.65); } - -viewswitcher button:checked:backdrop, viewswitcher button:active:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); background-image: none; } - -viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } - -viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } - -viewswitcher button > stack > box.wide { padding: 8px 12px; } - -viewswitcher button > stack > box.wide image:dir(ltr) { padding-left: 7px; } - -viewswitcher button > stack > box.wide image:dir(rtl) { padding-right: 7px; } - -viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } - -viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } - -viewswitcher button > stack > box label.active { font-weight: bold; } - -viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } - -viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } - -viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } - -viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } - -viewswitcherbar actionbar > revealer > box { padding: 0; } - -viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon { color: alpha(@window_fg_color,0.5); } - -statuspage > scrolledwindow > viewport > box { margin: 36px 12px; } - -statuspage > scrolledwindow > viewport > box > clamp:not(:last-child) > box { margin-bottom: 36px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 36px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .title:not(:last-child) { margin-bottom: 12px; } - -row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } - -row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } - -row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } - -tabbar .box { min-height: 38px; background: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; } - -tabbar .box:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: @headerbar_backdrop_color; } - -tabbar scrolledwindow.pinned undershoot { border: 0 solid mix(black,@window_bg_color,0.76); } - -tabbar scrolledwindow.pinned:dir(rtl) undershoot.left { border-left-width: 1px; } - -tabbar scrolledwindow.pinned:dir(ltr) undershoot.right { border-right-width: 1px; } - -tabbar scrolledwindow.pinned:backdrop undershoot { border-color: mix(currentColor,@window_bg_color,0.81); } - -tabbar scrolledwindow.pinned tabbox:dir(ltr) { padding-right: 1px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -tabbar scrolledwindow.pinned tabbox:dir(rtl) { padding-left: 1px; box-shadow: inset 1px 0 alpha(currentColor,0.15); } - -tabbar undershoot { transition: none; } - -tabbar undershoot.left { background: linear-gradient(to right, rgba(0, 0, 0, 0.07), rgba(0, 0, 0, 0) 20px); } - -tabbar undershoot.right { background: linear-gradient(to left, rgba(0, 0, 0, 0.07), rgba(0, 0, 0, 0) 20px); } - -tabbar .needs-attention-left undershoot.left { background: linear-gradient(to right, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } - -tabbar .needs-attention-right undershoot.right { background: linear-gradient(to left, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } - -tabbar tab { margin: 4px 3px; border-style: none; border-radius: 6px; transition: background-color 150ms ease-in-out; background-image: -gtk-scaled(url("assets/tab-border-light.png"), url("assets/tab-border-light@2.png")); background-position: left; background-repeat: no-repeat; } - -tabbar tab:first-child { background-image: none; } - -tabbar tab:hover { background-color: alpha(currentColor,0.07); } - -tabbar tab:hover, tabbar tab:hover + tab { background-image: none; } - -tabbar tab:checked { background-color: alpha(currentColor,0.1); } - -tabbar tab:checked, tabbar tab:checked + tab { background-image: none; } - -tabbar tab:checked:hover { background-color: alpha(currentColor,0.13); } - -tabbar .start-action, tabbar .end-action { background-color: @headerbar_bg_color; border-color: transparent; border-style: solid; transition: background-color 150ms ease-in-out; } - -tabbar .start-action:backdrop, tabbar .end-action:backdrop { border-color: transparent; background-color: @headerbar_backdrop_color; } - -tabbar .start-action button, tabbar .end-action button { border: none; border-radius: 0; } - -tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { border-right-width: 1px; } - -tabbar .start-action:dir(ltr) > *, tabbar .end-action:dir(rtl) > * { margin-right: 1px; } - -tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { border-left-width: 1px; } - -tabbar .start-action:dir(rtl) > *, tabbar .end-action:dir(ltr) > * { margin-left: 1px; } - -.tab-drag-icon tab { min-height: 26px; background-color: mix(currentColor,@window_bg_color,0.923); box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.23), inset 0 1px alpha(white,0.5); margin: 25px; } - -tabbar tab, .tab-drag-icon tab { padding: 6px; } - -tabbar tab.needs-attention, .tab-drag-icon tab.needs-attention { background-image: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.8), alpha(@accent_bg_color,0.2) 15%, alpha(@accent_bg_color,0) 15%); } - -tabbar tab .tab-close-button, tabbar tab .tab-indicator, .tab-drag-icon tab .tab-close-button, .tab-drag-icon tab .tab-indicator { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; border: none; box-shadow: none; -gtk-icon-shadow: none; text-shadow: none; background: none; } - -tabbar tab .tab-close-button:hover, tabbar tab .tab-indicator.clickable:hover, .tab-drag-icon tab .tab-close-button:hover, .tab-drag-icon tab .tab-indicator.clickable:hover { background: alpha(@window_fg_color, 0.15); } - -tabbar tab .tab-close-button:active, tabbar tab .tab-indicator.clickable:active, .tab-drag-icon tab .tab-close-button:active, .tab-drag-icon tab .tab-indicator.clickable:active { background: alpha(black, 0.2); } - -flap > dimming, deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.12); } - -flap > border, deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.05); } - -flap > shadow, deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } - -flap > shadow.left, deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.right, deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.up, deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > shadow.down, deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } - -flap > outline, deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.2); } - -avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } - -avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } - -avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } - -avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } - -avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } - -avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } - -avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } - -avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } - -avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } - -avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } - -avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } - -avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } - -avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } - -avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } - -avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } - -avatar.contrasted { color: #fff; } - -avatar.image { background: none; } - -window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp, preferencespage > scrolledwindow > viewport > clamp { margin: 0 12px; } - -window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > list, window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > box > preferencesgroup, preferencespage > scrolledwindow > viewport > clamp > list, preferencespage > scrolledwindow > viewport > clamp > box > preferencesgroup { margin-top: 24px; } - -preferencesgroup > box > label:not(:first-child) { margin-top: 6px; } - -preferencesgroup > box > box:not(:first-child) { margin-top: 12px; } - -tabbar .tab-indicator:not(.clickable) { background: none; box-shadow: none; border-color: transparent; } - -.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } - -.heading.h4 { color: @window_fg_color; } - -window.rounded, window.rounded actionbar { border-radius: 0 0 12px 12px; } - -window.rounded decoration, window.rounded actionbar decoration { border-radius: 12px; } - -window.flat headerbar { box-shadow: none; } - -.accent { color: @accent_bg_color; } - -.h1 { font-size: 20pt; font-weight: 300; } - -.h2 { font-size: 16pt; font-weight: 200; } - -.h3 { font-size: 11pt; } - -.h4, .category-label { color: shade(@window_fg_color,1.2); font-weight: 700; } - -.h4 { padding-top: 0.5em; padding-bottom: 0.5em; } - -list .h4 { padding-left: 0.5em; } - -.storage-bar .trough { padding: 8px 6px; border: none; border-radius: 6px 6px 0 0; background-image: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } - -.storage-bar .fill-block { padding: 8px 6px; border: 1px solid rgba(0, 0, 0, 0.35); border-top-width: 0; border-right-width: 0; border-bottom-width: 1px; border-left-width: 0; border-radius: 0; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.853),0.75); background-color: shade(@view_bg_color,0.85); } - -.storage-bar .fill-block:first-child { border-radius: 6px 0 0; } - -.storage-bar .fill-block:last-child { border-radius: 0 6px 0 0; } - -.storage-bar .fill-block:only-child { border-radius: 6px 6px 0 0; } - -.storage-bar .fill-block image { -gtk-icon-style: symbolic; } - -.storage-bar .empty-block { border-bottom-width: 1px; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.853),0.6); background-color: shade(@view_bg_color,0.95); } - -.storage-bar .empty-block image { color: black; } - -.storage-bar .app { border-bottom-width: 1px; border-bottom-color: shade(#dc8add,0.7); background-color: #dc8add; } - -.storage-bar .app image { color: white; } - -.storage-bar .audio { border-bottom-width: 1px; border-bottom-color: shade(#ffa348,0.8); background-color: #ffa348; } - -.storage-bar .audio image { color: black; } - -.storage-bar .files { border-bottom-width: 1px; border-bottom-color: shade(#99c1f1,0.8); background-color: #99c1f1; } - -.storage-bar .files image { color: black; } - -.storage-bar .photo { border-bottom-width: 1px; border-bottom-color: shade(#57e389,0.7); background-color: #57e389; } - -.storage-bar .photo image { color: black; } - -.storage-bar .video { border-bottom-width: 1px; border-bottom-color: shade(#f66151,0.8); background-color: #f66151; } - -.storage-bar .video image { color: white; } - -.storage-bar .legend { padding: 8px; border-radius: 50%; } - -.storage-bar .legend image { color: black; } - -.storage-bar .disk-bar { padding: 0; border-radius: 6px; background-color: #cdab8f; } - -.storage-bar .ext2, .storage-bar .ext3, .storage-bar .ext4, .storage-bar .fat16, .storage-bar .fat32, .storage-bar .btrfs, .storage-bar .xfs, .storage-bar .ntfs, .storage-bar .luks, .storage-bar .lvm, .storage-bar .none, .storage-bar .swap, .storage-bar .unused { border: none; box-shadow: inset 0 -2px rgba(94, 92, 100, 0.5), inset 1px 0 rgba(94, 92, 100, 0.5), inset -1px 0 rgba(94, 92, 100, 0.5); } - -.storage-bar .swap { background-color: #a51d2d; } - -.storage-bar .swap image { color: white; } - -.storage-bar .ext4 { background-color: #57e389; } - -.storage-bar .ext4 image { color: black; } - -.storage-bar .ext3 { background-color: #26a269; } - -.storage-bar .ext3 image { color: white; } - -.storage-bar .ext2 { background-color: #8ff0a4; } - -.storage-bar .ext2 image { color: black; } - -.storage-bar .fat16, .storage-bar .fat32 { background-color: #f8e45c; } - -.storage-bar .fat16 image, .storage-bar .fat32 image { color: black; } - -.storage-bar .btrfs { background-color: #1a5fb4; } - -.storage-bar .btrfs image { color: white; } - -.storage-bar .xfs { background-color: #99c1f1; } - -.storage-bar .xfs image { color: black; } - -.storage-bar .ntfs { background-color: #ffa348; } - -.storage-bar .ntfs image { color: black; } - -.storage-bar .luks { background-color: #c061cb; } - -.storage-bar .luks image { color: black; } - -.storage-bar .lvm { background-color: #dc8add; } - -.storage-bar .lvm image { color: black; } - -.storage-bar .none { background-color: #99c1f1; } - -.storage-bar .none image { color: black; } - -.storage-bar .unused { background-color: #cdab8f; } - -.storage-bar .unused image { color: black; } - -.storage-bar .legend { box-shadow: none; } - -GraniteWidgetsPopOver { -GraniteWidgetsPopOver-arrow-width: 21; -GraniteWidgetsPopOver-arrow-height: 10; -GraniteWidgetsPopOver-border-radius: 12px; -GraniteWidgetsPopOver-border-width: 0; -GraniteWidgetsPopOver-shadow-size: 12; border: 1px solid @view_bg_color; background: @view_bg_color; color: @window_fg_color; } - -GraniteWidgetsPopOver .button { background-image: none; background: none; border: none; } - -GraniteWidgetsPopOver .button:active, GraniteWidgetsPopOver .button:active:hover { color: @accent_bg_color; } - -GraniteWidgetsPopOver > .frame { border: none; } - -GraniteWidgetsPopOver .sidebar.view, GraniteWidgetsPopOver iconview.sidebar { border: none; background: none; } - -GraniteWidgetsStaticNotebook .frame { border: none; } - -.popover_bg { background-color: @view_bg_color; background-image: none; border: 1px solid @view_bg_color; color: @window_fg_color; } - -.deck { background-color: @view_bg_color; } - -paper, .card { transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1); border: none; background-color: @view_bg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } - -paper, paper.rounded, .card, .card.rounded { border-radius: 12px; } - -paper.collapsed, .card.collapsed { background-color: @window_bg_color; } - -.source-list { -GtkTreeView-horizontal-separator: 1px; -GtkTreeView-vertical-separator: 6px; background-color: @window_bg_color; border: solid mix(currentColor,@window_bg_color,0.853); color: @window_fg_color; border-right-width: 1px; } - -.source-list .category-expander { color: transparent; } - -.source-list .badge { background-image: none; background-color: rgba(0, 0, 0, 0.4); color: @window_bg_color; border-radius: 10px; padding: 0 6px; margin: 0 3px; border-width: 0; } - -.source-list .badge:selected:backdrop, .source-list .badge:selected:hover:backdrop { background-color: rgba(0, 0, 0, 0.2); color: shade(@window_bg_color,0.95); } - -.source-list row, .source-list .list-row { border: none; padding: 0; } - -.source-list row > GtkLabel, .source-list row > label, .source-list .list-row > GtkLabel, .source-list .list-row > label { padding-left: 6px; padding-right: 6px; } - -.avatar { border-radius: 999px; box-shadow: none; } - -.overlay-bar { padding: 4px; } - -.dynamic-notebook tab.reorderable-page { padding: 8px; } - -scale.temperature trough { background-image: linear-gradient(to right, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } - -scale.temperature:dir(rtl) trough { background-image: linear-gradient(to left, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } - -scale.warmth trough { background-image: linear-gradient(to right, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } - -scale.warmth:dir(rtl) trough { background-image: linear-gradient(to left, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } - -.terminal, .terminal text { background-color: #3d3846; color: white; font-family: monospace; } - -.terminal selection, .terminal text selection { background-color: @accent_bg_color; color: white; } - -.terminal:backdrop, .terminal text:backdrop { background-color: #5e5c64; color: white; } - -label.terminal { padding: 1em; } - -.welcome { font-size: 10pt; text-shadow: none; } - -.welcome .h1, .welcome .h3 { color: shade(@window_fg_color,1.2); } - -button.back-button, button.back-button.text-button { padding-right: 8px; padding-left: 36px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button, .titlebar button.back-button.text-button { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); background-color: @headerbar_bg_color; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; padding-left: 36px; } - -.titlebar button.back-button:hover, .titlebar button.back-button.text-button:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.853); box-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button:active, .titlebar button.back-button.text-button:active { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } - -.titlebar button.back-button:active:hover, .titlebar button.back-button.text-button:active:hover { background-color: mix(currentColor,@headerbar_bg_color,0.65); } - -button.back-button:dir(rtl), button.back-button.text-button:dir(rtl) { padding: 0.5em 0.6em; padding-right: 36px; padding-left: 8px; background-image: -gtk-icontheme("go-next-symbolic"); background-repeat: no-repeat no-repeat; background-position: 90% 50%; } - -.checkerboard { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.853),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.853),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.853),0.5); border-radius: 2px; } - -.org-gnome-gedit notebook > header, .gedit-side-panel-paned notebook > header, .nautilus-window notebook > header { background-color: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; box-shadow: none; } - -.org-gnome-gedit notebook > header:backdrop, .gedit-side-panel-paned notebook > header:backdrop, .nautilus-window notebook > header:backdrop { background-color: @headerbar_backdrop_color; box-shadow: none; } - -.org-gnome-gedit notebook arrow.down + tab.reorderable-page, .gedit-side-panel-paned notebook arrow.down + tab.reorderable-page, .nautilus-window notebook arrow.down + tab.reorderable-page, .org-gnome-gedit notebook tab:first-child.reorderable-page, .gedit-side-panel-paned notebook tab:first-child.reorderable-page, .nautilus-window notebook tab:first-child.reorderable-page { background-image: none; box-shadow: none; } - -.org-gnome-gedit notebook tab.reorderable-page, .gedit-side-panel-paned notebook tab.reorderable-page, .nautilus-window notebook tab.reorderable-page { -gtk-outline-radius: 8px; outline-width: 2px; outline-style: solid; outline-color: alpha(@accent_color,0.5); min-height: 37px; padding: 4px 0 0 0; box-shadow: none; border: none; color: @headerbar_fg_color; background-color: @headerbar_bg_color; background-image: -gtk-scaled(url("assets/tab-border-light.png"), url("assets/tab-border-light@2.png")); background-position: left; background-repeat: no-repeat; } - -.org-gnome-gedit notebook tab.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab.reorderable-page:backdrop, .nautilus-window notebook tab.reorderable-page:backdrop { box-shadow: none; } - -.org-gnome-gedit notebook tab.reorderable-page > box, .gedit-side-panel-paned notebook tab.reorderable-page > box, .nautilus-window notebook tab.reorderable-page > box { margin: 0 3px 3px 3px; padding-right: 8px; border-radius: 6px; } - -.org-gnome-gedit notebook tab.reorderable-page > box > label, .gedit-side-panel-paned notebook tab.reorderable-page > box > label, .nautilus-window notebook tab.reorderable-page > box > label { padding-left: 8px; } - -.org-gnome-gedit notebook tab.reorderable-page > box button, .gedit-side-panel-paned notebook tab.reorderable-page > box button, .nautilus-window notebook tab.reorderable-page > box button { margin: 8px 0; } - -.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:hover.reorderable-page > box, .gedit-side-panel-paned notebook tab:hover.reorderable-page > box, .nautilus-window notebook tab:hover.reorderable-page > box { background-color: alpha(currentColor,0.07); transition: background-color 150ms ease-in-out; } - -.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page, .org-gnome-gedit notebook tab:hover.reorderable-page + tab, .gedit-side-panel-paned notebook tab:hover.reorderable-page + tab, .nautilus-window notebook tab:hover.reorderable-page + tab { background-image: none; } - -.org-gnome-gedit notebook tab:hover.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:hover.reorderable-page:backdrop, .nautilus-window notebook tab:hover.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } - -.org-gnome-gedit notebook tab:backdrop.reorderable-page, .gedit-side-panel-paned notebook tab:backdrop.reorderable-page, .nautilus-window notebook tab:backdrop.reorderable-page { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page > box, .nautilus-window notebook tab:checked.reorderable-page > box { background-color: alpha(currentColor,0.1); transition: background-color 150ms ease-in-out; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover, .nautilus-window notebook tab:checked.reorderable-page:hover, .org-gnome-gedit notebook tab:checked.reorderable-page:active, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active, .nautilus-window notebook tab:checked.reorderable-page:active { box-shadow: none; background-color: transparent; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover > box, .nautilus-window notebook tab:checked.reorderable-page:hover > box, .org-gnome-gedit notebook tab:checked.reorderable-page:active > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active > box, .nautilus-window notebook tab:checked.reorderable-page:active > box { background-color: alpha(currentColor,0.13); } - -.org-gnome-gedit notebook tab:checked.reorderable-page:hover:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover:backdrop, .nautilus-window notebook tab:checked.reorderable-page:hover:backdrop, .org-gnome-gedit notebook tab:checked.reorderable-page:active:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active:backdrop, .nautilus-window notebook tab:checked.reorderable-page:active:backdrop { box-shadow: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page, .org-gnome-gedit notebook tab:checked.reorderable-page + tab, .gedit-side-panel-paned notebook tab:checked.reorderable-page + tab, .nautilus-window notebook tab:checked.reorderable-page + tab { background-image: none; } - -.org-gnome-gedit notebook tab:checked.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:backdrop, .nautilus-window notebook tab:checked.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } - -.nautilus-window headerbar .path-bar-box, .nautilus-window .titlebar .path-bar-box { border-radius: 6px; border: none; padding-right: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); } - -.nautilus-window headerbar .path-bar-box:backdrop, .nautilus-window .titlebar .path-bar-box:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar, .nautilus-window .titlebar .nautilus-path-bar { border-radius: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); min-height: 34px; } - -.nautilus-window headerbar .nautilus-path-bar:backdrop, .nautilus-window .titlebar .nautilus-path-bar:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton) { margin: 0; padding-left: 8px; padding-right: 8px; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).current-dir, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).current-dir { border-width: 0px; border-radius: 6px; background-color: transparent; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir) { border-width: 0px; border-radius: 6px; background-color: transparent; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover { color: @headerbar_fg_color; background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover { background-color: mix(currentColor,@window_bg_color,0.65); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover *, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover * { opacity: 1; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),shade(mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.92),0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.7); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); border-radius: 0 6px 6px 0; border-left: 1px solid alpha(currentColor,0.15); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup image, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup image { color: @headerbar_fg_color; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.853); box-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover { background-color: mix(currentColor,@headerbar_bg_color,0.65); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-left: 1px solid alpha(currentColor,0.15); } - -.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); } - -.nautilus-window .path-buttons-box { border: 2px solid transparent; } - -.nautilus-window .path-buttons-box button { min-height: 22px; } - -.nautilus-window .linked.raised button.image-button:not(:only-child), .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop, .nautilus-window .linked.raised button.image-button:not(:only-child):disabled, .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop:disabled { border: none; } - -.nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active), .nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active):backdrop, .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model):backdrop { background-color: transparent; } - -.nautilus-window .search + .toggle.popup { border-left-color: alpha(currentColor,0.15); } - -.nautilus-window .view .dim-label, .nautilus-window .view dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window .view .subtitle, .nautilus-window iconview .dim-label, .nautilus-window iconview dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window iconview .subtitle, .nautilus-window .view label.separator, .nautilus-window iconview label.separator, .nautilus-window .view headerbar .subtitle, headerbar .nautilus-window .view .subtitle, .nautilus-window iconview headerbar .subtitle, headerbar .nautilus-window iconview .subtitle, .nautilus-window .view .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window .view .subtitle, .nautilus-window iconview .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window iconview .subtitle { color: alpha(@window_fg_color,0.55); } - -.nautilus-window .thumbnail { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.853),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.853),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.853),0.5); border-radius: 2px; } - -.nautilus-window .operations-list, .nautilus-window .operations-list > :hover { background: none; } - -.nautilus-window .nautilus-canvas-item { border-radius: 0px; } - -.nautilus-window .nautilus-canvas-item.label-text { border-radius: 6px; } - -.nautilus-window .nautilus-list-view .view:selected, .nautilus-window .nautilus-list-view iconview:selected { background-color: alpha(@accent_bg_color,0.25); color: @view_fg_color; } - -.nautilus-window .nautilus-list-view .view:selected:hover, .nautilus-window .nautilus-list-view iconview:selected:hover { background-color: alpha(@accent_bg_color,0.32); } - -.nautilus-window .nautilus-list-view .view:hover, .nautilus-window .nautilus-list-view iconview:hover { background-color: alpha(currentColor,0.04); } - -.nautilus-window entry.search > :not(.csd) { margin: 5px; } - -.nautilus-window entry.search > :not(.csd):not(image), .nautilus-window entry.search > :not(.csd):backdrop:not(image) { color: @accent_fg_color; background-color: @accent_bg_color; } - -.floating-bar { padding: 3px; background-color: @view_bg_color; border-width: 1px; border-style: solid solid none; border-color: mix(currentColor,@window_bg_color,0.853); border-radius: 8px 0 0 0; } - -.floating-bar.bottom.left { border-left-style: none; border-top-left-radius: 0; } - -.floating-bar.bottom.right { border-right-style: none; border-top-right-radius: 0; } - -.floating-bar:backdrop { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.81); } - -.floating-bar button { padding: 0px; } - -.disk-space-display { border-style: solid; border-width: 2px; } - -.disk-space-display.unknown { background-color: #888a85; border-color: shade(#888a85, 0.7); color: #888a85; } - -.disk-space-display.unknown.border { color: shade(#888a85, 0.7); } - -.disk-space-display.used { background-color: #729fcf; border-color: shade(#729fcf, 0.7); color: #729fcf; } - -.disk-space-display.used.border { color: shade(#729fcf, 0.7); } - -.disk-space-display.free { background-color: #eeeeec; border-color: shade(#eeeeec, 0.7); color: #eeeeec; } - -.disk-space-display.free.border { color: shade(#eeeeec, 0.7); } - -.gedit-search-slider { background: @window_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.853); border-top-style: none; padding: 4px 8px; border-radius: 0 0 6px 6px; } - -.gedit-search-slider button { padding-top: 7px; padding-bottom: 7px; } - -.gedit-document-panel { background-color: @window_bg_color; } - -.gedit-document-panel row.activatable { padding: 6px; } - -.gedit-document-panel row button { min-width: 22px; min-height: 22px; padding: 0; margin: 0; border: none; } - -.gedit-document-panel row:hover button:hover { background-color: alpha(currentColor,0.15); } - -.gedit-document-panel row:hover button:active { background-color: alpha(currentColor,0.3); } - -.gedit-document-panel row:hover:selected button:hover { color: @window_fg_color; } - -.titlebar.tweak-titlebar-left { background-image: none; background-color: @sidebar_bg_color; border-bottom-color: transparent; } - -.titlebar.tweak-titlebar-left:backdrop { background-color: @sidebar_backdrop_color; } - -.titlebar.tweak-titlebar-left button { background-color: transparent; } - -.titlebar.tweak-titlebar-left button:hover { background-color: alpha(currentColor,0.15); } - -.titlebar.tweak-titlebar-left button:hover:active, .titlebar.tweak-titlebar-left button:active, .titlebar.tweak-titlebar-left button:hover:checked, .titlebar.tweak-titlebar-left button:checked { background-color: alpha(currentColor,0.3); } - -.titlebar.tweak-titlebar-left button:backdrop { background: alpha(currentColor,0.1); } - -.titlebar.tweak-titlebar-left button:backdrop:hover { background: alpha(currentColor,0.15); } - -.titlebar.tweak-titlebar-right { background-image: none; background-color: @window_bg_color; border-bottom-color: transparent; } - -.navigation-sidebar { background-color: @sidebar_bg_color; } - -.navigation-sidebar:backdrop { background-color: @sidebar_backdrop_color; } - -.navigation-sidebar separator.horizontal { margin: 2px 0; padding: 0; background-color: transparent; } - -list.tweak-categories separator.horizontal { background: transparent; margin: 2px 0; } - -.tweak-group .tweak list { border-radius: 12px; border: 1px solid mix(currentColor,@window_bg_color,0.853); } - -.org-gnome-Todo taskrow.activatable.new-task-row button.popup.toggle { border-radius: 0px; border: none; border-left: 1px solid mix(currentColor,@window_bg_color,0.853); padding-left: 10px; padding-right: 10px; -gtk-outline-radius: 0px; } - -.org-gnome-Todo viewport.view, .org-gnome-Todo listbox.transparent { background-color: shade(@view_bg_color,0.95); } - -.org-gnome-Todo viewport.view:backdrop, .org-gnome-Todo listbox.transparent:backdrop { background-color: @window_bg_color; } - -window#guake-terminal notebook header { background: @headerbar_bg_color; } - -.XfceHeading { background-color: @view_bg_color; margin: 0; padding: 0; border-width: 0; } - -XfdesktopIconView.view { background: transparent; color: rgba(255, 255, 255, 0.9); border-radius: 6px; } - -XfdesktopIconView.view:active { background: alpha(mix(black,@accent_bg_color,0.85),0.5); text-shadow: 0 1px 1px black; } - -XfdesktopIconView.view .label { text-shadow: 1px 1px 2px black; } - -XfdesktopIconView.view .rubberband { border-radius: 0; } - -@define-color panel_bg_color black; -@define-color panel_fg_color white; -.xfce4-panel.background { border: none; background-color: @panel_bg_color; color: @panel_fg_color; transition-duration: 250ms; } - -.xfce4-panel.background .tasklist button, .xfce4-panel.background #actions-button, .xfce4-panel.background #clock-button { margin: 0 1px; } - -.xfce4-panel.background.horizontal .tasklist button { margin: 0 1px; } - -.xfce4-panel.background.horizontal .tasklist button label { padding-right: 3px; } - -.xfce4-panel.background.vertical .tasklist button { margin: 1px 0; } - -.xfce4-panel.background.vertical .tasklist button label { padding-bottom: 3px; } - -.xfce4-panel.background .tasklist image { margin-left: 2px; margin-right: 2px; } - -.xfce4-panel.background button label { padding-left: 6px; padding-right: 6px; } - -.xfce4-panel.background button { padding: 0 6px; min-height: 12px; min-width: 12px; border-radius: 24px; color: @panel_fg_color; transition-duration: 250ms; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.xfce4-panel.background button:disabled { background-color: transparent; color: alpha(@panel_fg_color,0.2); } - -.xfce4-panel.background button:hover:not(:active):not(:checked) { color: @panel_fg_color; background-color: alpha(@panel_fg_color,0.25); background-image: none; } - -.xfce4-panel.background button:checked { background-color: alpha(@panel_fg_color,0.2); color: @panel_fg_color; } - -.xfce4-panel.background button:checked:hover { background-color: alpha(@panel_fg_color,0.35); } - -.xfce4-panel.background button:checked:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@panel_fg_color,0.2); } - -.xfce4-panel.background button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -.xfce4-panel.background button entry { caret-color: @view_fg_color; } - -.xfce4-panel.background button menu { -gtk-icon-effect: none; text-shadow: none; } - -.xfce4-panel.background button menu .linked button { color: @view_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.9); } - -.xfce4-panel.background button menu .linked button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: alpha(mix(currentColor,@window_bg_color,0.853),0.5); } - -.xfce4-panel.background progressbar { margin: 0; } - -.xfce4-panel.background progressbar.horizontal trough { min-height: 6px; padding: 0; } - -.xfce4-panel.background progressbar.horizontal progress { min-height: 4px; } - -.xfce4-panel.background progressbar.vertical trough { min-width: 6px; padding: 0; } - -.xfce4-panel.background progressbar.vertical progress { min-width: 4px; } - -.xfce4-panel.background progressbar progress { border-radius: 0px; } - -.xfce4-panel.background progressbar trough { background: shade(@panel_bg_color,0.7); border-radius: 0px; border-color: shade(@panel_bg_color,0.4); } - -wnck-pager { background-color: alpha(@panel_fg_color,0.1); } - -wnck-pager:selected { background-color: shade(@accent_bg_color,0.88); } - -wnck-pager:hover { background-color: @accent_bg_color; } - -#xfwm-tabwin { padding: 12px; border-radius: 12px; -XfwmTabwinWidget-icon-size: 64px; -XfwmTabwinWidget-preview-size: 128px; } - -#xfwm-tabwin .tabwin-app-grid button { min-width: 96px; min-height: 96px; } - -window#whiskermenu-window button { transition: none; } - -#whiskermenu-button { transition: none; } - -#XfceNotifyWindow { border-radius: 8px; background-color: @view_bg_color; } - -.caja-desktop.caja-canvas-item, .nemo-desktop.nemo-canvas-item { color: @accent_fg_color; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); } - -.nemo-properties-dialog .dialog-action-box .dialog-action-area { margin: 2px 6px 4px; } - -.nemo-properties-dialog toolbar stackswitcher.linked button { margin-right: 0; } - -.nemo-properties-dialog toolbar stackswitcher.linked button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: @window_bg_color; } - -.nemo-window .sidebar scrolledwindow.frame.nemo-places-sidebar { border: none; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview { background-image: image(@window_bg_color); border-radius: 0; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:selected { background: @accent_bg_color; } - -.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:not(:selected):not(:backdrop):hover { background-image: image(alpha(@window_fg_color,0.05)); } - -.nemo-window .nemo-inactive-pane .view, .nemo-window .nemo-inactive-pane iconview { background-color: @window_bg_color; } - -.nemo-window .nemo-window-pane widget.entry { border: 1px solid; border-radius: 3px; color: @window_fg_color; border-color: @accent_bg_color; background-color: @window_bg_color; } - -.nemo-window .nemo-window-pane widget.entry:selected { border: 1px solid; border-radius: 3px; color: @accent_fg_color; border-color: @accent_bg_color; background-color: @accent_bg_color; } - -.nemo-window toolbar.horizontal.primary-toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.853); } - -.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:first-child widget { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } - -.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:last-child widget { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } - -.nemo-window toolbar.horizontal.primary-toolbar toolitem box widget * { min-height: 0; min-width: 0; } - -.nemo-window toolbar.horizontal.primary-toolbar .linked button { margin-right: 0; } - -#dialog-action_area3 { margin: 5px; } - -window.background.chromium { background-color: @window_bg_color; } - -window.background.chromium entry, window.background.chromium > button { border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(currentColor,@window_bg_color,0.8); } - -window.background.chromium textview.view { background-color: @view_bg_color; } - -window.background.chromium menuitem { border-radius: 0; } - -#MozillaGtkWidget.background button { font-weight: initial; } - -#MozillaGtkWidget.background scrollbar slider { background-color: alpha(currentColor,0.4); } - -#MozillaGtkWidget.background scrollbar slider:hover { background-color: alpha(currentColor,0.6); } - -#MozillaGtkWidget.background check, #MozillaGtkWidget.background radio { padding: 0; min-height: 12px; min-width: 12px; } - -#MozillaGtkWidget.background menuitem { border-radius: 0; } - -#MozillaGtkWidget.background menuitem check, #MozillaGtkWidget.background menuitem radio { min-height: 12px; min-width: 12px; } - -window.background.chromium selection:focus, window.background.chromium selection, #MozillaGtkWidget.background selection:focus, #MozillaGtkWidget.background selection { background-color: @accent_bg_color; color: @accent_fg_color; } - -button .download_progress trough { min-height: 2px; } - -.titlebar .navigation-box.linked button:not(:only-child):not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):disabled:not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):backdrop:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } - -.titlebar .navigation-box.linked button:not(:only-child):last-child, .titlebar .navigation-box.linked button:not(:only-child):disabled:last-child, .titlebar .navigation-box.linked button:not(:only-child):backdrop:last-child { border-left-color: transparent; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected:hover { background-color: @accent_bg_color; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle { color: @accent_fg_color; } - -dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected image { color: @accent_fg_color; } - -.incognito-mode headerbar, .incognito-mode headerbar.titlebar, .incognito-mode .titlebar { background: @incognito_bg_color; } - -.incognito-mode headerbar:backdrop, .incognito-mode headerbar.titlebar:backdrop, .incognito-mode .titlebar:backdrop { background: mix(@incognito_bg_color,@window_bg_color,0.5); } - -.incognito-mode headerbar button.image-button:hover, .incognito-mode headerbar.titlebar button.image-button:hover, .incognito-mode .titlebar button.image-button:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.03),0.9); } - -.incognito-mode headerbar button.image-button:hover:backdrop, .incognito-mode headerbar.titlebar button.image-button:hover:backdrop, .incognito-mode .titlebar button.image-button:hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@incognito_bg_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar button.image-button:active, .incognito-mode headerbar button.image-button:checked, .incognito-mode headerbar.titlebar button.image-button:active, .incognito-mode headerbar.titlebar button.image-button:checked, .incognito-mode .titlebar button.image-button:active, .incognito-mode .titlebar button.image-button:checked { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); } - -.incognito-mode headerbar button.image-button:active:hover, .incognito-mode headerbar button.image-button:checked:hover, .incognito-mode headerbar.titlebar button.image-button:active:hover, .incognito-mode headerbar.titlebar button.image-button:checked:hover, .incognito-mode .titlebar button.image-button:active:hover, .incognito-mode .titlebar button.image-button:checked:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,0.97),0.9); } - -.incognito-mode headerbar button.image-button:active:backdrop, .incognito-mode headerbar button.image-button:checked:backdrop, .incognito-mode headerbar.titlebar button.image-button:active:backdrop, .incognito-mode headerbar.titlebar button.image-button:checked:backdrop, .incognito-mode .titlebar button.image-button:active:backdrop, .incognito-mode .titlebar button.image-button:checked:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar entry, .incognito-mode headerbar.titlebar entry, .incognito-mode .titlebar entry { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); } - -.incognito-mode headerbar entry:backdrop, .incognito-mode headerbar.titlebar entry:backdrop, .incognito-mode .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } - -.incognito-mode headerbar entry:disabled, .incognito-mode headerbar.titlebar entry:disabled, .incognito-mode .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.incognito-mode headerbar entry:disabled:backdrop, .incognito-mode headerbar.titlebar entry:disabled:backdrop, .incognito-mode .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } - -.org-gnome-Builder .dzlmenubuttonitem { font-weight: normal; min-height: 32px; } - -terminal-window notebook > header.top tabs:not(:only-child):first-child, terminal-window notebook > header.bottom tabs:not(:only-child):first-child { margin-left: 0px; } - -terminal-window notebook > header.top tabs:not(:only-child):last-child, terminal-window notebook > header.bottom tabs:not(:only-child):last-child { margin-right: 0px; } - -terminal-window notebook scrollbar slider { margin: 0; border-width: 3px; } - -window.background.caja-navigation-window #Toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.853); } - -window.background.caja-navigation-window #Toolbar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.81); } - -.caja-pathbar button { min-width: 32px; border-radius: 0; border-right-width: 0; margin-right: -3px; } - -.caja-pathbar button.slider-button:nth-child(odd) { border-radius: 6px 0px 0px 6px; } - -.caja-pathbar button.slider-button:nth-child(even) { border-radius: 0 6px 6px 0; border-right-width: 1px; } - -.caja-side-pane .frame { border-style: solid none none none; } - -.caja-notebook .view, .caja-notebook iconview, .caja-notebook .view.frame, .caja-notebook .frame { border-left: 0; border-right: 0; } - -.caja-side-pane + separator + box:backdrop { background: @window_bg_color; } - -.caja-navigation-window widget.view widget.entry, .caja-desktop-window widget.view widget.entry { background: mix(currentColor,@window_bg_color,0.95); color: @window_fg_color; border-color: mix(currentColor,@window_bg_color,0.853); } - -.caja-navigation-window widget.view widget.entry:selected, .caja-desktop-window widget.view widget.entry:selected { background: @accent_bg_color; color: @accent_fg_color; } - -#gnc-id-main-window treeview.view:not(:selected):hover { background-color: mix(currentColor,@view_bg_color,0.93); } - -gnc-id-sheet-list { background-color: @window_bg_color; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content { background-color: @window_bg_color; border: none; border-radius: 0; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable { border: 1px solid mix(currentColor,@window_bg_color,0.853); border-bottom-width: 0; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background { background-color: transparent; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background > revealer > box { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background { background-color: transparent; } - -geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background > actionbar > revealer > box { border-radius: 0 0 12px 12px; } - -geary-conversation-viewer#conversation_viewer searchbar > revealer > box { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.853); } - -.geary-folder-popover-list-row { border-radius: 0; margin: 0; } - -.geary-main-window leaflet > leaflet > box:first-child { background-color: @sidebar_bg_color; } - -.geary-main-window leaflet > leaflet > box:first-child:backdrop { background-color: @sidebar_backdrop_color; } - -.geary-main-window leaflet > box:first-child > .titlebar { background-color: @sidebar_bg_color; background-image: none; border-bottom: transparent; box-shadow: none; } - -.geary-main-window leaflet > box:first-child > .titlebar:backdrop { background-color: @sidebar_backdrop_color; } - -.geary-main-window leaflet > box:first-child > .titlebar button { background-color: transparent; } - -.geary-main-window leaflet > box:first-child > .titlebar button:hover { background-color: alpha(currentColor,0.15); } - -.geary-main-window leaflet > box:first-child > .titlebar button:hover:active, .geary-main-window leaflet > box:first-child > .titlebar button:active, .geary-main-window leaflet > box:first-child > .titlebar button:hover:checked, .geary-main-window leaflet > box:first-child > .titlebar button:checked { background-color: alpha(currentColor,0.3); } - -.geary-main-window leaflet > box:first-child > .titlebar button:backdrop { background: transparent; } - -.geary-main-window leaflet > box:first-child > .titlebar button:backdrop:hover { background: alpha(currentColor,0.15); } - -.geary-main-window leaflet > box:not(:first-child) > .titlebar { border-bottom: transparent; box-shadow: none; } - -.geary-main-window leaflet > box:not(:first-child) > .titlebar:backdrop { background-image: none; background-color: @new_title_bg_color; } - -.geary-main-window separator.sidebar { background-color: mix(currentColor,@window_bg_color,0.853); } - -.geary-main-window .titlebar .image-button { padding: 0 6px; } - -.geary-folder .sidebar.view:selected, .geary-folder iconview.sidebar:selected { background-color: alpha(currentColor,0.1); } - -.geary-folder .sidebar.view:selected:hover, .geary-folder iconview.sidebar:selected:hover { background-color: alpha(currentColor,0.13); } - -.geary-folder .sidebar.view:hover, .geary-folder iconview.sidebar:hover { background-color: alpha(currentColor,0.07); } - -#DialogNotebook treeview.view:hover { background-color: alpha(@accent_bg_color,0.5); } - -.budgie-panel button { min-height: 16px; min-width: 16px; padding: 0; border-radius: 0; } - -.budgie-panel button.flat.launcher { padding: 0; } - -.budgie-panel.horizontal button, .budgie-panel #tasklist-button { padding: 0 4px; } - -.budgie-panel.vertical button { padding: 4px 0; } - -.budgie-panel.vertical #tasklist-button { min-height: 32px; } diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/libadwaita-tweaks.css b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/libadwaita-tweaks.css deleted file mode 100644 index f30fdf1c..00000000 --- a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/libadwaita-tweaks.css +++ /dev/null @@ -1,9 +0,0 @@ -/* - This file will fix some legacy widget styles that aren't styled in libadwaita -*/ - -/* add a bg color to notebook headers */ -notebook > header { - background-color: @headerbar_bg_color; - border-color: mix(currentColor,@window_bg_color,0.85); -} diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/libadwaita.css b/config-files/.local/share/themes/adw-gtk3/gtk-3.0/libadwaita.css deleted file mode 100644 index 3dbb9282..00000000 --- a/config-files/.local/share/themes/adw-gtk3/gtk-3.0/libadwaita.css +++ /dev/null @@ -1,2499 +0,0 @@ -@define-color blue_1 #99c1f1; -@define-color blue_2 #62a0ea; -@define-color blue_3 #3584e4; -@define-color blue_4 #1c71d8; -@define-color blue_5 #1a5fb4; -@define-color green_1 #8ff0a4; -@define-color green_2 #57e389; -@define-color green_3 #33d17a; -@define-color green_4 #2ec27e; -@define-color green_5 #26a269; -@define-color yellow_1 #f9f06b; -@define-color yellow_2 #f8e45c; -@define-color yellow_3 #f6d32d; -@define-color yellow_4 #f5c211; -@define-color yellow_5 #e5a50a; -@define-color orange_1 #ffbe6f; -@define-color orange_2 #ffa348; -@define-color orange_3 #ff7800; -@define-color orange_4 #e66100; -@define-color orange_5 #c64600; -@define-color red_1 #f66151; -@define-color red_2 #ed333b; -@define-color red_3 #e01b24; -@define-color red_4 #c01c28; -@define-color red_5 #a51d2d; -@define-color purple_1 #dc8add; -@define-color purple_2 #c061cb; -@define-color purple_3 #9141ac; -@define-color purple_4 #813d9c; -@define-color purple_5 #613583; -@define-color brown_1 #cdab8f; -@define-color brown_2 #b5835a; -@define-color brown_3 #986a44; -@define-color brown_4 #865e3c; -@define-color brown_5 #63452c; -@define-color light_1 #ffffff; -@define-color light_2 #f6f5f4; -@define-color light_3 #deddda; -@define-color light_4 #c0bfbc; -@define-color light_5 #9a9996; -@define-color dark_1 #77767b; -@define-color dark_2 #5e5c64; -@define-color dark_3 #3d3846; -@define-color dark_4 #241f31; -@define-color dark_5 #000000; -.background { color: @window_fg_color; background-color: @window_bg_color; } - -dnd { color: @window_fg_color; } - -.normal-icons { -gtk-icon-size: 16px; } - -.large-icons { -gtk-icon-size: 32px; } - -.osd popover > arrow, .osd popover > contents, popover.touch-selection > arrow, popover.touch-selection > contents, popover.magnifier > arrow, popover.magnifier > contents, toast, .app-notification, dialog-host > dialog.osd sheet, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } - -/* Text selection */ -selection { background-color: alpha(@view_fg_color,0.1); color: transparent; } - -selection:focus-within { background-color: alpha(@accent_bg_color,0.3); } - -:not(window):drop(active):focus, :not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } - -.navigation-sidebar :not(window):drop(active):focus, .navigation-sidebar :not(window):drop(active), placessidebar :not(window):drop(active):focus, placessidebar :not(window):drop(active), stackswitcher :not(window):drop(active):focus, stackswitcher :not(window):drop(active), expander-widget :not(window):drop(active):focus, expander-widget :not(window):drop(active) { box-shadow: none; } - -/* Outline for low res icons */ -.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -/* Drop shadow for large icons */ -.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } - -@keyframes needs_attention { from { background-image: radial-gradient(farthest-side, @accent_color 0%, transparent 0%); } - to { background-image: radial-gradient(farthest-side, @accent_color 95%, transparent); } } - -stacksidebar row.needs-attention > label, stackswitcher > button.needs-attention > label, stackswitcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } - -stacksidebar row.needs-attention > label:dir(rtl), stackswitcher > button.needs-attention > label:dir(rtl), stackswitcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } - -avatar { border-radius: 9999px; font-weight: bold; } - -avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } - -avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } - -avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } - -avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } - -avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } - -avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } - -avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } - -avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } - -avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } - -avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } - -avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } - -avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } - -avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } - -avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } - -avatar.contrasted { color: white; } - -avatar.image { background: none; } - -bottom-sheet > dimming { background-color: alpha(@shade_color,2); } - -bottom-sheet > sheet { border-top-left-radius: 12px; border-top-right-radius: 12px; box-shadow: 0 2px 8px 2px rgba(0, 0, 0, 0.07), 0 3px 20px 10px rgba(0, 0, 0, 0.05), 0 6px 32px 16px rgba(0, 0, 0, 0.02), 0 0 0 1px rgba(0, 0, 0, 0.05); } - -bottom-sheet > sheet > drag-handle { background-color: alpha(currentColor,0.25); min-width: 60px; min-height: 4px; margin: 6px; border-radius: 99px; } - -bottom-sheet > sheet > outline { border-top-left-radius: 12px; border-top-right-radius: 12px; box-shadow: inset 1px 0 rgba(255, 255, 255, 0.07), inset -1px 0 rgba(255, 255, 255, 0.07), inset 0 1px rgba(255, 255, 255, 0.07); } - -bottom-sheet > sheet > outline.flush-left { box-shadow: inset -1px 0 rgba(255, 255, 255, 0.07), inset 0 1px rgba(255, 255, 255, 0.07); } - -bottom-sheet > sheet > outline.flush-right { box-shadow: inset 1px 0 rgba(255, 255, 255, 0.07), inset 0 1px rgba(255, 255, 255, 0.07); } - -bottom-sheet > sheet > outline.flush-left.flush-right { box-shadow: inset 0 1px rgba(255, 255, 255, 0.07); } - -notebook > header > tabs > arrow, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay, button { min-height: 24px; min-width: 16px; padding: 5px 10px; border-radius: 6px; font-weight: bold; } - -notebook > header > tabs > arrow, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay, button { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -notebook > header > tabs > arrow:focus:focus-visible, row.spin spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:focus:focus-visible, button:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd notebook > header > tabs > arrow:focus:focus-visible, .osd row.spin spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin .osd spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, .osd row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin .osd spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd colorswatch#add-color-button > overlay:focus:focus-visible, .osd button:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -actionbar > revealer > box popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay, button { background-color: alpha(currentColor,0.1); } - -actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, actionbar > revealer > box popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:hover, row.spin spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:hover, button:hover { background-color: alpha(currentColor,0.15); } - -actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, actionbar > revealer > box popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, actionbar > revealer > box popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow.keyboard-activating, row.spin spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.keyboard-activating, notebook > header > tabs > arrow:active, row.spin spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:active, button.keyboard-activating, button:active { background-color: alpha(currentColor,0.3); } - -actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, actionbar > revealer > box popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked, row.spin spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked, button:checked { background-color: alpha(currentColor,0.3); } - -actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, actionbar > revealer > box popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked:hover, row.spin spinbutton > button.image-button.up:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked:hover, button:checked:hover { background-color: alpha(currentColor,0.35); } - -actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, actionbar > revealer > box popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, actionbar > revealer > box popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked.keyboard-activating, row.spin spinbutton > button.image-button.up:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked.keyboard-activating, notebook > header > tabs > arrow:checked:active, row.spin spinbutton > button.image-button.up:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked:active, button:checked.keyboard-activating, button:checked:active { background-color: alpha(currentColor,0.4); } - -notebook > header > tabs > arrow:disabled, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:disabled, button:disabled { filter: opacity(0.5); } - -notebook > header > tabs > arrow:disabled label, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child label, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) label, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child label, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) label, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child label, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child label, colorswatch#add-color-button > overlay:disabled label, button:disabled label { filter: none; } - -notebook > header > tabs > arrow.image-button, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.image-button, button.image-button { min-width: 24px; padding-left: 5px; padding-right: 5px; } - -notebook > header > tabs > arrow.text-button, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.text-button, button.text-button { padding-left: 17px; padding-right: 17px; } - -notebook > header > tabs > arrow.text-button.image-button, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.text-button.image-button, notebook > header > tabs > arrow.image-text-button, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.image-text-button, button.text-button.image-button, button.image-text-button { padding-left: 9px; padding-right: 9px; } - -notebook > header > tabs > arrow.text-button.image-button > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.text-button.image-button > box, notebook > header > tabs > arrow.text-button.image-button > box > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box, colorswatch#add-color-button > overlay.text-button.image-button > box > box, notebook > header > tabs > arrow.image-text-button > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.image-text-button > box, notebook > header > tabs > arrow.image-text-button > box > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box, colorswatch#add-color-button > overlay.image-text-button > box > box, button.text-button.image-button > box, button.text-button.image-button > box > box, button.image-text-button > box, button.image-text-button > box > box { border-spacing: 4px; } - -notebook > header > tabs > arrow.text-button.image-button > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > label, colorswatch#add-color-button > overlay.text-button.image-button > box > label, notebook > header > tabs > arrow.text-button.image-button > box > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box > label, colorswatch#add-color-button > overlay.text-button.image-button > box > box > label, notebook > header > tabs > arrow.image-text-button > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > label, colorswatch#add-color-button > overlay.image-text-button > box > label, notebook > header > tabs > arrow.image-text-button > box > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box > label, colorswatch#add-color-button > overlay.image-text-button > box > box > label, button.text-button.image-button > box > label, button.text-button.image-button > box > box > label, button.image-text-button > box > label, button.image-text-button > box > box > label { padding-left: 2px; padding-right: 2px; } - -notebook > header > tabs > arrow.arrow-button, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.arrow-button, button.arrow-button { padding-left: 9px; padding-right: 9px; } - -notebook > header > tabs > arrow.arrow-button > box, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.arrow-button > box, button.arrow-button > box { border-spacing: 4px; } - -notebook > header > tabs > arrow.arrow-button.text-button > box, row.spin spinbutton > button.arrow-button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.arrow-button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.arrow-button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.arrow-button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.arrow-button.text-button > box, button.arrow-button.text-button > box { border-spacing: 4px; } - -dropdown:drop(active) button.combo, combobox:drop(active) button.combo, searchbar > revealer > box .close:drop(active), actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), actionbar > revealer > box button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), window.dialog.message.csd .dialog-action-area > button:drop(active), popover.menu box.circular-buttons button.circular.image-button.model:drop(active), popover.menu box.inline-buttons button.image-button.model:drop(active), filechooser #pathbarbox > stack > box > button:drop(active), filechooser #pathbarbox > stack > box > box > button:drop(active), filechooser #pathbarbox > stack > box > menubutton > button:drop(active), button.sidebar-button:drop(active), button.emoji-section.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:drop(active), calendar > header > button:drop(active), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), splitbutton.flat > button:drop(active), splitbutton.flat > menubutton > button:drop(active), menubutton.flat > button:drop(active), button.flat:drop(active), menubutton.osd > button:drop(active), button.osd:drop(active), notebook > header > tabs > arrow:drop(active), row.spin spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:drop(active), button:drop(active) { color: @accent_bg_color; box-shadow: inset 0 0 0 2px @accent_bg_color; } - -menubutton.osd > button, button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: rgba(0, 0, 0, 0.65); } - -menubutton.osd > button, button.osd { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -menubutton.osd > button:focus:focus-visible, button.osd:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 1px; } - -menubutton.osd > button:hover, button.osd:hover { color: white; background-color: alpha(mix(black,currentColor,0.15),0.65); } - -menubutton.osd > button.keyboard-activating, menubutton.osd > button:active, button.osd.keyboard-activating, button.osd:active { color: white; background-color: alpha(mix(black,currentColor,0.25),0.65); } - -menubutton.osd > button:checked, button.osd:checked { background-color: alpha(mix(black,currentColor,0.2),0.65); } - -menubutton.osd > button:checked:hover, button.osd:checked:hover { background-color: alpha(mix(black,currentColor,0.25),0.65); } - -menubutton.osd > button:checked.keyboard-activating, menubutton.osd > button:checked:active, button.osd:checked.keyboard-activating, button.osd:checked:active { background-color: alpha(mix(black,currentColor,0.35),0.65); } - -menubutton.osd > button:focus:focus-visible, .osd button.osd:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -actionbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button, splitbutton.suggested-action > menubutton > button, splitbutton.destructive-action > button, splitbutton.destructive-action > menubutton > button, splitbutton.opaque > button, splitbutton.opaque > menubutton > button, menubutton.suggested-action > button, menubutton.destructive-action > button, menubutton.opaque > button, button.suggested-action, button.destructive-action, button.opaque { box-shadow: none; } - -actionbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button, splitbutton.suggested-action > menubutton > button, splitbutton.destructive-action > button, splitbutton.destructive-action > menubutton > button, splitbutton.opaque > button, splitbutton.opaque > menubutton > button, menubutton.suggested-action > button, menubutton.destructive-action > button, menubutton.opaque > button, button.suggested-action, button.destructive-action, button.opaque { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -actionbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:focus:focus-visible, splitbutton.suggested-action > menubutton > button:focus:focus-visible, splitbutton.destructive-action > button:focus:focus-visible, splitbutton.destructive-action > menubutton > button:focus:focus-visible, splitbutton.opaque > button:focus:focus-visible, splitbutton.opaque > menubutton > button:focus:focus-visible, menubutton.suggested-action > button:focus:focus-visible, menubutton.destructive-action > button:focus:focus-visible, menubutton.opaque > button:focus:focus-visible, button.suggested-action:focus:focus-visible, button.destructive-action:focus:focus-visible, button.opaque:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 1px; } - -.osd actionbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd splitbutton.suggested-action > button:focus:focus-visible, .osd splitbutton.suggested-action > menubutton > button:focus:focus-visible, .osd splitbutton.destructive-action > button:focus:focus-visible, .osd splitbutton.destructive-action > menubutton > button:focus:focus-visible, .osd splitbutton.opaque > button:focus:focus-visible, .osd splitbutton.opaque > menubutton > button:focus:focus-visible, .osd menubutton.suggested-action > button:focus:focus-visible, .osd menubutton.destructive-action > button:focus:focus-visible, .osd menubutton.opaque > button:focus:focus-visible, .osd button.suggested-action:focus:focus-visible, .osd button.destructive-action:focus:focus-visible, .osd button.opaque:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -actionbar > revealer > box menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:hover, splitbutton.suggested-action > menubutton > button:hover, splitbutton.destructive-action > button:hover, splitbutton.destructive-action > menubutton > button:hover, splitbutton.opaque > button:hover, splitbutton.opaque > menubutton > button:hover, menubutton.suggested-action > button:hover, menubutton.destructive-action > button:hover, menubutton.opaque > button:hover, button.suggested-action:hover, button.destructive-action:hover, button.opaque:hover { background-image: image(alpha(currentColor,0.1)); } - -actionbar > revealer > box menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button.keyboard-activating, splitbutton.suggested-action > menubutton > button.keyboard-activating, splitbutton.destructive-action > button.keyboard-activating, splitbutton.destructive-action > menubutton > button.keyboard-activating, splitbutton.opaque > button.keyboard-activating, splitbutton.opaque > menubutton > button.keyboard-activating, menubutton.suggested-action > button.keyboard-activating, menubutton.destructive-action > button.keyboard-activating, menubutton.opaque > button.keyboard-activating, button.keyboard-activating.suggested-action, button.keyboard-activating.destructive-action, button.keyboard-activating.opaque, actionbar > revealer > box menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:active, splitbutton.suggested-action > menubutton > button:active, splitbutton.destructive-action > button:active, splitbutton.destructive-action > menubutton > button:active, splitbutton.opaque > button:active, splitbutton.opaque > menubutton > button:active, menubutton.suggested-action > button:active, menubutton.destructive-action > button:active, menubutton.opaque > button:active, button.suggested-action:active, button.destructive-action:active, button.opaque:active { background-image: image(rgba(0, 0, 0, 0.2)); } - -actionbar > revealer > box menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked, splitbutton.suggested-action > menubutton > button:checked, splitbutton.destructive-action > button:checked, splitbutton.destructive-action > menubutton > button:checked, splitbutton.opaque > button:checked, splitbutton.opaque > menubutton > button:checked, menubutton.suggested-action > button:checked, menubutton.destructive-action > button:checked, menubutton.opaque > button:checked, button.suggested-action:checked, button.destructive-action:checked, button.opaque:checked { background-image: image(rgba(0, 0, 0, 0.15)); } - -actionbar > revealer > box menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked:hover, splitbutton.suggested-action > menubutton > button:checked:hover, splitbutton.destructive-action > button:checked:hover, splitbutton.destructive-action > menubutton > button:checked:hover, splitbutton.opaque > button:checked:hover, splitbutton.opaque > menubutton > button:checked:hover, menubutton.suggested-action > button:checked:hover, menubutton.destructive-action > button:checked:hover, menubutton.opaque > button:checked:hover, button.suggested-action:checked:hover, button.destructive-action:checked:hover, button.opaque:checked:hover { background-image: image(rgba(0, 0, 0, 0.05)); } - -actionbar > revealer > box menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked.keyboard-activating, splitbutton.suggested-action > menubutton > button:checked.keyboard-activating, splitbutton.destructive-action > button:checked.keyboard-activating, splitbutton.destructive-action > menubutton > button:checked.keyboard-activating, splitbutton.opaque > button:checked.keyboard-activating, splitbutton.opaque > menubutton > button:checked.keyboard-activating, menubutton.suggested-action > button:checked.keyboard-activating, menubutton.destructive-action > button:checked.keyboard-activating, menubutton.opaque > button:checked.keyboard-activating, button.suggested-action:checked.keyboard-activating, button.destructive-action:checked.keyboard-activating, button.opaque:checked.keyboard-activating, actionbar > revealer > box menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked:active, splitbutton.suggested-action > menubutton > button:checked:active, splitbutton.destructive-action > button:checked:active, splitbutton.destructive-action > menubutton > button:checked:active, splitbutton.opaque > button:checked:active, splitbutton.opaque > menubutton > button:checked:active, menubutton.suggested-action > button:checked:active, menubutton.destructive-action > button:checked:active, menubutton.opaque > button:checked:active, button.suggested-action:checked:active, button.destructive-action:checked:active, button.opaque:checked:active { background-image: image(rgba(0, 0, 0, 0.3)); } - -button.opaque { background-color: mix(@window_bg_color,@window_fg_color,0.15); color: @window_fg_color; } - -button.destructive-action { color: @destructive_fg_color; } - -button.destructive-action, button.destructive-action:checked { background-color: @destructive_bg_color; } - -button.suggested-action { color: @accent_fg_color; } - -button.suggested-action, button.suggested-action:checked { background-color: @accent_bg_color; } - -searchbar > revealer > box .close, actionbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow, window.dialog.message.csd .dialog-action-area > button, popover.menu box.circular-buttons button.circular.image-button.model, popover.menu box.inline-buttons button.image-button.model, filechooser #pathbarbox > stack > box > button, filechooser #pathbarbox > stack > box > box > button, filechooser #pathbarbox > stack > box > menubutton > button, button.sidebar-button, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close, calendar > header > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, splitbutton.flat > button, splitbutton.flat > menubutton > button, menubutton.flat > button, button.flat { background: transparent; box-shadow: none; } - -searchbar > revealer > box .close, actionbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow, window.dialog.message.csd .dialog-action-area > button, popover.menu box.circular-buttons button.circular.image-button.model, popover.menu box.inline-buttons button.image-button.model, filechooser #pathbarbox > stack > box > button, filechooser #pathbarbox > stack > box > box > button, filechooser #pathbarbox > stack > box > menubutton > button, button.sidebar-button, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close, calendar > header > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, splitbutton.flat > button, splitbutton.flat > menubutton > button, menubutton.flat > button, button.flat { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -searchbar > revealer > box .close:focus:focus-visible, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, actionbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:focus:focus-visible, window.dialog.message.csd .dialog-action-area > button:focus:focus-visible, popover.menu box.circular-buttons button.circular.image-button.model:focus:focus-visible, popover.menu box.inline-buttons button.image-button.model:focus:focus-visible, filechooser #pathbarbox > stack > box > button:focus:focus-visible, filechooser #pathbarbox > stack > box > box > button:focus:focus-visible, filechooser #pathbarbox > stack > box > menubutton > button:focus:focus-visible, button.sidebar-button:focus:focus-visible, button.emoji-section.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:focus:focus-visible, calendar > header > button:focus:focus-visible, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, splitbutton.flat > button:focus:focus-visible, splitbutton.flat > menubutton > button:focus:focus-visible, menubutton.flat > button:focus:focus-visible, button.flat:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd searchbar > revealer > box .close:focus:focus-visible, searchbar > revealer > box .osd .close:focus:focus-visible, .osd actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, actionbar > revealer > box .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, searchbar > revealer > box .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .toolbar .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, headerbar .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd actionbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd notebook > header > tabs > arrow:focus:focus-visible, .osd window.dialog.message.csd .dialog-action-area > button:focus:focus-visible, window.dialog.message.csd .osd .dialog-action-area > button:focus:focus-visible, .osd popover.menu box.circular-buttons button.circular.image-button.model:focus:focus-visible, popover.menu box.circular-buttons .osd button.circular.image-button.model:focus:focus-visible, .osd popover.menu box.inline-buttons button.image-button.model:focus:focus-visible, popover.menu box.inline-buttons .osd button.image-button.model:focus:focus-visible, .osd filechooser #pathbarbox > stack > box > button:focus:focus-visible, filechooser .osd #pathbarbox > stack > box > button:focus:focus-visible, .osd filechooser #pathbarbox > stack > box > box > button:focus:focus-visible, filechooser .osd #pathbarbox > stack > box > box > button:focus:focus-visible, .osd filechooser #pathbarbox > stack > box > menubutton > button:focus:focus-visible, filechooser .osd #pathbarbox > stack > box > menubutton > button:focus:focus-visible, .osd button.sidebar-button:focus:focus-visible, .osd button.emoji-section.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd infobar .close:focus:focus-visible, infobar .osd .close:focus:focus-visible, .osd calendar > header > button:focus:focus-visible, .osd actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, actionbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, searchbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .toolbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, headerbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, actionbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, searchbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .toolbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, headerbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd splitbutton.flat > button:focus:focus-visible, .osd splitbutton.flat > menubutton > button:focus:focus-visible, .osd menubutton.flat > button:focus:focus-visible, .osd button.flat:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -searchbar > revealer > box .close:hover, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, actionbar > revealer > box button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:hover, window.dialog.message.csd .dialog-action-area > button:hover, popover.menu box.circular-buttons button.circular.image-button.model:hover, popover.menu box.inline-buttons button.image-button.model:hover, filechooser #pathbarbox > stack > box > button:hover, filechooser #pathbarbox > stack > box > box > button:hover, filechooser #pathbarbox > stack > box > menubutton > button:hover, button.sidebar-button:hover, button.emoji-section.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:hover, calendar > header > button:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, splitbutton.flat > button:hover, splitbutton.flat > menubutton > button:hover, menubutton.flat > button:hover, button.flat:hover { background: alpha(currentColor,0.07); } - -searchbar > revealer > box .keyboard-activating.close, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, actionbar > revealer > box button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow.keyboard-activating, window.dialog.message.csd .dialog-action-area > button.keyboard-activating, popover.menu box.circular-buttons button.keyboard-activating.circular.image-button.model, popover.menu box.inline-buttons button.keyboard-activating.image-button.model, filechooser #pathbarbox > stack > box > button.keyboard-activating, filechooser #pathbarbox > stack > box > box > button.keyboard-activating, filechooser #pathbarbox > stack > box > menubutton > button.keyboard-activating, button.keyboard-activating.sidebar-button, button.keyboard-activating.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .keyboard-activating.close, calendar > header > button.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, splitbutton.flat > button.keyboard-activating, splitbutton.flat > menubutton > button.keyboard-activating, menubutton.flat > button.keyboard-activating, searchbar > revealer > box .close:active, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, actionbar > revealer > box button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:active, window.dialog.message.csd .dialog-action-area > button:active, popover.menu box.circular-buttons button.circular.image-button.model:active, popover.menu box.inline-buttons button.image-button.model:active, filechooser #pathbarbox > stack > box > button:active, filechooser #pathbarbox > stack > box > box > button:active, filechooser #pathbarbox > stack > box > menubutton > button:active, button.sidebar-button:active, button.emoji-section.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:active, calendar > header > button:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, splitbutton.flat > button:active, splitbutton.flat > menubutton > button:active, menubutton.flat > button:active, button.flat.keyboard-activating, button.flat:active { background: alpha(currentColor,0.16); } - -searchbar > revealer > box .close:checked, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, actionbar > revealer > box button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked, window.dialog.message.csd .dialog-action-area > button:checked, popover.menu box.circular-buttons button.circular.image-button.model:checked, popover.menu box.inline-buttons button.image-button.model:checked, filechooser #pathbarbox > stack > box > button:checked, filechooser #pathbarbox > stack > box > box > button:checked, filechooser #pathbarbox > stack > box > menubutton > button:checked, button.sidebar-button:checked, button.emoji-section.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked, calendar > header > button:checked, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, splitbutton.flat > button:checked, splitbutton.flat > menubutton > button:checked, menubutton.flat > button:checked, button.flat:checked { background: alpha(currentColor,0.1); } - -searchbar > revealer > box .close:checked:hover, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, actionbar > revealer > box button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked:hover, window.dialog.message.csd .dialog-action-area > button:checked:hover, popover.menu box.circular-buttons button.circular.image-button.model:checked:hover, popover.menu box.inline-buttons button.image-button.model:checked:hover, filechooser #pathbarbox > stack > box > button:checked:hover, filechooser #pathbarbox > stack > box > box > button:checked:hover, filechooser #pathbarbox > stack > box > menubutton > button:checked:hover, button.sidebar-button:checked:hover, button.emoji-section.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked:hover, calendar > header > button:checked:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, splitbutton.flat > button:checked:hover, splitbutton.flat > menubutton > button:checked:hover, menubutton.flat > button:checked:hover, button.flat:checked:hover { background: alpha(currentColor,0.13); } - -searchbar > revealer > box .close:checked.keyboard-activating, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, actionbar > revealer > box button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked.keyboard-activating, window.dialog.message.csd .dialog-action-area > button:checked.keyboard-activating, popover.menu box.circular-buttons button.circular.image-button.model:checked.keyboard-activating, popover.menu box.inline-buttons button.image-button.model:checked.keyboard-activating, filechooser #pathbarbox > stack > box > button:checked.keyboard-activating, filechooser #pathbarbox > stack > box > box > button:checked.keyboard-activating, filechooser #pathbarbox > stack > box > menubutton > button:checked.keyboard-activating, button.sidebar-button:checked.keyboard-activating, button.emoji-section.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked.keyboard-activating, calendar > header > button:checked.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, splitbutton.flat > button:checked.keyboard-activating, splitbutton.flat > menubutton > button:checked.keyboard-activating, menubutton.flat > button:checked.keyboard-activating, searchbar > revealer > box .close:checked:active, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, actionbar > revealer > box button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked:active, window.dialog.message.csd .dialog-action-area > button:checked:active, popover.menu box.circular-buttons button.circular.image-button.model:checked:active, popover.menu box.inline-buttons button.image-button.model:checked:active, filechooser #pathbarbox > stack > box > button:checked:active, filechooser #pathbarbox > stack > box > box > button:checked:active, filechooser #pathbarbox > stack > box > menubutton > button:checked:active, button.sidebar-button:checked:active, button.emoji-section.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked:active, calendar > header > button:checked:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, splitbutton.flat > button:checked:active, splitbutton.flat > menubutton > button:checked:active, menubutton.flat > button:checked:active, button.flat:checked.keyboard-activating, button.flat:checked:active { background: alpha(currentColor,0.19); } - -searchbar > revealer > box .close:disabled:not(:checked), actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), actionbar > revealer > box button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:disabled:not(:checked):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:disabled:not(:checked):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:disabled:not(:checked), window.dialog.message.csd .dialog-action-area > button:disabled:not(:checked), popover.menu box.circular-buttons button.circular.image-button.model:disabled:not(:checked), popover.menu box.inline-buttons button.image-button.model:disabled:not(:checked), filechooser #pathbarbox > stack > box > button:disabled:not(:checked), filechooser #pathbarbox > stack > box > box > button:disabled:not(:checked), filechooser #pathbarbox > stack > box > menubutton > button:disabled:not(:checked), button.sidebar-button:disabled:not(:checked), button.emoji-section.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:disabled:not(:checked), calendar > header > button:disabled:not(:checked), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), splitbutton.flat > button:disabled:not(:checked), splitbutton.flat > menubutton > button:disabled:not(:checked), menubutton.flat > button:disabled:not(:checked), button.flat:disabled:not(:checked) { filter: opacity(0.3); } - -stackswitcher > button > label { padding: 0 6px; margin: 0 -6px; } - -stackswitcher > button > image { padding: 3px 6px; margin: -3px -6px; } - -stackswitcher > button.text-button { min-width: 100px; } - -button.font separator { background-color: transparent; } - -button.font > box { border-spacing: 6px; } - -button.font > box > box > label { font-weight: bold; } - -row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), menubutton.circular > button, button.circular { min-width: 34px; min-height: 34px; padding: 0; border-radius: 9999px; } - -row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child label, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child label, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child label, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) label, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child label, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child label, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) label, menubutton.circular > button label, button.circular label { padding: 0; } - -menubutton.pill > button, button.pill { padding: 10px 32px; border-radius: 9999px; } - -button.card { background-color: @card_bg_color; background-clip: padding-box; font-weight: inherit; padding: 0; } - -button.card { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -button.card:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } - -button.card:hover { background-image: image(alpha(currentColor,0.04)); } - -button.card.keyboard-activating, button.card:active { background-image: image(alpha(currentColor,0.08)); } - -button.card:checked { background-color: @card_bg_color; background-image: image(alpha(@accent_bg_color,0.25)); } - -button.card:checked:hover { background-image: image(alpha(@accent_bg_color,0.32)); } - -button.card:checked.keyboard-activating, button.card:checked:active { background-image: image(alpha(@accent_bg_color,0.39)); } - -button.card:checked.has-open-popup { background-image: image(alpha(@accent_bg_color,0.32)); } - -.osd button.card:checked { background-color: alpha(currentColor,0.1); } - -button.card:drop(active) { color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -popover.menu modelbutton, button.link, button.link:hover, button.link:active, button.link:checked, columnview > header > button, treeview.view > header > button, window.print treeview.dialog-action-box > header > button { background-color: transparent; } - -button.color { padding: 5px; } - -button.color > colorswatch:only-child { border-radius: 2.5px; } - -button.color > colorswatch:only-child > overlay { border-radius: 2px; } - -button.color > colorswatch:only-child:disabled { filter: none; } - -button.color > colorswatch:only-child.light > overlay { border-color: alpha(@view_fg_color,0.1); } - -menubutton.osd { background: none; color: inherit; } - -menubutton.suggested-action { background-color: @accent_bg_color; color: @accent_fg_color; } - -menubutton.destructive-action { background-color: @destructive_bg_color; color: @destructive_fg_color; } - -menubutton.opaque { background-color: mix(@window_bg_color,@window_fg_color,0.15); color: @window_fg_color; } - -menubutton.suggested-action, menubutton.destructive-action, menubutton.opaque { border-radius: 6px; } - -menubutton.suggested-action.circular, menubutton.suggested-action.pill, menubutton.destructive-action.circular, menubutton.destructive-action.pill, menubutton.opaque.circular, menubutton.opaque.pill { border-radius: 9999px; } - -menubutton.suggested-action > button, menubutton.suggested-action > button:checked, menubutton.destructive-action > button, menubutton.destructive-action > button:checked, menubutton.opaque > button, menubutton.opaque > button:checked { background-color: transparent; color: inherit; } - -menubutton.image-button > button { min-width: 24px; padding-left: 5px; padding-right: 5px; } - -menubutton.card > button { border-radius: 12px; } - -menubutton arrow { min-height: 16px; min-width: 16px; } - -menubutton arrow.none { -gtk-icon-source: -gtk-icontheme("open-menu-symbolic"); } - -menubutton arrow.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -menubutton arrow.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -menubutton arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } - -menubutton arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } - -splitbutton { border-radius: 6px; } - -splitbutton, splitbutton > separator { transition: background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background; } - -splitbutton > separator { margin-top: 6px; margin-bottom: 6px; background: none; } - -splitbutton > menubutton > button { padding-left: 4px; padding-right: 4px; } - -splitbutton.image-button > button { min-width: 24px; padding-left: 5px; padding-right: 5px; } - -splitbutton.text-button.image-button > button, splitbutton.image-text-button > button { padding-left: 9px; padding-right: 9px; } - -splitbutton.text-button.image-button > button > box, splitbutton.image-text-button > button > box { border-spacing: 6px; } - -splitbutton:disabled { filter: opacity(0.5); } - -splitbutton:disabled > button, splitbutton:disabled > menubutton > button { filter: none; } - -splitbutton > button:dir(ltr), splitbutton > menubutton > button:dir(rtl) { border-top-right-radius: 0; border-bottom-right-radius: 0; margin-right: -1px; } - -splitbutton > button:dir(rtl), splitbutton > menubutton > button:dir(ltr) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, splitbutton.flat > separator { background: alpha(currentColor,0.3); } - -actionbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.flat:hover, splitbutton.flat:active, splitbutton.flat:checked { background: alpha(currentColor,0.07); } - -actionbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, actionbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, actionbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, splitbutton.flat:hover > separator, splitbutton.flat:active > separator, splitbutton.flat:checked > separator { background: none; } - -actionbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.flat:disabled { filter: opacity(0.3); } - -actionbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, searchbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, .toolbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, headerbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, actionbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, searchbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, .toolbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, headerbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, splitbutton.flat:disabled > button:disabled, splitbutton.flat:disabled > menubutton > button:disabled { filter: none; } - -actionbar > revealer > box splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, splitbutton.flat:focus-within:focus-visible > separator { background: none; } - -actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, splitbutton.flat > button, splitbutton.flat > menubutton > button { border-radius: 6px; } - -splitbutton.suggested-action { background-color: @accent_bg_color; color: @accent_fg_color; } - -splitbutton.destructive-action { background-color: @destructive_bg_color; color: @destructive_fg_color; } - -splitbutton.opaque { background-color: mix(@window_bg_color,@window_fg_color,0.15); color: @window_fg_color; } - -splitbutton.suggested-action > button, splitbutton.suggested-action > button:checked, splitbutton.suggested-action > menubutton > button, splitbutton.suggested-action > menubutton > button:checked, splitbutton.destructive-action > button, splitbutton.destructive-action > button:checked, splitbutton.destructive-action > menubutton > button, splitbutton.destructive-action > menubutton > button:checked, splitbutton.opaque > button, splitbutton.opaque > button:checked, splitbutton.opaque > menubutton > button, splitbutton.opaque > menubutton > button:checked { color: inherit; background-color: transparent; } - -splitbutton.suggested-action > menubutton > button:dir(ltr), splitbutton.destructive-action > menubutton > button:dir(ltr), splitbutton.opaque > menubutton > button:dir(ltr) { box-shadow: inset 1px 0 alpha(currentColor,0.3); } - -splitbutton.suggested-action > menubutton > button:dir(rtl), splitbutton.destructive-action > menubutton > button:dir(rtl), splitbutton.opaque > menubutton > button:dir(rtl) { box-shadow: inset -1px 0 alpha(currentColor,0.3); } - -splitbutton > menubutton > button > arrow.none { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -buttoncontent > box { border-spacing: 6px; } - -buttoncontent > box > label { font-weight: bold; } - -buttoncontent > box > label:dir(ltr) { padding-right: 2px; } - -buttoncontent > box > label:dir(rtl) { padding-left: 2px; } - -.arrow-button > box > buttoncontent > box > label:dir(ltr), splitbutton > button > buttoncontent > box > label:dir(ltr) { padding-right: 0; } - -.arrow-button > box > buttoncontent > box > label:dir(rtl), splitbutton > button > buttoncontent > box > label:dir(rtl) { padding-left: 0; } - -tabbutton label { font-weight: 800; font-size: 8pt; } - -tabbutton label.small { font-size: 6pt; } - -tabbutton indicatorbin > indicator, tabbutton indicatorbin > mask { transform: translate(-1px, 1px); } - -calendar { color: @view_fg_color; background-clip: padding-box; border: 1px solid alpha(currentColor,0.15); font-feature-settings: "tnum"; } - -calendar > header { border-bottom: 1px solid alpha(currentColor,0.15); } - -calendar > header > button { border-radius: 0; } - -calendar > grid { padding-left: 3px; padding-bottom: 3px; } - -calendar > grid > label.today { box-shadow: inset 0px -2px alpha(currentColor,0.15); } - -calendar > grid > label.today:selected { box-shadow: none; } - -calendar > grid > label { margin-top: 3px; margin-right: 3px; } - -calendar > grid > label { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -calendar > grid > label:focus { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -calendar > grid > label.day-number { padding: 3px; } - -calendar > grid > label.day-number:checked { border-radius: 6px; background-color: alpha(@accent_bg_color,0.3); } - -calendar > grid > label.day-number:selected { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } - -calendar > grid > label.day-number.other-month { color: alpha(currentColor,0.3); } - -checkbutton { border-spacing: 4px; border-radius: 9px; padding: 3px; } - -checkbutton { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -checkbutton:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd checkbutton:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -checkbutton.text-button { padding: 4px; } - -check, radio { min-height: 14px; min-width: 14px; -gtk-icon-size: 14px; padding: 3px; box-shadow: inset 0 0 0 2px alpha(currentColor,0.15); } - -check:not(:checked):not(:indeterminate):hover, radio:not(:checked):not(:indeterminate):hover { box-shadow: inset 0 0 0 2px alpha(currentColor,0.2); } - -check:not(:checked):not(:indeterminate):active, radio:not(:checked):not(:indeterminate):active { background-color: alpha(currentColor,0.25); box-shadow: none; } - -check:checked, check:indeterminate, radio:checked, radio:indeterminate { background-color: @accent_bg_color; color: @accent_fg_color; box-shadow: none; } - -check:checked:hover, check:indeterminate:hover, radio:checked:hover, radio:indeterminate:hover { background-image: image(alpha(currentColor,0.1)); } - -check:checked:active, check:indeterminate:active, radio:checked:active, radio:indeterminate:active { background-image: image(rgba(0, 0, 0, 0.2)); } - -check:disabled, radio:disabled { filter: opacity(0.5); } - -.osd check:checked, .osd check:indeterminate, .osd radio:checked, .osd radio:indeterminate { background-color: rgba(255, 255, 255, 0.75); color: rgba(0, 0, 0, 0.75); } - -check { border-radius: 6px; } - -check:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/check-symbolic.symbolic.png")), -gtk-recolor(url("assets/check@2-symbolic.symbolic.png"))); } - -radio { border-radius: 100%; } - -radio:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/bullet-symbolic.symbolic.png")), -gtk-recolor(url("assets/bullet@2-symbolic.symbolic.png"))); } - -check:indeterminate, radio:indeterminate { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/dash-symbolic.symbolic.png")), -gtk-recolor(url("assets/dash@2-symbolic.symbolic.png"))); } - -checkbutton.selection-mode { border-radius: 100px; } - -checkbutton.selection-mode check, checkbutton.selection-mode radio { padding: 7px; border-radius: 100px; } - -checkbutton.selection-mode label:dir(ltr) { margin-right: 6px; } - -checkbutton.selection-mode label:dir(rtl) { margin-left: 6px; } - -colorswatch { outline: 0 solid transparent; outline-offset: 6px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -colorswatch:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 4px; outline-offset: -2px; } - -colorswatch.top { border-top-left-radius: 6.5px; border-top-right-radius: 6.5px; } - -colorswatch.top > overlay { border-top-left-radius: 6px; border-top-right-radius: 6px; } - -colorswatch.bottom { border-bottom-left-radius: 6.5px; border-bottom-right-radius: 6.5px; } - -colorswatch.bottom > overlay { border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; } - -colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 6.5px; border-bottom-left-radius: 6.5px; } - -colorswatch.left > overlay, colorswatch:first-child:not(.top) > overlay { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } - -colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 6.5px; border-bottom-right-radius: 6.5px; } - -colorswatch.right > overlay, colorswatch:last-child:not(.bottom) > overlay { border-top-right-radius: 6px; border-bottom-right-radius: 6px; } - -colorswatch.dark > overlay { color: white; } - -colorswatch.light > overlay { color: rgba(0, 0, 0, 0.75); box-shadow: inset 0 0 0 1px alpha(@view_fg_color,0.1); } - -colorswatch:drop(active).light > overlay { box-shadow: inset 0 0 0 2px @accent_bg_color; } - -colorswatch:drop(active).dark > overlay { box-shadow: inset 0 0 0 2px @accent_bg_color; } - -colorswatch#add-color-button > overlay { border-radius: 6px 0 0 6px; } - -colorswatch#add-color-button:only-child > overlay { border-radius: 6px; } - -colorswatch:disabled { filter: opacity(0.5); } - -colorswatch#editor-color-sample { border-radius: 6px; } - -colorswatch#editor-color-sample > overlay { border-radius: 6.5px; } - -plane { outline: 0 solid transparent; outline-offset: 6px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -plane:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 2px; } - -colorchooser .popover.osd { border-radius: 12px; } - -columnview, treeview.view, window.print treeview.dialog-action-box { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -columnview:focus:focus-visible, treeview.view:focus:focus-visible, window.print treeview.dialog-action-box:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -columnview:drop(active), treeview.view:drop(active), window.print treeview.dialog-action-box:drop(active) { box-shadow: none; } - -columnview > header > button, treeview.view > header > button, window.print treeview.dialog-action-box > header > button { padding-top: 3px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; border-radius: 0; box-shadow: none; line-height: 100%; border-left: 1px solid transparent; } - -columnview > header > button:first-child, treeview.view > header > button:first-child, window.print treeview.dialog-action-box > header > button:first-child { border-left-width: 0; } - -columnview > header > button > box, treeview.view > header > button > box, window.print treeview.dialog-action-box > header > button > box { color: alpha(currentColor,0.4); font-weight: 700; font-size: 9pt; border-spacing: 6px; } - -columnview > header > button:hover > box, treeview.view > header > button:hover > box, window.print treeview.dialog-action-box > header > button:hover > box { color: alpha(currentColor,0.7); box-shadow: none; } - -columnview > header > button:active > box, treeview.view > header > button:active > box, window.print treeview.dialog-action-box > header > button:active > box { color: currentColor; } - -columnview > header > button sort-indicator, treeview.view > header > button sort-indicator, window.print treeview.dialog-action-box > header > button sort-indicator { min-height: 16px; min-width: 16px; } - -columnview > header > button sort-indicator.ascending, treeview.view > header > button sort-indicator.ascending, window.print treeview.dialog-action-box > header > button sort-indicator.ascending { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -columnview > header > button sort-indicator.descending, treeview.view > header > button sort-indicator.descending, window.print treeview.dialog-action-box > header > button sort-indicator.descending { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -columnview button.dnd:active, columnview button.dnd:selected, columnview button.dnd:hover, columnview button.dnd, treeview.view button.dnd, window.print treeview.dialog-action-box button.dnd, columnview header.button.dnd:active, columnview header.button.dnd:selected, columnview header.button.dnd:hover, columnview header.button.dnd, treeview.view header.button.dnd, window.print treeview.dialog-action-box header.button.dnd { color: @accent_fg_color; background-color: @accent_bg_color; transition: none; } - -columnview.view > listview.view, treeview.view > listview.view, window.print columnview.dialog-action-box > listview.view, window.print treeview.dialog-action-box > listview.view, window.print columnview.view > listview.dialog-action-box, window.print treeview.view > listview.dialog-action-box, window.print columnview.dialog-action-box > listview.dialog-action-box, window.print treeview.dialog-action-box > listview.dialog-action-box { background: none; color: inherit; } - -columnview > listview > row, treeview.view > listview > row, window.print treeview.dialog-action-box > listview > row { padding: 0; } - -columnview > listview > row > cell, treeview.view > listview > row > cell, window.print treeview.dialog-action-box > listview > row > cell { padding: 8px 6px; } - -columnview > listview > row > cell:not(:first-child), treeview.view > listview > row > cell:not(:first-child), window.print treeview.dialog-action-box > listview > row > cell:not(:first-child) { border-left: 1px solid transparent; } - -columnview.column-separators > listview > row > cell, treeview.column-separators.view > listview > row > cell, window.print treeview.column-separators.dialog-action-box > listview > row > cell, columnview.column-separators > header > button, treeview.column-separators.view > header > button, window.print treeview.column-separators.dialog-action-box > header > button { border-left-color: alpha(currentColor,0.15); } - -columnview > listview:not(.horizontal).separators > row:not(.separator), treeview.view > listview:not(.horizontal).separators > row:not(.separator), window.print treeview.dialog-action-box > listview:not(.horizontal).separators > row:not(.separator) { border-top: 1px solid alpha(currentColor,0.15); border-bottom: none; } - -columnview.data-table > listview > row > cell, treeview.data-table.view > listview > row > cell, window.print treeview.data-table.dialog-action-box > listview > row > cell { padding-top: 2px; padding-bottom: 2px; } - -columnview ~ undershoot.top, treeview.view ~ undershoot.top, window.print treeview.dialog-action-box ~ undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } - -columnview row:not(:selected) cell editablelabel:not(.editing):focus-within, treeview.view row:not(:selected) cell editablelabel:not(.editing):focus-within, window.print treeview.dialog-action-box row:not(:selected) cell editablelabel:not(.editing):focus-within { outline: 2px solid alpha(@accent_color,0.5); } - -columnview row:not(:selected) cell editablelabel.editing:focus-within, treeview.view row:not(:selected) cell editablelabel.editing:focus-within, window.print treeview.dialog-action-box row:not(:selected) cell editablelabel.editing:focus-within { outline: 2px solid @accent_color; } - -treeexpander { border-spacing: 4px; } - -.dialog-action-area { margin: 6px; border-spacing: 6px; } - -/**************** Print dialog * */ -window.print drawing { color: @window_fg_color; background: none; border: none; padding: 0; } - -window.print drawing paper { background-color: white; color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid alpha(currentColor,0.15); } - -/******************** Page setup dalog * */ -/****************** GtkAboutDialog * */ -window.aboutdialog image.large-icons { -gtk-icon-size: 128px; } - -/************************* GtkColorChooserDialog * */ -/************* AdwDialog * */ -floating-sheet > dimming { background-color: alpha(@shade_color,2); } - -floating-sheet > sheet { border-radius: 12px; box-shadow: 0 2px 8px 2px rgba(0, 0, 0, 0.07), 0 3px 20px 10px rgba(0, 0, 0, 0.05), 0 6px 32px 16px rgba(0, 0, 0, 0.02), 0 0 0 1px rgba(0, 0, 0, 0.05); outline: 1px solid rgba(255, 255, 255, 0.07); outline-offset: -1px; } - -dialog.bottom-sheet.landscape sheet { margin-left: 30px; margin-right: 30px; } - -dialog.bottom-sheet.landscape sheet > outline.flush-left, dialog.bottom-sheet.landscape sheet > outline.flush-right, dialog.bottom-sheet.landscape sheet > outline.flush-left.flush-right { box-shadow: inset 1px 0 rgba(255, 255, 255, 0.07), inset -1px 0 rgba(255, 255, 255, 0.07), inset 0 1px rgba(255, 255, 255, 0.07); } - -dialog-host > dialog.background { background: none; } - -dialog-host > dialog.background sheet { background-color: @window_bg_color; color: @window_fg_color; } - -dialog-host > dialog.view, window.print dialog-host > dialog.dialog-action-box { background: none; } - -dialog-host > dialog.osd { background: none; } - -/*********************** GtkAppChooserDialog * */ -window.appchooser headerbar.titlebar > windowhandle { padding-top: 3px; } - -window.appchooser headerbar.titlebar box.start + box { margin-top: -6px; margin-bottom: -6px; min-height: 12px; } - -window.appchooser searchbar { background: none; } - -window.appchooser .dialog-vbox > box > box:not(.dialog-action-area) { margin: 6px; } - -window.appchooser .dialog-action-area { margin-top: 0; } - -/**************** GtkAssistant * */ -window.assistant .sidebar { padding: 6px; background-color: @sidebar_bg_color; color: @sidebar_fg_color; } - -window.assistant .sidebar:not(separator):dir(ltr) { border-right: none; box-shadow: inset -1px 0 @sidebar_border_color; } - -window.assistant .sidebar:not(separator):dir(rtl) { box-shadow: inset 1px 0 @sidebar_border_color; } - -window.assistant .sidebar:backdrop { background-color: @sidebar_backdrop_color; transition: background-color 200ms ease-out; } - -window.assistant .sidebar > label { padding: 6px 12px; border-radius: 6px; } - -window.assistant .sidebar > label.highlight { background-color: alpha(currentColor,0.1); } - -/*************** GtkComboBox * */ -combobox button { padding-top: 2px; padding-bottom: 2px; min-height: 30px; } - -/*************** GtkIconView * */ -iconview { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -iconview:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -iconview:drop(active) { box-shadow: none; } - -iconview > dndtarget:drop(active) { border-style: solid; border-width: 1px; border-color: @accent_bg_color; } - -/************** GtkInfoBar * */ -infobar > revealer > box { padding: 6px; padding-bottom: 7px; border-spacing: 6px; box-shadow: inset 0 -1px @shade_color; } - -infobar > revealer > box > box { border-spacing: 6px; } - -infobar.action:hover > revealer > box { background-image: image(alpha(currentColor,0.05)); } - -infobar.action:active > revealer > box { background-image: image(alpha(currentColor,0.1)); } - -infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; } - -infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; } - -infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; } - -infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; } - -infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } - -/**************** GtkStatusBar * */ -statusbar { padding: 6px 10px 6px 10px; } - -/*************** GtkTreeView * */ -treeview.view, window.print treeview.dialog-action-box { border-left-color: mix(currentColor,@view_bg_color,0.8); border-top-color: mix(currentColor,@view_bg_color,0.8); } - -treeview.view:selected:focus, treeview.view:selected, window.print treeview.dialog-action-box:selected { border-radius: 0; } - -treeview.view.separator, window.print treeview.separator.dialog-action-box { min-height: 2px; color: alpha(currentColor,0.15); } - -treeview.view.expander, window.print treeview.expander.dialog-action-box { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: alpha(currentColor,0.7); } - -treeview.view.expander:dir(rtl), window.print treeview.expander.dialog-action-box:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -treeview.view.expander:hover, window.print treeview.expander.dialog-action-box:hover, treeview.view.expander:active, window.print treeview.expander.dialog-action-box:active { color: currentColor; } - -treeview.view.expander:checked, window.print treeview.expander.dialog-action-box:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -treeview.view.expander:disabled, window.print treeview.expander.dialog-action-box:disabled { color: alpha(currentColor,0.5); } - -treeview.view > dndtarget:drop(active), window.print treeview.dialog-action-box > dndtarget:drop(active) { border-style: solid none; border-width: 1px; border-color: @accent_bg_color; } - -treeview.view > dndtarget:drop(active).after, window.print treeview.dialog-action-box > dndtarget:drop(active).after { border-top-style: none; } - -treeview.view > dndtarget:drop(active).before, window.print treeview.dialog-action-box > dndtarget:drop(active).before { border-bottom-style: none; } - -treeview.view > header > button, window.print treeview.dialog-action-box > header > button { padding-left: 4px; padding-right: 4px; border-bottom: 1px solid alpha(currentColor,0.15); } - -treeview.view.progressbar, window.print treeview.progressbar.dialog-action-box { box-shadow: none; } - -treeview.view.progressbar, window.print treeview.progressbar.dialog-action-box, treeview.view.progressbar:selected { background-color: @accent_bg_color; color: @accent_fg_color; } - -treeview.view.trough, window.print treeview.trough.dialog-action-box { background-color: alpha(currentColor,0.1); } - -treeview.view ~ undershoot.top, window.print treeview.dialog-action-box ~ undershoot.top { box-shadow: none; background: none; } - -treeview.view acceleditor > label, window.print treeview.dialog-action-box acceleditor > label { background-color: mix(currentColor,@view_bg_color,0.9); } - -treeview.navigation-sidebar { padding: 0; } - -treeview.navigation-sidebar:selected:focus, treeview.navigation-sidebar:selected { background-color: alpha(currentColor,0.1); } - -treeview entry:focus-within:dir(rtl), treeview entry:focus-within:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } - -treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } - -treeview entry.flat:focus-within, treeview entry:focus-within { border-color: @accent_color; } - -treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } - -treeview spinbutton:not(.vertical) > text { min-height: 0; padding: 1px 2px; } - -.sidebar:not(separator):dir(ltr), .sidebar:not(separator).left, .sidebar:not(separator).left:dir(rtl) { border-right: 1px solid alpha(currentColor,0.15); border-left-style: none; } - -.sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid alpha(currentColor,0.15); border-right-style: none; } - -.sidebar listview.view, .sidebar window.print listview.dialog-action-box, window.print .sidebar listview.dialog-action-box, .sidebar list { background-color: transparent; color: inherit; } - -paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } - -.large-title { font-weight: 300; font-size: 24pt; } - -dropdown > button > box, combobox > button > box { border-spacing: 6px; } - -dropdown > button > box > stack > row.activatable:hover, combobox > button > box > stack > row.activatable:hover, dropdown > button > box > stack > row.activatable:active, combobox > button > box > stack > row.activatable:active { background: none; } - -dropdown arrow, combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } - -dropdown:drop(active), combobox:drop(active) { box-shadow: none; } - -dropdown popover.menu, combobox popover.menu { padding-top: 6px; } - -dropdown popover.menu listview > row, combobox popover.menu listview > row { min-width: 0; } - -dropdown popover.menu .dropdown-searchbar, combobox popover.menu .dropdown-searchbar { padding: 6px; } - -dropdown popover.menu .dropdown-searchbar + scrolledwindow > undershoot.top, combobox popover.menu .dropdown-searchbar + scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover.emoji-picker > contents { padding: 0; } - -.emoji-searchbar { padding: 6px; } - -.emoji-toolbar { padding: 3px; } - -button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { min-width: 32px; min-height: 32px; } - -popover.emoji-picker emoji { font-size: x-large; padding: 6px; border-radius: 6px; } - -popover.emoji-picker emoji:focus, popover.emoji-picker emoji:hover { background: alpha(currentColor,0.07); } - -popover.emoji-picker emoji:active { background: alpha(currentColor,0.16); } - -popover.emoji-picker scrolledwindow.view, popover.emoji-picker window.print scrolledwindow.dialog-action-box, window.print popover.emoji-picker scrolledwindow.dialog-action-box { background: none; color: inherit; } - -popover.emoji-picker scrolledwindow.view > undershoot.top, popover.emoji-picker window.print scrolledwindow.dialog-action-box > undershoot.top, window.print popover.emoji-picker scrolledwindow.dialog-action-box > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover.emoji-picker scrolledwindow.view > undershoot.bottom, popover.emoji-picker window.print scrolledwindow.dialog-action-box > undershoot.bottom, window.print popover.emoji-picker scrolledwindow.dialog-action-box > undershoot.bottom { box-shadow: inset 0 -1px alpha(@popover_shade_color,0.75); background: linear-gradient(to top, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover.emoji-completion > contents { padding: 6px; padding-bottom: 4px; } - -emoji-completion-row { padding: 6px; margin-bottom: 2px; border-radius: 6px; } - -emoji-completion-row:dir(ltr) { padding-right: 12px; } - -emoji-completion-row:dir(rtl) { padding-left: 12px; } - -emoji-completion-row > box { border-spacing: 6px; } - -emoji-completion-row:focus, emoji-completion-row:hover { background-color: alpha(currentColor,0.1); color: @popover_fg_color; } - -emoji-completion-row:active { background-color: alpha(currentColor,0.16); } - -spinbutton, entry { min-height: 34px; padding-left: 9px; padding-right: 9px; border-radius: 6px; border-spacing: 6px; background-color: alpha(currentColor,0.1); background-clip: padding-box; caret-color: currentColor; } - -spinbutton, entry { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -spinbutton:focus-within, entry:focus-within { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd spinbutton:focus-within, .osd entry:focus-within { outline-color: rgba(255, 255, 255, 0.5); } - -spinbutton > text > block-cursor, entry > text > block-cursor { color: @view_bg_color; background-color: @view_fg_color; } - -spinbutton.flat, entry.flat:focus-within, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; box-shadow: none; border-radius: 0; } - -spinbutton:disabled, entry:disabled { filter: opacity(0.5); } - -spinbutton.error, entry.error { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -spinbutton.error:focus-within, entry.error:focus-within { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -2px; } - -spinbutton.error > text > selection:focus-within, entry.error > text > selection:focus-within { background-color: alpha(@error_color,0.2); } - -spinbutton.error > text > cursor-handle > contents, entry.error > text > cursor-handle > contents { background-color: currentColor; } - -spinbutton.error > progress > trough > progress, entry.error > progress > trough > progress { border-color: currentColor; } - -spinbutton.warning, entry.warning { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -spinbutton.warning:focus-within, entry.warning:focus-within { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -2px; } - -spinbutton.warning > text > selection:focus-within, entry.warning > text > selection:focus-within { background-color: alpha(@warning_color,0.2); } - -spinbutton.warning > text > cursor-handle > contents, entry.warning > text > cursor-handle > contents { background-color: currentColor; } - -spinbutton.warning > progress > trough > progress, entry.warning > progress > trough > progress { border-color: currentColor; } - -spinbutton.success, entry.success { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -spinbutton.success:focus-within, entry.success:focus-within { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -2px; } - -spinbutton.success > text > selection:focus-within, entry.success > text > selection:focus-within { background-color: alpha(@success_color,0.2); } - -spinbutton.success > text > cursor-handle > contents, entry.success > text > cursor-handle > contents { background-color: currentColor; } - -spinbutton.success > progress > trough > progress, entry.success > progress > trough > progress { border-color: currentColor; } - -spinbutton > image, entry > image { opacity: 0.7; } - -spinbutton > image:hover, entry > image:hover { opacity: 1; } - -spinbutton > image:active, entry > image:active { opacity: 0.8; } - -spinbutton > image.left, entry > image.left { margin-right: 6px; } - -spinbutton > image.right, entry > image.right { margin-left: 6px; } - -spinbutton.password image.caps-lock-indicator, entry.password image.caps-lock-indicator { opacity: 0.3; } - -spinbutton:drop(active), entry:drop(active):focus-within, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -spinbutton > progress, entry > progress { margin-bottom: 3px; } - -spinbutton > progress > trough > progress, entry > progress > trough > progress { background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } - -.osd spinbutton > progress > trough > progress, .osd entry > progress > trough > progress { border-color: rgba(255, 255, 255, 0.75); } - -expander { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } - -expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } - -expander:disabled { filter: opacity(0.5); } - -expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -expander-widget > box > title { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -expander-widget:focus:focus-visible > box > title { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -expander-widget > box > title { border-radius: 6px; } - -expander-widget > box > title > expander { opacity: .7; } - -expander-widget > box > title:hover > expander, expander-widget > box > title:active > expander { opacity: 1; } - -placessidebar .navigation-sidebar > row { padding: 0; } - -placessidebar .navigation-sidebar > row > revealer { padding: 0 14px; } - -placessidebar .navigation-sidebar > row image.sidebar-icon:dir(ltr) { padding-right: 8px; } - -placessidebar .navigation-sidebar > row image.sidebar-icon:dir(rtl) { padding-left: 8px; } - -placessidebar .navigation-sidebar > row label.sidebar-label:dir(ltr) { padding-right: 2px; } - -placessidebar .navigation-sidebar > row label.sidebar-label:dir(rtl) { padding-left: 2px; } - -button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; } - -placessidebar .navigation-sidebar > row:selected:active { box-shadow: none; } - -placessidebar .navigation-sidebar > row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } - -placessidebar .navigation-sidebar > row.sidebar-new-bookmark-row { color: @accent_color; } - -placessidebar .navigation-sidebar > row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } - -row image.sidebar-icon { opacity: 0.7; } - -row .sidebar-button { opacity: 0.7; } - -row .sidebar-button:hover, row .sidebar-button:active, row .sidebar-button.keyboard-activating { opacity: 1; } - -placesview .server-list-button > image { transition: -gtk-icon-transform 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } - -placesview .server-list-button:checked > image { -gtk-icon-transform: rotate(-0.5turn); } - -placesview > actionbar > revealer > box > box { border-spacing: 6px; } - -filechooser { box-shadow: 0 1px alpha(currentColor,0.15); } - -filechooser pathbar button:not(.image-button) { padding-left: 9px; padding-right: 9px; } - -filechooser pathbar button > box { border-spacing: 4px; } - -filechooser pathbar button > box > label { padding-left: 2px; padding-right: 2px; } - -filechooser columnview > listview > row > cell, filechooser treeview.view > listview > row > cell, filechooser window.print treeview.dialog-action-box > listview > row > cell, window.print filechooser treeview.dialog-action-box > listview > row > cell { padding: 0; } - -filechooser columnview > listview > row > cell > filelistcell, filechooser treeview.view > listview > row > cell > filelistcell, filechooser window.print treeview.dialog-action-box > listview > row > cell > filelistcell, window.print filechooser treeview.dialog-action-box > listview > row > cell > filelistcell { padding: 8px 6px; } - -filechooser gridview { padding: 15px; } - -filechooser gridview ~ undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } - -filechooser gridview > child { border-radius: 12px; padding: 0; margin: 3px; } - -filechooser gridview > child > filelistcell { padding: 6px 12px; } - -filechooser gridview > child filethumbnail image { filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.3)); } - -filechooser gridview > child box { border-spacing: 6px; } - -filechooser > box > actionbar { box-shadow: 0 -1px alpha(@headerbar_shade_color,0.5), 0 -2px 4px alpha(@headerbar_shade_color,0.5); } - -filechooser > box > actionbar > revealer > box { box-shadow: none; padding-top: 6px; } - -filechooser scrolledwindow + actionbar > revealer > box { background-color: mix(@accent_bg_color,@view_bg_color,0.7); color: @window_fg_color; box-shadow: none; padding-top: 6px; font-weight: bold; } - -filechooser scrolledwindow + actionbar > revealer > box:backdrop { background-color: mix(@accent_bg_color,@view_bg_color,0.85); } - -filechooser placesview > stack > scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@shade_color,0.75); background: linear-gradient(to top, alpha(@shade_color,0.75), transparent 4px); } - -filechooser placesview > actionbar > revealer > box { background: @view_bg_color; color: @view_fg_color; box-shadow: none; padding-top: 6px; } - -filechooser placesview > actionbar > revealer > box:backdrop { background: @view_bg_color; transition: none; } - -filechooser placessidebar { background-color: @sidebar_bg_color; color: @sidebar_fg_color; } - -filechooser placessidebar:backdrop { background-color: @sidebar_backdrop_color; transition: background-color 200ms ease-out; } - -filechooser paned.horizontal > separator:dir(ltr) { box-shadow: inset 1px 0 @sidebar_bg_color, inset 1px 0 @sidebar_border_color; } - -filechooser paned.horizontal > separator:dir(ltr):backdrop { box-shadow: inset 1px 0 @sidebar_backdrop_color, inset 1px 0 @sidebar_border_color; } - -filechooser paned.horizontal > separator:dir(rtl) { box-shadow: inset -1px 0 @sidebar_bg_color, inset -1px 0 @sidebar_border_color; } - -filechooser paned.horizontal > separator:dir(rtl):backdrop { box-shadow: inset -1px 0 @sidebar_backdrop_color, inset -1px 0 @sidebar_border_color; } - -filechooser paned.horizontal > separator:backdrop { transition: box-shadow 200ms ease-out; } - -/* Fix header bar height in the file chooser */ -window.filechooser headerbar box.start + box.vertical { margin-top: -6px; margin-bottom: -6px; min-height: 12px; } - -headerbar { min-height: 47px; background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 -1px @headerbar_shade_color, inset 1px 0 alpha(@headerbar_border_color,0.15), inset -1px 0 alpha(@headerbar_border_color,0.15); margin-left: -1px; margin-right: -1px; } - -headerbar > windowhandle > box { padding: 6px 7px 7px 7px; } - -headerbar > windowhandle > box > box.start, headerbar > windowhandle > box > box.end { border-spacing: 6px; } - -headerbar > windowhandle > box > box.start:dir(ltr), headerbar > windowhandle > box > box.end:dir(rtl), headerbar > windowhandle > box > widget > box.start:dir(ltr), headerbar > windowhandle > box > widget > box.end:dir(rtl) { margin-right: 6px; } - -headerbar > windowhandle > box > box.start:dir(rtl), headerbar > windowhandle > box > box.end:dir(ltr), headerbar > windowhandle > box > widget > box.start:dir(rtl), headerbar > windowhandle > box > widget > box.end:dir(ltr) { margin-left: 6px; } - -headerbar:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } - -headerbar:backdrop > windowhandle { filter: opacity(0.5); transition: filter 200ms ease-out; } - -headerbar.default-decoration { min-height: 37px; } - -headerbar.default-decoration > windowhandle > box { padding: 3px 4px 4px 4px; } - -headerbar.default-decoration windowcontrols > button { min-height: 22px; min-width: 22px; padding: 4px; } - -headerbar.default-decoration windowcontrols > .icon { margin: 7px; } - -window > .titlebar:not(.flat) { box-shadow: 0 1px alpha(@headerbar_shade_color,0.5), 0 2px 4px alpha(@headerbar_shade_color,0.5); } - -window > .titlebar headerbar:not(.flat) { box-shadow: inset 1px 0 alpha(@headerbar_border_color,0.15), inset -1px 0 alpha(@headerbar_border_color,0.15); } - -window > headerbar.titlebar, window > .titlebar headerbar { min-height: 46px; } - -window > headerbar.titlebar > windowhandle > box, window > .titlebar headerbar > windowhandle > box { padding-bottom: 6px; } - -window > headerbar.titlebar.default-decoration, window > .titlebar headerbar.default-decoration { min-height: 36px; } - -window > headerbar.titlebar.default-decoration > windowhandle > box, window > .titlebar headerbar.default-decoration > windowhandle > box { padding-bottom: 3px; } - -toolbarview > .top-bar headerbar, toolbarview > .bottom-bar headerbar, headerbar.flat, window.shortcuts headerbar.titlebar, window.print headerbar.titlebar, window.pagesetup headerbar.titlebar, window.aboutdialog headerbar.titlebar, window.colorchooser headerbar.titlebar, window.appchooser headerbar.titlebar { background: none; box-shadow: none; color: inherit; min-height: 46px; } - -toolbarview > .top-bar headerbar > windowhandle > box, toolbarview > .bottom-bar headerbar > windowhandle > box, headerbar.flat > windowhandle > box, window.shortcuts headerbar.titlebar > windowhandle > box, window.print headerbar.titlebar > windowhandle > box, window.pagesetup headerbar.titlebar > windowhandle > box, window.aboutdialog headerbar.titlebar > windowhandle > box, window.colorchooser headerbar.titlebar > windowhandle > box, window.appchooser headerbar.titlebar > windowhandle > box { padding-bottom: 6px; } - -toolbarview > .top-bar headerbar.default-decoration, toolbarview > .bottom-bar headerbar.default-decoration, headerbar.default-decoration.flat, window.shortcuts headerbar.default-decoration.titlebar, window.print headerbar.default-decoration.titlebar, window.pagesetup headerbar.default-decoration.titlebar, window.aboutdialog headerbar.default-decoration.titlebar, window.colorchooser headerbar.default-decoration.titlebar, window.appchooser headerbar.default-decoration.titlebar { min-height: 36px; } - -toolbarview > .top-bar headerbar.default-decoration > windowhandle > box, toolbarview > .bottom-bar headerbar.default-decoration > windowhandle > box, headerbar.default-decoration.flat > windowhandle > box, window.shortcuts headerbar.default-decoration.titlebar > windowhandle > box, window.print headerbar.default-decoration.titlebar > windowhandle > box, window.pagesetup headerbar.default-decoration.titlebar > windowhandle > box, window.aboutdialog headerbar.default-decoration.titlebar > windowhandle > box, window.colorchooser headerbar.default-decoration.titlebar > windowhandle > box, window.appchooser headerbar.default-decoration.titlebar > windowhandle > box { padding-bottom: 3px; } - -toolbarview > .top-bar headerbar:backdrop, toolbarview > .bottom-bar headerbar:backdrop { transition: none; } - -toolbarview > .top-bar headerbar:backdrop > windowhandle, toolbarview > .bottom-bar headerbar:backdrop > windowhandle { filter: none; transition: none; } - -window.devel toolbarview > .top-bar headerbar > windowhandle, toolbarview > .top-bar window.devel headerbar > windowhandle, window.devel toolbarview > .bottom-bar headerbar > windowhandle, toolbarview > .bottom-bar window.devel headerbar > windowhandle { background-image: none; } - -toolbarview > .top-bar .collapse-spacing headerbar, toolbarview > .bottom-bar .collapse-spacing headerbar, window.shortcuts headerbar.titlebar, window.appchooser headerbar.titlebar { min-height: 40px; } - -toolbarview > .top-bar .collapse-spacing headerbar > windowhandle > box, toolbarview > .bottom-bar .collapse-spacing headerbar > windowhandle > box, window.shortcuts headerbar.titlebar > windowhandle > box, window.appchooser headerbar.titlebar > windowhandle > box { padding-top: 3px; padding-bottom: 3px; } - -toolbarview > .top-bar .collapse-spacing headerbar.default-decoration, toolbarview > .bottom-bar .collapse-spacing headerbar.default-decoration, window.shortcuts headerbar.default-decoration.titlebar, window.appchooser headerbar.default-decoration.titlebar { min-height: 30px; } - -toolbarview > .top-bar .collapse-spacing headerbar.default-decoration > windowhandle > box, toolbarview > .bottom-bar .collapse-spacing headerbar.default-decoration > windowhandle > box, window.shortcuts headerbar.default-decoration.titlebar > windowhandle > box, window.appchooser headerbar.default-decoration.titlebar > windowhandle > box { padding-top: 0px; padding-bottom: 0px; } - -.titlebar:not(headerbar) separator { background-color: alpha(@headerbar_border_color,0.15); } - -/********************* GtkWindowControls * */ -windowcontrols { border-spacing: 3px; } - -windowcontrols > button { min-width: 24px; padding: 5px; box-shadow: none; } - -windowcontrols > button > image { background-color: alpha(currentColor,0.1); border-radius: 100%; padding: 2px; transition: background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -windowcontrols > button, windowcontrols > button:hover, windowcontrols > button:active { background: none; } - -windowcontrols > button:hover > image { background-color: alpha(currentColor,0.15); } - -windowcontrols > button:active > image { background-color: alpha(currentColor,0.3); } - -windowcontrols > .icon { margin: 9px; } - -/****************** AdwWindowTitle * */ -headerbar .title, windowtitle .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } - -headerbar .subtitle, windowtitle .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } - -windowtitle { margin-top: -6px; margin-bottom: -6px; min-height: 12px; } - -window.devel headerbar > windowhandle { background-image: cross-fade(5% -gtk-recolor(url("assets/devel-symbolic.svg")), image(transparent)); background-repeat: repeat-x; } - -window.devel dialog headerbar > windowhandle { background-image: unset; background-repeat: unset; } - -label { caret-color: currentColor; } - -label:disabled { filter: opacity(0.5); } - -.dim-label, scale > value, progressbar > text, row.expander image.expander-row-arrow, row.property > box.header > box.title > .title, row.expander.property box > list > row > box.header > box.title > .title, row label.subtitle, spinbutton > text > placeholder, entry > text > placeholder, headerbar .subtitle, windowtitle .subtitle, label.separator { opacity: 0.55; } - -.accent { color: @accent_color; } - -.success { color: @success_color; } - -.warning { color: @warning_color; } - -.error { color: @error_color; } - -/********************** General Typography * */ -.title-1 { font-weight: 800; font-size: 20pt; } - -.title-2 { font-weight: 800; font-size: 15pt; } - -.title-3 { font-weight: 700; font-size: 15pt; } - -.title-4 { font-weight: 700; font-size: 13pt; } - -.heading, listview > header { font-weight: 700; font-size: 11pt; } - -.body { font-weight: 400; font-size: 11pt; } - -.caption-heading { font-weight: 700; font-size: 9pt; } - -.caption { font-weight: 400; font-size: 9pt; } - -.monospace { font-family: monospace; } - -.numeric, spinbutton, scale > value, progressbar > text { font-feature-settings: "tnum"; } - -/******************* Editable Labels * */ -editablelabel > stack > text { color: @view_fg_color; background-color: @view_bg_color; } - -levelbar:disabled { filter: opacity(0.5); } - -levelbar.horizontal trough > block { min-height: 8px; border-radius: 99px; } - -levelbar.horizontal trough > block.empty, levelbar.horizontal trough > block.full { border-radius: 99px; } - -levelbar.horizontal.discrete > trough > block { min-height: 8px; margin-right: 2px; min-width: 26px; border-radius: 0; } - -levelbar.horizontal.discrete > trough > block:first-child { border-radius: 99px 0 0 99px; } - -levelbar.horizontal.discrete > trough > block:last-child { border-radius: 0 99px 99px 0; margin-right: 0; } - -levelbar.vertical trough > block { min-width: 8px; border-radius: 99px; } - -levelbar.vertical trough > block.empty, levelbar.vertical trough > block.full { border-radius: 99px; } - -levelbar.vertical.discrete > trough > block { min-width: 8px; margin-bottom: 2px; min-height: 26px; border-radius: 0; } - -levelbar.vertical.discrete > trough > block:first-child { border-radius: 99px 99px 0 0; } - -levelbar.vertical.discrete > trough > block:last-child { border-radius: 0 0 99px 99px; margin-bottom: 0; } - -levelbar > trough { padding: 0; } - -levelbar > trough > block.low { background-color: @warning_bg_color; } - -levelbar > trough > block.high, levelbar > trough > block:not(.empty) { background-color: @accent_bg_color; } - -levelbar > trough > block.full { background-color: @success_bg_color; } - -levelbar > trough > block.empty { background-color: alpha(currentColor,0.15); } - -.osd levelbar > trough > block.high, .osd levelbar > trough > block:not(.empty) { background-color: rgba(255, 255, 255, 0.75); } - -.linked:not(.vertical) > button:dir(ltr):not(:first-child), .linked:not(.vertical) > button:dir(rtl):not(:last-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > button:dir(ltr):not(:last-child), .linked:not(.vertical) > button:dir(rtl):not(:first-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical button:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical button:not(:last-child) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > menubutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > menubutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > menubutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > menubutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical menubutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical menubutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > dropdown:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > combobox:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > dropdown:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > combobox:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > dropdown:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > combobox:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > dropdown:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > combobox:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical dropdown:not(:first-child) > button, .linked.vertical combobox:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical dropdown:not(:last-child) > button, .linked.vertical combobox:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > colorbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > colorbutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > colorbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > colorbutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical colorbutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical colorbutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > fontbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > fontbutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > fontbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > fontbutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical fontbutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical fontbutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > tabbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > tabbutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > tabbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > tabbutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical tabbutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical tabbutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > spinbutton:dir(ltr):not(:first-child), .linked:not(.vertical) > spinbutton:dir(rtl):not(:last-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > spinbutton:dir(ltr):not(:last-child), .linked:not(.vertical) > spinbutton:dir(rtl):not(:first-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical spinbutton:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical spinbutton:not(:last-child) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > entry:dir(ltr):not(:first-child), .linked:not(.vertical) > entry:dir(rtl):not(:last-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > entry:dir(ltr):not(:last-child), .linked:not(.vertical) > entry:dir(rtl):not(:first-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical entry:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical entry:not(:last-child) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > combobox:dir(ltr):not(:first-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(rtl):not(:last-child) > box > button.combo { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > combobox:dir(ltr):not(:last-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(rtl):not(:first-child) > box > button.combo { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical combobox:not(:first-child) > box > button.combo { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical combobox:not(:last-child) > box > button.combo { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -.linked:not(.vertical) > appchooserbutton:dir(ltr):not(:first-child) > combobox > box > button.combo, .linked:not(.vertical) > appchooserbutton:dir(rtl):not(:last-child) > combobox > box > button.combo { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } - -.linked:not(.vertical) > appchooserbutton:dir(ltr):not(:last-child) > combobox > box > button.combo, .linked:not(.vertical) > appchooserbutton:dir(rtl):not(:first-child) > combobox > box > button.combo { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.linked.vertical appchooserbutton:not(:first-child) > combobox > box > button.combo { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } - -.linked.vertical appchooserbutton:not(:last-child) > combobox > box > button.combo { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } - -link, button.link { color: @accent_color; text-decoration: underline; font-weight: inherit; } - -link:visited, button.link:visited { color: mix(@accent_color,@view_fg_color,0.2); } - -link:hover, button.link:hover { color: shade(@accent_color,1.1); } - -link:active, button.link:active { color: @accent_color; } - -link:disabled, button.link:disabled { color: alpha(currentColor,0.5); } - -.osd link, .osd button.link { color: mix(@accent_bg_color,white,0.5); } - -.osd link:visited, .osd button.link:visited { color: mix(@accent_bg_color,white,0.25); } - -.osd link:active, .osd button.link:active { color: mix(@accent_bg_color,white,0.5); } - -link { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -link:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd link:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -button.link > label { text-decoration: underline; } - -listview, list { color: @view_fg_color; background-color: @view_bg_color; background-clip: padding-box; border-color: alpha(currentColor,0.15); } - -listview > row, list > row { padding: 2px; background-clip: padding-box; } - -listview > row.expander, list > row.expander { padding: 0px; } - -listview > row.expander .row-header, list > row.expander .row-header { padding: 2px; } - -listview.horizontal row.separator, listview.separators.horizontal > row:not(.separator), list.horizontal row.separator, list.separators.horizontal > row:not(.separator) { border-left: 1px solid alpha(currentColor,0.15); } - -listview:not(.horizontal) row.separator, listview.separators:not(.horizontal) > row:not(.separator), list:not(.horizontal) row.separator, list.separators:not(.horizontal) > row:not(.separator) { border-bottom: 1px solid alpha(currentColor,0.15); } - -listview > header { padding: 2px; padding-top: 18px; padding-bottom: 6px; } - -row { background-clip: padding-box; } - -row { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -.osd row:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -.osd row.activatable:hover { background-color: alpha(currentColor,0.07); } - -.osd row.activatable:active { background-color: alpha(currentColor,0.16); } - -.osd row.activatable.has-open-popup { background-color: alpha(currentColor,0.07); } - -.osd row.activatable:selected:hover { background-color: alpha(currentColor,0.13); } - -.osd row.activatable:selected:active { background-color: alpha(currentColor,0.19); } - -.osd row.activatable:selected.has-open-popup { background-color: alpha(currentColor,0.13); } - -.osd row:selected { background-color: alpha(currentColor,0.1); } - -row.activatable:hover { background-color: alpha(currentColor,0.04); } - -row.activatable:active { background-color: alpha(currentColor,0.08); } - -row.activatable.has-open-popup { background-color: alpha(currentColor,0.04); } - -row.activatable:selected:hover { background-color: alpha(@accent_bg_color,0.32); } - -row.activatable:selected:active { background-color: alpha(@accent_bg_color,0.39); } - -row.activatable:selected.has-open-popup { background-color: alpha(@accent_bg_color,0.32); } - -row:selected { background-color: alpha(@accent_bg_color,0.25); } - -/******************************************************* Rich Lists * Large list usually containing lots of widgets * https://gitlab.gnome.org/GNOME/gtk/-/issues/3073 * */ -.rich-list { /* rich lists usually containing other widgets than just labels/text */ } - -.rich-list > row { padding: 8px 12px; min-height: 32px; /* should be tall even when only containing a label */ } - -.rich-list > row > box { border-spacing: 12px; } - -.rich-list > header { padding-left: 12px; padding-right: 12px; } - -/**************** AdwActionRow * */ -row label.subtitle { font-size: smaller; } - -row > box.header { margin-left: 12px; margin-right: 12px; border-spacing: 6px; min-height: 50px; } - -row > box.header > .icon:disabled { filter: opacity(0.5); } - -row > box.header > box.title { margin-top: 6px; margin-bottom: 6px; border-spacing: 3px; padding: 0; } - -row > box.header > box.title, row > box.header > box.title > .title, row > box.header > box.title > .subtitle { padding: 0; font-weight: inherit; } - -row > box.header > .prefixes, row > box.header > .suffixes { border-spacing: 6px; } - -row > box.header > .icon:dir(ltr), row > box.header > .prefixes:dir(ltr) { margin-right: 6px; } - -row > box.header > .icon:dir(rtl), row > box.header > .prefixes:dir(rtl) { margin-left: 6px; } - -row.property > box.header > box.title > .title, row.expander.property box > list > row > box.header > box.title > .title { font-size: smaller; } - -row.property > box.header > box.title > .subtitle, row.expander.property box > list > row > box.header > box.title > .subtitle { font-size: inherit; opacity: 1; } - -/****************************** AdwEntryRow and AdwSpinRow * */ -row.entry:not(:selected).activatable.focused:hover, row.entry:not(:selected).activatable.focused:active { background-color: transparent; } - -row.entry:disabled text { opacity: 0.5; } - -row.entry:disabled .dim-label, row.entry:disabled scale > value, row.entry:disabled progressbar > text, row.entry:disabled row.expander image.expander-row-arrow, row.expander row.entry:disabled image.expander-row-arrow, row.entry:disabled spinbutton > text > placeholder, row.entry:disabled entry > text > placeholder, row.entry:disabled label.separator, row.entry:disabled row.property > box.header > box.title > .title, row.entry:disabled row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry:disabled box > list > row > box.header > box.title > .title, row.entry:disabled .subtitle { opacity: 1; } - -row.entry .edit-icon, row.entry .indicator { min-width: 24px; min-height: 24px; padding: 5px; } - -row.entry .edit-icon:disabled { opacity: 0.3; } - -row.entry .indicator { opacity: 0.3; } - -row.entry.monospace { font-family: inherit; } - -row.entry.monospace text { font-family: monospace; } - -row.spin:not(:selected).activatable.focused:hover, row.spin:not(:selected).activatable.focused:active { background-color: transparent; } - -row.spin spinbutton { background: none; border-spacing: 6px; box-shadow: none; } - -row.spin spinbutton, row.spin spinbutton:focus { outline: none; } - -row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child { min-width: 30px; min-height: 30px; margin: 10px 2px; border: none; } - -row.spin:disabled spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:disabled, row.spin:disabled spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child:disabled, row.spin:disabled spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child:disabled, row.spin:disabled spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):disabled, row.spin:disabled spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child:disabled, row.spin:disabled spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child:disabled { filter: none; } - -row.entry, row.spin { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.entry.focused, row.spin.focused { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } - -row.entry:not(:selected).activatable.focused:hover, row.entry:not(:selected).activatable.focused:active, row.spin:not(:selected).activatable.focused:hover, row.spin:not(:selected).activatable.focused:active { background-color: transparent; } - -row.entry.error, row.spin.error { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.entry.error.focused, row.spin.error.focused { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -1px; } - -row.entry.error text > selection:focus-within, row.spin.error text > selection:focus-within { background-color: alpha(@error_color,0.2); } - -row.entry.error text > cursor-handle > contents, row.spin.error text > cursor-handle > contents { background-color: currentColor; } - -row.entry.error .dim-label, row.entry.error scale > value, row.entry.error progressbar > text, row.entry.error row.expander image.expander-row-arrow, row.expander row.entry.error image.expander-row-arrow, row.entry.error spinbutton > text > placeholder, row.entry.error entry > text > placeholder, row.entry.error label.separator, row.entry.error row.property > box.header > box.title > .title, row.entry.error row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry.error box > list > row > box.header > box.title > .title, row.entry.error .subtitle, row.spin.error .dim-label, row.spin.error scale > value, row.spin.error progressbar > text, row.spin.error row.expander image.expander-row-arrow, row.expander row.spin.error image.expander-row-arrow, row.spin.error spinbutton > text > placeholder, row.spin.error entry > text > placeholder, row.spin.error label.separator, row.spin.error row.property > box.header > box.title > .title, row.spin.error row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.spin.error box > list > row > box.header > box.title > .title, row.spin.error .subtitle { opacity: 1; } - -row.entry.error .suggested-action, row.spin.error .suggested-action { background-color: @error_bg_color; color: @error_fg_color; } - -row.entry.warning, row.spin.warning { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.entry.warning.focused, row.spin.warning.focused { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -1px; } - -row.entry.warning text > selection:focus-within, row.spin.warning text > selection:focus-within { background-color: alpha(@warning_color,0.2); } - -row.entry.warning text > cursor-handle > contents, row.spin.warning text > cursor-handle > contents { background-color: currentColor; } - -row.entry.warning .dim-label, row.entry.warning scale > value, row.entry.warning progressbar > text, row.entry.warning row.expander image.expander-row-arrow, row.expander row.entry.warning image.expander-row-arrow, row.entry.warning spinbutton > text > placeholder, row.entry.warning entry > text > placeholder, row.entry.warning label.separator, row.entry.warning row.property > box.header > box.title > .title, row.entry.warning row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry.warning box > list > row > box.header > box.title > .title, row.entry.warning .subtitle, row.spin.warning .dim-label, row.spin.warning scale > value, row.spin.warning progressbar > text, row.spin.warning row.expander image.expander-row-arrow, row.expander row.spin.warning image.expander-row-arrow, row.spin.warning spinbutton > text > placeholder, row.spin.warning entry > text > placeholder, row.spin.warning label.separator, row.spin.warning row.property > box.header > box.title > .title, row.spin.warning row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.spin.warning box > list > row > box.header > box.title > .title, row.spin.warning .subtitle { opacity: 1; } - -row.entry.warning .suggested-action, row.spin.warning .suggested-action { background-color: @warning_bg_color; color: @warning_fg_color; } - -row.entry.success, row.spin.success { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.entry.success.focused, row.spin.success.focused { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -1px; } - -row.entry.success text > selection:focus-within, row.spin.success text > selection:focus-within { background-color: alpha(@success_color,0.2); } - -row.entry.success text > cursor-handle > contents, row.spin.success text > cursor-handle > contents { background-color: currentColor; } - -row.entry.success .dim-label, row.entry.success scale > value, row.entry.success progressbar > text, row.entry.success row.expander image.expander-row-arrow, row.expander row.entry.success image.expander-row-arrow, row.entry.success spinbutton > text > placeholder, row.entry.success entry > text > placeholder, row.entry.success label.separator, row.entry.success row.property > box.header > box.title > .title, row.entry.success row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry.success box > list > row > box.header > box.title > .title, row.entry.success .subtitle, row.spin.success .dim-label, row.spin.success scale > value, row.spin.success progressbar > text, row.spin.success row.expander image.expander-row-arrow, row.expander row.spin.success image.expander-row-arrow, row.spin.success spinbutton > text > placeholder, row.spin.success entry > text > placeholder, row.spin.success label.separator, row.spin.success row.property > box.header > box.title > .title, row.spin.success row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.spin.success box > list > row > box.header > box.title > .title, row.spin.success .subtitle { opacity: 1; } - -row.entry.success .suggested-action, row.spin.success .suggested-action { background-color: @success_bg_color; color: @success_fg_color; } - -/*************** AdwComboRow * */ -row.combo image.dropdown-arrow:disabled { filter: opacity(0.5); } - -row.combo listview.inline { background: none; border: none; box-shadow: none; color: inherit; } - -row.combo listview.inline, row.combo listview.inline:disabled { background: none; color: inherit; } - -row.combo popover > contents { min-width: 120px; } - -row.combo popover > contents .combo-searchbar { margin: 6px; } - -row.combo popover > contents .combo-searchbar + scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } - -/****************** AdwExpanderRow * */ -list.boxed-list > row, list.content > row, list.boxed-list > row.expander row.header, list.content > row.expander row.header, row.expander list.nested > row { border-bottom: 1px solid @card_shade_color; } - -list.boxed-list > row, list.content > row, list.boxed-list > row.expander row.header, list.content > row.expander row.header, row.expander list.nested > row { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -list.boxed-list > row:focus:focus-visible, list.content > row:focus:focus-visible, list.boxed-list > row.expander row.header:focus:focus-visible, list.content > row.expander row.header:focus:focus-visible, row.expander list.nested > row:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } - -.osd list.boxed-list > row:focus:focus-visible, .osd list.content > row:focus:focus-visible, .osd list.boxed-list > row.expander row.header:focus:focus-visible, list.boxed-list > row.expander .osd row.header:focus:focus-visible, .osd list.content > row.expander row.header:focus:focus-visible, list.content > row.expander .osd row.header:focus:focus-visible, .osd row.expander list.nested > row:focus:focus-visible, row.expander .osd list.nested > row:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -list.boxed-list > row:not(:selected).activatable:hover, list.content > row:not(:selected).activatable:hover, list.boxed-list > row.expander row.header:not(:selected).activatable:hover, list.content > row.expander row.header:not(:selected).activatable:hover, row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } - -list.boxed-list > row:not(:selected).activatable:active, list.content > row:not(:selected).activatable:active, list.boxed-list > row.expander row.header:not(:selected).activatable:active, list.content > row.expander row.header:not(:selected).activatable:active, row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } - -list.boxed-list > row:not(:selected).activatable.has-open-popup, list.content > row:not(:selected).activatable.has-open-popup, list.boxed-list > row.expander row.header:not(:selected).activatable.has-open-popup, list.content > row.expander row.header:not(:selected).activatable.has-open-popup, row.expander list.nested > row:not(:selected).activatable.has-open-popup { background-color: alpha(currentColor,0.03); } - -row.expander { background: none; padding: 0px; } - -row.expander > box > list { background: none; color: inherit; } - -row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; } - -row.expander image.expander-row-arrow { transition: -gtk-icon-transform 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -row.expander image.expander-row-arrow:dir(ltr) { margin-left: 3px; } - -row.expander image.expander-row-arrow:dir(rtl) { margin-right: 3px; } - -row.expander image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(0.5turn); } - -row.expander image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(-0.5turn); } - -row.expander image.expander-row-arrow:disabled { filter: opacity(0.5); } - -row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); opacity: 1; } - -row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_color; } - -.osd row.expander:checked image.expander-row-arrow:not(:disabled) { color: inherit; } - -/***************** Boxed Lists * */ -list.boxed-list > row.expander, list.content > row.expander { border: none; } - -list.boxed-list > row:first-child, list.content > row:first-child, list.boxed-list > row:first-child.expander row.header, list.content > row:first-child.expander row.header { border-top-left-radius: 12px; border-top-right-radius: 12px; } - -list.boxed-list > row:last-child, list.content > row:last-child, list.boxed-list > row:last-child.expander:not(:checked), list.boxed-list > row:last-child.expander:not(:checked) row.header, list.content > row:last-child.expander:not(:checked) row.header, list.boxed-list > row:last-child.expander:checked list.nested, list.content > row:last-child.expander:checked list.nested, list.boxed-list > row:last-child.expander:checked list.nested > row:last-child, list.content > row:last-child.expander:checked list.nested > row:last-child { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom-width: 0; } - -popover.menu > contents { min-width: 120px; } - -popover.menu scrollbar.vertical > range > trough > slider { min-height: 30px; } - -popover.menu box.inline-buttons { padding: 0 12px; } - -popover.menu box.inline-buttons button.image-button.model { min-height: 32px; min-width: 32px; padding: 0; border: none; outline: none; transition: none; } - -popover.menu box.inline-buttons button.image-button.model:selected { background-color: alpha(currentColor,0.1); } - -popover.menu box.inline-buttons button.image-button.model:selected:active { background-color: alpha(currentColor,0.19); } - -popover.menu box.circular-buttons { padding: 12px 12px 6px; } - -popover.menu box.circular-buttons button.circular.image-button.model { outline: none; padding: 11px; box-shadow: inset 0 0 0 1px alpha(currentColor,0.15); } - -popover.menu box.circular-buttons button.circular.image-button.model:selected { background-color: alpha(currentColor,0.13); box-shadow: none; } - -popover.menu box.circular-buttons button.circular.image-button.model:selected:active { background-color: alpha(currentColor,0.19); } - -popover.menu > contents { padding: 0; } - -popover.menu > contents > stack > box, popover.menu > contents > scrolledwindow > viewport > stack > box { padding: 6px; } - -popover.menu separator { margin: 6px 0; } - -popover.menu list separator { margin: 0; } - -popover.menu accelerator { color: alpha(currentColor,0.55); } - -popover.menu accelerator:dir(ltr) { margin-left: 12px; } - -popover.menu accelerator:dir(rtl) { margin-right: 12px; } - -popover.menu check, popover.menu radio { min-width: 14px; min-height: 14px; -gtk-icon-size: 14px; padding: 2px; } - -popover.menu check, popover.menu check:hover:checked, popover.menu check:hover:indeterminate, popover.menu check:hover:not(:checked):not(:indeterminate), popover.menu check:active:checked, popover.menu check:active:indeterminate, popover.menu check:active:not(:checked):not(:indeterminate), popover.menu radio, popover.menu radio:hover:checked, popover.menu radio:hover:indeterminate, popover.menu radio:hover:not(:checked):not(:indeterminate), popover.menu radio:active:checked, popover.menu radio:active:indeterminate, popover.menu radio:active:not(:checked):not(:indeterminate) { background: none; box-shadow: none; color: inherit; } - -.osd popover.menu check, .osd popover.menu radio { background: none; color: inherit; } - -popover.menu radio { padding: 1px; border: 1px solid alpha(currentColor,0.3); } - -popover.menu check.left, popover.menu radio.left, popover.menu arrow.left { margin-left: -2px; margin-right: 6px; } - -popover.menu check.right, popover.menu radio.right, popover.menu arrow.right { margin-left: 6px; margin-right: -2px; } - -popover.menu modelbutton { min-height: 32px; min-width: 40px; padding: 0 12px; border-radius: 6px; } - -popover.menu modelbutton:hover, popover.menu modelbutton:selected { background-color: alpha(currentColor,0.1); } - -popover.menu modelbutton:active { background-color: alpha(currentColor,0.19); } - -popover.menu modelbutton arrow { background: none; min-width: 16px; min-height: 16px; opacity: 0.3; } - -popover.menu modelbutton arrow:hover { background: none; } - -popover.menu modelbutton arrow:disabled { filter: opacity(0.5); } - -popover.menu modelbutton arrow.left { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } - -popover.menu modelbutton arrow.right { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } - -popover.menu label.title { font-weight: bold; padding: 4px 32px; } - -popover.menu list, popover.menu listview { background: none; color: inherit; } - -popover.menu list > row, popover.menu listview > row { border-radius: 6px; padding: 0 12px; min-height: 32px; min-width: 40px; } - -popover.menu list > row:selected, popover.menu listview > row:selected { background: none; } - -popover.menu list > row:hover, popover.menu list > row:hover:selected.activatable, popover.menu listview > row:hover, popover.menu listview > row:hover:selected.activatable { background-color: alpha(currentColor,0.1); } - -popover.menu list > row:active, popover.menu list > row:active:selected.activatable, popover.menu listview > row:active, popover.menu listview > row:active:selected.activatable { background-color: alpha(currentColor,0.19); } - -popover.menu list > row.has-open-popup, popover.menu list > row.has-open-popup:selected.activatable, popover.menu listview > row.has-open-popup, popover.menu listview > row.has-open-popup:selected.activatable { background-color: alpha(currentColor,0.1); } - -popover.menu list > row > box, popover.menu listview > row > box { border-spacing: 6px; } - -popover.menu contents > list, popover.menu contents > listview, popover.menu scrolledwindow > viewport > list, popover.menu scrolledwindow > listview { padding: 6px 0; } - -popover.menu contents > list > row, popover.menu contents > listview > row, popover.menu scrolledwindow > viewport > list > row, popover.menu scrolledwindow > listview > row { margin: 0 6px; padding: 9px 12px; min-height: 0; } - -menubar { box-shadow: inset 0 -1px alpha(currentColor,0.15); padding-bottom: 1px; } - -menubar > item { min-height: 16px; padding: 4px 8px; border-radius: 6px; } - -menubar > item:selected { background-color: alpha(currentColor,0.1); } - -menubar > item popover.menu popover.menu { padding: 0 0 4px 0; } - -menubar > item popover.menu popover.menu > contents { margin: 0; border-radius: 12px; } - -toolbarview > .top-bar menubar, toolbarview > .bottom-bar menubar { box-shadow: none; padding-bottom: 0; } - -/******************** GtkMessageDialog * */ -window.dialog.message .titlebar { min-height: 20px; background: none; box-shadow: none; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } - -window.dialog.message box.dialog-vbox.vertical { margin-top: 6px; border-spacing: 24px; } - -window.dialog.message box.dialog-vbox.vertical > box > box > box > label.title { font-weight: 800; font-size: 15pt; } - -window.dialog.message.csd { border-bottom-left-radius: 13px; border-bottom-right-radius: 13px; } - -window.dialog.message.csd .dialog-action-area { border-top: 1px solid alpha(currentColor,0.15); margin: 0; border-spacing: 0; } - -window.dialog.message.csd .dialog-action-area > button { padding: 10px 14px; border-radius: 0; border: none; background-clip: padding-box; border-left: 1px solid alpha(currentColor,0.15); } - -window.dialog.message.csd .dialog-action-area > button:first-child { border-bottom-left-radius: 13px; border-left: none; } - -window.dialog.message.csd .dialog-action-area > button:last-child { border-bottom-right-radius: 13px; } - -window.dialog.message.csd .dialog-action-area > button.suggested-action { color: @accent_color; } - -window.dialog.message.csd .dialog-action-area > button.destructive-action { color: @destructive_color; } - -/******************** AdwMessageDialog * */ -window.messagedialog, dialog-host > dialog.alert sheet, window.dialog-window.alert { background-color: @dialog_bg_color; color: @dialog_fg_color; } - -window.messagedialog { outline: none; } - -dialog-host > dialog.alert.floating sheet, window.dialog-window.alert { border-radius: 13px; outline: none; } - -window.messagedialog .message-area, dialog.alert .message-area { padding: 24px 30px; border-spacing: 24px; } - -window.messagedialog .message-area.has-heading.has-body, dialog.alert .message-area.has-heading.has-body { border-spacing: 10px; } - -window.messagedialog .response-area > button, dialog.alert .response-area > button { padding: 10px 14px; border-radius: 0; } - -window.messagedialog .response-area > button.suggested, dialog.alert .response-area > button.suggested { color: @accent_color; } - -window.messagedialog .response-area > button.destructive, dialog.alert .response-area > button.destructive { color: @destructive_color; } - -window.messagedialog .response-area:not(.compact) > button, dialog.alert .response-area:not(.compact) > button { margin-top: -1px; margin-right: -1px; margin-left: -1px; } - -window.messagedialog .response-area:not(.compact) > button:first-child:dir(ltr), window.messagedialog .response-area:not(.compact) > button:last-child:dir(rtl), dialog.alert .response-area:not(.compact) > button:first-child:dir(ltr), dialog.alert .response-area:not(.compact) > button:last-child:dir(rtl) { margin-left: 0; } - -window.messagedialog .response-area:not(.compact) > button:last-child:dir(ltr), window.messagedialog .response-area:not(.compact) > button:first-child:dir(rtl), dialog.alert .response-area:not(.compact) > button:last-child:dir(ltr), dialog.alert .response-area:not(.compact) > button:first-child:dir(rtl) { margin-right: 0; } - -window.messagedialog .response-area.compact > button, dialog.alert .response-area.compact > button { margin-top: -1px; margin-bottom: -1px; } - -window.messagedialog .response-area.compact > button:first-child, dialog.alert .response-area.compact > button:first-child { margin-bottom: 0; } - -window.messagedialog .response-area:not(.compact) > button:first-child:dir(ltr), window.messagedialog .response-area:not(.compact) > button:last-child:dir(rtl), dialog.alert.floating .response-area:not(.compact) > button:first-child:dir(ltr), dialog.alert.floating .response-area:not(.compact) > button:last-child:dir(rtl) { border-bottom-left-radius: 13px; } - -window.messagedialog .response-area:not(.compact) > button:last-child:dir(ltr), window.messagedialog .response-area:not(.compact) > button:first-child:dir(rtl), dialog.alert.floating .response-area:not(.compact) > button:last-child:dir(ltr), dialog.alert.floating .response-area:not(.compact) > button:first-child:dir(rtl) { border-bottom-right-radius: 13px; } - -window.messagedialog .response-area.compact > button:first-child, dialog.alert.floating .response-area.compact > button:first-child { border-bottom-left-radius: 13px; border-bottom-right-radius: 13px; } - -/********** Frames * */ -frame, .frame { border: 1px solid alpha(currentColor,0.15); } - -frame { border-radius: 12px; } - -frame > label { margin: 4px; } - -/************** Separators * */ -separator { background: alpha(currentColor,0.15); min-width: 1px; min-height: 1px; } - -separator.spacer { background: none; } - -separator.spacer.horizontal { min-width: 12px; } - -separator.spacer.vertical { min-height: 12px; } - -/********************* App Notifications * */ -.app-notification { padding: 10px; border-spacing: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; } - -.app-notification border { border: none; } - -/********** Toasts * */ -toast { margin: 12px; margin-bottom: 24px; border-radius: 150px; border-spacing: 6px; padding: 6px; } - -toast:dir(ltr) { padding-left: 12px; } - -toast:dir(rtl) { padding-right: 12px; } - -toast > widget { margin: 0 6px; } - -/************** GtkVideo * */ -video { background: black; } - -video image.osd { min-width: 64px; min-height: 64px; border-radius: 32px; } - -/****************** AdwAboutWindow * */ -window.about .main-page > viewport > clamp > box, dialog.about .main-page > viewport > clamp > box { margin: 12px; border-spacing: 6px; } - -window.about .main-page > viewport > clamp > box > box, dialog.about .main-page > viewport > clamp > box > box { margin-top: 18px; border-spacing: 18px; margin-bottom: 6px; } - -window.about .main-page .app-version, dialog.about .main-page .app-version { padding: 3px 18px; color: @accent_color; border-radius: 999px; margin-top: 3px; } - -window.about .subpage > viewport > clamp > box, dialog.about .subpage > viewport > clamp > box { margin: 18px 12px; border-spacing: 18px; } - -window.about .subpage > clamp > textview, dialog.about .subpage > clamp > textview { background: none; color: inherit; } - -/***************** AdwStatusPage * */ -statuspage > scrolledwindow > viewport > box { margin: 36px 12px; border-spacing: 36px; } - -statuspage > scrolledwindow > viewport > box > clamp > box { border-spacing: 12px; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon { -gtk-icon-size: 128px; color: alpha(currentColor,0.55); } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon:disabled { opacity: 0.5; } - -statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 24px; } - -statuspage.compact > scrolledwindow > viewport > box { margin: 24px 12px; border-spacing: 24px; } - -statuspage.compact > scrolledwindow > viewport > box > clamp > box > .icon { -gtk-icon-size: 96px; } - -statuspage.compact > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 12px; } - -statuspage.compact > scrolledwindow > viewport > box > clamp > box > .title { font-size: 18pt; } - -/* Cards */ -shortcut > .keycap, list.boxed-list, list.content, .card { background-color: @card_bg_color; color: @card_fg_color; border-radius: 12px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } - -.osd shortcut > .keycap, .osd list.boxed-list, .osd list.content, shortcut > .osd.keycap, list.osd.boxed-list, list.osd.content, .osd .card, .card.osd { background-color: alpha(currentColor,0.1); color: inherit; box-shadow: none; } - -.card { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -.card:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } - -.osd .card:focus:focus-visible, .card.osd:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -.card.activatable { transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -.card.activatable:hover { background-image: image(alpha(currentColor,0.03)); } - -.card.activatable:active { background-image: image(alpha(currentColor,0.08)); } - -/* Transition shadows */ -flap > dimming, leaflet > dimming, navigation-view > dimming, overlay-split-view > dimming { background: @shade_color; } - -flap > shadow, leaflet > shadow, navigation-view > shadow, overlay-split-view > shadow { min-width: 56px; min-height: 56px; } - -flap > shadow.left, leaflet > shadow.left, navigation-view > shadow.left, overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to right, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } - -flap > shadow.right, leaflet > shadow.right, navigation-view > shadow.right, overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to left, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } - -flap > shadow.up, leaflet > shadow.up, navigation-view > shadow.up, overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to bottom, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } - -flap > shadow.down, leaflet > shadow.down, navigation-view > shadow.down, overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to top, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } - -notebook > header > tabs > tab:checked { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -notebook:focus:focus-visible > header > tabs > tab:checked { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -notebook > header { padding: 1px; border-color: alpha(currentColor,0.15); border-width: 1px; background-clip: padding-box; } - -notebook > header > tabs { margin: -1px; } - -notebook > header.top { border-bottom-style: solid; } - -notebook > header.top > tabs { margin-bottom: -2px; } - -notebook > header.top > tabs > tab:hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } - -notebook > header.top > tabs > tab:checked { box-shadow: inset 0 -4px @accent_bg_color; } - -notebook > header.bottom { border-top-style: solid; } - -notebook > header.bottom > tabs { margin-top: -2px; } - -notebook > header.bottom > tabs > tab:hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } - -notebook > header.bottom > tabs > tab:checked { box-shadow: inset 0 4px @accent_bg_color; } - -notebook > header.left { border-right-style: solid; } - -notebook > header.left > tabs { margin-right: -2px; } - -notebook > header.left > tabs > tab:hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } - -notebook > header.left > tabs > tab:checked { box-shadow: inset -4px 0 @accent_bg_color; } - -notebook > header.right { border-left-style: solid; } - -notebook > header.right > tabs { margin-left: -2px; } - -notebook > header.right > tabs > tab:hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } - -notebook > header.right > tabs > tab:checked { box-shadow: inset 4px 0 @accent_bg_color; } - -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 { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } - -notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } - -notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -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 { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } - -notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } - -notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } - -notebook > header > tabs > arrow:hover:not(:active) { box-shadow: none; } - -notebook > header > tabs > tab { transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); min-height: 30px; min-width: 30px; padding: 3px 12px; font-weight: normal; } - -notebook > header > tabs > tab:hover, notebook > header > tabs > tab:active { background-color: alpha(currentColor,0.07); } - -notebook > header > tabs > tab:not(:checked) { outline-color: transparent; } - -notebook > header > tabs > tab:disabled { filter: opacity(0.5); } - -notebook > header > tabs > tab:disabled label, notebook > header > tabs > tab:disabled button { filter: none; } - -notebook > header > tabs > tab button.flat { color: alpha(currentColor,0.3); padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; } - -notebook > header > tabs > tab button.flat:hover, notebook > header > tabs > tab button.flat:active { color: currentColor; } - -notebook > header > tabs > tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } - -notebook > header > tabs > tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } - -notebook > header.top > tabs, notebook > header.bottom > tabs { padding-left: 4px; padding-right: 4px; } - -notebook > header.top > tabs:not(:only-child), notebook > header.bottom > tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } - -notebook > header.top > tabs:not(:only-child):first-child, notebook > header.bottom > tabs:not(:only-child):first-child { margin-left: -1px; } - -notebook > header.top > tabs:not(:only-child):last-child, notebook > header.bottom > tabs:not(:only-child):last-child { margin-right: -1px; } - -notebook > header.top > tabs > tab, notebook > header.bottom > tabs > tab { margin-left: 4px; margin-right: 4px; } - -notebook > header.left > tabs, notebook > header.right > tabs { padding-top: 4px; padding-bottom: 4px; } - -notebook > header.left > tabs:not(:only-child), notebook > header.right > tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } - -notebook > header.left > tabs:not(:only-child):first-child, notebook > header.right > tabs:not(:only-child):first-child { margin-top: -1px; } - -notebook > header.left > tabs:not(:only-child):last-child, notebook > header.right > tabs:not(:only-child):last-child { margin-bottom: -1px; } - -notebook > header.left > tabs > tab, notebook > header.right > tabs > tab { margin-top: 4px; margin-bottom: 4px; } - -notebook > header.top > tabs > tab { padding-bottom: 4px; } - -notebook > header.bottom > tabs > tab { padding-top: 4px; } - -notebook > stack:not(:only-child) { background-color: @view_bg_color; } - -paned > separator { min-width: 1px; min-height: 1px; background: none; background-size: 1px 1px; } - -paned > separator.wide { min-width: 5px; min-height: 5px; } - -paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; box-shadow: inset 1px 0 alpha(currentColor,0.15); } - -paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } - -paned.horizontal > separator.wide { margin: 0; padding: 0; box-shadow: inset 1px 0 alpha(currentColor,0.15), inset -1px 0 alpha(currentColor,0.15); } - -paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; box-shadow: inset 0 1px alpha(currentColor,0.15); } - -paned.vertical > separator.wide { margin: 0; padding: 0; box-shadow: inset 0 1px alpha(currentColor,0.15), inset 0 -1px alpha(currentColor,0.15); } - -toolbarview.undershoot-top popover scrolledwindow undershoot.top, toolbarview.undershoot-bottom popover scrolledwindow undershoot.bottom { background: none; box-shadow: none; } - -popover.background { background-color: transparent; font: initial; } - -popover > arrow, popover > contents { background-color: @popover_bg_color; color: @popover_fg_color; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.14); box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 14px 3px rgba(0, 0, 0, 0.05); } - -popover > contents { padding: 8px; border-radius: 12px; } - -popover > contents > list, popover > contents > .view, window.print popover > contents > .dialog-action-box, popover > contents > toolbar { border-style: none; background-color: transparent; } - -.osd popover, popover.touch-selection, popover.magnifier { background-color: transparent; } - -.osd popover > arrow, .osd popover > contents, popover.touch-selection > arrow, popover.touch-selection > contents, popover.magnifier > arrow, popover.magnifier > contents { border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: none; } - -popover toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@popover_shade_color,0.75); background: linear-gradient(to top, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@popover_shade_color,0.75); background: linear-gradient(to top, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to right, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to left, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to left, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to right, alpha(@popover_shade_color,0.75), transparent 4px); } - -popover flap > dimming, popover leaflet > dimming, popover navigation-view > dimming, popover overlay-split-view > dimming { background: @popover_shade_color; } - -popover flap > shadow, popover leaflet > shadow, popover navigation-view > shadow, popover overlay-split-view > shadow { min-width: 56px; min-height: 56px; } - -popover flap > shadow.left, popover leaflet > shadow.left, popover navigation-view > shadow.left, popover overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to right, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } - -popover flap > shadow.right, popover leaflet > shadow.right, popover navigation-view > shadow.right, popover overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to left, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } - -popover flap > shadow.up, popover leaflet > shadow.up, popover navigation-view > shadow.up, popover overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to bottom, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } - -popover flap > shadow.down, popover leaflet > shadow.down, popover navigation-view > shadow.down, popover overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to top, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } - -preferencespage > scrolledwindow > viewport > clamp > box { margin: 24px 12px; border-spacing: 24px; } - -preferencesgroup > box, preferencesgroup > box .labels { border-spacing: 6px; } - -preferencesgroup > box > box.header:not(.single-line) { margin-bottom: 6px; } - -preferencesgroup > box > box.single-line { min-height: 34px; } - -progressbar.horizontal > trough { min-width: 150px; } - -progressbar.horizontal > trough, progressbar.horizontal > trough > progress { min-height: 8px; } - -progressbar.vertical > trough { min-height: 80px; } - -progressbar.vertical > trough, progressbar.vertical > trough > progress { min-width: 8px; } - -progressbar > text { font-size: smaller; } - -progressbar:disabled { filter: opacity(0.5); } - -progressbar > trough > progress { /* share most of scales' */ border-radius: 99px; } - -progressbar > trough > progress.left { border-top-left-radius: 99px; border-bottom-left-radius: 99px; } - -progressbar > trough > progress.right { border-top-right-radius: 99px; border-bottom-right-radius: 99px; } - -progressbar > trough > progress.top { border-top-right-radius: 99px; border-top-left-radius: 99px; } - -progressbar > trough > progress.bottom { border-bottom-right-radius: 99px; border-bottom-left-radius: 99px; } - -progressbar.osd { min-width: 2px; min-height: 2px; background-color: transparent; color: inherit; } - -progressbar.osd > trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } - -progressbar.osd > trough > progress { border-style: none; border-radius: 0; } - -progressbar.osd.horizontal > trough, progressbar.osd.horizontal > trough > progress { min-height: 2px; } - -progressbar.osd.vertical > trough, progressbar.osd.vertical > trough > progress { min-width: 2px; } - -progressbar > trough.empty > progress { all: unset; } - -.osd progressbar > trough > progress { background-color: rgba(255, 255, 255, 0.75); } - -scale > trough > fill, scale > trough, progressbar > trough { border-radius: 99px; background-color: alpha(currentColor,0.15); } - -scale > trough > highlight, progressbar > trough > progress { border-radius: 99px; background-color: @accent_bg_color; color: @accent_fg_color; } - -scale { min-height: 10px; min-width: 10px; padding: 12px; } - -scale > trough > slider { outline: 0 solid transparent; outline-offset: 6px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -scale:focus:focus-visible > trough > slider { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 0; } - -scale > trough > slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.2); border-radius: 100%; min-width: 20px; min-height: 20px; margin: -8px; } - -scale:hover > trough, scale:active > trough { background-color: alpha(currentColor,0.2); } - -scale:hover > trough > highlight, scale:active > trough > highlight { background-image: image(alpha(currentColor,0.1)); } - -scale:hover > trough > slider, scale:active > trough > slider { background-color: white; } - -.osd scale:focus:focus-visible > trough { outline-color: rgba(255, 255, 255, 0.5); } - -.osd scale > trough > highlight { background-color: rgba(255, 255, 255, 0.75); color: rgba(0, 0, 0, 0.75); } - -scale:disabled { filter: opacity(0.5); } - -scale:disabled > trough > slider { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px transparent; outline-color: rgba(0, 0, 0, 0.2); } - -scale.fine-tune { padding: 9px; } - -scale.fine-tune.horizontal { min-height: 16px; } - -scale.fine-tune.vertical { min-width: 16px; } - -scale.fine-tune > trough > slider { margin: -5px; } - -scale.marks-before:not(.marks-after) > trough > slider, scale.marks-after:not(.marks-before) > trough > slider { transform: rotate(45deg); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 1px 1px 4px rgba(0, 0, 0, 0.2); } - -scale.marks-before:not(.marks-after) > trough > slider:disabled, scale.marks-after:not(.marks-before) > trough > slider:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 1px 1px 4px transparent; } - -scale.horizontal > marks { color: alpha(currentColor,0.55); } - -scale.horizontal > marks.top { margin-bottom: 6px; } - -scale.horizontal > marks.bottom { margin-top: 6px; } - -scale.horizontal > marks indicator { background-color: currentColor; min-height: 6px; min-width: 1px; } - -scale.horizontal > value.left { margin-right: 9px; } - -scale.horizontal > value.right { margin-left: 9px; } - -scale.horizontal.fine-tune > marks.top { margin-top: 3px; } - -scale.horizontal.fine-tune > marks.bottom { margin-bottom: 3px; } - -scale.horizontal.fine-tune > marks indicator { min-height: 3px; } - -scale.horizontal.marks-before { padding-top: 0; } - -scale.horizontal.marks-before > trough > slider { border-top-left-radius: 0; } - -scale.horizontal.marks-after { padding-bottom: 0; } - -scale.horizontal.marks-after > trough > slider { border-bottom-right-radius: 0; } - -scale.horizontal.marks-before.marks-after > trough > slider { border-radius: 100%; } - -scale.vertical > marks { color: alpha(currentColor,0.55); } - -scale.vertical > marks.top { margin-right: 6px; } - -scale.vertical > marks.bottom { margin-left: 6px; } - -scale.vertical > marks indicator { background-color: currentColor; min-height: 1px; min-width: 6px; } - -scale.vertical > value.top { margin-bottom: 9px; } - -scale.vertical > value.bottom { margin-top: 9px; } - -scale.vertical.fine-tune > marks.top { margin-left: 3px; } - -scale.vertical.fine-tune > marks.bottom { margin-right: 3px; } - -scale.vertical.fine-tune > marks indicator { min-height: 3px; } - -scale.vertical.marks-before { padding-left: 0; } - -scale.vertical.marks-before > trough > slider { border-bottom-left-radius: 0; } - -scale.vertical.marks-after { padding-right: 0; } - -scale.vertical.marks-after > trough > slider { border-top-right-radius: 0; } - -scale.color { padding: 0; } - -scale.color > trough { border: none; background: none; border-radius: 10px; } - -scale.color > trough > slider { margin: 0; background-color: rgba(255, 255, 255, 0.8); } - -scale.color.fine-tune { padding: 2px; } - -scale.color.fine-tune > trough > slider { margin: -2px; } - -scrollbar > range > trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; } - -scrollbar > range > trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; background-color: alpha(currentColor,0.2); } - -scrollbar > range > trough > slider:hover { background-color: alpha(currentColor,0.4); } - -scrollbar > range > trough > slider:active { background-color: alpha(currentColor,0.6); } - -scrollbar > range > trough > slider:disabled { opacity: 0; } - -scrollbar.horizontal > range > trough { margin-top: 6px; margin-bottom: 6px; } - -scrollbar.vertical > range > trough { margin-left: 6px; margin-right: 6px; } - -scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } - -scrollbar.overlay-indicator > range > trough { outline: 1px solid transparent; } - -scrollbar.overlay-indicator > range > trough > slider { outline: 1px solid alpha(@scrollbar_outline_color,0.6); outline-offset: -6px; } - -.osd scrollbar.overlay-indicator > range > trough > slider { outline: 1px solid alpha(rgba(0, 0, 0, 0.5),0.6); } - -scrollbar.overlay-indicator:not(.hovering) > range > trough > slider { min-width: 3px; min-height: 3px; outline-color: alpha(@scrollbar_outline_color,0.35); } - -.osd scrollbar.overlay-indicator:not(.hovering) > range > trough > slider { outline-color: alpha(rgba(0, 0, 0, 0.5),0.35); } - -scrollbar.overlay-indicator.hovering > range > trough { background-color: alpha(currentColor,0.1); } - -scrollbar.overlay-indicator.horizontal > range > trough > slider { min-width: 40px; } - -scrollbar.overlay-indicator.horizontal.hovering > range > trough > slider { min-height: 8px; } - -scrollbar.overlay-indicator.horizontal:not(.hovering) > range > trough { margin-top: 3px; margin-bottom: 3px; } - -scrollbar.overlay-indicator.vertical > range > trough > slider { min-height: 40px; } - -scrollbar.overlay-indicator.vertical.hovering > range > trough > slider { min-width: 8px; } - -scrollbar.overlay-indicator.vertical:not(.hovering) > range > trough { margin-left: 3px; margin-right: 3px; } - -scrollbar.horizontal > range > trough > slider { min-width: 40px; } - -scrollbar.vertical > range > trough > slider { min-height: 40px; } - -scrollbar > range.fine-tune > trough > slider, scrollbar > range.fine-tune > trough > slider:hover, scrollbar > range.fine-tune > trough > slider:active { background-color: alpha(@accent_color,0.6); } - -scrolledwindow > overshoot.top { background-image: radial-gradient(farthest-side at top, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at top, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 100% 3%, 100% 50%; background-repeat: no-repeat; background-position: top; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow > overshoot.bottom { background-image: radial-gradient(farthest-side at bottom, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at bottom, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 100% 3%, 100% 50%; background-repeat: no-repeat; background-position: bottom; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow > overshoot.left { background-image: radial-gradient(farthest-side at left, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at left, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 3% 100%, 50% 100%; background-repeat: no-repeat; background-position: left; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow > overshoot.right { background-image: radial-gradient(farthest-side at right, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at right, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 3% 100%, 50% 100%; background-repeat: no-repeat; background-position: right; background-color: transparent; border: none; box-shadow: none; } - -scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } - -scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@shade_color,0.75); background: linear-gradient(to top, alpha(@shade_color,0.75), transparent 4px); } - -scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@shade_color,0.75); background: linear-gradient(to right, alpha(@shade_color,0.75), transparent 4px); } - -scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@shade_color,0.75); background: linear-gradient(to left, alpha(@shade_color,0.75), transparent 4px); } - -scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@shade_color,0.75); background: linear-gradient(to left, alpha(@shade_color,0.75), transparent 4px); } - -scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@shade_color,0.75); background: linear-gradient(to right, alpha(@shade_color,0.75), transparent 4px); } - -shortcuts-section { margin: 20px; } - -.shortcuts-search-results { margin: 20px; border-spacing: 24px; } - -shortcut { border-spacing: 6px; border-radius: 6px; } - -shortcut { outline: 0 solid transparent; outline-offset: 8px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -shortcut:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 4px; } - -shortcut > .keycap { min-width: 20px; min-height: 25px; padding: 2px 6px; border-radius: 6px; font-size: smaller; } - -shortcuts-section stackswitcher.circular { border-spacing: 12px; } - -shortcuts-section stackswitcher.circular > button.circular, shortcuts-section stackswitcher.circular > button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } - -window.shortcuts headerbar.titlebar > windowhandle { padding-top: 3px; } - -window.shortcuts searchbar { background: none; } - -.sidebar-pane { background-color: @sidebar_bg_color; color: @sidebar_fg_color; } - -.sidebar-pane:backdrop { background-color: @sidebar_backdrop_color; transition: background-color 200ms ease-out; } - -.sidebar-pane toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@sidebar_shade_color,0.75), transparent 4px); } - -.sidebar-pane flap > dimming, .sidebar-pane leaflet > dimming, .sidebar-pane navigation-view > dimming, .sidebar-pane overlay-split-view > dimming { background: @sidebar_shade_color; } - -.sidebar-pane flap > shadow, .sidebar-pane leaflet > shadow, .sidebar-pane navigation-view > shadow, .sidebar-pane overlay-split-view > shadow { min-width: 56px; min-height: 56px; } - -.sidebar-pane flap > shadow.left, .sidebar-pane leaflet > shadow.left, .sidebar-pane navigation-view > shadow.left, .sidebar-pane overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to right, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } - -.sidebar-pane flap > shadow.right, .sidebar-pane leaflet > shadow.right, .sidebar-pane navigation-view > shadow.right, .sidebar-pane overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to left, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } - -.sidebar-pane flap > shadow.up, .sidebar-pane leaflet > shadow.up, .sidebar-pane navigation-view > shadow.up, .sidebar-pane overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to bottom, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } - -.sidebar-pane flap > shadow.down, .sidebar-pane leaflet > shadow.down, .sidebar-pane navigation-view > shadow.down, .sidebar-pane overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to top, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } - -.sidebar-pane banner > revealer > widget { background-color: mix(@accent_bg_color,@sidebar_bg_color,0.7); color: @sidebar_fg_color; } - -.sidebar-pane banner > revealer > widget:backdrop { background-color: mix(@accent_bg_color,@sidebar_backdrop_color,0.85); } - -.sidebar-pane:dir(ltr), .sidebar-pane:dir(ltr) banner > revealer > widget, .sidebar-pane.end:dir(rtl), .sidebar-pane.end:dir(rtl) banner > revealer > widget { box-shadow: inset -1px 0 @sidebar_border_color; } - -.sidebar-pane:dir(rtl), .sidebar-pane:dir(rtl) banner > revealer > widget, .sidebar-pane.end:dir(ltr), .sidebar-pane.end:dir(ltr) banner > revealer > widget { box-shadow: inset 1px 0 @sidebar_border_color; } - -/* Middle pane in three-pane setups */ -.content-pane .sidebar-pane, .sidebar-pane .content-pane { background-color: @secondary_sidebar_bg_color; color: @secondary_sidebar_fg_color; } - -.content-pane .sidebar-pane:backdrop, .sidebar-pane .content-pane:backdrop { background-color: @secondary_sidebar_backdrop_color; transition: background-color 200ms ease-out; } - -.content-pane .sidebar-pane toolbarview.undershoot-top scrolledwindow > undershoot.top, .sidebar-pane .content-pane toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom, .sidebar-pane .content-pane toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-top > undershoot.top, .sidebar-pane .content-pane scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-bottom > undershoot.bottom, .sidebar-pane .content-pane scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-start:dir(ltr) > undershoot.left, .sidebar-pane .content-pane scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-start:dir(rtl) > undershoot.right, .sidebar-pane .content-pane scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-end:dir(ltr) > undershoot.right, .sidebar-pane .content-pane scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane scrolledwindow.undershoot-end:dir(rtl) > undershoot.left, .sidebar-pane .content-pane scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } - -.content-pane .sidebar-pane flap > dimming, .content-pane .sidebar-pane leaflet > dimming, .content-pane .sidebar-pane navigation-view > dimming, .content-pane .sidebar-pane overlay-split-view > dimming, .sidebar-pane .content-pane flap > dimming, .sidebar-pane .content-pane leaflet > dimming, .sidebar-pane .content-pane navigation-view > dimming, .sidebar-pane .content-pane overlay-split-view > dimming { background: @secondary_sidebar_shade_color; } - -.content-pane .sidebar-pane flap > shadow, .content-pane .sidebar-pane leaflet > shadow, .content-pane .sidebar-pane navigation-view > shadow, .content-pane .sidebar-pane overlay-split-view > shadow, .sidebar-pane .content-pane flap > shadow, .sidebar-pane .content-pane leaflet > shadow, .sidebar-pane .content-pane navigation-view > shadow, .sidebar-pane .content-pane overlay-split-view > shadow { min-width: 56px; min-height: 56px; } - -.content-pane .sidebar-pane flap > shadow.left, .content-pane .sidebar-pane leaflet > shadow.left, .content-pane .sidebar-pane navigation-view > shadow.left, .content-pane .sidebar-pane overlay-split-view > shadow.left, .sidebar-pane .content-pane flap > shadow.left, .sidebar-pane .content-pane leaflet > shadow.left, .sidebar-pane .content-pane navigation-view > shadow.left, .sidebar-pane .content-pane overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } - -.content-pane .sidebar-pane flap > shadow.right, .content-pane .sidebar-pane leaflet > shadow.right, .content-pane .sidebar-pane navigation-view > shadow.right, .content-pane .sidebar-pane overlay-split-view > shadow.right, .sidebar-pane .content-pane flap > shadow.right, .sidebar-pane .content-pane leaflet > shadow.right, .sidebar-pane .content-pane navigation-view > shadow.right, .sidebar-pane .content-pane overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } - -.content-pane .sidebar-pane flap > shadow.up, .content-pane .sidebar-pane leaflet > shadow.up, .content-pane .sidebar-pane navigation-view > shadow.up, .content-pane .sidebar-pane overlay-split-view > shadow.up, .sidebar-pane .content-pane flap > shadow.up, .sidebar-pane .content-pane leaflet > shadow.up, .sidebar-pane .content-pane navigation-view > shadow.up, .sidebar-pane .content-pane overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } - -.content-pane .sidebar-pane flap > shadow.down, .content-pane .sidebar-pane leaflet > shadow.down, .content-pane .sidebar-pane navigation-view > shadow.down, .content-pane .sidebar-pane overlay-split-view > shadow.down, .sidebar-pane .content-pane flap > shadow.down, .sidebar-pane .content-pane leaflet > shadow.down, .sidebar-pane .content-pane navigation-view > shadow.down, .sidebar-pane .content-pane overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } - -.content-pane .sidebar-pane banner > revealer > widget, .sidebar-pane .content-pane banner > revealer > widget { background-color: mix(@accent_bg_color,@secondary_sidebar_bg_color,0.7); color: @secondary_sidebar_fg_color; } - -.content-pane .sidebar-pane banner > revealer > widget:backdrop, .sidebar-pane .content-pane banner > revealer > widget:backdrop { background-color: mix(@accent_bg_color,@secondary_sidebar_backdrop_color,0.85); } - -.content-pane .sidebar-pane:dir(ltr), .content-pane .sidebar-pane:dir(ltr) banner > revealer > widget, .content-pane .sidebar-pane.end:dir(rtl), .content-pane .sidebar-pane.end:dir(rtl) banner > revealer > widget, .sidebar-pane .content-pane:dir(ltr), .sidebar-pane .content-pane:dir(ltr) banner > revealer > widget, .sidebar-pane .content-pane.end:dir(rtl), .sidebar-pane .content-pane.end:dir(rtl) banner > revealer > widget { box-shadow: inset -1px 0 @secondary_sidebar_border_color; } - -.content-pane .sidebar-pane:dir(rtl), .content-pane .sidebar-pane:dir(rtl) banner > revealer > widget, .content-pane .sidebar-pane.end:dir(ltr), .content-pane .sidebar-pane.end:dir(ltr) banner > revealer > widget, .sidebar-pane .content-pane:dir(rtl), .sidebar-pane .content-pane:dir(rtl) banner > revealer > widget, .sidebar-pane .content-pane.end:dir(ltr), .sidebar-pane .content-pane.end:dir(ltr) banner > revealer > widget { box-shadow: inset 1px 0 @secondary_sidebar_border_color; } - -.sidebar-pane .sidebar-pane { background-color: transparent; color: inherit; } - -stacksidebar row { padding: 10px 4px; } - -stacksidebar row > label { padding-left: 6px; padding-right: 6px; } - -stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } - -/********************** Navigation Sidebar * */ -.navigation-sidebar { padding: 6px 0; } - -.navigation-sidebar, .navigation-sidebar.view, window.print .navigation-sidebar.dialog-action-box, .navigation-sidebar.view:disabled { background-color: transparent; color: inherit; } - -.navigation-sidebar.background, .navigation-sidebar.background:disabled { background-color: @window_bg_color; color: @window_fg_color; } - -.navigation-sidebar row.activatable:hover { background-color: alpha(currentColor,0.07); } - -.navigation-sidebar row.activatable:active { background-color: alpha(currentColor,0.16); } - -.navigation-sidebar row.activatable.has-open-popup { background-color: alpha(currentColor,0.07); } - -.navigation-sidebar row.activatable:selected:hover { background-color: alpha(currentColor,0.13); } - -.navigation-sidebar row.activatable:selected:active { background-color: alpha(currentColor,0.19); } - -.navigation-sidebar row.activatable:selected.has-open-popup { background-color: alpha(currentColor,0.13); } - -.navigation-sidebar row:selected { background-color: alpha(currentColor,0.1); } - -.navigation-sidebar > separator { margin: 6px; } - -.navigation-sidebar > row { min-height: 36px; padding: 0 8px; border-radius: 6px; margin: 0 6px 2px; } - -@keyframes spin { to { transform: rotate(1turn); } } - -spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } - -spinner:checked { opacity: 1; animation: spin 1s linear infinite; } - -spinner:checked:disabled { opacity: 0.5; } - -spinbutton { padding: 0; border-spacing: 0; /* :not here just to bump specificity above that of the list button styling */ } - -spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { margin: 0; border-radius: 0; box-shadow: none; border-style: solid; border-color: alpha(currentColor,0.1); } - -spinbutton:not(.vertical) { /* :not here just to bump specificity above that of the list button styling */ } - -spinbutton:not(.vertical) > text { min-width: 28px; padding: 6px; } - -spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { min-height: 16px; min-width: 22px; padding-bottom: 0; padding-top: 0; border-left-width: 1px; } - -spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl), spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl) { border-left-width: 0; border-right-width: 1px; } - -spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child { border-radius: 0 6px 6px 0; } - -spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child { border-radius: 6px 0 0 6px; } - -spinbutton.vertical { /* :not here just to bump specificity above that of the list button styling */ } - -spinbutton.vertical > text { min-height: 30px; min-width: 30px; } - -spinbutton.vertical > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, spinbutton.vertical > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child { border-top-width: 1px; border-radius: 0 0 6px 6px; } - -spinbutton.vertical > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):first-child, spinbutton.vertical > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):first-child { border-bottom-width: 1px; border-radius: 6px 6px 0 0; } - -switch { border-radius: 14px; padding: 3px; background-color: alpha(currentColor,0.15); } - -switch:hover { background-color: alpha(currentColor,0.2); } - -switch:active { background-color: alpha(currentColor,0.25); } - -switch { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -switch:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 1px; } - -switch:disabled { filter: opacity(0.5); } - -switch > slider { min-width: 20px; min-height: 20px; border-radius: 50%; background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } - -switch > slider:disabled { box-shadow: 0 2px 4px transparent; } - -switch:hover > slider, switch:active > slider { background: white; } - -switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } - -switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } - -switch:checked:active { background-image: image(rgba(0, 0, 0, 0.2)); } - -switch:checked > slider { background-color: white; } - -.osd switch:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -.osd switch:checked { background-color: rgba(255, 255, 255, 0.6); color: rgba(0, 0, 0, 0.75); } - -tabbar .box { background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 -1px @headerbar_shade_color; padding: 1px; padding-top: 0; } - -tabbar .box:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } - -tabbar .box:backdrop > scrolledwindow, tabbar .box:backdrop > .start-action, tabbar .box:backdrop > .end-action { filter: opacity(0.5); transition: filter 200ms ease-out; } - -tabbar tabbox { padding-bottom: 6px; padding-top: 6px; min-height: 34px; } - -tabbar tabbox > tabboxchild { border-radius: 6px; } - -tabbar tabbox > tabboxchild { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -tabbar tabbox > tabboxchild:focus-within:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -tabbar tabbox > separator { margin-top: 3px; margin-bottom: 3px; transition: opacity 150ms ease-in-out; } - -tabbar tabbox > separator.hidden { opacity: 0; } - -tabbar tabbox > revealer > indicator { min-width: 2px; border-radius: 2px; margin: 3px 6px; background: alpha(@accent_color,0.5); } - -tabbar tab { transition: background 150ms ease-in-out; } - -tabbar tab:selected { background-color: alpha(currentColor,0.1); } - -tabbar tab:selected:hover { background-color: alpha(currentColor,0.13); } - -tabbar tab:selected:active { background-color: alpha(currentColor,0.19); } - -tabbar tab:hover { background-color: alpha(currentColor,0.07); } - -tabbar tab:active { background-color: alpha(currentColor,0.16); } - -tabbar tabbox.single-tab tab, tabbar tabbox.single-tab tab:hover, tabbar tabbox.single-tab tab:active { background: none; } - -tabbar .start-action, tabbar .end-action { padding: 6px 5px; } - -tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { padding-right: 0; } - -tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { padding-left: 0; } - -toolbarview > .top-bar tabbar .box, toolbarview > .bottom-bar tabbar .box, tabbar.inline .box { background-color: transparent; color: inherit; box-shadow: none; padding-bottom: 0; } - -toolbarview > .top-bar tabbar .box:backdrop, toolbarview > .bottom-bar tabbar .box:backdrop, tabbar.inline .box:backdrop { background-color: transparent; transition: none; } - -toolbarview > .top-bar tabbar .box:backdrop > scrolledwindow, toolbarview > .bottom-bar tabbar .box:backdrop > scrolledwindow, tabbar.inline .box:backdrop > scrolledwindow, toolbarview > .top-bar tabbar .box:backdrop > .start-action, toolbarview > .bottom-bar tabbar .box:backdrop > .start-action, tabbar.inline .box:backdrop > .start-action, toolbarview > .top-bar tabbar .box:backdrop > .end-action, toolbarview > .bottom-bar tabbar .box:backdrop > .end-action, tabbar.inline .box:backdrop > .end-action { filter: none; transition: none; } - -toolbarview > .top-bar .collapse-spacing tabbar tabbox, toolbarview > .bottom-bar .collapse-spacing tabbar tabbox, toolbarview > .top-bar .collapse-spacing tabbar .start-action, toolbarview > .bottom-bar .collapse-spacing tabbar .start-action, toolbarview > .top-bar .collapse-spacing tabbar .end-action, toolbarview > .bottom-bar .collapse-spacing tabbar .end-action { padding-top: 3px; padding-bottom: 3px; } - -dnd tab { background-color: @headerbar_bg_color; background-image: image(alpha(currentColor,0.19)); color: @headerbar_fg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); margin: 25px; } - -tabbar tab, dnd tab { min-height: 26px; padding: 4px; border-radius: 6px; } - -tabbar tab button.image-button, dnd tab button.image-button { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; } - -tabbar tab indicator, dnd tab indicator { min-height: 2px; border-radius: 2px; background: alpha(@accent_color,0.5); transform: translateY(4px); } - -tabgrid > tabgridchild .card { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -tabgrid > tabgridchild:focus:focus-visible .card { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 0; } - -tabthumbnail { border-radius: 16px; transition: box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -tabthumbnail > box { margin: 6px; } - -tabthumbnail:drop(active) { box-shadow: inset 0 0 0 2px alpha(@accent_bg_color,0.4); background-color: alpha(@accent_bg_color,0.1); } - -tabthumbnail .needs-attention:dir(ltr) { transform: translate(8px, -8px); } - -tabthumbnail .needs-attention:dir(rtl) { transform: translate(-8px, -8px); } - -tabthumbnail .needs-attention > widget { background: @accent_color; min-width: 12px; min-height: 12px; border-radius: 8px; margin: 3px; box-shadow: 0 1px 2px alpha(@accent_color,0.4); } - -tabthumbnail .card { background: none; color: inherit; } - -tabthumbnail .card picture { outline: 1px solid rgba(255, 255, 255, 0.07); outline-offset: -1px; border-radius: 12px; } - -tabthumbnail.pinned .card { background-color: @thumbnail_bg_color; color: @thumbnail_fg_color; } - -tabthumbnail .icon-title-box { border-spacing: 6px; } - -tabthumbnail .tab-unpin-icon { margin: 6px; min-width: 24px; min-height: 24px; } - -tabthumbnail button.circular { margin: 6px; background-color: alpha(@thumbnail_bg_color,0.75); min-width: 24px; min-height: 24px; } - -tabthumbnail button.circular:hover { background-color: alpha(mix(@thumbnail_bg_color,currentColor,0.1),0.75); } - -tabthumbnail button.circular:active { background-color: alpha(mix(@thumbnail_bg_color,currentColor,0.2),0.75); } - -taboverview > .overview .new-tab-button { margin: 18px; } - -tabview:drop(active), tabbox:drop(active), tabgrid:drop(active) { box-shadow: none; } - -cursor-handle { all: unset; padding: 24px 20px; } - -cursor-handle > contents { min-width: 20px; min-height: 20px; border-radius: 50%; background-color: @accent_bg_color; } - -cursor-handle.top > contents { border-top-right-radius: 0; } - -cursor-handle.bottom > contents { border-top-left-radius: 0; transform: translateX(1px); } - -cursor-handle.insertion-cursor > contents { border-top-left-radius: 0; transform: translateX(1px) translateY(4px) rotate(45deg); } - -magnifier { background-color: @view_bg_color; } - -actionbar > revealer > box.osd button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible, searchbar > revealer > box.osd button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible, .osd.toolbar button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible, headerbar.osd button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } - -actionbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { color: inherit; background-color: transparent; } - -actionbar > revealer > box switch, searchbar > revealer > box switch, .toolbar switch, headerbar switch { margin-top: 4px; margin-bottom: 4px; } - -.toolbar { padding: 6px; border-spacing: 6px; } - -.toolbar.osd { padding: 12px; border-radius: 12px; } - -toolbarview > .top-bar .collapse-spacing .toolbar, toolbarview > .bottom-bar .collapse-spacing .toolbar { padding-top: 3px; padding-bottom: 3px; } - -/**************** GtkSearchBar * */ -searchbar > revealer > box { padding: 6px 6px 7px 6px; background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 -1px @headerbar_shade_color; } - -searchbar > revealer > box:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } - -searchbar > revealer > box:backdrop > * { filter: opacity(0.5); transition: filter 200ms ease-out; } - -searchbar > revealer > box .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } - -searchbar > revealer > box .close:dir(ltr) { margin-left: 10px; margin-right: 4px; } - -searchbar > revealer > box .close:dir(rtl) { margin-left: 4px; margin-right: 10px; } - -toolbarview > .top-bar searchbar > revealer > box, toolbarview > .bottom-bar searchbar > revealer > box, searchbar.inline > revealer > box, window.appchooser searchbar > revealer > box, window.shortcuts searchbar > revealer > box { background-color: transparent; color: inherit; box-shadow: none; padding-bottom: 6px; } - -toolbarview > .top-bar searchbar > revealer > box:backdrop, toolbarview > .bottom-bar searchbar > revealer > box:backdrop, searchbar.inline > revealer > box:backdrop { background-color: transparent; transition: none; } - -toolbarview > .top-bar searchbar > revealer > box:backdrop > *, toolbarview > .bottom-bar searchbar > revealer > box:backdrop > *, searchbar.inline > revealer > box:backdrop > * { filter: none; transition: none; } - -toolbarview > .top-bar .collapse-spacing searchbar > revealer > box, toolbarview > .bottom-bar .collapse-spacing searchbar > revealer > box, window.appchooser.csd searchbar > revealer > box, window.shortcuts searchbar > revealer > box { padding-top: 3px; padding-bottom: 3px; } - -/**************** GtkActionBar * */ -actionbar > revealer > box { background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 1px @headerbar_shade_color; padding: 7px 6px 6px 6px; } - -actionbar > revealer > box, actionbar > revealer > box > box.start, actionbar > revealer > box > box.end { border-spacing: 6px; } - -actionbar > revealer > box:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } - -actionbar > revealer > box:backdrop > * { filter: opacity(0.5); transition: filter 200ms ease-out; } - -toolbarview > .top-bar actionbar > revealer > box, toolbarview > .bottom-bar actionbar > revealer > box { background-color: transparent; color: inherit; box-shadow: none; padding-top: 6px; } - -toolbarview > .top-bar actionbar > revealer > box:backdrop, toolbarview > .bottom-bar actionbar > revealer > box:backdrop { background-color: transparent; transition: none; } - -toolbarview > .top-bar actionbar > revealer > box:backdrop > *, toolbarview > .bottom-bar actionbar > revealer > box:backdrop > * { filter: none; transition: none; } - -toolbarview > .top-bar .collapse-spacing actionbar > revealer > box, toolbarview > .bottom-bar .collapse-spacing actionbar > revealer > box { padding-top: 3px; padding-bottom: 3px; } - -/************* AdwBanner * */ -banner > revealer > widget { /* There are 2 more instances in _sidebars.css, keep in sync with that */ background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; padding: 6px; } - -banner > revealer > widget:backdrop { background-color: mix(@accent_bg_color,@window_bg_color,0.85); transition: background-color 200ms ease-out; } - -banner > revealer > widget:backdrop > label, banner > revealer > widget:backdrop > button { filter: opacity(0.5); transition: filter 200ms ease-out; } - -/****************** AdwToolbarView * */ -toolbarview > .top-bar .collapse-spacing, toolbarview > .bottom-bar .collapse-spacing { padding-top: 3px; padding-bottom: 3px; } - -toolbarview > .top-bar.raised, toolbarview > .bottom-bar.raised { background-color: @headerbar_bg_color; color: @headerbar_fg_color; } - -toolbarview > .top-bar.raised:backdrop, toolbarview > .bottom-bar.raised:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } - -toolbarview > .top-bar:backdrop > windowhandle, toolbarview > .bottom-bar:backdrop > windowhandle { filter: opacity(0.5); transition: filter 200ms ease-out; } - -toolbarview > .top-bar.raised { box-shadow: 0 1px alpha(@headerbar_shade_color,0.5), 0 2px 4px alpha(@headerbar_shade_color,0.5); } - -toolbarview > .top-bar.raised.border { box-shadow: 0 1px @headerbar_darker_shade_color; } - -toolbarview > .bottom-bar.raised { box-shadow: 0 -1px alpha(@headerbar_shade_color,0.5), 0 -2px 4px alpha(@headerbar_shade_color,0.5); } - -toolbarview > .bottom-bar.raised.border { box-shadow: 0 -1px @headerbar_darker_shade_color; } - -toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } - -toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@shade_color,0.75); background: linear-gradient(to top, alpha(@shade_color,0.75), transparent 4px); } - -window.devel toolbarview > .top-bar { background-image: cross-fade(5% -gtk-recolor(url("assets/devel-symbolic.svg")), image(transparent)); background-repeat: repeat-x; } - -window.devel dialog toolbarview > .top-bar { background-image: unset; background-repeat: unset; } - -tooltip { padding: 6px 10px; border-radius: 9px; box-shadow: none; } - -tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); color: white; } - -tooltip > box { border-spacing: 6px; } - -.view, window.print .dialog-action-box, textview > text, dialog-host > dialog.view sheet, window.print dialog-host > dialog.dialog-action-box sheet, iconview { color: @view_fg_color; background-color: @view_bg_color; } - -.view:disabled, window.print .dialog-action-box:disabled, textview > text:disabled, dialog-host > dialog.view sheet:disabled, window.print dialog-host > dialog.dialog-action-box sheet:disabled, iconview:disabled { color: alpha(currentColor,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } - -.view:selected:focus, .view:selected, window.print .dialog-action-box:selected, textview > text:selected, dialog-host > dialog.view sheet:selected, window.print dialog-host > dialog.dialog-action-box sheet:selected, iconview:selected { background-color: alpha(@accent_bg_color,0.25); border-radius: 6px; } - -textview { caret-color: currentColor; } - -textview > text { background-color: transparent; } - -textview > border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } - -textview:drop(active) { caret-color: @accent_bg_color; } - -rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } - -flowbox > flowboxchild, gridview > child { padding: 3px; border-radius: 6px; } - -flowbox > flowboxchild, gridview > child { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } - -flowbox > flowboxchild:focus:focus-visible, gridview > child:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } - -flowbox > flowboxchild:selected, gridview > child:selected { background-color: alpha(@accent_bg_color,0.25); } - -gridview > child.activatable:hover { background-color: alpha(currentColor,0.04); } - -gridview > child.activatable:active { background-color: alpha(currentColor,0.08); } - -gridview > child.activatable:selected:hover { background-color: alpha(@accent_bg_color,0.32); } - -gridview > child.activatable:selected:active { background-color: alpha(@accent_bg_color,0.39); } - -viewswitcher { border-spacing: 3px; } - -viewswitcher.narrow { margin-top: -3px; margin-bottom: -3px; min-height: 6px; } - -viewswitcher button.toggle { padding: 0; } - -viewswitcher button.toggle > stack > box.narrow { font-size: 0.75rem; padding-top: 4px; } - -viewswitcher button.toggle > stack > box.narrow > label { min-height: 18px; padding-left: 3px; padding-right: 3px; padding-bottom: 2px; } - -viewswitcher button.toggle > stack > box.wide { padding: 2px 12px; border-spacing: 6px; } - -/********************** AdwViewSwitcherBar * */ -viewswitcherbar actionbar > revealer > box { padding-left: 0; padding-right: 0; padding-top: 7px; } - -toolbarview > .top-bar .collapse-spacing viewswitcherbar actionbar > revealer > box, toolbarview > .bottom-bar .collapse-spacing viewswitcherbar actionbar > revealer > box { padding-top: 6px; } - -/************************ AdwViewSwitcherTitle * */ -viewswitchertitle { margin-top: -6px; margin-bottom: -6px; } - -viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } - -viewswitchertitle viewswitcher.narrow { margin-top: 3px; margin-bottom: 3px; } - -viewswitchertitle viewswitcher.wide { margin-top: 6px; margin-bottom: 6px; } - -viewswitchertitle windowtitle { margin-top: 0; margin-bottom: 0; } - -/******************* AdwIndicatorBin * */ -indicatorbin > indicator, indicatorbin > mask { min-width: 6px; min-height: 6px; border-radius: 100px; } - -indicatorbin > indicator { margin: 1px; background: alpha(currentColor,0.4); } - -indicatorbin > mask { padding: 1px; background: black; } - -indicatorbin.needs-attention > indicator { background: @accent_color; } - -indicatorbin.badge > indicator, indicatorbin.badge > mask { min-height: 13px; } - -indicatorbin.badge > indicator > label { font-size: 0.6rem; font-weight: bold; padding-left: 4px; padding-right: 4px; color: white; } - -indicatorbin.badge.needs-attention > indicator { background: @accent_bg_color; } - -indicatorbin.badge.needs-attention > indicator > label { color: @accent_fg_color; } - -window.csd { box-shadow: 0 1px 3px 3px transparent, 0 2px 8px 2px rgba(0, 0, 0, 0.13), 0 3px 20px 10px rgba(0, 0, 0, 0.09), 0 6px 32px 16px rgba(0, 0, 0, 0.04), 0 0 0 1px rgba(0, 0, 0, 0.05); margin: 0px; border-radius: 12px; outline: 1px solid rgba(255, 255, 255, 0.07); outline-offset: -1px; } - -window.csd:backdrop { box-shadow: 0 1px 3px 3px rgba(0, 0, 0, 0.09), 0 2px 14px 5px rgba(0, 0, 0, 0.05), 0 4px 28px 12px rgba(0, 0, 0, 0.03), 0 6px 32px 16px transparent, 0 0 0 1px rgba(0, 0, 0, 0.02); transition: box-shadow 200ms ease-out; } - -window.csd.dialog.message, window.csd.messagedialog { box-shadow: 0 2px 8px 2px rgba(0, 0, 0, 0.07), 0 3px 20px 10px rgba(0, 0, 0, 0.05), 0 6px 32px 16px rgba(0, 0, 0, 0.02), 0 0 0 1px rgba(0, 0, 0, 0.05); } - -window.csd.tiled, window.csd.tiled-top, window.csd.tiled-left, window.csd.tiled-right, window.csd.tiled-bottom { border-radius: 0; outline: none; box-shadow: 0 0 0 1px alpha(currentColor,0.15), 0 0 0 20px transparent; } - -window.csd.tiled:backdrop, window.csd.tiled-top:backdrop, window.csd.tiled-left:backdrop, window.csd.tiled-right:backdrop, window.csd.tiled-bottom:backdrop { box-shadow: 0 0 0 1px alpha(currentColor,0.15), 0 0 0 20px transparent; } - -window.csd.maximized, window.csd.fullscreen { border-radius: 0; outline: none; box-shadow: none; transition: none; } - -window.solid-csd { margin: 0; padding: 5px; border-radius: 0; box-shadow: inset 0 0 0 5px alpha(currentColor,0.15), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px alpha(currentColor,0.15); } - -window.solid-csd:backdrop { box-shadow: inset 0 0 0 5px alpha(currentColor,0.15), inset 0 0 0 4px @headerbar_backdrop_color, inset 0 0 0 1px alpha(currentColor,0.15); } - -window.ssd { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05); } - -/* Public colors from Default */ -@define-color theme_bg_color @window_bg_color; -@define-color theme_fg_color @window_fg_color; -@define-color theme_base_color @view_bg_color; -@define-color theme_text_color @view_fg_color; -@define-color theme_selected_bg_color @accent_bg_color; -@define-color theme_selected_fg_color @accent_fg_color; -@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); -@define-color insensitive_fg_color alpha(@window_fg_color,0.5); -@define-color insensitive_base_color @view_bg_color; -@define-color borders alpha(currentColor,0.15); -@define-color theme_unfocused_bg_color @window_bg_color; -@define-color theme_unfocused_fg_color @window_fg_color; -@define-color theme_unfocused_base_color @view_bg_color; -@define-color theme_unfocused_text_color @view_fg_color; -@define-color theme_unfocused_selected_bg_color @accent_bg_color; -@define-color theme_unfocused_selected_fg_color @accent_fg_color; -@define-color unfocused_insensitive_color @insensitive_bg_color; -@define-color unfocused_borders alpha(currentColor,0.15); diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-4.0/gtk-dark.css b/config-files/.local/share/themes/adw-gtk3/gtk-4.0/gtk-dark.css deleted file mode 100644 index 070550eb..00000000 --- a/config-files/.local/share/themes/adw-gtk3/gtk-4.0/gtk-dark.css +++ /dev/null @@ -1,50 +0,0 @@ -/* GTK NAMED COLORS ---------------- use responsibly! */ -@define-color accent_bg_color @blue_3; -@define-color accent_fg_color white; -@define-color accent_color #78aeed; -@define-color destructive_bg_color @red_4; -@define-color destructive_fg_color white; -@define-color destructive_color #ff7b63; -@define-color success_bg_color @green_5; -@define-color success_fg_color white; -@define-color success_color @green_1; -@define-color warning_bg_color #cd9309; -@define-color warning_fg_color rgba(0, 0, 0, 0.8); -@define-color warning_color @yellow_2; -@define-color error_bg_color @red_4; -@define-color error_fg_color white; -@define-color error_color #ff7b63; -@define-color window_bg_color #242424; -@define-color window_fg_color white; -@define-color view_bg_color #1e1e1e; -@define-color view_fg_color white; -@define-color headerbar_bg_color #303030; -@define-color headerbar_fg_color white; -@define-color headerbar_border_color white; -@define-color headerbar_backdrop_color @window_bg_color; -@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); -@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); -@define-color sidebar_bg_color #303030; -@define-color sidebar_fg_color white; -@define-color sidebar_backdrop_color #2a2a2a; -@define-color sidebar_shade_color rgba(0, 0, 0, 0.25); -@define-color sidebar_border_color rgba(0, 0, 0, 0.36); -@define-color secondary_sidebar_bg_color #2a2a2a; -@define-color secondary_sidebar_fg_color white; -@define-color secondary_sidebar_backdrop_color #272727; -@define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.25); -@define-color secondary_sidebar_border_color rgba(0, 0, 0, 0.36); -@define-color card_bg_color rgba(255, 255, 255, 0.08); -@define-color card_fg_color white; -@define-color card_shade_color rgba(0, 0, 0, 0.36); -@define-color dialog_bg_color #383838; -@define-color dialog_fg_color white; -@define-color popover_bg_color #383838; -@define-color popover_fg_color white; -@define-color popover_shade_color rgba(0, 0, 0, 0.25); -@define-color thumbnail_bg_color #383838; -@define-color thumbnail_fg_color white; -@define-color shade_color rgba(0, 0, 0, 0.25); -@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); -@import '../gtk-3.0/libadwaita.css'; -@import '../gtk-3.0/libadwaita-tweaks.css'; diff --git a/config-files/.local/share/themes/adw-gtk3/gtk-4.0/gtk.css b/config-files/.local/share/themes/adw-gtk3/gtk-4.0/gtk.css deleted file mode 100644 index f51a5ccb..00000000 --- a/config-files/.local/share/themes/adw-gtk3/gtk-4.0/gtk.css +++ /dev/null @@ -1,50 +0,0 @@ -/* GTK NAMED COLORS ---------------- use responsibly! */ -@define-color accent_bg_color @blue_3; -@define-color accent_fg_color white; -@define-color accent_color @blue_4; -@define-color destructive_bg_color @red_3; -@define-color destructive_fg_color white; -@define-color destructive_color @red_4; -@define-color success_bg_color @green_4; -@define-color success_fg_color white; -@define-color success_color #1b8553; -@define-color warning_bg_color @yellow_5; -@define-color warning_fg_color rgba(0, 0, 0, 0.8); -@define-color warning_color #9c6e03; -@define-color error_bg_color @red_3; -@define-color error_fg_color white; -@define-color error_color @red_4; -@define-color window_bg_color #fafafa; -@define-color window_fg_color rgba(0, 0, 0, 0.8); -@define-color view_bg_color #ffffff; -@define-color view_fg_color rgba(0, 0, 0, 0.8); -@define-color headerbar_bg_color #ffffff; -@define-color headerbar_fg_color rgba(0, 0, 0, 0.8); -@define-color headerbar_border_color rgba(0, 0, 0, 0.8); -@define-color headerbar_backdrop_color @window_bg_color; -@define-color headerbar_shade_color rgba(0, 0, 0, 0.12); -@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.12); -@define-color sidebar_bg_color #ebebeb; -@define-color sidebar_fg_color rgba(0, 0, 0, 0.8); -@define-color sidebar_backdrop_color #f2f2f2; -@define-color sidebar_shade_color rgba(0, 0, 0, 0.07); -@define-color sidebar_border_color rgba(0, 0, 0, 0.07); -@define-color secondary_sidebar_bg_color #f3f3f3; -@define-color secondary_sidebar_fg_color rgba(0, 0, 0, 0.8); -@define-color secondary_sidebar_backdrop_color #f6f6f6; -@define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.07); -@define-color secondary_sidebar_border_color rgba(0, 0, 0, 0.07); -@define-color card_bg_color #ffffff; -@define-color card_fg_color rgba(0, 0, 0, 0.8); -@define-color card_shade_color rgba(0, 0, 0, 0.07); -@define-color dialog_bg_color #fafafa; -@define-color dialog_fg_color rgba(0, 0, 0, 0.8); -@define-color popover_bg_color #ffffff; -@define-color popover_fg_color rgba(0, 0, 0, 0.8); -@define-color popover_shade_color rgba(0, 0, 0, 0.07); -@define-color thumbnail_bg_color #ffffff; -@define-color thumbnail_fg_color rgba(0, 0, 0, 0.8); -@define-color shade_color rgba(0, 0, 0, 0.07); -@define-color scrollbar_outline_color white; -@import '../gtk-3.0/libadwaita.css'; -@import '../gtk-3.0/libadwaita-tweaks.css'; diff --git a/config-files/.local/share/themes/adw-gtk3/index.theme b/config-files/.local/share/themes/adw-gtk3/index.theme deleted file mode 100644 index 93db5e47..00000000 --- a/config-files/.local/share/themes/adw-gtk3/index.theme +++ /dev/null @@ -1,6 +0,0 @@ -[X-GNOME-Metatheme] -Name=adw-gtk3 -Type=X-GNOME-Metatheme -Comment=adw-gtk3 theme -Encoding=UTF-8 -GtkTheme=adw-gtk3 diff --git a/config-files/.makepkg.conf b/config-files/.makepkg.conf deleted file mode 100644 index 06c44a5f..00000000 --- a/config-files/.makepkg.conf +++ /dev/null @@ -1 +0,0 @@ -MAKEFLAGS="-j$(nproc)" diff --git a/config-files/.xinitrc b/config-files/.xinitrc deleted file mode 100644 index 84125628..00000000 --- a/config-files/.xinitrc +++ /dev/null @@ -1,12 +0,0 @@ -dwmblocks & -feh --bg-scale "/home/trude/dotfiles/bg2.png" & -xrdb ~/.Xresources -dunst & -/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 & -picom & - -export XDG_SESSION_TYPE=??? -export XDG_SESSION_DESKTOP=??? -export XDG_CURRENT_DESKTOP=??? - -dbus-launch --exit-with-session dwm diff --git a/config-files/Templates/note.md b/config-files/Templates/note.md deleted file mode 100644 index 1e0ca6a5..00000000 --- a/config-files/Templates/note.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/config-files/Templates/script.sh b/config-files/Templates/script.sh deleted file mode 100644 index 36ac3689..00000000 --- a/config-files/Templates/script.sh +++ /dev/null @@ -1 +0,0 @@ -#! /bin/bash diff --git a/config-files/Templates/text.txt b/config-files/Templates/text.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/debian-sources.list b/debian-sources.list deleted file mode 100644 index d76cc669..00000000 --- a/debian-sources.list +++ /dev/null @@ -1,8 +0,0 @@ -deb http://deb.debian.org/debian testing contrib main non-free non-free-firmware -deb-src http://deb.debian.org/debian testing contrib main non-free non-free-firmware - -deb http://deb.debian.org/debian testing-updates contrib main non-free non-free-firmware -deb-src http://deb.debian.org/debian testing-updates contrib main non-free non-free-firmware - -deb http://security.debian.org/debian-security/ testing-security contrib main non-free non-free-firmware -deb-src http://security.debian.org/debian-security/ testing-security contrib main non-free non-free-firmware diff --git a/images/banner-debian.png b/images/banner-debian.png deleted file mode 100644 index 9d8d1fc0..00000000 Binary files a/images/banner-debian.png and /dev/null differ diff --git a/images/banner-source-debian.psd b/images/banner-source-debian.psd deleted file mode 100644 index c148e73a..00000000 Binary files a/images/banner-source-debian.psd and /dev/null differ diff --git a/images/dialog.png b/images/dialog.png deleted file mode 100644 index f3ee61ee..00000000 Binary files a/images/dialog.png and /dev/null differ diff --git a/images/installer.png b/images/installer.png new file mode 100644 index 00000000..99c6b426 Binary files /dev/null and b/images/installer.png differ diff --git a/images/logo-circle.png b/images/logo-circle.png new file mode 100644 index 00000000..ef46e7db Binary files /dev/null and b/images/logo-circle.png differ diff --git a/images/nix-snowflake-colours.svg b/images/nix-snowflake-colours.svg new file mode 100644 index 00000000..2a065bc9 --- /dev/null +++ b/images/nix-snowflake-colours.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/images/sc1.png b/images/sc1.png deleted file mode 100644 index 35396341..00000000 Binary files a/images/sc1.png and /dev/null differ diff --git a/images/sc2.png b/images/sc2.png deleted file mode 100644 index c83c3e95..00000000 Binary files a/images/sc2.png and /dev/null differ diff --git a/config-files/.config/nvim/init.lua b/init.lua similarity index 100% rename from config-files/.config/nvim/init.lua rename to init.lua diff --git a/install.sh b/install.sh index 130d599a..ebecc86d 100755 --- a/install.sh +++ b/install.sh @@ -1,4 +1,21 @@ #!/bin/bash + +# Dependencies +export NIXPKGS_ALLOW_UNFREE=1 +if [ $(pwd) != "$HOME/dotfiles" ]; then + cd $HOME + git clone https://github.com/TrudeEH/dotfiles --depth 1 + cd dotfiles +fi + +if ! nix --version &>/dev/null; then + echo -e "[E] Nix not found." + echo -e "[+] Installing the Nix package manager..." + sh <(curl -L https://nixos.org/nix/install) + . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh + echo -e "[I] Installed Nix." +fi + E='echo -e' e='echo -en' trap "R;exit" 2 @@ -14,7 +31,7 @@ R() { CLEAR } HEAD() { - for each in $(seq 1 12); do + for each in $(seq 1 11); do $E " \xE2\x94\x82 \xE2\x94\x82" done MARK @@ -23,12 +40,9 @@ HEAD() { UNMARK } i=0 -CLEAR -CIVIS -NULL=/dev/null FOOT() { MARK - TPUT 12 5 + TPUT 11 5 $E " UP \xE2\x86\x91 \xE2\x86\x93 DOWN ENTER - SELECT,NEXT " UNMARK } @@ -45,30 +59,22 @@ ARROW() { if [[ "$key" == "$($e \\x0A)" ]]; then echo enter; fi } M0() { - TPUT 4 12 - $e "Install Dotfiles" + TPUT 4 11 + $e "Set up Generic System" } M1() { - TPUT 5 12 - $e "Configure GNOME" + TPUT 5 11 + $e "Set up NixOS" } M2() { - TPUT 6 12 - $e "Install DWM Desktop" + TPUT 6 11 + $e "Set up macOS" } M3() { - TPUT 7 12 - $e "Switch to Debian testing" + TPUT 8 11 + $e "EXIT" } -M4() { - TPUT 8 12 - $e "Enable Flatpak support" -} -M5() { - TPUT 9 12 - $e "EXIT " -} -LM=5 +LM=3 MENU() { for each in $(seq 0 $LM); do M${each}; done; } POS() { if [[ $cur == up ]]; then ((i--)); fi @@ -121,18 +127,22 @@ ES() { INIT while [[ "$O" != " " ]]; do case $i in - 3) - S=M3 + 0) + S=M0 SC if [[ $cur == enter ]]; then R - # Debian testing - sudo cp -f ./debian-sources.list /etc/apt/sources.list - sudo apt update - sudo apt upgrade -y - sudo apt full-upgrade -y - sudo apt autoremove -y - sudo apt autoclean -y + # Install Home-manager + nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager + nix-channel --update + nix-shell '' -A install + + # Apply config + mkdir -p $HOME/.config/home-manager + rm $HOME/.config/home-manager/home.nix + cp ./nix/home.nix $HOME/.config/home-manager/home.nix + + home-manager -b backup switch ES fi ;; @@ -141,8 +151,10 @@ while [[ "$O" != " " ]]; do SC if [[ $cur == enter ]]; then R - # GNOME Config - dconf load -f / <./settings.dconf + # Dotfiles for NixOS + sudo cp -rf ./nix/nixos/* /etc/nixos/ + sudo cp -f ./nix/home.nix /etc/nixos/ + sudo nixos-rebuild switch --flake /etc/nixos#default ES fi ;; @@ -151,52 +163,15 @@ while [[ "$O" != " " ]]; do SC if [[ $cur == enter ]]; then R - # DWM Install - compile() { - cd programs/$1 - sudo make clean install - cd ../.. - } - - # Install Dependencies - sudo apt install -y xorg picom libx11-dev libxft-dev libxinerama-dev build-essential libxrandr-dev policykit-1-gnome dbus-x11 pipewire-audio wireplumber pipewire-pulse pipewire-alsa network-manager feh scrot dunst - systemctl --user --now enable wireplumber.service - sudo systemctl enable NetworkManager - - # Compile - for program in "dwm" "dmenu" "slock" "st" "tabbed" "dwmblocks"; do - compile $program - done + mkdir -p ~/.config/nix-darwin/ + cp -rf ./nix/macOS/* ~/.config/nix-darwin/ + cp -f ./nix/home.nix ~/.config/nix-darwin/ + nix run nix-darwin -- switch --flake ~/.config/nix-darwin ES fi ;; - 0) - S=M0 - SC - if [[ $cur == enter ]]; then - R - # Dotfiles - sudo apt install neovim tmux htop fzf git wget curl bash-completion build-essential -y - cp -vrf config-files/.* $HOME - cp -vrf config-files/* $HOME - fc-cache -f - ES - fi - ;; - 4) - S=M4 - SC - if [[ $cur == enter ]]; then - R - # Flatpak - sudo apt install flatpak gnome-software-plugin-flatpak - sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo - flatpak install org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark - ES - fi - ;; - 5) - S=M5 + 3) + S=M3 SC if [[ $cur == enter ]]; then R diff --git a/nix-shells/prism.nix b/nix-shells/prism.nix new file mode 100644 index 00000000..6ae0fed1 --- /dev/null +++ b/nix-shells/prism.nix @@ -0,0 +1,14 @@ +let + nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.05"; + pkgs = import nixpkgs { config = {}; overlays = []; }; +in + +pkgs.mkShellNoCC { + packages = with pkgs; [ + prismlauncher + ]; + + shellHook = '' + prismlauncher + ''; +} diff --git a/nix/home.nix b/nix/home.nix new file mode 100644 index 00000000..b4fe7b87 --- /dev/null +++ b/nix/home.nix @@ -0,0 +1,682 @@ +# man home-configuration.nix +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf optionals; + inherit (pkgs.stdenv) isLinux isDarwin; #GNOME on Linux +in +{ + # ======================================================================= + # ----------------------- HOME & INSTALLED PACKAGES --------------------- + # ======================================================================= + + home.username = "trude"; + home.homeDirectory = "/home/trude"; + home.stateVersion = "24.05"; + + nixpkgs.config.allowUnfree = true; + home.packages = with pkgs; [ + google-chrome + transmission_4 + neovim + gh + unzip + fastfetch + + # Override nerdfont to install JetBrains only. + (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + + # Shell Scripts + (writeShellScriptBin "extract" '' + if [ -f $1 ]; then + case $1 in + *.tar.bz2) tar xjf $1 ;; + *.tar.gz) tar xzf $1 ;; + *.bz2) bunzip2 $1 ;; + *.rar) unrar e $1 ;; + *.gz) gunzip $1 ;; + *.tar) tar xf $1 ;; + *.tbz2) tar xjf $1 ;; + *.tgz) tar xzf $1 ;; + *.zip) unzip $1 ;; + *.Z) uncompress $1 ;; + *.7z) 7z x $1 ;; + *) echo "'$1' cannot be extracted via extract()" ;; + esac + else + echo "'$1' is not a valid file" + fi + '') + + (writeShellScriptBin "pushall" '' + if [[ -z "$1" ]]; then + echo "Usage: pushall \"commit message\"" + else + git pull + git diff + read -p "Press ENTER to continue..." + git add -A + git commit -m "$@" + git push + fi + '') + + (writeShellScriptBin "update" '' + if command -v nixos-rebuild 2>&1 >/dev/null; then + sudo nixos-rebuild switch --recreate-lock-file --flake /etc/nixos#default + fi + if command -v darwin-rebuild 2>&1 >/dev/null; then + sudo softwareupdate -i -a + nix run nix-darwin -- switch --recreate-lock-file --flake ~/.config/nix-darwin + fi + nix-channel --update + home-manager -b backup switch + '') + ] + # Linux-only apps + ++ optionals isLinux [eyedropper gnome-terminal epiphany gnome-podcasts impression gnome-boxes adw-gtk3 gnomeExtensions.vitals gnomeExtensions.appindicator gnomeExtensions.caffeine] + # macOS-only apps + ++ optionals isDarwin []; + + # Cursor theme fix (Linux) + home.file = mkIf isLinux { + ".icons/default".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic"; # Set file content as another file + }; + + home.sessionVariables = { + EDITOR = "nvim"; + }; + + # ===================================================== + # -------------------- LINUX -------------------------- + # ===================================================== + gtk = mkIf isLinux { + enable = true; + cursorTheme = { + name = "Bibata-Modern-Classic"; + package = pkgs.bibata-cursors; + size = 22; + }; + + # iconTheme = { + # name = "Papirus"; + # package = pkgs.papirus-icon-theme; + # }; + }; + + dconf.settings = with lib.hm.gvariant; mkIf isLinux { + "org/gnome/Console" = { + theme = "auto"; + use-system-font = true; + }; + + "org/gnome/calculator" = { + accuracy = 9; + angle-units = "degrees"; + base = 10; + button-mode = "programming"; + number-format = "automatic"; + show-thousands = false; + show-zeroes = false; + source-currency = ""; + source-units = "degree"; + target-currency = ""; + target-units = "radian"; + word-size = 64; + }; + + "org/gnome/desktop/a11y/interface" = { + high-contrast = false; + show-status-shapes = false; + }; + + "org/gnome/desktop/background" = { + color-shading-type = "solid"; + picture-options = "zoom"; + picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/blobs-l.svg"; + picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/blobs-d.svg"; + primary-color = "#241f31"; + secondary-color = "#000000"; + }; + + "org/gnome/desktop/calendar" = { + show-weekdate = false; + }; + + "org/gnome/desktop/datetime" = { + automatic-timezone = true; + }; + + "org/gnome/desktop/input-sources" = { + current = mkUint32 0; + mru-sources = [ (mkTuple [ "xkb" "us+altgr-intl" ]) (mkTuple [ "xkb" "us+intl" ]) ]; + sources = [ (mkTuple [ "xkb" "us+altgr-intl" ]) ]; + xkb-options = [ "caps:ctrl_modifier" ]; + }; + + "org/gnome/desktop/interface" = { + clock-format = "12h"; + clock-show-seconds = false; + clock-show-weekday = true; + color-scheme = "prefer-dark"; + enable-animations = true; + font-antialiasing = "grayscale"; + font-hinting = "slight"; + gtk-theme = "adw-gtk3-dark"; + locate-pointer = false; + monospace-font-name = "JetBrainsMono Nerd Font 11"; + overlay-scrolling = true; + toolkit-accessibility = false; + }; + + "org/gnome/desktop/peripherals/touchpad" = { + two-finger-scrolling-enabled = true; + }; + + "org/gnome/desktop/privacy" = { + old-files-age = mkUint32 30; + recent-files-max-age = 30; + remove-old-temp-files = true; + remove-old-trash-files = true; + report-technical-problems = true; + }; + + "org/gnome/desktop/screensaver" = { + color-shading-type = "solid"; + picture-options = "zoom"; + picture-uri = "file:///usr/share/backgrounds/gnome/blobs-l.svg"; + primary-color = "#241f31"; + secondary-color = "#000000"; + }; + + "org/gnome/desktop/search-providers" = { + enabled = [ "org.gnome.Weather.desktop" ]; + sort-order = [ "org.gnome.Contacts.desktop" "org.gnome.Documents.desktop" "org.gnome.Nautilus.desktop" "org.gnome.Calculator.desktop" "org.gnome.seahorse.Application.desktop" "org.gnome.Characters.desktop" "org.gnome.clocks.desktop" ]; + }; + + "org/gnome/desktop/session" = { + idle-delay = mkUint32 300; + }; + + "org/gnome/desktop/sound" = { + event-sounds = true; + theme-name = "__custom"; + }; + + "org/gnome/desktop/wm/preferences" = { + button-layout = "appmenu:minimize,close"; + resize-with-right-button = true; + visual-bell = false; + }; + + "org/gnome/epiphany" = { # GNOME Web + homepage-url = "about:newtab"; + start-in-incognito-mode = false; + restore-session-policy = "always"; + use-google-search-suggestions = false; + default-search-engine = "StartPage"; + + search-engine-providers = with lib.hm.gvariant; [ + [ + (mkDictionaryEntry["url" (mkVariant "https://duckduckgo.com/?q=%s&t=epiphany")]) + (mkDictionaryEntry["bang" (mkVariant "!d")]) + (mkDictionaryEntry["name" (mkVariant "DuckDuckGo")]) + ] + [ + (mkDictionaryEntry["url" (mkVariant "https://www.google.com/search?q=%s")]) + (mkDictionaryEntry["bang" (mkVariant "!g")]) + (mkDictionaryEntry["name" (mkVariant "Google")]) + ] + [ + (mkDictionaryEntry["url" (mkVariant "https://search.nixos.org/packages?channel=23.11&from=0&size=50&sort=relevance&type=packages&query=%s")]) + (mkDictionaryEntry["bang" (mkVariant "!np")]) + (mkDictionaryEntry["name" (mkVariant "Nix Packages")]) + ] + [ + (mkDictionaryEntry["url" (mkVariant "https://www.startpage.com/search?q=%s")]) + (mkDictionaryEntry["bang" (mkVariant "!s")]) + (mkDictionaryEntry["name" (mkVariant "StartPage")]) + ] + ]; + + content-filters = [ + "https://easylist-downloads.adblockplus.org/easylist_min_content_blocker.json" + "https://better.fyi/blockerList.json" + "https://github.com/AdguardTeam/BlockYouTubeAdsShortcut/blob/master/index.js" + ]; + }; + + "org/gnome/epiphany/web" = { + show-developer-actions = true; + }; + + "org/gnome/evince/default" = { + continuous = true; + dual-page = false; + dual-page-odd-left = true; + enable-spellchecking = true; + inverted-colors = false; + show-sidebar = true; + sidebar-page = "thumbnails"; + sidebar-size = 132; + sizing-mode = "automatic"; + }; + + "org/gnome/evolution-data-server" = { + migrated = true; + }; + + "org/gnome/mutter" = { + center-new-windows = true; + edge-tiling = true; + experimental-features = [ "scale-monitor-framebuffer" ]; + }; + + "org/gnome/mutter/keybindings" = { + toggle-tiled-left = []; + toggle-tiled-right = []; + }; + + "org/gnome/nautilus/icon-view" = { + default-zoom-level = "small"; + }; + + "org/gnome/nautilus/preferences" = { + default-folder-viewer = "icon-view"; + migrated-gtk-settings = true; + search-filter-time-type = "last_modified"; + }; + + "org/gnome/settings-daemon/plugins/color" = { + night-light-enabled = true; + night-light-temperature = mkUint32 2410; + sleep-inactive-ac-timeout = 3600; + sleep-inactive-ac-type = "nothing"; + }; + + "org/gnome/settings-daemon/plugins/power" = { + power-button-action = "interactive"; + sleep-inactive-ac-type = "nothing"; + }; + + "org/gnome/shell" = { + enabled-extensions = [ "caffeine@patapon.info" "appindicatorsupport@rgcjonas.gmail.com" "Vitals@CoreCoding.com" "gtk4-ding@smedius.gitlab.com" "blur-my-shell@aunetx" ]; + favorite-apps = [ "google-chrome.desktop" "org.gnome.Epiphany.desktop" "org.gnome.Nautilus.desktop" "org.gnome.Console.desktop" "org.gnome.Terminal.desktop" ]; + last-selected-power-profile = "performance"; + }; + + "org/gnome/shell/extensions/dash-to-dock" = { + dash-max-icon-size = 34; + dock-fixed = false; + dock-position = "BOTTOM"; + extend-height = false; + }; + + "org/gnome/shell/extensions/ding" = { + check-x11wayland = true; + icon-size = "small"; + show-home = false; + }; + + "org/gnome/shell/extensions/vitals" = { + fixed-widths = false; + hot-sensors = [ "_memory_usage_" "_processor_usage_" "__temperature_max__" ]; + icon-style = 1; + use-higher-precision = false; + }; + + "org/gnome/shell/world-clocks" = { + locations = []; + }; + + "org/gnome/system/location" = { + enabled = true; + }; + + "org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9" = { + background-color = "rgb(0,0,0)"; + backspace-binding = "auto"; + exit-action = "hold"; + font = "JetBrainsMono Nerd Font 12"; + foreground-color = "rgb(208,207,204)"; + use-system-font = false; + use-theme-colors = true; + }; + }; + + # Default browser + xdg.mimeApps = mkIf isLinux { + enable = true; + defaultApplications = { + "text/html" = "org.gnome.Epiphany.desktop"; + "x-scheme-handler/http" = "org.gnome.Epiphany.desktop"; + "x-scheme-handler/https" = "org.gnome.Epiphany.desktop"; + "x-scheme-handler/about" = "org.gnome.Epiphany.desktop"; + "x-scheme-handler/unknown" = "org.gnome.Epiphany.desktop"; + }; + }; + + programs.firefox = mkIf isLinux { + enable = true; + policies = { + DisableTelemetry = true; + DisableFirefoxStudies = true; + DontCheckDefaultBrowser = true; + DisablePocket = true; + SearchBar = "unified"; + + Preferences = { + # Privacy settings + "extensions.pocket.enabled" = false; + "browser.topsites.contile.enabled" = false; + "browser.newtabpage.activity-stream.showSponsored" = false; + "browser.newtabpage.activity-stream.system.showSponsored" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + }; + + ExtensionSettings = { + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + "jid1-MnnxcxisBPnSXQ@jetpack" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi"; + installation_mode = "force_installed"; + }; + }; + }; + + profiles.default = { + id = 0; + name = "TrudeEH"; + isDefault = true; + settings = { + "browser.startup.homepage" = "about:newtab"; + "browser.search.defaultenginename" = "DuckDuckGo"; + "browser.search.order.1" = "DuckDuckGo"; + "general.smoothScroll" = true; + "browser.disableResetPrompt" = true; + "browser.download.panel.shown" = true; + "browser.download.useDownloadDir" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.shell.checkDefaultBrowser" = false; + "browser.shell.defaultBrowserCheckCount" = 1; + "dom.security.https_only_mode" = true; + "identity.fxaccounts.enabled" = false; + "privacy.trackingprotection.enabled" = true; + "signon.rememberSignons" = false; + }; + search = { + force = true; + default = "Startpage"; + order = [ "Startpage" "DuckDuckGo" "Google" ]; + engines = { + "Startpage" = { + urls = [{ + template = "https://www.startpage.com/do/search?query={searchTerms}"; + }]; + definedAliases = [ "@s" ]; + }; + "Nix Packages" = { + urls = [{ + template = "https://search.nixos.org/packages"; + params = [ + { name = "type"; value = "packages"; } + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@np" ]; + }; + "NixOS Wiki" = { + urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; + iconUpdateURL = "https://nixos.wiki/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; # every day + definedAliases = [ "@nw" ]; + }; + "Bing".metaData.hidden = true; + "Google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias + }; + }; + bookmarks = [ + { + name = "Toolbar"; + toolbar = true; + bookmarks = [ + { + name = "YouTube"; + url = "https://www.youtube.com/"; + } + { + name = "Arch Linux"; + tags = [ "news" "wiki" "arch" ]; + url = "https://archlinux.org/"; + } + { + name = "NixOS Discourse"; + tags = [ "wiki" "nix" ]; + url = "https://discourse.nixos.org/"; + } + { + name = "GitHub"; + url = "https://github.com/"; + } + { + name = "WOL"; + url = "https://wol.jw.org/pt-PT/"; + } + { + name = "Rust Book"; + url = "https://doc.rust-lang.org/stable/book/"; + } + { + name = "Rust by example"; + url = "https://doc.rust-lang.org/stable/rust-by-example/"; + } + { + name = "Rustlings"; + url = "https://github.com/rust-lang/rustlings/"; + } + ]; + } + ]; + }; + }; + + + # ===================================================== + # -------------------- macOS -------------------------- + # ===================================================== + + # =========================================================== + # -------------------- Independent -------------------------- + # =========================================================== + + # Autostart services on boot + services.gnome-keyring.enable = isLinux; + programs.home-manager.enable = true; + + programs.tmux = { + enable = true; + aggressiveResize = true; + baseIndex = 1; + disableConfirmationPrompt = true; + escapeTime = 250; + keyMode = "vi"; + mouse = true; + plugins = with pkgs; [ tmuxPlugins.cpu ]; + prefix = "C-s"; + terminal = "tmux-256color"; + + extraConfig = '' + bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'" + + # hjkl pane traversal + bind-key h select-pane -L + bind-key j select-pane -D + bind-key k select-pane -U + bind-key l select-pane -R + + # easy reload config + bind-key r source-file ~/.config/tmux/tmux.conf \; display-message "Config reloaded." + + # set window split + bind-key v split-window -h -c "#{pane_current_path}" + bind-key b split-window -v -c "#{pane_current_path}" + + # Styling + set-option -g status-position top + set -g mode-style "fg=black,bg=orange" + set-option -g pane-border-style fg=colour236 + set-option -g pane-active-border-style fg=orange + set-window-option -g window-status-current-style fg=orange,bg=default,bright + set-window-option -g window-status-style fg=colour244,bg=default + set-window-option -g clock-mode-colour orange + set-option -g status-style "bg=default,fg=white" + set-option -g status-left "" + set-option -g status-right '[Session: #S] [CPU: #{cpu_fg_color}#{cpu_percentage}#[default]] [RAM: #{ram_fg_color}#{ram_percentage}#[default]] %d#[dim]/#[default]%m#[dim]/#[default]%Y %I:%M#[dim]%P#[default]' + set -g status-interval 1 + set -g status-right-length 60 + + set -g @cpu_high_fg_color "#[fg=#FF0000]" + set -g @ram_high_fg_color "#[fg=#FF0000]" + run-shell ${pkgs.tmuxPlugins.cpu}/share/tmux-plugins/cpu/cpu.tmux + ''; + }; + + programs.git = { + enable = true; + userName = "TrudeEH"; + userEmail = "ehtrude@gmail.com"; + aliases = { + a = "add"; + c = "commit"; + ca = "commit --amend"; + can = "commit --amend --no-edit"; + cl = "clone"; + cm = "commit -m"; + co = "checkout"; + cp = "cherry-pick"; + cpx = "cherry-pick -x"; + d = "diff"; + f = "fetch"; + fo = "fetch origin"; + fu = "fetch upstream"; + lol = "log --graph --decorate --pretty=oneline --abbrev-commit"; + lola = "log --graph --decorate --pretty=oneline --abbrev-commit --all"; + pl = "pull"; + pr = "pull -r"; + ps = "push"; + psf = "push -f"; + rb = "rebase"; + rbi = "rebase -i"; + r = "remote"; + ra = "remote add"; + rr = "remote rm"; + rv = "remote -v"; + rs = "remote show"; + st = "status"; + }; + extraConfig = { + pull = { + rebase=true; + }; + }; + }; + + programs.bash = { + enable = true; + enableCompletion = true; + shellAliases = { + l = "ls -alh"; + ls = "ls --color=auto"; + ll = "ls -lhi"; + grep = "grep --color=auto"; + ta = "tmux attach"; + t = "tmux"; + v = "nvim"; + cpp = "rsync -ah --progress"; + code = "codium --enable-features=UseOzonePlatform --ozone-platform=wayland"; + neofetch = "fastfetch"; + sudo = "sudo -i"; + ns = "nix-shell"; + }; + initExtra = "set completion-ignore-case On"; + bashrcExtra = '' + export EDITOR="nvim"; + export PS1="\n[\[\e[37m\]\u\[\e[0m\]@\[\e[37;2m\]\h\[\e[0m\]] \[\e[1m\]\w \[\e[0;2m\]J:\[\e[0m\]\j\n\$ "; + + if [[ -z $TMUX ]]; then + tmux attach + if [[ $? == 1 ]]; then + tmux new -s main + fi + fi + ''; + }; + + programs.vscode = { + enable = true; + package = pkgs.vscodium; + enableUpdateCheck = false; + enableExtensionUpdateCheck = false; + mutableExtensionsDir = false; + + # Extensions + extensions = (with pkgs.vscode-extensions; [ + ms-vscode-remote.remote-ssh + mhutchie.git-graph + pkief.material-icon-theme + oderwat.indent-rainbow + bierner.emojisense + jnoortheen.nix-ide + ritwickdey.liveserver + github.vscode-pull-request-github + ms-toolsai.jupyter + ms-python.python + arrterian.nix-env-selector + piousdeer.adwaita-theme + ]); + + # Settings + userSettings = { + # General + "editor.fontSize" = 14; + "editor.fontFamily" = "'JetBrainsMono Nerd Font', 'monospace', monospace"; + "terminal.integrated.fontSize" = 12; + "terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font', 'monospace', monospace"; + "window.zoomLevel" = 0.1; + "editor.multiCursorModifier" = "ctrlCmd"; + "workbench.startupEditor" = "none"; + "explorer.compactFolders" = false; + "workbench.tree.indent" = 12; + # Whitespace + "files.trimTrailingWhitespace" = true; + "files.trimFinalNewlines" = true; + "files.insertFinalNewline" = true; + "diffEditor.ignoreTrimWhitespace" = false; + # Git + "git.enableCommitSigning" = false; + "git.enableSmartCommit" = true; + "git.confirmSync" = false; + "git.autofetch" = true; + # Styling + "window.autoDetectColorScheme" = true; + "workbench.colorTheme" = "Adwaita Dark"; + "workbench.preferredDarkColorTheme" = "Adwaita Dark"; + "workbench.preferredLightColorTheme" = "Adwaita Light"; + "workbench.iconTheme" = "material-icon-theme"; + "material-icon-theme.activeIconPack" = "none"; + "material-icon-theme.folders.theme" = "classic"; + "editor.fontLigatures" = true; + "window.commandCenter" = true; + "workbench.productIconTheme" = "adwaita"; + "editor.renderLineHighlight" = "none"; + # Other + "telemetry.telemetryLevel" = "off"; + "update.showReleaseNotes" = false; + "window.titleBarStyle" = "custom"; + "explorer.confirmDelete" = false; + }; + }; +} diff --git a/nix/macOS/flake.nix b/nix/macOS/flake.nix new file mode 100644 index 00000000..a1965089 --- /dev/null +++ b/nix/macOS/flake.nix @@ -0,0 +1,85 @@ +{ + description = "Darwin system flake"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + + nix-darwin = { + url = "github:LnL7/nix-darwin"; + inputs.nixpkgs.follows = "nixpkgs"; + } + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = inputs@{ self, nix-darwin, nixpkgs }: + let + configuration = { pkgs, config, ... }: { + services.nix-daemon.enable = true; + nix.settings.experimental-features = "nix-command flakes"; + nixpkgs.config.allowUnfree = true; + system.configurationRevision = self.rev or self.dirtyRev or null; + system.stateVersion = 5; + + # Home-manager module. + home-manager = { + extraSpecialArgs = {inherit inputs;}; + backupFileExtension = "backup"; + users = { + "trude" = import ./home.nix; + }; + }; + + # Configs + environment.systemPackages = [ + pkgs.mkalias + ]; + + system.activationScripts.applications.text = + let + env = pkgs.buildEnv { + name = "system-applications"; + paths = config.environment.systemPackages; + pathsToLink = "/Applications"; + }; + in + pkgs.lib.mkForce '' + # Set up applications. + echo "setting up /Applications..." >&2 + rm -rf /Applications/Nix\ Apps + mkdir -p /Applications/Nix\ Apps + find ${env}/Applications -maxdepth 1 -type l -exec readlink '{}' + | + while read src; do + app_name=$(basename "$src") + echo "copying $src" >&2 + ${pkgs.mkalias}/bin/mkalias "$src" "/Applications/Nix Apps/$app_name" + done + ''; + + # Configure macOS + system.defaults = { + # man 5 configuration.nix + dock.autohide = true; + loginwindow.GuestEnabled = false; + NSGlobalDomain.AppleInterfaceStyle = "Dark"; + NSGlobalDomain.KeyRepeat = 2; + } + + # nixpkgs.hostPlatform = "x86_64-darwin"; # aarch64-darwin for ARM + }; + in + { + # Build darwin flake using: + # $ nix run nix-darwin -- switch --flake ~/.config/nix-darwin + darwinConfigurations.default = nix-darwin.lib.darwinSystem { + modules = [ + configuration + inputs.home-manager.nixosModules.default + ]; + }; + darwinPackages = self.darwinConfigurations.default.pkgs; + }; +} diff --git a/nix/nixos/flake.nix b/nix/nixos/flake.nix new file mode 100644 index 00000000..9cf5bccd --- /dev/null +++ b/nix/nixos/flake.nix @@ -0,0 +1,102 @@ +{ + description = "Nixos config flake"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { self, nixpkgs, ... }@inputs: + let + configuration = { lib, config, pkgs, inputs, ... }: { + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ ]; + + users.users.trude = { + isNormalUser = true; + initialPassword = "trude"; + description = "TrudeEH"; + extraGroups = [ "networkmanager" "wheel" ]; + }; + + # Home-manager module. + home-manager = { + extraSpecialArgs = {inherit inputs;}; + backupFileExtension = "backup"; + users = { + "trude" = import ./home.nix; + }; + }; + + # Network. + networking.hostName = "trudeDev"; + networking.networkmanager.enable = true; + + # GNOME. + services.xserver.enable = true; + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable sound with pipewire. + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + #jack.enable = true; + }; + + # System Services. + # services.openssh.enable = true; + + # Firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + + # System options. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + time.timeZone = "Europe/Lisbon"; + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "pt_PT.UTF-8"; + LC_IDENTIFICATION = "pt_PT.UTF-8"; + LC_MEASUREMENT = "pt_PT.UTF-8"; + LC_MONETARY = "pt_PT.UTF-8"; + LC_NAME = "pt_PT.UTF-8"; + LC_NUMERIC = "pt_PT.UTF-8"; + LC_PAPER = "pt_PT.UTF-8"; + LC_TELEPHONE = "pt_PT.UTF-8"; + LC_TIME = "pt_PT.UTF-8"; + }; + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + system.stateVersion = "24.05"; + }; + in + { + # Build darwin flake using: + # $ sudo nixos-rebuild switch --flake /etc/nixos#default + nixosConfigurations.default = nixpkgs.lib.nixosSystem { + specialArgs = {inherit inputs;}; + modules = [ + ./hardware-configuration.nix + configuration + inputs.home-manager.nixosModules.default + ]; + }; + }; +} diff --git a/programs/VERSIONS b/programs/VERSIONS deleted file mode 100644 index 7659d3d4..00000000 --- a/programs/VERSIONS +++ /dev/null @@ -1,5 +0,0 @@ -dmenu - 5.3 -dwm - 6.5 -st - 0.9.2 -slock - 1.5 -tabbed - 0.8 diff --git a/programs/dmenu/LICENSE b/programs/dmenu/LICENSE deleted file mode 100644 index 2a64b28b..00000000 --- a/programs/dmenu/LICENSE +++ /dev/null @@ -1,30 +0,0 @@ -MIT/X Consortium License - -© 2006-2019 Anselm R Garbe -© 2006-2008 Sander van Dijk -© 2006-2007 Michał Janeczek -© 2007 Kris Maglione -© 2009 Gottox -© 2009 Markus Schnalke -© 2009 Evan Gates -© 2010-2012 Connor Lane Smith -© 2014-2022 Hiltjo Posthuma -© 2015-2019 Quentin Rameau - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/programs/dmenu/Makefile b/programs/dmenu/Makefile deleted file mode 100644 index 68529ab1..00000000 --- a/programs/dmenu/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# dmenu - dynamic menu -# See LICENSE file for copyright and license details. - -include config.mk - -SRC = drw.c dmenu.c stest.c util.c -OBJ = $(SRC:.c=.o) - -all: dmenu stest - -.c.o: - $(CC) -c $(CFLAGS) $< - -$(OBJ): arg.h config.h config.mk drw.h - -dmenu: dmenu.o drw.o util.o - $(CC) -o $@ dmenu.o drw.o util.o $(LDFLAGS) - -stest: stest.o - $(CC) -o $@ stest.o $(LDFLAGS) - -clean: - rm -f dmenu stest $(OBJ) dmenu-$(VERSION).tar.gz - -install: all - mkdir -p $(DESTDIR)$(PREFIX)/bin - cp -f dmenu dmenu_path dmenu_run stest $(DESTDIR)$(PREFIX)/bin - chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu - chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_path - chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_run - chmod 755 $(DESTDIR)$(PREFIX)/bin/stest - mkdir -p $(DESTDIR)$(MANPREFIX)/man1 - sed "s/VERSION/$(VERSION)/g" < dmenu.1 > $(DESTDIR)$(MANPREFIX)/man1/dmenu.1 - sed "s/VERSION/$(VERSION)/g" < stest.1 > $(DESTDIR)$(MANPREFIX)/man1/stest.1 - chmod 644 $(DESTDIR)$(MANPREFIX)/man1/dmenu.1 - chmod 644 $(DESTDIR)$(MANPREFIX)/man1/stest.1 - -uninstall: - rm -f $(DESTDIR)$(PREFIX)/bin/dmenu\ - $(DESTDIR)$(PREFIX)/bin/dmenu_path\ - $(DESTDIR)$(PREFIX)/bin/dmenu_run\ - $(DESTDIR)$(PREFIX)/bin/stest\ - $(DESTDIR)$(MANPREFIX)/man1/dmenu.1\ - $(DESTDIR)$(MANPREFIX)/man1/stest.1 - -.PHONY: all clean install uninstall diff --git a/programs/dmenu/README b/programs/dmenu/README deleted file mode 100644 index a8fcdfe1..00000000 --- a/programs/dmenu/README +++ /dev/null @@ -1,24 +0,0 @@ -dmenu - dynamic menu -==================== -dmenu is an efficient dynamic menu for X. - - -Requirements ------------- -In order to build dmenu you need the Xlib header files. - - -Installation ------------- -Edit config.mk to match your local setup (dmenu is installed into -the /usr/local namespace by default). - -Afterwards enter the following command to build and install dmenu -(if necessary as root): - - make clean install - - -Running dmenu -------------- -See the man page for details. diff --git a/programs/dmenu/arg.h b/programs/dmenu/arg.h deleted file mode 100644 index e94e02bb..00000000 --- a/programs/dmenu/arg.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copy me if you can. - * by 20h - */ - -#ifndef ARG_H__ -#define ARG_H__ - -extern char *argv0; - -/* use main(int argc, char *argv[]) */ -#define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ - argv[0] && argv[0][0] == '-'\ - && argv[0][1];\ - argc--, argv++) {\ - char argc_;\ - char **argv_;\ - int brk_;\ - if (argv[0][1] == '-' && argv[0][2] == '\0') {\ - argv++;\ - argc--;\ - break;\ - }\ - for (brk_ = 0, argv[0]++, argv_ = argv;\ - argv[0][0] && !brk_;\ - argv[0]++) {\ - if (argv_ != argv)\ - break;\ - argc_ = argv[0][0];\ - switch (argc_) - -#define ARGEND }\ - } - -#define ARGC() argc_ - -#define EARGF(x) ((argv[0][1] == '\0' && argv[1] == NULL)?\ - ((x), abort(), (char *)0) :\ - (brk_ = 1, (argv[0][1] != '\0')?\ - (&argv[0][1]) :\ - (argc--, argv++, argv[0]))) - -#define ARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\ - (char *)0 :\ - (brk_ = 1, (argv[0][1] != '\0')?\ - (&argv[0][1]) :\ - (argc--, argv++, argv[0]))) - -#endif diff --git a/programs/dmenu/config.h b/programs/dmenu/config.h deleted file mode 100644 index 183d95cb..00000000 --- a/programs/dmenu/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -/* Default settings; can be overriden by command line. */ - -static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */ -/* -fn option overrides fonts[0]; default X11 font or font set */ -static const char *fonts[] = { - "JetBrainsMono NF:size=10" -}; -static const char *prompt = NULL; /* -p option; prompt to the left of input field */ -static const char *colors[SchemeLast][2] = { - /* fg bg */ - [SchemeNorm] = { "#ebdbb2", "#282828" }, - [SchemeSel] = { "#282828", "#ebdbb2" }, - [SchemeOut] = { "#ebdbb2", "#8ec07c" }, -}; -/* -l option; if nonzero, dmenu uses vertical list with given number of lines */ -static unsigned int lines = 0; - -/* - * Characters not considered part of a word while deleting words - * for example: " /?\"&[]" - */ -static const char worddelimiters[] = " "; diff --git a/programs/dmenu/config.mk b/programs/dmenu/config.mk deleted file mode 100644 index 137f7c86..00000000 --- a/programs/dmenu/config.mk +++ /dev/null @@ -1,32 +0,0 @@ -# dmenu version -VERSION = 5.3 - -# paths -PREFIX = /usr/local -MANPREFIX = $(PREFIX)/share/man - -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - -# Xinerama, comment if you don't want it -XINERAMALIBS = -lXinerama -XINERAMAFLAGS = -DXINERAMA - -# freetype -FREETYPELIBS = -lfontconfig -lXft -FREETYPEINC = /usr/include/freetype2 -# OpenBSD (uncomment) -#FREETYPEINC = $(X11INC)/freetype2 -#MANPREFIX = ${PREFIX}/man - -# includes and libs -INCS = -I$(X11INC) -I$(FREETYPEINC) -LIBS = -L$(X11LIB) -lX11 $(XINERAMALIBS) $(FREETYPELIBS) - -# flags -CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -DVERSION=\"$(VERSION)\" $(XINERAMAFLAGS) -CFLAGS = -std=c99 -pedantic -Wall -Os $(INCS) $(CPPFLAGS) -LDFLAGS = $(LIBS) - -# compiler and linker -CC = cc diff --git a/programs/dmenu/dmenu.1 b/programs/dmenu/dmenu.1 deleted file mode 100644 index 323f93cf..00000000 --- a/programs/dmenu/dmenu.1 +++ /dev/null @@ -1,194 +0,0 @@ -.TH DMENU 1 dmenu\-VERSION -.SH NAME -dmenu \- dynamic menu -.SH SYNOPSIS -.B dmenu -.RB [ \-bfiv ] -.RB [ \-l -.IR lines ] -.RB [ \-m -.IR monitor ] -.RB [ \-p -.IR prompt ] -.RB [ \-fn -.IR font ] -.RB [ \-nb -.IR color ] -.RB [ \-nf -.IR color ] -.RB [ \-sb -.IR color ] -.RB [ \-sf -.IR color ] -.RB [ \-w -.IR windowid ] -.P -.BR dmenu_run " ..." -.SH DESCRIPTION -.B dmenu -is a dynamic menu for X, which reads a list of newline\-separated items from -stdin. When the user selects an item and presses Return, their choice is printed -to stdout and dmenu terminates. Entering text will narrow the items to those -matching the tokens in the input. -.P -.B dmenu_run -is a script used by -.IR dwm (1) -which lists programs in the user's $PATH and runs the result in their $SHELL. -.SH OPTIONS -.TP -.B \-b -dmenu appears at the bottom of the screen. -.TP -.B \-f -dmenu grabs the keyboard before reading stdin if not reading from a tty. This -is faster, but will lock up X until stdin reaches end\-of\-file. -.TP -.B \-i -dmenu matches menu items case insensitively. -.TP -.BI \-l " lines" -dmenu lists items vertically, with the given number of lines. -.TP -.BI \-m " monitor" -dmenu is displayed on the monitor number supplied. Monitor numbers are starting -from 0. -.TP -.BI \-p " prompt" -defines the prompt to be displayed to the left of the input field. -.TP -.BI \-fn " font" -defines the font or font set used. -.TP -.BI \-nb " color" -defines the normal background color. -.IR #RGB , -.IR #RRGGBB , -and X color names are supported. -.TP -.BI \-nf " color" -defines the normal foreground color. -.TP -.BI \-sb " color" -defines the selected background color. -.TP -.BI \-sf " color" -defines the selected foreground color. -.TP -.B \-v -prints version information to stdout, then exits. -.TP -.BI \-w " windowid" -embed into windowid. -.SH USAGE -dmenu is completely controlled by the keyboard. Items are selected using the -arrow keys, page up, page down, home, and end. -.TP -.B Tab -Copy the selected item to the input field. -.TP -.B Return -Confirm selection. Prints the selected item to stdout and exits, returning -success. -.TP -.B Ctrl-Return -Confirm selection. Prints the selected item to stdout and continues. -.TP -.B Shift\-Return -Confirm input. Prints the input text to stdout and exits, returning success. -.TP -.B Escape -Exit without selecting an item, returning failure. -.TP -.B Ctrl-Left -Move cursor to the start of the current word -.TP -.B Ctrl-Right -Move cursor to the end of the current word -.TP -.B C\-a -Home -.TP -.B C\-b -Left -.TP -.B C\-c -Escape -.TP -.B C\-d -Delete -.TP -.B C\-e -End -.TP -.B C\-f -Right -.TP -.B C\-g -Escape -.TP -.B C\-h -Backspace -.TP -.B C\-i -Tab -.TP -.B C\-j -Return -.TP -.B C\-J -Shift-Return -.TP -.B C\-k -Delete line right -.TP -.B C\-m -Return -.TP -.B C\-M -Shift-Return -.TP -.B C\-n -Down -.TP -.B C\-p -Up -.TP -.B C\-u -Delete line left -.TP -.B C\-w -Delete word left -.TP -.B C\-y -Paste from primary X selection -.TP -.B C\-Y -Paste from X clipboard -.TP -.B M\-b -Move cursor to the start of the current word -.TP -.B M\-f -Move cursor to the end of the current word -.TP -.B M\-g -Home -.TP -.B M\-G -End -.TP -.B M\-h -Up -.TP -.B M\-j -Page down -.TP -.B M\-k -Page up -.TP -.B M\-l -Down -.SH SEE ALSO -.IR dwm (1), -.IR stest (1) diff --git a/programs/dmenu/dmenu.c b/programs/dmenu/dmenu.c deleted file mode 100644 index 40f93e02..00000000 --- a/programs/dmenu/dmenu.c +++ /dev/null @@ -1,796 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#ifdef XINERAMA -#include -#endif -#include - -#include "drw.h" -#include "util.h" - -/* macros */ -#define INTERSECT(x,y,w,h,r) (MAX(0, MIN((x)+(w),(r).x_org+(r).width) - MAX((x),(r).x_org)) \ - * MAX(0, MIN((y)+(h),(r).y_org+(r).height) - MAX((y),(r).y_org))) -#define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad) - -/* enums */ -enum { SchemeNorm, SchemeSel, SchemeOut, SchemeLast }; /* color schemes */ - -struct item { - char *text; - struct item *left, *right; - int out; -}; - -static char text[BUFSIZ] = ""; -static char *embed; -static int bh, mw, mh; -static int inputw = 0, promptw; -static int lrpad; /* sum of left and right padding */ -static size_t cursor; -static struct item *items = NULL; -static struct item *matches, *matchend; -static struct item *prev, *curr, *next, *sel; -static int mon = -1, screen; - -static Atom clip, utf8; -static Display *dpy; -static Window root, parentwin, win; -static XIC xic; - -static Drw *drw; -static Clr *scheme[SchemeLast]; - -#include "config.h" - -static int (*fstrncmp)(const char *, const char *, size_t) = strncmp; -static char *(*fstrstr)(const char *, const char *) = strstr; - -static unsigned int -textw_clamp(const char *str, unsigned int n) -{ - unsigned int w = drw_fontset_getwidth_clamp(drw, str, n) + lrpad; - return MIN(w, n); -} - -static void -appenditem(struct item *item, struct item **list, struct item **last) -{ - if (*last) - (*last)->right = item; - else - *list = item; - - item->left = *last; - item->right = NULL; - *last = item; -} - -static void -calcoffsets(void) -{ - int i, n; - - if (lines > 0) - n = lines * bh; - else - n = mw - (promptw + inputw + TEXTW("<") + TEXTW(">")); - /* calculate which items will begin the next page and previous page */ - for (i = 0, next = curr; next; next = next->right) - if ((i += (lines > 0) ? bh : textw_clamp(next->text, n)) > n) - break; - for (i = 0, prev = curr; prev && prev->left; prev = prev->left) - if ((i += (lines > 0) ? bh : textw_clamp(prev->left->text, n)) > n) - break; -} - -static void -cleanup(void) -{ - size_t i; - - XUngrabKey(dpy, AnyKey, AnyModifier, root); - for (i = 0; i < SchemeLast; i++) - free(scheme[i]); - for (i = 0; items && items[i].text; ++i) - free(items[i].text); - free(items); - drw_free(drw); - XSync(dpy, False); - XCloseDisplay(dpy); -} - -static char * -cistrstr(const char *h, const char *n) -{ - size_t i; - - if (!n[0]) - return (char *)h; - - for (; *h; ++h) { - for (i = 0; n[i] && tolower((unsigned char)n[i]) == - tolower((unsigned char)h[i]); ++i) - ; - if (n[i] == '\0') - return (char *)h; - } - return NULL; -} - -static int -drawitem(struct item *item, int x, int y, int w) -{ - if (item == sel) - drw_setscheme(drw, scheme[SchemeSel]); - else if (item->out) - drw_setscheme(drw, scheme[SchemeOut]); - else - drw_setscheme(drw, scheme[SchemeNorm]); - - return drw_text(drw, x, y, w, bh, lrpad / 2, item->text, 0); -} - -static void -drawmenu(void) -{ - unsigned int curpos; - struct item *item; - int x = 0, y = 0, w; - - drw_setscheme(drw, scheme[SchemeNorm]); - drw_rect(drw, 0, 0, mw, mh, 1, 1); - - if (prompt && *prompt) { - drw_setscheme(drw, scheme[SchemeSel]); - x = drw_text(drw, x, 0, promptw, bh, lrpad / 2, prompt, 0); - } - /* draw input field */ - w = (lines > 0 || !matches) ? mw - x : inputw; - drw_setscheme(drw, scheme[SchemeNorm]); - drw_text(drw, x, 0, w, bh, lrpad / 2, text, 0); - - curpos = TEXTW(text) - TEXTW(&text[cursor]); - if ((curpos += lrpad / 2 - 1) < w) { - drw_setscheme(drw, scheme[SchemeNorm]); - drw_rect(drw, x + curpos, 2, 2, bh - 4, 1, 0); - } - - if (lines > 0) { - /* draw vertical list */ - for (item = curr; item != next; item = item->right) - drawitem(item, x, y += bh, mw - x); - } else if (matches) { - /* draw horizontal list */ - x += inputw; - w = TEXTW("<"); - if (curr->left) { - drw_setscheme(drw, scheme[SchemeNorm]); - drw_text(drw, x, 0, w, bh, lrpad / 2, "<", 0); - } - x += w; - for (item = curr; item != next; item = item->right) - x = drawitem(item, x, 0, textw_clamp(item->text, mw - x - TEXTW(">"))); - if (next) { - w = TEXTW(">"); - drw_setscheme(drw, scheme[SchemeNorm]); - drw_text(drw, mw - w, 0, w, bh, lrpad / 2, ">", 0); - } - } - drw_map(drw, win, 0, 0, mw, mh); -} - -static void -grabfocus(void) -{ - struct timespec ts = { .tv_sec = 0, .tv_nsec = 10000000 }; - Window focuswin; - int i, revertwin; - - for (i = 0; i < 100; ++i) { - XGetInputFocus(dpy, &focuswin, &revertwin); - if (focuswin == win) - return; - XSetInputFocus(dpy, win, RevertToParent, CurrentTime); - nanosleep(&ts, NULL); - } - die("cannot grab focus"); -} - -static void -grabkeyboard(void) -{ - struct timespec ts = { .tv_sec = 0, .tv_nsec = 1000000 }; - int i; - - if (embed) - return; - /* try to grab keyboard, we may have to wait for another process to ungrab */ - for (i = 0; i < 1000; i++) { - if (XGrabKeyboard(dpy, DefaultRootWindow(dpy), True, GrabModeAsync, - GrabModeAsync, CurrentTime) == GrabSuccess) - return; - nanosleep(&ts, NULL); - } - die("cannot grab keyboard"); -} - -static void -match(void) -{ - static char **tokv = NULL; - static int tokn = 0; - - char buf[sizeof text], *s; - int i, tokc = 0; - size_t len, textsize; - struct item *item, *lprefix, *lsubstr, *prefixend, *substrend; - - strcpy(buf, text); - /* separate input text into tokens to be matched individually */ - for (s = strtok(buf, " "); s; tokv[tokc - 1] = s, s = strtok(NULL, " ")) - if (++tokc > tokn && !(tokv = realloc(tokv, ++tokn * sizeof *tokv))) - die("cannot realloc %zu bytes:", tokn * sizeof *tokv); - len = tokc ? strlen(tokv[0]) : 0; - - matches = lprefix = lsubstr = matchend = prefixend = substrend = NULL; - textsize = strlen(text) + 1; - for (item = items; item && item->text; item++) { - for (i = 0; i < tokc; i++) - if (!fstrstr(item->text, tokv[i])) - break; - if (i != tokc) /* not all tokens match */ - continue; - /* exact matches go first, then prefixes, then substrings */ - if (!tokc || !fstrncmp(text, item->text, textsize)) - appenditem(item, &matches, &matchend); - else if (!fstrncmp(tokv[0], item->text, len)) - appenditem(item, &lprefix, &prefixend); - else - appenditem(item, &lsubstr, &substrend); - } - if (lprefix) { - if (matches) { - matchend->right = lprefix; - lprefix->left = matchend; - } else - matches = lprefix; - matchend = prefixend; - } - if (lsubstr) { - if (matches) { - matchend->right = lsubstr; - lsubstr->left = matchend; - } else - matches = lsubstr; - matchend = substrend; - } - curr = sel = matches; - calcoffsets(); -} - -static void -insert(const char *str, ssize_t n) -{ - if (strlen(text) + n > sizeof text - 1) - return; - /* move existing text out of the way, insert new text, and update cursor */ - memmove(&text[cursor + n], &text[cursor], sizeof text - cursor - MAX(n, 0)); - if (n > 0) - memcpy(&text[cursor], str, n); - cursor += n; - match(); -} - -static size_t -nextrune(int inc) -{ - ssize_t n; - - /* return location of next utf8 rune in the given direction (+1 or -1) */ - for (n = cursor + inc; n + inc >= 0 && (text[n] & 0xc0) == 0x80; n += inc) - ; - return n; -} - -static void -movewordedge(int dir) -{ - if (dir < 0) { /* move cursor to the start of the word*/ - while (cursor > 0 && strchr(worddelimiters, text[nextrune(-1)])) - cursor = nextrune(-1); - while (cursor > 0 && !strchr(worddelimiters, text[nextrune(-1)])) - cursor = nextrune(-1); - } else { /* move cursor to the end of the word */ - while (text[cursor] && strchr(worddelimiters, text[cursor])) - cursor = nextrune(+1); - while (text[cursor] && !strchr(worddelimiters, text[cursor])) - cursor = nextrune(+1); - } -} - -static void -keypress(XKeyEvent *ev) -{ - char buf[64]; - int len; - KeySym ksym = NoSymbol; - Status status; - - len = XmbLookupString(xic, ev, buf, sizeof buf, &ksym, &status); - switch (status) { - default: /* XLookupNone, XBufferOverflow */ - return; - case XLookupChars: /* composed string from input method */ - goto insert; - case XLookupKeySym: - case XLookupBoth: /* a KeySym and a string are returned: use keysym */ - break; - } - - if (ev->state & ControlMask) { - switch(ksym) { - case XK_a: ksym = XK_Home; break; - case XK_b: ksym = XK_Left; break; - case XK_c: ksym = XK_Escape; break; - case XK_d: ksym = XK_Delete; break; - case XK_e: ksym = XK_End; break; - case XK_f: ksym = XK_Right; break; - case XK_g: ksym = XK_Escape; break; - case XK_h: ksym = XK_BackSpace; break; - case XK_i: ksym = XK_Tab; break; - case XK_j: /* fallthrough */ - case XK_J: /* fallthrough */ - case XK_m: /* fallthrough */ - case XK_M: ksym = XK_Return; ev->state &= ~ControlMask; break; - case XK_n: ksym = XK_Down; break; - case XK_p: ksym = XK_Up; break; - - case XK_k: /* delete right */ - text[cursor] = '\0'; - match(); - break; - case XK_u: /* delete left */ - insert(NULL, 0 - cursor); - break; - case XK_w: /* delete word */ - while (cursor > 0 && strchr(worddelimiters, text[nextrune(-1)])) - insert(NULL, nextrune(-1) - cursor); - while (cursor > 0 && !strchr(worddelimiters, text[nextrune(-1)])) - insert(NULL, nextrune(-1) - cursor); - break; - case XK_y: /* paste selection */ - case XK_Y: - XConvertSelection(dpy, (ev->state & ShiftMask) ? clip : XA_PRIMARY, - utf8, utf8, win, CurrentTime); - return; - case XK_Left: - case XK_KP_Left: - movewordedge(-1); - goto draw; - case XK_Right: - case XK_KP_Right: - movewordedge(+1); - goto draw; - case XK_Return: - case XK_KP_Enter: - break; - case XK_bracketleft: - cleanup(); - exit(1); - default: - return; - } - } else if (ev->state & Mod1Mask) { - switch(ksym) { - case XK_b: - movewordedge(-1); - goto draw; - case XK_f: - movewordedge(+1); - goto draw; - case XK_g: ksym = XK_Home; break; - case XK_G: ksym = XK_End; break; - case XK_h: ksym = XK_Up; break; - case XK_j: ksym = XK_Next; break; - case XK_k: ksym = XK_Prior; break; - case XK_l: ksym = XK_Down; break; - default: - return; - } - } - - switch(ksym) { - default: -insert: - if (!iscntrl((unsigned char)*buf)) - insert(buf, len); - break; - case XK_Delete: - case XK_KP_Delete: - if (text[cursor] == '\0') - return; - cursor = nextrune(+1); - /* fallthrough */ - case XK_BackSpace: - if (cursor == 0) - return; - insert(NULL, nextrune(-1) - cursor); - break; - case XK_End: - case XK_KP_End: - if (text[cursor] != '\0') { - cursor = strlen(text); - break; - } - if (next) { - /* jump to end of list and position items in reverse */ - curr = matchend; - calcoffsets(); - curr = prev; - calcoffsets(); - while (next && (curr = curr->right)) - calcoffsets(); - } - sel = matchend; - break; - case XK_Escape: - cleanup(); - exit(1); - case XK_Home: - case XK_KP_Home: - if (sel == matches) { - cursor = 0; - break; - } - sel = curr = matches; - calcoffsets(); - break; - case XK_Left: - case XK_KP_Left: - if (cursor > 0 && (!sel || !sel->left || lines > 0)) { - cursor = nextrune(-1); - break; - } - if (lines > 0) - return; - /* fallthrough */ - case XK_Up: - case XK_KP_Up: - if (sel && sel->left && (sel = sel->left)->right == curr) { - curr = prev; - calcoffsets(); - } - break; - case XK_Next: - case XK_KP_Next: - if (!next) - return; - sel = curr = next; - calcoffsets(); - break; - case XK_Prior: - case XK_KP_Prior: - if (!prev) - return; - sel = curr = prev; - calcoffsets(); - break; - case XK_Return: - case XK_KP_Enter: - puts((sel && !(ev->state & ShiftMask)) ? sel->text : text); - if (!(ev->state & ControlMask)) { - cleanup(); - exit(0); - } - if (sel) - sel->out = 1; - break; - case XK_Right: - case XK_KP_Right: - if (text[cursor] != '\0') { - cursor = nextrune(+1); - break; - } - if (lines > 0) - return; - /* fallthrough */ - case XK_Down: - case XK_KP_Down: - if (sel && sel->right && (sel = sel->right) == next) { - curr = next; - calcoffsets(); - } - break; - case XK_Tab: - if (!sel) - return; - cursor = strnlen(sel->text, sizeof text - 1); - memcpy(text, sel->text, cursor); - text[cursor] = '\0'; - match(); - break; - } - -draw: - drawmenu(); -} - -static void -paste(void) -{ - char *p, *q; - int di; - unsigned long dl; - Atom da; - - /* we have been given the current selection, now insert it into input */ - if (XGetWindowProperty(dpy, win, utf8, 0, (sizeof text / 4) + 1, False, - utf8, &da, &di, &dl, &dl, (unsigned char **)&p) - == Success && p) { - insert(p, (q = strchr(p, '\n')) ? q - p : (ssize_t)strlen(p)); - XFree(p); - } - drawmenu(); -} - -static void -readstdin(void) -{ - char *line = NULL; - size_t i, itemsiz = 0, linesiz = 0; - ssize_t len; - - /* read each line from stdin and add it to the item list */ - for (i = 0; (len = getline(&line, &linesiz, stdin)) != -1; i++) { - if (i + 1 >= itemsiz) { - itemsiz += 256; - if (!(items = realloc(items, itemsiz * sizeof(*items)))) - die("cannot realloc %zu bytes:", itemsiz * sizeof(*items)); - } - if (line[len - 1] == '\n') - line[len - 1] = '\0'; - if (!(items[i].text = strdup(line))) - die("strdup:"); - - items[i].out = 0; - } - free(line); - if (items) - items[i].text = NULL; - lines = MIN(lines, i); -} - -static void -run(void) -{ - XEvent ev; - - while (!XNextEvent(dpy, &ev)) { - if (XFilterEvent(&ev, win)) - continue; - switch(ev.type) { - case DestroyNotify: - if (ev.xdestroywindow.window != win) - break; - cleanup(); - exit(1); - case Expose: - if (ev.xexpose.count == 0) - drw_map(drw, win, 0, 0, mw, mh); - break; - case FocusIn: - /* regrab focus from parent window */ - if (ev.xfocus.window != win) - grabfocus(); - break; - case KeyPress: - keypress(&ev.xkey); - break; - case SelectionNotify: - if (ev.xselection.property == utf8) - paste(); - break; - case VisibilityNotify: - if (ev.xvisibility.state != VisibilityUnobscured) - XRaiseWindow(dpy, win); - break; - } - } -} - -static void -setup(void) -{ - int x, y, i, j; - unsigned int du; - XSetWindowAttributes swa; - XIM xim; - Window w, dw, *dws; - XWindowAttributes wa; - XClassHint ch = {"dmenu", "dmenu"}; -#ifdef XINERAMA - XineramaScreenInfo *info; - Window pw; - int a, di, n, area = 0; -#endif - /* init appearance */ - for (j = 0; j < SchemeLast; j++) - scheme[j] = drw_scm_create(drw, colors[j], 2); - - clip = XInternAtom(dpy, "CLIPBOARD", False); - utf8 = XInternAtom(dpy, "UTF8_STRING", False); - - /* calculate menu geometry */ - bh = drw->fonts->h + 2; - lines = MAX(lines, 0); - mh = (lines + 1) * bh; -#ifdef XINERAMA - i = 0; - if (parentwin == root && (info = XineramaQueryScreens(dpy, &n))) { - XGetInputFocus(dpy, &w, &di); - if (mon >= 0 && mon < n) - i = mon; - else if (w != root && w != PointerRoot && w != None) { - /* find top-level window containing current input focus */ - do { - if (XQueryTree(dpy, (pw = w), &dw, &w, &dws, &du) && dws) - XFree(dws); - } while (w != root && w != pw); - /* find xinerama screen with which the window intersects most */ - if (XGetWindowAttributes(dpy, pw, &wa)) - for (j = 0; j < n; j++) - if ((a = INTERSECT(wa.x, wa.y, wa.width, wa.height, info[j])) > area) { - area = a; - i = j; - } - } - /* no focused window is on screen, so use pointer location instead */ - if (mon < 0 && !area && XQueryPointer(dpy, root, &dw, &dw, &x, &y, &di, &di, &du)) - for (i = 0; i < n; i++) - if (INTERSECT(x, y, 1, 1, info[i]) != 0) - break; - - x = info[i].x_org; - y = info[i].y_org + (topbar ? 0 : info[i].height - mh); - mw = info[i].width; - XFree(info); - } else -#endif - { - if (!XGetWindowAttributes(dpy, parentwin, &wa)) - die("could not get embedding window attributes: 0x%lx", - parentwin); - x = 0; - y = topbar ? 0 : wa.height - mh; - mw = wa.width; - } - promptw = (prompt && *prompt) ? TEXTW(prompt) - lrpad / 4 : 0; - inputw = mw / 3; /* input width: ~33% of monitor width */ - match(); - - /* create menu window */ - swa.override_redirect = True; - swa.background_pixel = scheme[SchemeNorm][ColBg].pixel; - swa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask; - win = XCreateWindow(dpy, root, x, y, mw, mh, 0, - CopyFromParent, CopyFromParent, CopyFromParent, - CWOverrideRedirect | CWBackPixel | CWEventMask, &swa); - XSetClassHint(dpy, win, &ch); - - - /* input methods */ - if ((xim = XOpenIM(dpy, NULL, NULL, NULL)) == NULL) - die("XOpenIM failed: could not open input device"); - - xic = XCreateIC(xim, XNInputStyle, XIMPreeditNothing | XIMStatusNothing, - XNClientWindow, win, XNFocusWindow, win, NULL); - - XMapRaised(dpy, win); - if (embed) { - XReparentWindow(dpy, win, parentwin, x, y); - XSelectInput(dpy, parentwin, FocusChangeMask | SubstructureNotifyMask); - if (XQueryTree(dpy, parentwin, &dw, &w, &dws, &du) && dws) { - for (i = 0; i < du && dws[i] != win; ++i) - XSelectInput(dpy, dws[i], FocusChangeMask); - XFree(dws); - } - grabfocus(); - } - drw_resize(drw, mw, mh); - drawmenu(); -} - -static void -usage(void) -{ - die("usage: dmenu [-bfiv] [-l lines] [-p prompt] [-fn font] [-m monitor]\n" - " [-nb color] [-nf color] [-sb color] [-sf color] [-w windowid]"); -} - -int -main(int argc, char *argv[]) -{ - XWindowAttributes wa; - int i, fast = 0; - - for (i = 1; i < argc; i++) - /* these options take no arguments */ - if (!strcmp(argv[i], "-v")) { /* prints version information */ - puts("dmenu-"VERSION); - exit(0); - } else if (!strcmp(argv[i], "-b")) /* appears at the bottom of the screen */ - topbar = 0; - else if (!strcmp(argv[i], "-f")) /* grabs keyboard before reading stdin */ - fast = 1; - else if (!strcmp(argv[i], "-i")) { /* case-insensitive item matching */ - fstrncmp = strncasecmp; - fstrstr = cistrstr; - } else if (i + 1 == argc) - usage(); - /* these options take one argument */ - else if (!strcmp(argv[i], "-l")) /* number of lines in vertical list */ - lines = atoi(argv[++i]); - else if (!strcmp(argv[i], "-m")) - mon = atoi(argv[++i]); - else if (!strcmp(argv[i], "-p")) /* adds prompt to left of input field */ - prompt = argv[++i]; - else if (!strcmp(argv[i], "-fn")) /* font or font set */ - fonts[0] = argv[++i]; - else if (!strcmp(argv[i], "-nb")) /* normal background color */ - colors[SchemeNorm][ColBg] = argv[++i]; - else if (!strcmp(argv[i], "-nf")) /* normal foreground color */ - colors[SchemeNorm][ColFg] = argv[++i]; - else if (!strcmp(argv[i], "-sb")) /* selected background color */ - colors[SchemeSel][ColBg] = argv[++i]; - else if (!strcmp(argv[i], "-sf")) /* selected foreground color */ - colors[SchemeSel][ColFg] = argv[++i]; - else if (!strcmp(argv[i], "-w")) /* embedding window id */ - embed = argv[++i]; - else - usage(); - - if (!setlocale(LC_CTYPE, "") || !XSupportsLocale()) - fputs("warning: no locale support\n", stderr); - if (!(dpy = XOpenDisplay(NULL))) - die("cannot open display"); - screen = DefaultScreen(dpy); - root = RootWindow(dpy, screen); - if (!embed || !(parentwin = strtol(embed, NULL, 0))) - parentwin = root; - if (!XGetWindowAttributes(dpy, parentwin, &wa)) - die("could not get embedding window attributes: 0x%lx", - parentwin); - drw = drw_create(dpy, screen, root, wa.width, wa.height); - if (!drw_fontset_create(drw, fonts, LENGTH(fonts))) - die("no fonts could be loaded."); - lrpad = drw->fonts->h; - -#ifdef __OpenBSD__ - if (pledge("stdio rpath", NULL) == -1) - die("pledge"); -#endif - - if (fast && !isatty(0)) { - grabkeyboard(); - readstdin(); - } else { - readstdin(); - grabkeyboard(); - } - setup(); - run(); - - return 1; /* unreachable */ -} diff --git a/programs/dmenu/dmenu_path b/programs/dmenu/dmenu_path deleted file mode 100755 index 3a7cda79..00000000 --- a/programs/dmenu/dmenu_path +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -cachedir="${XDG_CACHE_HOME:-"$HOME/.cache"}" -cache="$cachedir/dmenu_run" - -[ ! -e "$cachedir" ] && mkdir -p "$cachedir" - -IFS=: -if stest -dqr -n "$cache" $PATH; then - stest -flx $PATH | sort -u | tee "$cache" -else - cat "$cache" -fi diff --git a/programs/dmenu/dmenu_run b/programs/dmenu/dmenu_run deleted file mode 100755 index 834ede54..00000000 --- a/programs/dmenu/dmenu_run +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -dmenu_path | dmenu "$@" | ${SHELL:-"/bin/sh"} & diff --git a/programs/dmenu/drw.c b/programs/dmenu/drw.c deleted file mode 100644 index 78a2b272..00000000 --- a/programs/dmenu/drw.c +++ /dev/null @@ -1,451 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#include -#include -#include -#include -#include - -#include "drw.h" -#include "util.h" - -#define UTF_INVALID 0xFFFD -#define UTF_SIZ 4 - -static const unsigned char utfbyte[UTF_SIZ + 1] = {0x80, 0, 0xC0, 0xE0, 0xF0}; -static const unsigned char utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8}; -static const long utfmin[UTF_SIZ + 1] = { 0, 0, 0x80, 0x800, 0x10000}; -static const long utfmax[UTF_SIZ + 1] = {0x10FFFF, 0x7F, 0x7FF, 0xFFFF, 0x10FFFF}; - -static long -utf8decodebyte(const char c, size_t *i) -{ - for (*i = 0; *i < (UTF_SIZ + 1); ++(*i)) - if (((unsigned char)c & utfmask[*i]) == utfbyte[*i]) - return (unsigned char)c & ~utfmask[*i]; - return 0; -} - -static size_t -utf8validate(long *u, size_t i) -{ - if (!BETWEEN(*u, utfmin[i], utfmax[i]) || BETWEEN(*u, 0xD800, 0xDFFF)) - *u = UTF_INVALID; - for (i = 1; *u > utfmax[i]; ++i) - ; - return i; -} - -static size_t -utf8decode(const char *c, long *u, size_t clen) -{ - size_t i, j, len, type; - long udecoded; - - *u = UTF_INVALID; - if (!clen) - return 0; - udecoded = utf8decodebyte(c[0], &len); - if (!BETWEEN(len, 1, UTF_SIZ)) - return 1; - for (i = 1, j = 1; i < clen && j < len; ++i, ++j) { - udecoded = (udecoded << 6) | utf8decodebyte(c[i], &type); - if (type) - return j; - } - if (j < len) - return 0; - *u = udecoded; - utf8validate(u, len); - - return len; -} - -Drw * -drw_create(Display *dpy, int screen, Window root, unsigned int w, unsigned int h) -{ - Drw *drw = ecalloc(1, sizeof(Drw)); - - drw->dpy = dpy; - drw->screen = screen; - drw->root = root; - drw->w = w; - drw->h = h; - drw->drawable = XCreatePixmap(dpy, root, w, h, DefaultDepth(dpy, screen)); - drw->gc = XCreateGC(dpy, root, 0, NULL); - XSetLineAttributes(dpy, drw->gc, 1, LineSolid, CapButt, JoinMiter); - - return drw; -} - -void -drw_resize(Drw *drw, unsigned int w, unsigned int h) -{ - if (!drw) - return; - - drw->w = w; - drw->h = h; - if (drw->drawable) - XFreePixmap(drw->dpy, drw->drawable); - drw->drawable = XCreatePixmap(drw->dpy, drw->root, w, h, DefaultDepth(drw->dpy, drw->screen)); -} - -void -drw_free(Drw *drw) -{ - XFreePixmap(drw->dpy, drw->drawable); - XFreeGC(drw->dpy, drw->gc); - drw_fontset_free(drw->fonts); - free(drw); -} - -/* This function is an implementation detail. Library users should use - * drw_fontset_create instead. - */ -static Fnt * -xfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern) -{ - Fnt *font; - XftFont *xfont = NULL; - FcPattern *pattern = NULL; - - if (fontname) { - /* Using the pattern found at font->xfont->pattern does not yield the - * same substitution results as using the pattern returned by - * FcNameParse; using the latter results in the desired fallback - * behaviour whereas the former just results in missing-character - * rectangles being drawn, at least with some fonts. */ - if (!(xfont = XftFontOpenName(drw->dpy, drw->screen, fontname))) { - fprintf(stderr, "error, cannot load font from name: '%s'\n", fontname); - return NULL; - } - if (!(pattern = FcNameParse((FcChar8 *) fontname))) { - fprintf(stderr, "error, cannot parse font name to pattern: '%s'\n", fontname); - XftFontClose(drw->dpy, xfont); - return NULL; - } - } else if (fontpattern) { - if (!(xfont = XftFontOpenPattern(drw->dpy, fontpattern))) { - fprintf(stderr, "error, cannot load font from pattern.\n"); - return NULL; - } - } else { - die("no font specified."); - } - - font = ecalloc(1, sizeof(Fnt)); - font->xfont = xfont; - font->pattern = pattern; - font->h = xfont->ascent + xfont->descent; - font->dpy = drw->dpy; - - return font; -} - -static void -xfont_free(Fnt *font) -{ - if (!font) - return; - if (font->pattern) - FcPatternDestroy(font->pattern); - XftFontClose(font->dpy, font->xfont); - free(font); -} - -Fnt* -drw_fontset_create(Drw* drw, const char *fonts[], size_t fontcount) -{ - Fnt *cur, *ret = NULL; - size_t i; - - if (!drw || !fonts) - return NULL; - - for (i = 1; i <= fontcount; i++) { - if ((cur = xfont_create(drw, fonts[fontcount - i], NULL))) { - cur->next = ret; - ret = cur; - } - } - return (drw->fonts = ret); -} - -void -drw_fontset_free(Fnt *font) -{ - if (font) { - drw_fontset_free(font->next); - xfont_free(font); - } -} - -void -drw_clr_create(Drw *drw, Clr *dest, const char *clrname) -{ - if (!drw || !dest || !clrname) - return; - - if (!XftColorAllocName(drw->dpy, DefaultVisual(drw->dpy, drw->screen), - DefaultColormap(drw->dpy, drw->screen), - clrname, dest)) - die("error, cannot allocate color '%s'", clrname); -} - -/* Wrapper to create color schemes. The caller has to call free(3) on the - * returned color scheme when done using it. */ -Clr * -drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount) -{ - size_t i; - Clr *ret; - - /* need at least two colors for a scheme */ - if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(XftColor)))) - return NULL; - - for (i = 0; i < clrcount; i++) - drw_clr_create(drw, &ret[i], clrnames[i]); - return ret; -} - -void -drw_setfontset(Drw *drw, Fnt *set) -{ - if (drw) - drw->fonts = set; -} - -void -drw_setscheme(Drw *drw, Clr *scm) -{ - if (drw) - drw->scheme = scm; -} - -void -drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, int invert) -{ - if (!drw || !drw->scheme) - return; - XSetForeground(drw->dpy, drw->gc, invert ? drw->scheme[ColBg].pixel : drw->scheme[ColFg].pixel); - if (filled) - XFillRectangle(drw->dpy, drw->drawable, drw->gc, x, y, w, h); - else - XDrawRectangle(drw->dpy, drw->drawable, drw->gc, x, y, w - 1, h - 1); -} - -int -drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lpad, const char *text, int invert) -{ - int ty, ellipsis_x = 0; - unsigned int tmpw, ew, ellipsis_w = 0, ellipsis_len, hash, h0, h1; - XftDraw *d = NULL; - Fnt *usedfont, *curfont, *nextfont; - int utf8strlen, utf8charlen, render = x || y || w || h; - long utf8codepoint = 0; - const char *utf8str; - FcCharSet *fccharset; - FcPattern *fcpattern; - FcPattern *match; - XftResult result; - int charexists = 0, overflow = 0; - /* keep track of a couple codepoints for which we have no match. */ - static unsigned int nomatches[128], ellipsis_width; - - if (!drw || (render && (!drw->scheme || !w)) || !text || !drw->fonts) - return 0; - - if (!render) { - w = invert ? invert : ~invert; - } else { - XSetForeground(drw->dpy, drw->gc, drw->scheme[invert ? ColFg : ColBg].pixel); - XFillRectangle(drw->dpy, drw->drawable, drw->gc, x, y, w, h); - d = XftDrawCreate(drw->dpy, drw->drawable, - DefaultVisual(drw->dpy, drw->screen), - DefaultColormap(drw->dpy, drw->screen)); - x += lpad; - w -= lpad; - } - - usedfont = drw->fonts; - if (!ellipsis_width && render) - ellipsis_width = drw_fontset_getwidth(drw, "..."); - while (1) { - ew = ellipsis_len = utf8strlen = 0; - utf8str = text; - nextfont = NULL; - while (*text) { - utf8charlen = utf8decode(text, &utf8codepoint, UTF_SIZ); - for (curfont = drw->fonts; curfont; curfont = curfont->next) { - charexists = charexists || XftCharExists(drw->dpy, curfont->xfont, utf8codepoint); - if (charexists) { - drw_font_getexts(curfont, text, utf8charlen, &tmpw, NULL); - if (ew + ellipsis_width <= w) { - /* keep track where the ellipsis still fits */ - ellipsis_x = x + ew; - ellipsis_w = w - ew; - ellipsis_len = utf8strlen; - } - - if (ew + tmpw > w) { - overflow = 1; - /* called from drw_fontset_getwidth_clamp(): - * it wants the width AFTER the overflow - */ - if (!render) - x += tmpw; - else - utf8strlen = ellipsis_len; - } else if (curfont == usedfont) { - utf8strlen += utf8charlen; - text += utf8charlen; - ew += tmpw; - } else { - nextfont = curfont; - } - break; - } - } - - if (overflow || !charexists || nextfont) - break; - else - charexists = 0; - } - - if (utf8strlen) { - if (render) { - ty = y + (h - usedfont->h) / 2 + usedfont->xfont->ascent; - XftDrawStringUtf8(d, &drw->scheme[invert ? ColBg : ColFg], - usedfont->xfont, x, ty, (XftChar8 *)utf8str, utf8strlen); - } - x += ew; - w -= ew; - } - if (render && overflow) - drw_text(drw, ellipsis_x, y, ellipsis_w, h, 0, "...", invert); - - if (!*text || overflow) { - break; - } else if (nextfont) { - charexists = 0; - usedfont = nextfont; - } else { - /* Regardless of whether or not a fallback font is found, the - * character must be drawn. */ - charexists = 1; - - hash = (unsigned int)utf8codepoint; - hash = ((hash >> 16) ^ hash) * 0x21F0AAAD; - hash = ((hash >> 15) ^ hash) * 0xD35A2D97; - h0 = ((hash >> 15) ^ hash) % LENGTH(nomatches); - h1 = (hash >> 17) % LENGTH(nomatches); - /* avoid expensive XftFontMatch call when we know we won't find a match */ - if (nomatches[h0] == utf8codepoint || nomatches[h1] == utf8codepoint) - goto no_match; - - fccharset = FcCharSetCreate(); - FcCharSetAddChar(fccharset, utf8codepoint); - - if (!drw->fonts->pattern) { - /* Refer to the comment in xfont_create for more information. */ - die("the first font in the cache must be loaded from a font string."); - } - - fcpattern = FcPatternDuplicate(drw->fonts->pattern); - FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset); - FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue); - - FcConfigSubstitute(NULL, fcpattern, FcMatchPattern); - FcDefaultSubstitute(fcpattern); - match = XftFontMatch(drw->dpy, drw->screen, fcpattern, &result); - - FcCharSetDestroy(fccharset); - FcPatternDestroy(fcpattern); - - if (match) { - usedfont = xfont_create(drw, NULL, match); - if (usedfont && XftCharExists(drw->dpy, usedfont->xfont, utf8codepoint)) { - for (curfont = drw->fonts; curfont->next; curfont = curfont->next) - ; /* NOP */ - curfont->next = usedfont; - } else { - xfont_free(usedfont); - nomatches[nomatches[h0] ? h1 : h0] = utf8codepoint; -no_match: - usedfont = drw->fonts; - } - } - } - } - if (d) - XftDrawDestroy(d); - - return x + (render ? w : 0); -} - -void -drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h) -{ - if (!drw) - return; - - XCopyArea(drw->dpy, drw->drawable, win, drw->gc, x, y, w, h, x, y); - XSync(drw->dpy, False); -} - -unsigned int -drw_fontset_getwidth(Drw *drw, const char *text) -{ - if (!drw || !drw->fonts || !text) - return 0; - return drw_text(drw, 0, 0, 0, 0, 0, text, 0); -} - -unsigned int -drw_fontset_getwidth_clamp(Drw *drw, const char *text, unsigned int n) -{ - unsigned int tmp = 0; - if (drw && drw->fonts && text && n) - tmp = drw_text(drw, 0, 0, 0, 0, 0, text, n); - return MIN(n, tmp); -} - -void -drw_font_getexts(Fnt *font, const char *text, unsigned int len, unsigned int *w, unsigned int *h) -{ - XGlyphInfo ext; - - if (!font || !text) - return; - - XftTextExtentsUtf8(font->dpy, font->xfont, (XftChar8 *)text, len, &ext); - if (w) - *w = ext.xOff; - if (h) - *h = font->h; -} - -Cur * -drw_cur_create(Drw *drw, int shape) -{ - Cur *cur; - - if (!drw || !(cur = ecalloc(1, sizeof(Cur)))) - return NULL; - - cur->cursor = XCreateFontCursor(drw->dpy, shape); - - return cur; -} - -void -drw_cur_free(Drw *drw, Cur *cursor) -{ - if (!cursor) - return; - - XFreeCursor(drw->dpy, cursor->cursor); - free(cursor); -} diff --git a/programs/dmenu/drw.h b/programs/dmenu/drw.h deleted file mode 100644 index fd7631b2..00000000 --- a/programs/dmenu/drw.h +++ /dev/null @@ -1,58 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -typedef struct { - Cursor cursor; -} Cur; - -typedef struct Fnt { - Display *dpy; - unsigned int h; - XftFont *xfont; - FcPattern *pattern; - struct Fnt *next; -} Fnt; - -enum { ColFg, ColBg }; /* Clr scheme index */ -typedef XftColor Clr; - -typedef struct { - unsigned int w, h; - Display *dpy; - int screen; - Window root; - Drawable drawable; - GC gc; - Clr *scheme; - Fnt *fonts; -} Drw; - -/* Drawable abstraction */ -Drw *drw_create(Display *dpy, int screen, Window win, unsigned int w, unsigned int h); -void drw_resize(Drw *drw, unsigned int w, unsigned int h); -void drw_free(Drw *drw); - -/* Fnt abstraction */ -Fnt *drw_fontset_create(Drw* drw, const char *fonts[], size_t fontcount); -void drw_fontset_free(Fnt* set); -unsigned int drw_fontset_getwidth(Drw *drw, const char *text); -unsigned int drw_fontset_getwidth_clamp(Drw *drw, const char *text, unsigned int n); -void drw_font_getexts(Fnt *font, const char *text, unsigned int len, unsigned int *w, unsigned int *h); - -/* Colorscheme abstraction */ -void drw_clr_create(Drw *drw, Clr *dest, const char *clrname); -Clr *drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount); - -/* Cursor abstraction */ -Cur *drw_cur_create(Drw *drw, int shape); -void drw_cur_free(Drw *drw, Cur *cursor); - -/* Drawing context manipulation */ -void drw_setfontset(Drw *drw, Fnt *set); -void drw_setscheme(Drw *drw, Clr *scm); - -/* Drawing functions */ -void drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, int invert); -int drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lpad, const char *text, int invert); - -/* Map functions */ -void drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h); diff --git a/programs/dmenu/patches/dmenu-gruvbox-20210329-9ae8ea5.diff b/programs/dmenu/patches/dmenu-gruvbox-20210329-9ae8ea5.diff deleted file mode 100644 index f3b5ec1b..00000000 --- a/programs/dmenu/patches/dmenu-gruvbox-20210329-9ae8ea5.diff +++ /dev/null @@ -1,29 +0,0 @@ -From 9ae8ea55988973aa19f1e069ee24ba7af5a669e0 Mon Sep 17 00:00:00 2001 -From: Miles Glapa-Grossklag -Date: Mon, 29 Mar 2021 18:57:52 -0700 -Subject: [PATCH] Add gruvbox dark colorscheme - ---- - config.def.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/config.def.h b/config.def.h -index 1edb647..36105e5 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -9,9 +9,9 @@ static const char *fonts[] = { - static const char *prompt = NULL; /* -p option; prompt to the left of input field */ - static const char *colors[SchemeLast][2] = { - /* fg bg */ -- [SchemeNorm] = { "#bbbbbb", "#222222" }, -- [SchemeSel] = { "#eeeeee", "#005577" }, -- [SchemeOut] = { "#000000", "#00ffff" }, -+ [SchemeNorm] = { "#ebdbb2", "#282828" }, -+ [SchemeSel] = { "#ebdbb2", "#98971a" }, -+ [SchemeOut] = { "#ebdbb2", "#8ec07c" }, - }; - /* -l option; if nonzero, dmenu uses vertical list with given number of lines */ - static unsigned int lines = 0; --- -2.25.1 - diff --git a/programs/dmenu/stest.1 b/programs/dmenu/stest.1 deleted file mode 100644 index 2667d8aa..00000000 --- a/programs/dmenu/stest.1 +++ /dev/null @@ -1,90 +0,0 @@ -.TH STEST 1 dmenu\-VERSION -.SH NAME -stest \- filter a list of files by properties -.SH SYNOPSIS -.B stest -.RB [ -abcdefghlpqrsuwx ] -.RB [ -n -.IR file ] -.RB [ -o -.IR file ] -.RI [ file ...] -.SH DESCRIPTION -.B stest -takes a list of files and filters by the files' properties, analogous to -.IR test (1). -Files which pass all tests are printed to stdout. If no files are given, stest -reads files from stdin. -.SH OPTIONS -.TP -.B \-a -Test hidden files. -.TP -.B \-b -Test that files are block specials. -.TP -.B \-c -Test that files are character specials. -.TP -.B \-d -Test that files are directories. -.TP -.B \-e -Test that files exist. -.TP -.B \-f -Test that files are regular files. -.TP -.B \-g -Test that files have their set-group-ID flag set. -.TP -.B \-h -Test that files are symbolic links. -.TP -.B \-l -Test the contents of a directory given as an argument. -.TP -.BI \-n " file" -Test that files are newer than -.IR file . -.TP -.BI \-o " file" -Test that files are older than -.IR file . -.TP -.B \-p -Test that files are named pipes. -.TP -.B \-q -No files are printed, only the exit status is returned. -.TP -.B \-r -Test that files are readable. -.TP -.B \-s -Test that files are not empty. -.TP -.B \-u -Test that files have their set-user-ID flag set. -.TP -.B \-v -Invert the sense of tests, only failing files pass. -.TP -.B \-w -Test that files are writable. -.TP -.B \-x -Test that files are executable. -.SH EXIT STATUS -.TP -.B 0 -At least one file passed all tests. -.TP -.B 1 -No files passed all tests. -.TP -.B 2 -An error occurred. -.SH SEE ALSO -.IR dmenu (1), -.IR test (1) diff --git a/programs/dmenu/stest.c b/programs/dmenu/stest.c deleted file mode 100644 index e27d3a5e..00000000 --- a/programs/dmenu/stest.c +++ /dev/null @@ -1,109 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#include - -#include -#include -#include -#include -#include -#include - -#include "arg.h" -char *argv0; - -#define FLAG(x) (flag[(x)-'a']) - -static void test(const char *, const char *); -static void usage(void); - -static int match = 0; -static int flag[26]; -static struct stat old, new; - -static void -test(const char *path, const char *name) -{ - struct stat st, ln; - - if ((!stat(path, &st) && (FLAG('a') || name[0] != '.') /* hidden files */ - && (!FLAG('b') || S_ISBLK(st.st_mode)) /* block special */ - && (!FLAG('c') || S_ISCHR(st.st_mode)) /* character special */ - && (!FLAG('d') || S_ISDIR(st.st_mode)) /* directory */ - && (!FLAG('e') || access(path, F_OK) == 0) /* exists */ - && (!FLAG('f') || S_ISREG(st.st_mode)) /* regular file */ - && (!FLAG('g') || st.st_mode & S_ISGID) /* set-group-id flag */ - && (!FLAG('h') || (!lstat(path, &ln) && S_ISLNK(ln.st_mode))) /* symbolic link */ - && (!FLAG('n') || st.st_mtime > new.st_mtime) /* newer than file */ - && (!FLAG('o') || st.st_mtime < old.st_mtime) /* older than file */ - && (!FLAG('p') || S_ISFIFO(st.st_mode)) /* named pipe */ - && (!FLAG('r') || access(path, R_OK) == 0) /* readable */ - && (!FLAG('s') || st.st_size > 0) /* not empty */ - && (!FLAG('u') || st.st_mode & S_ISUID) /* set-user-id flag */ - && (!FLAG('w') || access(path, W_OK) == 0) /* writable */ - && (!FLAG('x') || access(path, X_OK) == 0)) != FLAG('v')) { /* executable */ - if (FLAG('q')) - exit(0); - match = 1; - puts(name); - } -} - -static void -usage(void) -{ - fprintf(stderr, "usage: %s [-abcdefghlpqrsuvwx] " - "[-n file] [-o file] [file...]\n", argv0); - exit(2); /* like test(1) return > 1 on error */ -} - -int -main(int argc, char *argv[]) -{ - struct dirent *d; - char path[PATH_MAX], *line = NULL, *file; - size_t linesiz = 0; - ssize_t n; - DIR *dir; - int r; - - ARGBEGIN { - case 'n': /* newer than file */ - case 'o': /* older than file */ - file = EARGF(usage()); - if (!(FLAG(ARGC()) = !stat(file, (ARGC() == 'n' ? &new : &old)))) - perror(file); - break; - default: - /* miscellaneous operators */ - if (strchr("abcdefghlpqrsuvwx", ARGC())) - FLAG(ARGC()) = 1; - else - usage(); /* unknown flag */ - } ARGEND; - - if (!argc) { - /* read list from stdin */ - while ((n = getline(&line, &linesiz, stdin)) > 0) { - if (line[n - 1] == '\n') - line[n - 1] = '\0'; - test(line, line); - } - free(line); - } else { - for (; argc; argc--, argv++) { - if (FLAG('l') && (dir = opendir(*argv))) { - /* test directory contents */ - while ((d = readdir(dir))) { - r = snprintf(path, sizeof path, "%s/%s", - *argv, d->d_name); - if (r >= 0 && (size_t)r < sizeof path) - test(path, d->d_name); - } - closedir(dir); - } else { - test(*argv, *argv); - } - } - } - return match ? 0 : 1; -} diff --git a/programs/dmenu/util.c b/programs/dmenu/util.c deleted file mode 100644 index 96b82c98..00000000 --- a/programs/dmenu/util.c +++ /dev/null @@ -1,36 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#include -#include -#include -#include - -#include "util.h" - -void -die(const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - - if (fmt[0] && fmt[strlen(fmt)-1] == ':') { - fputc(' ', stderr); - perror(NULL); - } else { - fputc('\n', stderr); - } - - exit(1); -} - -void * -ecalloc(size_t nmemb, size_t size) -{ - void *p; - - if (!(p = calloc(nmemb, size))) - die("calloc:"); - return p; -} diff --git a/programs/dmenu/util.h b/programs/dmenu/util.h deleted file mode 100644 index c0a50d44..00000000 --- a/programs/dmenu/util.h +++ /dev/null @@ -1,9 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -#define MAX(A, B) ((A) > (B) ? (A) : (B)) -#define MIN(A, B) ((A) < (B) ? (A) : (B)) -#define BETWEEN(X, A, B) ((A) <= (X) && (X) <= (B)) -#define LENGTH(X) (sizeof (X) / sizeof (X)[0]) - -void die(const char *fmt, ...); -void *ecalloc(size_t nmemb, size_t size); diff --git a/programs/dwm/LICENSE b/programs/dwm/LICENSE deleted file mode 100644 index 995172fa..00000000 --- a/programs/dwm/LICENSE +++ /dev/null @@ -1,38 +0,0 @@ -MIT/X Consortium License - -© 2006-2019 Anselm R Garbe -© 2006-2009 Jukka Salmi -© 2006-2007 Sander van Dijk -© 2007-2011 Peter Hartlich -© 2007-2009 Szabolcs Nagy -© 2007-2009 Christof Musik -© 2007-2009 Premysl Hruby -© 2007-2008 Enno Gottox Boland -© 2008 Martin Hurton -© 2008 Neale Pickett -© 2009 Mate Nagy -© 2010-2016 Hiltjo Posthuma -© 2010-2012 Connor Lane Smith -© 2011 Christoph Lohmann <20h@r-36.net> -© 2015-2016 Quentin Rameau -© 2015-2016 Eric Pruitt -© 2016-2017 Markus Teich -© 2020-2022 Chris Down - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/programs/dwm/Makefile b/programs/dwm/Makefile deleted file mode 100644 index 13212b52..00000000 --- a/programs/dwm/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -# dwm - dynamic window manager -# See LICENSE file for copyright and license details. - -include config.mk - -SRC = drw.c dwm.c util.c -OBJ = ${SRC:.c=.o} - -all: dwm - -.c.o: - ${CC} -c ${CFLAGS} $< - -${OBJ}: config.h config.mk - -dwm: ${OBJ} - ${CC} -o $@ ${OBJ} ${LDFLAGS} - -clean: - rm -f dwm ${OBJ} dwm-${VERSION}.tar.gz - -install: all - mkdir -p ${DESTDIR}${PREFIX}/bin - cp -f dwm ${DESTDIR}${PREFIX}/bin - chmod 755 ${DESTDIR}${PREFIX}/bin/dwm - mkdir -p ${DESTDIR}${MANPREFIX}/man1 - sed "s/VERSION/${VERSION}/g" < dwm.1 > ${DESTDIR}${MANPREFIX}/man1/dwm.1 - chmod 644 ${DESTDIR}${MANPREFIX}/man1/dwm.1 - -uninstall: - rm -f ${DESTDIR}${PREFIX}/bin/dwm\ - ${DESTDIR}${MANPREFIX}/man1/dwm.1 - -.PHONY: all clean install uninstall diff --git a/programs/dwm/README b/programs/dwm/README deleted file mode 100644 index 95d4fd05..00000000 --- a/programs/dwm/README +++ /dev/null @@ -1,48 +0,0 @@ -dwm - dynamic window manager -============================ -dwm is an extremely fast, small, and dynamic window manager for X. - - -Requirements ------------- -In order to build dwm you need the Xlib header files. - - -Installation ------------- -Edit config.mk to match your local setup (dwm is installed into -the /usr/local namespace by default). - -Afterwards enter the following command to build and install dwm (if -necessary as root): - - make clean install - - -Running dwm ------------ -Add the following line to your .xinitrc to start dwm using startx: - - exec dwm - -In order to connect dwm to a specific display, make sure that -the DISPLAY environment variable is set correctly, e.g.: - - DISPLAY=foo.bar:1 exec dwm - -(This will start dwm on display :1 of the host foo.bar.) - -In order to display status info in the bar, you can do something -like this in your .xinitrc: - - while xsetroot -name "`date` `uptime | sed 's/.*,//'`" - do - sleep 1 - done & - exec dwm - - -Configuration -------------- -The configuration of dwm is done by creating a custom config.h -and (re)compiling the source code. diff --git a/programs/dwm/config.h b/programs/dwm/config.h deleted file mode 100644 index 6f2ac88a..00000000 --- a/programs/dwm/config.h +++ /dev/null @@ -1,130 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -#include "exitdwm.c" -#include /* Allow using F# keys for keybinds */ - -/* appearance */ -static const unsigned int borderpx = 2; /* border pixel of windows */ -static const unsigned int snap = 32; /* snap pixel */ -static const unsigned int systraypinning = 0; /* 0: sloppy systray follows selected monitor, >0: pin systray to monitor X */ -static const unsigned int systrayonleft = 1; /* 0: systray in the right corner, >0: systray on left of status text */ -static const unsigned int systrayspacing = 2; /* systray spacing */ -static const int systraypinningfailfirst = 1; /* 1: if pinning fails, display systray on the first monitor, False: display systray on the last monitor*/ -static const int showsystray = 1; /* 0 means no systray */ -static const int showbar = 1; /* 0 means no bar */ -static const int topbar = 1; /* 0 means bottom bar */ -static const char *fonts[] = { "JetBrainsMono NF:size=10" }; -static const char *colors[][3] = { - /* fg bg border */ - [SchemeNorm] = { "#ebdbb2", "#282828", "#1d2021" }, - [SchemeSel] = { "#282828", "#ebdbb2", "#ebdbb2" }, - [SchemeTitle] = { "#ebdbb2", "#282828", "#1d2021" }, -}; - -/* tagging */ -static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; - -static const Rule rules[] = { - /* xprop(1): - * WM_CLASS(STRING) = instance, class - * WM_NAME(STRING) = title - */ - /* class instance title tags mask isfloating monitor */ - { "st", NULL, NULL, 0, 0, -1 }, -}; - -/* layout(s) */ -static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ -static const int nmaster = 1; /* number of clients in master area */ -static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ -static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */ - -static const Layout layouts[] = { - /* symbol arrange function */ - { "[]=", tile }, /* first entry is default */ - { "><>", NULL }, /* no layout function means floating behavior */ - { "[M]", monocle }, -}; - -/* key definitions */ -#define MODKEY Mod4Mask -#define TAGKEYS(KEY,TAG) \ - { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ - { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, - -/* helper for spawning shell commands in the pre dwm-5.0 fashion */ -#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } - -/* commands */ -static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ -static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, NULL }; -static const char *termcmd[] = { "tabbed", "-c", "-r", "2", "st", "-w", "''", NULL }; -static const char *slockcmd[] = { "slock", NULL }; -static const char *screenshotcmd[] = { "scrot", "--select", "--line", "mode=edge", NULL }; -static const char *webcmd[] = { "firefox", "--new-window", "/home/trude/.homepage/index.html", NULL }; - -static const Key keys[] = { - /* Volume keys support */ - { 0, XF86XK_AudioLowerVolume, spawn, SHCMD("/usr/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-; pkill -RTMIN+10 dwmblocks") }, - { 0, XF86XK_AudioMute, spawn, SHCMD("/usr/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ toggle; pkill -RTMIN+10 dwmblocks") }, - { 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("/usr/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+; pkill -RTMIN+10 dwmblocks") }, - - /* modifier key function argument */ - { MODKEY, XK_p, spawn, {.v = dmenucmd } }, - { MODKEY, XK_Return, spawn, {.v = termcmd } }, - { MODKEY|ShiftMask, XK_l, spawn, {.v = slockcmd } }, - { MODKEY|ShiftMask, XK_s, spawn, {.v = screenshotcmd } }, - { MODKEY, XK_w, spawn, SHCMD("dm-web") }, - { MODKEY|ShiftMask, XK_w, spawn, {.v = webcmd } }, - { MODKEY, XK_b, togglebar, {0} }, - { MODKEY, XK_j, focusstack, {.i = +1 } }, - { MODKEY, XK_k, focusstack, {.i = -1 } }, - { MODKEY, XK_i, incnmaster, {.i = +1 } }, - { MODKEY, XK_d, incnmaster, {.i = -1 } }, - { MODKEY, XK_h, setmfact, {.f = -0.05} }, - { MODKEY, XK_l, setmfact, {.f = +0.05} }, - { MODKEY|ShiftMask, XK_Return, zoom, {0} }, - { MODKEY, XK_Tab, view, {0} }, - { MODKEY, XK_c, killclient, {0} }, - { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, - { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, - { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, - { MODKEY, XK_space, setlayout, {0} }, - { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, - { MODKEY, XK_0, view, {.ui = ~0 } }, - { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, - { MODKEY, XK_comma, focusmon, {.i = -1 } }, - { MODKEY, XK_period, focusmon, {.i = +1 } }, - { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, - { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, - TAGKEYS( XK_1, 0) - TAGKEYS( XK_2, 1) - TAGKEYS( XK_3, 2) - TAGKEYS( XK_4, 3) - TAGKEYS( XK_5, 4) - TAGKEYS( XK_6, 5) - TAGKEYS( XK_7, 6) - TAGKEYS( XK_8, 7) - TAGKEYS( XK_9, 8) - { MODKEY|ShiftMask, XK_e, exitdwm, {0} }, -}; - -/* button definitions */ -/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ -static const Button buttons[] = { - /* click event mask button function argument */ - { ClkLtSymbol, 0, Button1, setlayout, {0} }, - { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, - { ClkWinTitle, 0, Button2, zoom, {0} }, - { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, - { ClkClientWin, MODKEY, Button1, movemouse, {0} }, - { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, - { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, - { ClkTagBar, 0, Button1, view, {0} }, - { ClkTagBar, 0, Button3, toggleview, {0} }, - { ClkTagBar, MODKEY, Button1, tag, {0} }, - { ClkTagBar, MODKEY, Button3, toggletag, {0} }, -}; - diff --git a/programs/dwm/config.mk b/programs/dwm/config.mk deleted file mode 100644 index 8efca9ad..00000000 --- a/programs/dwm/config.mk +++ /dev/null @@ -1,39 +0,0 @@ -# dwm version -VERSION = 6.5 - -# Customize below to fit your system - -# paths -PREFIX = /usr/local -MANPREFIX = ${PREFIX}/share/man - -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - -# Xinerama, comment if you don't want it -XINERAMALIBS = -lXinerama -XINERAMAFLAGS = -DXINERAMA - -# freetype -FREETYPELIBS = -lfontconfig -lXft -FREETYPEINC = /usr/include/freetype2 -# OpenBSD (uncomment) -#FREETYPEINC = ${X11INC}/freetype2 -#MANPREFIX = ${PREFIX}/man - -# includes and libs -INCS = -I${X11INC} -I${FREETYPEINC} -LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} - -# flags -CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700L -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} -#CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} -CFLAGS = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os ${INCS} ${CPPFLAGS} -LDFLAGS = ${LIBS} - -# Solaris -#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\" -#LDFLAGS = ${LIBS} - -# compiler and linker -CC = cc diff --git a/programs/dwm/drw.c b/programs/dwm/drw.c deleted file mode 100644 index 258ff9ee..00000000 --- a/programs/dwm/drw.c +++ /dev/null @@ -1,452 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#include -#include -#include -#include -#include - -#include "drw.h" -#include "util.h" - -#define UTF_INVALID 0xFFFD -#define UTF_SIZ 4 - -static const unsigned char utfbyte[UTF_SIZ + 1] = {0x80, 0, 0xC0, 0xE0, 0xF0}; -static const unsigned char utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8}; -static const long utfmin[UTF_SIZ + 1] = { 0, 0, 0x80, 0x800, 0x10000}; -static const long utfmax[UTF_SIZ + 1] = {0x10FFFF, 0x7F, 0x7FF, 0xFFFF, 0x10FFFF}; - -static long -utf8decodebyte(const char c, size_t *i) -{ - for (*i = 0; *i < (UTF_SIZ + 1); ++(*i)) - if (((unsigned char)c & utfmask[*i]) == utfbyte[*i]) - return (unsigned char)c & ~utfmask[*i]; - return 0; -} - -static size_t -utf8validate(long *u, size_t i) -{ - if (!BETWEEN(*u, utfmin[i], utfmax[i]) || BETWEEN(*u, 0xD800, 0xDFFF)) - *u = UTF_INVALID; - for (i = 1; *u > utfmax[i]; ++i) - ; - return i; -} - -static size_t -utf8decode(const char *c, long *u, size_t clen) -{ - size_t i, j, len, type; - long udecoded; - - *u = UTF_INVALID; - if (!clen) - return 0; - udecoded = utf8decodebyte(c[0], &len); - if (!BETWEEN(len, 1, UTF_SIZ)) - return 1; - for (i = 1, j = 1; i < clen && j < len; ++i, ++j) { - udecoded = (udecoded << 6) | utf8decodebyte(c[i], &type); - if (type) - return j; - } - if (j < len) - return 0; - *u = udecoded; - utf8validate(u, len); - - return len; -} - -Drw * -drw_create(Display *dpy, int screen, Window root, unsigned int w, unsigned int h) -{ - Drw *drw = ecalloc(1, sizeof(Drw)); - - drw->dpy = dpy; - drw->screen = screen; - drw->root = root; - drw->w = w; - drw->h = h; - drw->drawable = XCreatePixmap(dpy, root, w, h, DefaultDepth(dpy, screen)); - drw->gc = XCreateGC(dpy, root, 0, NULL); - XSetLineAttributes(dpy, drw->gc, 1, LineSolid, CapButt, JoinMiter); - - return drw; -} - -void -drw_resize(Drw *drw, unsigned int w, unsigned int h) -{ - if (!drw) - return; - - drw->w = w; - drw->h = h; - if (drw->drawable) - XFreePixmap(drw->dpy, drw->drawable); - drw->drawable = XCreatePixmap(drw->dpy, drw->root, w, h, DefaultDepth(drw->dpy, drw->screen)); -} - -void -drw_free(Drw *drw) -{ - XFreePixmap(drw->dpy, drw->drawable); - XFreeGC(drw->dpy, drw->gc); - drw_fontset_free(drw->fonts); - free(drw); -} - -/* This function is an implementation detail. Library users should use - * drw_fontset_create instead. - */ -static Fnt * -xfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern) -{ - Fnt *font; - XftFont *xfont = NULL; - FcPattern *pattern = NULL; - - if (fontname) { - /* Using the pattern found at font->xfont->pattern does not yield the - * same substitution results as using the pattern returned by - * FcNameParse; using the latter results in the desired fallback - * behaviour whereas the former just results in missing-character - * rectangles being drawn, at least with some fonts. */ - if (!(xfont = XftFontOpenName(drw->dpy, drw->screen, fontname))) { - fprintf(stderr, "error, cannot load font from name: '%s'\n", fontname); - return NULL; - } - if (!(pattern = FcNameParse((FcChar8 *) fontname))) { - fprintf(stderr, "error, cannot parse font name to pattern: '%s'\n", fontname); - XftFontClose(drw->dpy, xfont); - return NULL; - } - } else if (fontpattern) { - if (!(xfont = XftFontOpenPattern(drw->dpy, fontpattern))) { - fprintf(stderr, "error, cannot load font from pattern.\n"); - return NULL; - } - } else { - die("no font specified."); - } - - font = ecalloc(1, sizeof(Fnt)); - font->xfont = xfont; - font->pattern = pattern; - font->h = xfont->ascent + xfont->descent; - font->dpy = drw->dpy; - - return font; -} - -static void -xfont_free(Fnt *font) -{ - if (!font) - return; - if (font->pattern) - FcPatternDestroy(font->pattern); - XftFontClose(font->dpy, font->xfont); - free(font); -} - -Fnt* -drw_fontset_create(Drw* drw, const char *fonts[], size_t fontcount) -{ - Fnt *cur, *ret = NULL; - size_t i; - - if (!drw || !fonts) - return NULL; - - for (i = 1; i <= fontcount; i++) { - if ((cur = xfont_create(drw, fonts[fontcount - i], NULL))) { - cur->next = ret; - ret = cur; - } - } - return (drw->fonts = ret); -} - -void -drw_fontset_free(Fnt *font) -{ - if (font) { - drw_fontset_free(font->next); - xfont_free(font); - } -} - -void -drw_clr_create(Drw *drw, Clr *dest, const char *clrname) -{ - if (!drw || !dest || !clrname) - return; - - if (!XftColorAllocName(drw->dpy, DefaultVisual(drw->dpy, drw->screen), - DefaultColormap(drw->dpy, drw->screen), - clrname, dest)) - die("error, cannot allocate color '%s'", clrname); - - dest->pixel |= 0xff << 24; -} - -/* Wrapper to create color schemes. The caller has to call free(3) on the - * returned color scheme when done using it. */ -Clr * -drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount) -{ - size_t i; - Clr *ret; - - /* need at least two colors for a scheme */ - if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(XftColor)))) - return NULL; - - for (i = 0; i < clrcount; i++) - drw_clr_create(drw, &ret[i], clrnames[i]); - return ret; -} - -void -drw_setfontset(Drw *drw, Fnt *set) -{ - if (drw) - drw->fonts = set; -} - -void -drw_setscheme(Drw *drw, Clr *scm) -{ - if (drw) - drw->scheme = scm; -} - -void -drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, int invert) -{ - if (!drw || !drw->scheme) - return; - XSetForeground(drw->dpy, drw->gc, invert ? drw->scheme[ColBg].pixel : drw->scheme[ColFg].pixel); - if (filled) - XFillRectangle(drw->dpy, drw->drawable, drw->gc, x, y, w, h); - else - XDrawRectangle(drw->dpy, drw->drawable, drw->gc, x, y, w - 1, h - 1); -} - -int -drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lpad, const char *text, int invert) -{ - int i, ty, ellipsis_x = 0; - unsigned int tmpw, ew, ellipsis_w = 0, ellipsis_len; - XftDraw *d = NULL; - Fnt *usedfont, *curfont, *nextfont; - int utf8strlen, utf8charlen, render = x || y || w || h; - long utf8codepoint = 0; - const char *utf8str; - FcCharSet *fccharset; - FcPattern *fcpattern; - FcPattern *match; - XftResult result; - int charexists = 0, overflow = 0; - /* keep track of a couple codepoints for which we have no match. */ - enum { nomatches_len = 64 }; - static struct { long codepoint[nomatches_len]; unsigned int idx; } nomatches; - static unsigned int ellipsis_width = 0; - - if (!drw || (render && (!drw->scheme || !w)) || !text || !drw->fonts) - return 0; - - if (!render) { - w = invert ? invert : ~invert; - } else { - XSetForeground(drw->dpy, drw->gc, drw->scheme[invert ? ColFg : ColBg].pixel); - XFillRectangle(drw->dpy, drw->drawable, drw->gc, x, y, w, h); - d = XftDrawCreate(drw->dpy, drw->drawable, - DefaultVisual(drw->dpy, drw->screen), - DefaultColormap(drw->dpy, drw->screen)); - x += lpad; - w -= lpad; - } - - usedfont = drw->fonts; - if (!ellipsis_width && render) - ellipsis_width = drw_fontset_getwidth(drw, "..."); - while (1) { - ew = ellipsis_len = utf8strlen = 0; - utf8str = text; - nextfont = NULL; - while (*text) { - utf8charlen = utf8decode(text, &utf8codepoint, UTF_SIZ); - for (curfont = drw->fonts; curfont; curfont = curfont->next) { - charexists = charexists || XftCharExists(drw->dpy, curfont->xfont, utf8codepoint); - if (charexists) { - drw_font_getexts(curfont, text, utf8charlen, &tmpw, NULL); - if (ew + ellipsis_width <= w) { - /* keep track where the ellipsis still fits */ - ellipsis_x = x + ew; - ellipsis_w = w - ew; - ellipsis_len = utf8strlen; - } - - if (ew + tmpw > w) { - overflow = 1; - /* called from drw_fontset_getwidth_clamp(): - * it wants the width AFTER the overflow - */ - if (!render) - x += tmpw; - else - utf8strlen = ellipsis_len; - } else if (curfont == usedfont) { - utf8strlen += utf8charlen; - text += utf8charlen; - ew += tmpw; - } else { - nextfont = curfont; - } - break; - } - } - - if (overflow || !charexists || nextfont) - break; - else - charexists = 0; - } - - if (utf8strlen) { - if (render) { - ty = y + (h - usedfont->h) / 2 + usedfont->xfont->ascent; - XftDrawStringUtf8(d, &drw->scheme[invert ? ColBg : ColFg], - usedfont->xfont, x, ty, (XftChar8 *)utf8str, utf8strlen); - } - x += ew; - w -= ew; - } - if (render && overflow) - drw_text(drw, ellipsis_x, y, ellipsis_w, h, 0, "...", invert); - - if (!*text || overflow) { - break; - } else if (nextfont) { - charexists = 0; - usedfont = nextfont; - } else { - /* Regardless of whether or not a fallback font is found, the - * character must be drawn. */ - charexists = 1; - - for (i = 0; i < nomatches_len; ++i) { - /* avoid calling XftFontMatch if we know we won't find a match */ - if (utf8codepoint == nomatches.codepoint[i]) - goto no_match; - } - - fccharset = FcCharSetCreate(); - FcCharSetAddChar(fccharset, utf8codepoint); - - if (!drw->fonts->pattern) { - /* Refer to the comment in xfont_create for more information. */ - die("the first font in the cache must be loaded from a font string."); - } - - fcpattern = FcPatternDuplicate(drw->fonts->pattern); - FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset); - FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue); - - FcConfigSubstitute(NULL, fcpattern, FcMatchPattern); - FcDefaultSubstitute(fcpattern); - match = XftFontMatch(drw->dpy, drw->screen, fcpattern, &result); - - FcCharSetDestroy(fccharset); - FcPatternDestroy(fcpattern); - - if (match) { - usedfont = xfont_create(drw, NULL, match); - if (usedfont && XftCharExists(drw->dpy, usedfont->xfont, utf8codepoint)) { - for (curfont = drw->fonts; curfont->next; curfont = curfont->next) - ; /* NOP */ - curfont->next = usedfont; - } else { - xfont_free(usedfont); - nomatches.codepoint[++nomatches.idx % nomatches_len] = utf8codepoint; -no_match: - usedfont = drw->fonts; - } - } - } - } - if (d) - XftDrawDestroy(d); - - return x + (render ? w : 0); -} - -void -drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h) -{ - if (!drw) - return; - - XCopyArea(drw->dpy, drw->drawable, win, drw->gc, x, y, w, h, x, y); - XSync(drw->dpy, False); -} - -unsigned int -drw_fontset_getwidth(Drw *drw, const char *text) -{ - if (!drw || !drw->fonts || !text) - return 0; - return drw_text(drw, 0, 0, 0, 0, 0, text, 0); -} - -unsigned int -drw_fontset_getwidth_clamp(Drw *drw, const char *text, unsigned int n) -{ - unsigned int tmp = 0; - if (drw && drw->fonts && text && n) - tmp = drw_text(drw, 0, 0, 0, 0, 0, text, n); - return MIN(n, tmp); -} - -void -drw_font_getexts(Fnt *font, const char *text, unsigned int len, unsigned int *w, unsigned int *h) -{ - XGlyphInfo ext; - - if (!font || !text) - return; - - XftTextExtentsUtf8(font->dpy, font->xfont, (XftChar8 *)text, len, &ext); - if (w) - *w = ext.xOff; - if (h) - *h = font->h; -} - -Cur * -drw_cur_create(Drw *drw, int shape) -{ - Cur *cur; - - if (!drw || !(cur = ecalloc(1, sizeof(Cur)))) - return NULL; - - cur->cursor = XCreateFontCursor(drw->dpy, shape); - - return cur; -} - -void -drw_cur_free(Drw *drw, Cur *cursor) -{ - if (!cursor) - return; - - XFreeCursor(drw->dpy, cursor->cursor); - free(cursor); -} diff --git a/programs/dwm/drw.h b/programs/dwm/drw.h deleted file mode 100644 index 64714316..00000000 --- a/programs/dwm/drw.h +++ /dev/null @@ -1,58 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -typedef struct { - Cursor cursor; -} Cur; - -typedef struct Fnt { - Display *dpy; - unsigned int h; - XftFont *xfont; - FcPattern *pattern; - struct Fnt *next; -} Fnt; - -enum { ColFg, ColBg, ColBorder }; /* Clr scheme index */ -typedef XftColor Clr; - -typedef struct { - unsigned int w, h; - Display *dpy; - int screen; - Window root; - Drawable drawable; - GC gc; - Clr *scheme; - Fnt *fonts; -} Drw; - -/* Drawable abstraction */ -Drw *drw_create(Display *dpy, int screen, Window win, unsigned int w, unsigned int h); -void drw_resize(Drw *drw, unsigned int w, unsigned int h); -void drw_free(Drw *drw); - -/* Fnt abstraction */ -Fnt *drw_fontset_create(Drw* drw, const char *fonts[], size_t fontcount); -void drw_fontset_free(Fnt* set); -unsigned int drw_fontset_getwidth(Drw *drw, const char *text); -unsigned int drw_fontset_getwidth_clamp(Drw *drw, const char *text, unsigned int n); -void drw_font_getexts(Fnt *font, const char *text, unsigned int len, unsigned int *w, unsigned int *h); - -/* Colorscheme abstraction */ -void drw_clr_create(Drw *drw, Clr *dest, const char *clrname); -Clr *drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount); - -/* Cursor abstraction */ -Cur *drw_cur_create(Drw *drw, int shape); -void drw_cur_free(Drw *drw, Cur *cursor); - -/* Drawing context manipulation */ -void drw_setfontset(Drw *drw, Fnt *set); -void drw_setscheme(Drw *drw, Clr *scm); - -/* Drawing functions */ -void drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, int invert); -int drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lpad, const char *text, int invert); - -/* Map functions */ -void drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h); diff --git a/programs/dwm/dwm.1 b/programs/dwm/dwm.1 deleted file mode 100644 index 7b6cadb4..00000000 --- a/programs/dwm/dwm.1 +++ /dev/null @@ -1,186 +0,0 @@ -.TH DWM 1 dwm\-VERSION -.SH NAME -dwm \- dynamic window manager -.SH SYNOPSIS -.B dwm -.RB [ \-v ] -.SH DESCRIPTION -dwm is a dynamic window manager for X. It manages windows in tiled, monocle -and floating layouts. Either layout can be applied dynamically, optimising the -environment for the application in use and the task performed. -.P -In tiled layouts windows are managed in a master and stacking area. The master -area on the left contains one window by default, and the stacking area on the -right contains all other windows. The number of master area windows can be -adjusted from zero to an arbitrary number. In monocle layout all windows are -maximised to the screen size. In floating layout windows can be resized and -moved freely. Dialog windows are always managed floating, regardless of the -layout applied. -.P -Windows are grouped by tags. Each window can be tagged with one or multiple -tags. Selecting certain tags displays all windows with these tags. -.P -Each screen contains a small status bar which displays all available tags, the -layout, the title of the focused window, and the text read from the root window -name property, if the screen is focused. A floating window is indicated with an -empty square and a maximised floating window is indicated with a filled square -before the windows title. The selected tags are indicated with a different -color. The tags of the focused window are indicated with a filled square in the -top left corner. The tags which are applied to one or more windows are -indicated with an empty square in the top left corner. -.P -dwm draws a small border around windows to indicate the focus state. -.SH OPTIONS -.TP -.B \-v -prints version information to stderr, then exits. -.SH USAGE -.SS Status bar -.TP -.B X root window name -is read and displayed in the status text area. It can be set with the -.BR xsetroot (1) -command. -.TP -.B Button1 -click on a tag label to display all windows with that tag, click on the layout -label toggles between tiled and floating layout. -.TP -.B Button3 -click on a tag label adds/removes all windows with that tag to/from the view. -.TP -.B Mod1\-Button1 -click on a tag label applies that tag to the focused window. -.TP -.B Mod1\-Button3 -click on a tag label adds/removes that tag to/from the focused window. -.SS Keyboard commands -.TP -.B Mod1\-Shift\-Return -Start -.BR st(1). -.TP -.B Mod1\-p -Spawn -.BR dmenu(1) -for launching other programs. -.TP -.B Mod1\-, -Focus previous screen, if any. -.TP -.B Mod1\-. -Focus next screen, if any. -.TP -.B Mod1\-Shift\-, -Send focused window to previous screen, if any. -.TP -.B Mod1\-Shift\-. -Send focused window to next screen, if any. -.TP -.B Mod1\-b -Toggles bar on and off. -.TP -.B Mod1\-t -Sets tiled layout. -.TP -.B Mod1\-f -Sets floating layout. -.TP -.B Mod1\-m -Sets monocle layout. -.TP -.B Mod1\-space -Toggles between current and previous layout. -.TP -.B Mod1\-j -Focus next window. -.TP -.B Mod1\-k -Focus previous window. -.TP -.B Mod1\-i -Increase number of windows in master area. -.TP -.B Mod1\-d -Decrease number of windows in master area. -.TP -.B Mod1\-l -Increase master area size. -.TP -.B Mod1\-h -Decrease master area size. -.TP -.B Mod1\-Return -Zooms/cycles focused window to/from master area (tiled layouts only). -.TP -.B Mod1\-Shift\-c -Close focused window. -.TP -.B Mod1\-Shift\-space -Toggle focused window between tiled and floating state. -.TP -.B Mod1\-Tab -Toggles to the previously selected tags. -.TP -.B Mod1\-Shift\-[1..n] -Apply nth tag to focused window. -.TP -.B Mod1\-Shift\-0 -Apply all tags to focused window. -.TP -.B Mod1\-Control\-Shift\-[1..n] -Add/remove nth tag to/from focused window. -.TP -.B Mod1\-[1..n] -View all windows with nth tag. -.TP -.B Mod1\-0 -View all windows with any tag. -.TP -.B Mod1\-Control\-[1..n] -Add/remove all windows with nth tag to/from the view. -.TP -.B Mod1\-Shift\-q -Quit dwm. -.TP -.B Mod1\-Control\-Shift\-q -Restart dwm. -.SS Mouse commands -.TP -.B Mod1\-Button1 -Move focused window while dragging. Tiled windows will be toggled to the floating state. -.TP -.B Mod1\-Button2 -Toggles focused window between floating and tiled state. -.TP -.B Mod1\-Button3 -Resize focused window while dragging. Tiled windows will be toggled to the floating state. -.SH CUSTOMIZATION -dwm is customized by creating a custom config.h and (re)compiling the source -code. This keeps it fast, secure and simple. -.SH SIGNALS -.TP -.B SIGHUP - 1 -Restart the dwm process. -.TP -.B SIGTERM - 15 -Cleanly terminate the dwm process. -.SH SEE ALSO -.BR dmenu (1), -.BR st (1) -.SH ISSUES -Java applications which use the XToolkit/XAWT backend may draw grey windows -only. The XToolkit/XAWT backend breaks ICCCM-compliance in recent JDK 1.5 and early -JDK 1.6 versions, because it assumes a reparenting window manager. Possible workarounds -are using JDK 1.4 (which doesn't contain the XToolkit/XAWT backend) or setting the -environment variable -.BR AWT_TOOLKIT=MToolkit -(to use the older Motif backend instead) or running -.B xprop -root -f _NET_WM_NAME 32a -set _NET_WM_NAME LG3D -or -.B wmname LG3D -(to pretend that a non-reparenting window manager is running that the -XToolkit/XAWT backend can recognize) or when using OpenJDK setting the environment variable -.BR _JAVA_AWT_WM_NONREPARENTING=1 . -.SH BUGS -Send all bug reports with a patch to hackers@suckless.org. diff --git a/programs/dwm/dwm.c b/programs/dwm/dwm.c deleted file mode 100644 index 890d9767..00000000 --- a/programs/dwm/dwm.c +++ /dev/null @@ -1,2554 +0,0 @@ -/* See LICENSE file for copyright and license details. - * - * dynamic window manager is designed like any other X client as well. It is - * driven through handling X events. In contrast to other X clients, a window - * manager selects for SubstructureRedirectMask on the root window, to receive - * events about window (dis-)appearance. Only one X connection at a time is - * allowed to select for this event mask. - * - * The event handlers of dwm are organized in an array which is accessed - * whenever a new event has been fetched. This allows event dispatching - * in O(1) time. - * - * Each child of the root window is called a client, except windows which have - * set the override_redirect flag. Clients are organized in a linked client - * list on each monitor, the focus history is remembered through a stack list - * on each monitor. Each client contains a bit array to indicate the tags of a - * client. - * - * Keys and tagging rules are organized as arrays and defined in config.h. - * - * To understand everything else, start reading main(). - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef XINERAMA -#include -#endif /* XINERAMA */ -#include - -#include "drw.h" -#include "util.h" - -/* macros */ -#define BUTTONMASK (ButtonPressMask|ButtonReleaseMask) -#define CLEANMASK(mask) (mask & ~(numlockmask|LockMask) & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask)) -#define INTERSECT(x,y,w,h,m) (MAX(0, MIN((x)+(w),(m)->wx+(m)->ww) - MAX((x),(m)->wx)) \ - * MAX(0, MIN((y)+(h),(m)->wy+(m)->wh) - MAX((y),(m)->wy))) -#define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags])) -#define LENGTH(X) (sizeof X / sizeof X[0]) -#define MOUSEMASK (BUTTONMASK|PointerMotionMask) -#define WIDTH(X) ((X)->w + 2 * (X)->bw) -#define HEIGHT(X) ((X)->h + 2 * (X)->bw) -#define TAGMASK ((1 << LENGTH(tags)) - 1) -#define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad) - -#define SYSTEM_TRAY_REQUEST_DOCK 0 -/* XEMBED messages */ -#define XEMBED_EMBEDDED_NOTIFY 0 -#define XEMBED_WINDOW_ACTIVATE 1 -#define XEMBED_FOCUS_IN 4 -#define XEMBED_MODALITY_ON 10 -#define XEMBED_MAPPED (1 << 0) -#define XEMBED_WINDOW_ACTIVATE 1 -#define XEMBED_WINDOW_DEACTIVATE 2 -#define VERSION_MAJOR 0 -#define VERSION_MINOR 0 -#define XEMBED_EMBEDDED_VERSION (VERSION_MAJOR << 16) | VERSION_MINOR - -/* enums */ -enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ -enum { SchemeNorm, SchemeSel, SchemeTitle }; /* color schemes */ -enum { NetSupported, NetWMName, NetWMState, NetWMCheck, - NetSystemTray, NetSystemTrayOP, NetSystemTrayOrientation, NetSystemTrayOrientationHorz, - NetWMFullscreen, NetActiveWindow, NetWMWindowType, - NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */ -enum { Manager, Xembed, XembedInfo, XLast }; /* Xembed atoms */ -enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms */ -enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, - ClkClientWin, ClkRootWin, ClkLast }; /* clicks */ - -typedef union { - int i; - unsigned int ui; - float f; - const void *v; -} Arg; - -typedef struct { - unsigned int click; - unsigned int mask; - unsigned int button; - void (*func)(const Arg *arg); - const Arg arg; -} Button; - -typedef struct Monitor Monitor; -typedef struct Client Client; -struct Client { - char name[256]; - float mina, maxa; - int x, y, w, h; - int oldx, oldy, oldw, oldh; - int basew, baseh, incw, inch, maxw, maxh, minw, minh, hintsvalid; - int bw, oldbw; - unsigned int tags; - int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, needresize; - Client *next; - Client *snext; - Monitor *mon; - Window win; -}; - -typedef struct { - unsigned int mod; - KeySym keysym; - void (*func)(const Arg *); - const Arg arg; -} Key; - -typedef struct { - const char *symbol; - void (*arrange)(Monitor *); -} Layout; - -struct Monitor { - char ltsymbol[16]; - float mfact; - int nmaster; - int num; - int by; /* bar geometry */ - int mx, my, mw, mh; /* screen size */ - int wx, wy, ww, wh; /* window area */ - unsigned int seltags; - unsigned int sellt; - unsigned int tagset[2]; - int showbar; - int topbar; - Client *clients; - Client *sel; - Client *stack; - Monitor *next; - Window barwin; - const Layout *lt[2]; -}; - -typedef struct { - const char *class; - const char *instance; - const char *title; - unsigned int tags; - int isfloating; - int monitor; -} Rule; - -typedef struct Systray Systray; -struct Systray { - Window win; - Client *icons; -}; - -/* function declarations */ -static void applyrules(Client *c); -static int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact); -static void arrange(Monitor *m); -static void arrangemon(Monitor *m); -static void attach(Client *c); -static void attachstack(Client *c); -static void buttonpress(XEvent *e); -static void checkotherwm(void); -static void cleanup(void); -static void cleanupmon(Monitor *mon); -static void clientmessage(XEvent *e); -static void configure(Client *c); -static void configurenotify(XEvent *e); -static void configurerequest(XEvent *e); -static Monitor *createmon(void); -static void destroynotify(XEvent *e); -static void detach(Client *c); -static void detachstack(Client *c); -static Monitor *dirtomon(int dir); -static void drawbar(Monitor *m); -static void drawbars(void); -static void enternotify(XEvent *e); -static void expose(XEvent *e); -static void focus(Client *c); -static void focusin(XEvent *e); -static void focusmon(const Arg *arg); -static void focusstack(const Arg *arg); -static Atom getatomprop(Client *c, Atom prop); -static int getrootptr(int *x, int *y); -static long getstate(Window w); -static unsigned int getsystraywidth(); -static int gettextprop(Window w, Atom atom, char *text, unsigned int size); -static void grabbuttons(Client *c, int focused); -static void grabkeys(void); -static void incnmaster(const Arg *arg); -static void keypress(XEvent *e); -static void killclient(const Arg *arg); -static void manage(Window w, XWindowAttributes *wa); -static void mappingnotify(XEvent *e); -static void maprequest(XEvent *e); -static void monocle(Monitor *m); -static void motionnotify(XEvent *e); -static void movemouse(const Arg *arg); -static Client *nexttiled(Client *c); -static void pop(Client *c); -static void propertynotify(XEvent *e); -static void quit(const Arg *arg); -static Monitor *recttomon(int x, int y, int w, int h); -static void removesystrayicon(Client *i); -static void resize(Client *c, int x, int y, int w, int h, int interact); -static void resizebarwin(Monitor *m); -static void resizeclient(Client *c, int x, int y, int w, int h); -static void resizemouse(const Arg *arg); -static void resizerequest(XEvent *e); -static void restack(Monitor *m); -static void run(void); -static void scan(void); -static int sendevent(Window w, Atom proto, int m, long d0, long d1, long d2, long d3, long d4); -static void sendmon(Client *c, Monitor *m); -static void setclientstate(Client *c, long state); -static void setfocus(Client *c); -static void setfullscreen(Client *c, int fullscreen); -static void setlayout(const Arg *arg); -static void setmfact(const Arg *arg); -static void setup(void); -static void seturgent(Client *c, int urg); -static void showhide(Client *c); -static void sighup(int unused); -static void sigterm(int unused); -static void spawn(const Arg *arg); -static Monitor *systraytomon(Monitor *m); -static void tag(const Arg *arg); -static void tagmon(const Arg *arg); -static void tile(Monitor *m); -static void togglebar(const Arg *arg); -static void togglefloating(const Arg *arg); -static void toggletag(const Arg *arg); -static void toggleview(const Arg *arg); -static void unfocus(Client *c, int setfocus); -static void unmanage(Client *c, int destroyed); -static void unmapnotify(XEvent *e); -static void updatebarpos(Monitor *m); -static void updatebars(void); -static void updateclientlist(void); -static int updategeom(void); -static void updatenumlockmask(void); -static void updatesizehints(Client *c); -static void updatestatus(void); -static void updatesystray(void); -static void updatesystrayicongeom(Client *i, int w, int h); -static void updatesystrayiconstate(Client *i, XPropertyEvent *ev); -static void updatetitle(Client *c); -static void updatewindowtype(Client *c); -static void updatewmhints(Client *c); -static void view(const Arg *arg); -static Client *wintoclient(Window w); -static Monitor *wintomon(Window w); -static Client *wintosystrayicon(Window w); -static int xerror(Display *dpy, XErrorEvent *ee); -static int xerrordummy(Display *dpy, XErrorEvent *ee); -static int xerrorstart(Display *dpy, XErrorEvent *ee); -static void zoom(const Arg *arg); - -/* variables */ -static Systray *systray = NULL; -static const char broken[] = "broken"; -static char stext[256]; -static int screen; -static int sw, sh; /* X display screen geometry width, height */ -static int bh; /* bar height */ -static int lrpad; /* sum of left and right padding for text */ -static int (*xerrorxlib)(Display *, XErrorEvent *); -static unsigned int numlockmask = 0; -static void (*handler[LASTEvent]) (XEvent *) = { - [ButtonPress] = buttonpress, - [ClientMessage] = clientmessage, - [ConfigureRequest] = configurerequest, - [ConfigureNotify] = configurenotify, - [DestroyNotify] = destroynotify, - [EnterNotify] = enternotify, - [Expose] = expose, - [FocusIn] = focusin, - [KeyPress] = keypress, - [MappingNotify] = mappingnotify, - [MapRequest] = maprequest, - [MotionNotify] = motionnotify, - [PropertyNotify] = propertynotify, - [ResizeRequest] = resizerequest, - [UnmapNotify] = unmapnotify -}; -static Atom wmatom[WMLast], netatom[NetLast], xatom[XLast]; -static int restart = 0; -static int running = 1; -static Cur *cursor[CurLast]; -static Clr **scheme; -static Display *dpy; -static Drw *drw; -static Monitor *mons, *selmon; -static Window root, wmcheckwin; - -/* configuration, allows nested code to access above variables */ -#include "config.h" - -/* compile-time check if all tags fit into an unsigned int bit array. */ -struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; }; - -/* function implementations */ -void -applyrules(Client *c) -{ - const char *class, *instance; - unsigned int i; - const Rule *r; - Monitor *m; - XClassHint ch = { NULL, NULL }; - - /* rule matching */ - c->isfloating = 0; - c->tags = 0; - XGetClassHint(dpy, c->win, &ch); - class = ch.res_class ? ch.res_class : broken; - instance = ch.res_name ? ch.res_name : broken; - - for (i = 0; i < LENGTH(rules); i++) { - r = &rules[i]; - if ((!r->title || strstr(c->name, r->title)) - && (!r->class || strstr(class, r->class)) - && (!r->instance || strstr(instance, r->instance))) - { - c->isfloating = r->isfloating; - c->tags |= r->tags; - for (m = mons; m && m->num != r->monitor; m = m->next); - if (m) - c->mon = m; - } - } - if (ch.res_class) - XFree(ch.res_class); - if (ch.res_name) - XFree(ch.res_name); - c->tags = c->tags & TAGMASK ? c->tags & TAGMASK : c->mon->tagset[c->mon->seltags]; -} - -int -applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact) -{ - int baseismin; - Monitor *m = c->mon; - - /* set minimum possible */ - *w = MAX(1, *w); - *h = MAX(1, *h); - if (interact) { - if (*x > sw) - *x = sw - WIDTH(c); - if (*y > sh) - *y = sh - HEIGHT(c); - if (*x + *w + 2 * c->bw < 0) - *x = 0; - if (*y + *h + 2 * c->bw < 0) - *y = 0; - } else { - if (*x >= m->wx + m->ww) - *x = m->wx + m->ww - WIDTH(c); - if (*y >= m->wy + m->wh) - *y = m->wy + m->wh - HEIGHT(c); - if (*x + *w + 2 * c->bw <= m->wx) - *x = m->wx; - if (*y + *h + 2 * c->bw <= m->wy) - *y = m->wy; - } - if (*h < bh) - *h = bh; - if (*w < bh) - *w = bh; - if (resizehints || c->isfloating || !c->mon->lt[c->mon->sellt]->arrange) { - if (!c->hintsvalid) - updatesizehints(c); - /* see last two sentences in ICCCM 4.1.2.3 */ - baseismin = c->basew == c->minw && c->baseh == c->minh; - if (!baseismin) { /* temporarily remove base dimensions */ - *w -= c->basew; - *h -= c->baseh; - } - /* adjust for aspect limits */ - if (c->mina > 0 && c->maxa > 0) { - if (c->maxa < (float)*w / *h) - *w = *h * c->maxa + 0.5; - else if (c->mina < (float)*h / *w) - *h = *w * c->mina + 0.5; - } - if (baseismin) { /* increment calculation requires this */ - *w -= c->basew; - *h -= c->baseh; - } - /* adjust for increment value */ - if (c->incw) - *w -= *w % c->incw; - if (c->inch) - *h -= *h % c->inch; - /* restore base dimensions */ - *w = MAX(*w + c->basew, c->minw); - *h = MAX(*h + c->baseh, c->minh); - if (c->maxw) - *w = MIN(*w, c->maxw); - if (c->maxh) - *h = MIN(*h, c->maxh); - } - return *x != c->x || *y != c->y || *w != c->w || *h != c->h; -} - -void -arrange(Monitor *m) -{ - if (m) - showhide(m->stack); - else for (m = mons; m; m = m->next) - showhide(m->stack); - if (m) { - arrangemon(m); - restack(m); - } else for (m = mons; m; m = m->next) - arrangemon(m); -} - -void -arrangemon(Monitor *m) -{ - strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol); - if (m->lt[m->sellt]->arrange) - m->lt[m->sellt]->arrange(m); -} - -void -attach(Client *c) -{ - c->next = c->mon->clients; - c->mon->clients = c; -} - -void -attachstack(Client *c) -{ - c->snext = c->mon->stack; - c->mon->stack = c; -} - -void -buttonpress(XEvent *e) -{ - unsigned int i, x, click; - Arg arg = {0}; - Client *c; - Monitor *m; - XButtonPressedEvent *ev = &e->xbutton; - - click = ClkRootWin; - /* focus monitor if necessary */ - if ((m = wintomon(ev->window)) && m != selmon) { - unfocus(selmon->sel, 1); - selmon = m; - focus(NULL); - } - if (ev->window == selmon->barwin) { - i = x = 0; - do - x += TEXTW(tags[i]); - while (ev->x >= x && ++i < LENGTH(tags)); - if (i < LENGTH(tags)) { - click = ClkTagBar; - arg.ui = 1 << i; - } else if (ev->x < x + TEXTW(selmon->ltsymbol)) - click = ClkLtSymbol; - else if (ev->x > selmon->ww - (int)TEXTW(stext) - getsystraywidth()) - click = ClkStatusText; - else - click = ClkWinTitle; - } else if ((c = wintoclient(ev->window))) { - focus(c); - restack(selmon); - XAllowEvents(dpy, ReplayPointer, CurrentTime); - click = ClkClientWin; - } - for (i = 0; i < LENGTH(buttons); i++) - if (click == buttons[i].click && buttons[i].func && buttons[i].button == ev->button - && CLEANMASK(buttons[i].mask) == CLEANMASK(ev->state)) - buttons[i].func(click == ClkTagBar && buttons[i].arg.i == 0 ? &arg : &buttons[i].arg); -} - -void -checkotherwm(void) -{ - xerrorxlib = XSetErrorHandler(xerrorstart); - /* this causes an error if some other window manager is running */ - XSelectInput(dpy, DefaultRootWindow(dpy), SubstructureRedirectMask); - XSync(dpy, False); - XSetErrorHandler(xerror); - XSync(dpy, False); -} - -void -cleanup(void) -{ - Arg a = {.ui = ~0}; - Layout foo = { "", NULL }; - Monitor *m; - size_t i; - - view(&a); - selmon->lt[selmon->sellt] = &foo; - for (m = mons; m; m = m->next) - while (m->stack) - unmanage(m->stack, 0); - XUngrabKey(dpy, AnyKey, AnyModifier, root); - while (mons) - cleanupmon(mons); - - if (showsystray) { - XUnmapWindow(dpy, systray->win); - XDestroyWindow(dpy, systray->win); - free(systray); - } - - for (i = 0; i < CurLast; i++) - drw_cur_free(drw, cursor[i]); - for (i = 0; i < LENGTH(colors); i++) - free(scheme[i]); - free(scheme); - XDestroyWindow(dpy, wmcheckwin); - drw_free(drw); - XSync(dpy, False); - XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime); - XDeleteProperty(dpy, root, netatom[NetActiveWindow]); -} - -void -cleanupmon(Monitor *mon) -{ - Monitor *m; - - if (mon == mons) - mons = mons->next; - else { - for (m = mons; m && m->next != mon; m = m->next); - m->next = mon->next; - } - XUnmapWindow(dpy, mon->barwin); - XDestroyWindow(dpy, mon->barwin); - free(mon); -} - -void -clientmessage(XEvent *e) -{ - XWindowAttributes wa; - XSetWindowAttributes swa; - XClientMessageEvent *cme = &e->xclient; - Client *c = wintoclient(cme->window); - - if (showsystray && cme->window == systray->win && cme->message_type == netatom[NetSystemTrayOP]) { - /* add systray icons */ - if (cme->data.l[1] == SYSTEM_TRAY_REQUEST_DOCK) { - if (!(c = (Client *)calloc(1, sizeof(Client)))) - die("fatal: could not malloc() %u bytes\n", sizeof(Client)); - if (!(c->win = cme->data.l[2])) { - free(c); - return; - } - c->mon = selmon; - c->next = systray->icons; - systray->icons = c; - if (!XGetWindowAttributes(dpy, c->win, &wa)) { - /* use sane defaults */ - wa.width = bh; - wa.height = bh; - wa.border_width = 0; - } - c->x = c->oldx = c->y = c->oldy = 0; - c->w = c->oldw = wa.width; - c->h = c->oldh = wa.height; - c->oldbw = wa.border_width; - c->bw = 0; - c->isfloating = True; - /* reuse tags field as mapped status */ - c->tags = 1; - updatesizehints(c); - updatesystrayicongeom(c, wa.width, wa.height); - XAddToSaveSet(dpy, c->win); - XSelectInput(dpy, c->win, StructureNotifyMask | PropertyChangeMask | ResizeRedirectMask); - XReparentWindow(dpy, c->win, systray->win, 0, 0); - /* use parents background color */ - swa.background_pixel = scheme[SchemeNorm][ColBg].pixel; - XChangeWindowAttributes(dpy, c->win, CWBackPixel, &swa); - sendevent(c->win, netatom[Xembed], StructureNotifyMask, CurrentTime, XEMBED_EMBEDDED_NOTIFY, 0 , systray->win, XEMBED_EMBEDDED_VERSION); - /* FIXME not sure if I have to send these events, too */ - sendevent(c->win, netatom[Xembed], StructureNotifyMask, CurrentTime, XEMBED_FOCUS_IN, 0 , systray->win, XEMBED_EMBEDDED_VERSION); - sendevent(c->win, netatom[Xembed], StructureNotifyMask, CurrentTime, XEMBED_WINDOW_ACTIVATE, 0 , systray->win, XEMBED_EMBEDDED_VERSION); - sendevent(c->win, netatom[Xembed], StructureNotifyMask, CurrentTime, XEMBED_MODALITY_ON, 0 , systray->win, XEMBED_EMBEDDED_VERSION); - XSync(dpy, False); - resizebarwin(selmon); - updatesystray(); - setclientstate(c, NormalState); - } - return; - } - - if (!c) - return; - if (cme->message_type == netatom[NetWMState]) { - if (cme->data.l[1] == netatom[NetWMFullscreen] - || cme->data.l[2] == netatom[NetWMFullscreen]) - setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD */ - || (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen))); - } else if (cme->message_type == netatom[NetActiveWindow]) { - if (c != selmon->sel && !c->isurgent) - seturgent(c, 1); - } -} - -void -configure(Client *c) -{ - XConfigureEvent ce; - - ce.type = ConfigureNotify; - ce.display = dpy; - ce.event = c->win; - ce.window = c->win; - ce.x = c->x; - ce.y = c->y; - ce.width = c->w; - ce.height = c->h; - ce.border_width = c->bw; - ce.above = None; - ce.override_redirect = False; - XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&ce); -} - -void -configurenotify(XEvent *e) -{ - Monitor *m; - Client *c; - XConfigureEvent *ev = &e->xconfigure; - int dirty; - - /* TODO: updategeom handling sucks, needs to be simplified */ - if (ev->window == root) { - dirty = (sw != ev->width || sh != ev->height); - sw = ev->width; - sh = ev->height; - if (updategeom() || dirty) { - drw_resize(drw, sw, bh); - updatebars(); - for (m = mons; m; m = m->next) { - for (c = m->clients; c; c = c->next) - if (c->isfullscreen) - resizeclient(c, m->mx, m->my, m->mw, m->mh); - resizebarwin(m); - } - focus(NULL); - arrange(NULL); - } - } -} - -void -configurerequest(XEvent *e) -{ - Client *c; - Monitor *m; - XConfigureRequestEvent *ev = &e->xconfigurerequest; - XWindowChanges wc; - - if ((c = wintoclient(ev->window))) { - if (ev->value_mask & CWBorderWidth) - c->bw = ev->border_width; - else if (c->isfloating || !selmon->lt[selmon->sellt]->arrange) { - m = c->mon; - if (ev->value_mask & CWX) { - c->oldx = c->x; - c->x = m->mx + ev->x; - } - if (ev->value_mask & CWY) { - c->oldy = c->y; - c->y = m->my + ev->y; - } - if (ev->value_mask & CWWidth) { - c->oldw = c->w; - c->w = ev->width; - } - if (ev->value_mask & CWHeight) { - c->oldh = c->h; - c->h = ev->height; - } - if ((c->x + c->w) > m->mx + m->mw && c->isfloating) - c->x = m->mx + (m->mw / 2 - WIDTH(c) / 2); /* center in x direction */ - if ((c->y + c->h) > m->my + m->mh && c->isfloating) - c->y = m->my + (m->mh / 2 - HEIGHT(c) / 2); /* center in y direction */ - if ((ev->value_mask & (CWX|CWY)) && !(ev->value_mask & (CWWidth|CWHeight))) - configure(c); - if (ISVISIBLE(c)) - XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h); - else - c->needresize = 1; - } else - configure(c); - } else { - wc.x = ev->x; - wc.y = ev->y; - wc.width = ev->width; - wc.height = ev->height; - wc.border_width = ev->border_width; - wc.sibling = ev->above; - wc.stack_mode = ev->detail; - XConfigureWindow(dpy, ev->window, ev->value_mask, &wc); - } - XSync(dpy, False); -} - -Monitor * -createmon(void) -{ - Monitor *m; - - m = ecalloc(1, sizeof(Monitor)); - m->tagset[0] = m->tagset[1] = 1; - m->mfact = mfact; - m->nmaster = nmaster; - m->showbar = showbar; - m->topbar = topbar; - m->lt[0] = &layouts[0]; - m->lt[1] = &layouts[1 % LENGTH(layouts)]; - strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol); - return m; -} - -void -destroynotify(XEvent *e) -{ - Client *c; - XDestroyWindowEvent *ev = &e->xdestroywindow; - - if ((c = wintoclient(ev->window))) - unmanage(c, 1); - else if ((c = wintosystrayicon(ev->window))) { - removesystrayicon(c); - resizebarwin(selmon); - updatesystray(); - } -} - -void -detach(Client *c) -{ - Client **tc; - - for (tc = &c->mon->clients; *tc && *tc != c; tc = &(*tc)->next); - *tc = c->next; -} - -void -detachstack(Client *c) -{ - Client **tc, *t; - - for (tc = &c->mon->stack; *tc && *tc != c; tc = &(*tc)->snext); - *tc = c->snext; - - if (c == c->mon->sel) { - for (t = c->mon->stack; t && !ISVISIBLE(t); t = t->snext); - c->mon->sel = t; - } -} - -Monitor * -dirtomon(int dir) -{ - Monitor *m = NULL; - - if (dir > 0) { - if (!(m = selmon->next)) - m = mons; - } else if (selmon == mons) - for (m = mons; m->next; m = m->next); - else - for (m = mons; m->next != selmon; m = m->next); - return m; -} - -void -drawbar(Monitor *m) -{ - int x, w, tw = 0, stw = 0; - int boxs = drw->fonts->h / 9; - int boxw = drw->fonts->h / 6 + 2; - unsigned int i, occ = 0, urg = 0; - Client *c; - - if (!m->showbar) - return; - - if(showsystray && m == systraytomon(m) && !systrayonleft) - stw = getsystraywidth(); - - /* draw status first so it can be overdrawn by tags later */ - if (m == selmon) { /* status is only drawn on selected monitor */ - drw_setscheme(drw, scheme[SchemeNorm]); - tw = TEXTW(stext) - lrpad / 2 + 2; /* 2px extra right padding */ - drw_text(drw, m->ww - tw - stw, 0, tw, bh, lrpad / 2 - 2, stext, 0); - } - - resizebarwin(m); - for (c = m->clients; c; c = c->next) { - occ |= c->tags; - if (c->isurgent) - urg |= c->tags; - } - x = 0; - for (i = 0; i < LENGTH(tags); i++) { - w = TEXTW(tags[i]); - drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]); - drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i); - if (occ & 1 << i) - drw_rect(drw, x + boxs, boxs, boxw, boxw, - m == selmon && selmon->sel && selmon->sel->tags & 1 << i, - urg & 1 << i); - x += w; - } - w = TEXTW(m->ltsymbol); - drw_setscheme(drw, scheme[SchemeNorm]); - x = drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0); - - if ((w = m->ww - tw - stw - x) > bh) { - if (m->sel) { - drw_setscheme(drw, scheme[m == selmon ? SchemeTitle : SchemeNorm]); - drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); - if (m->sel->isfloating) - drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); - } else { - drw_setscheme(drw, scheme[SchemeNorm]); - drw_rect(drw, x, 0, w, bh, 1, 1); - } - } - drw_map(drw, m->barwin, 0, 0, m->ww - stw, bh); -} - -void -drawbars(void) -{ - Monitor *m; - - for (m = mons; m; m = m->next) - drawbar(m); -} - -void -enternotify(XEvent *e) -{ - Client *c; - Monitor *m; - XCrossingEvent *ev = &e->xcrossing; - - if ((ev->mode != NotifyNormal || ev->detail == NotifyInferior) && ev->window != root) - return; - c = wintoclient(ev->window); - m = c ? c->mon : wintomon(ev->window); - if (m != selmon) { - unfocus(selmon->sel, 1); - selmon = m; - } else if (!c || c == selmon->sel) - return; - focus(c); -} - -void -expose(XEvent *e) -{ - Monitor *m; - XExposeEvent *ev = &e->xexpose; - - if (ev->count == 0 && (m = wintomon(ev->window))) { - drawbar(m); - if (m == selmon) - updatesystray(); - } -} - -void -focus(Client *c) -{ - if (!c || !ISVISIBLE(c)) - for (c = selmon->stack; c && !ISVISIBLE(c); c = c->snext); - if (selmon->sel && selmon->sel != c) - unfocus(selmon->sel, 0); - if (c) { - if (c->mon != selmon) - selmon = c->mon; - if (c->isurgent) - seturgent(c, 0); - detachstack(c); - attachstack(c); - grabbuttons(c, 1); - XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel); - setfocus(c); - } else { - XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); - XDeleteProperty(dpy, root, netatom[NetActiveWindow]); - } - selmon->sel = c; - drawbars(); -} - -/* there are some broken focus acquiring clients needing extra handling */ -void -focusin(XEvent *e) -{ - XFocusChangeEvent *ev = &e->xfocus; - - if (selmon->sel && ev->window != selmon->sel->win) - setfocus(selmon->sel); -} - -void -focusmon(const Arg *arg) -{ - Monitor *m; - - if (!mons->next) - return; - if ((m = dirtomon(arg->i)) == selmon) - return; - unfocus(selmon->sel, 0); - selmon = m; - focus(NULL); -} - -void -focusstack(const Arg *arg) -{ - Client *c = NULL, *i; - - if (!selmon->sel || (selmon->sel->isfullscreen && lockfullscreen)) - return; - if (arg->i > 0) { - for (c = selmon->sel->next; c && !ISVISIBLE(c); c = c->next); - if (!c) - for (c = selmon->clients; c && !ISVISIBLE(c); c = c->next); - } else { - for (i = selmon->clients; i != selmon->sel; i = i->next) - if (ISVISIBLE(i)) - c = i; - if (!c) - for (; i; i = i->next) - if (ISVISIBLE(i)) - c = i; - } - if (c) { - focus(c); - restack(selmon); - } -} - -Atom -getatomprop(Client *c, Atom prop) -{ - int di; - unsigned long dl; - unsigned char *p = NULL; - Atom da, atom = None; - - /* FIXME getatomprop should return the number of items and a pointer to - * the stored data instead of this workaround */ - Atom req = XA_ATOM; - if (prop == xatom[XembedInfo]) - req = xatom[XembedInfo]; - - if (XGetWindowProperty(dpy, c->win, prop, 0L, sizeof atom, False, req, - &da, &di, &dl, &dl, &p) == Success && p) { - atom = *(Atom *)p; - if (da == xatom[XembedInfo] && dl == 2) - atom = ((Atom *)p)[1]; - XFree(p); - } - return atom; -} - -unsigned int -getsystraywidth() -{ - unsigned int w = 0; - Client *i; - if(showsystray) - for(i = systray->icons; i; w += i->w + systrayspacing, i = i->next) ; - return w ? w + systrayspacing : 1; -} - -int -getrootptr(int *x, int *y) -{ - int di; - unsigned int dui; - Window dummy; - - return XQueryPointer(dpy, root, &dummy, &dummy, x, y, &di, &di, &dui); -} - -long -getstate(Window w) -{ - int format; - long result = -1; - unsigned char *p = NULL; - unsigned long n, extra; - Atom real; - - if (XGetWindowProperty(dpy, w, wmatom[WMState], 0L, 2L, False, wmatom[WMState], - &real, &format, &n, &extra, (unsigned char **)&p) != Success) - return -1; - if (n != 0) - result = *p; - XFree(p); - return result; -} - -int -gettextprop(Window w, Atom atom, char *text, unsigned int size) -{ - char **list = NULL; - int n; - XTextProperty name; - - if (!text || size == 0) - return 0; - text[0] = '\0'; - if (!XGetTextProperty(dpy, w, &name, atom) || !name.nitems) - return 0; - if (name.encoding == XA_STRING) { - strncpy(text, (char *)name.value, size - 1); - } else if (XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success && n > 0 && *list) { - strncpy(text, *list, size - 1); - XFreeStringList(list); - } - text[size - 1] = '\0'; - XFree(name.value); - return 1; -} - -void -grabbuttons(Client *c, int focused) -{ - updatenumlockmask(); - { - unsigned int i, j; - unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask }; - XUngrabButton(dpy, AnyButton, AnyModifier, c->win); - if (!focused) - XGrabButton(dpy, AnyButton, AnyModifier, c->win, False, - BUTTONMASK, GrabModeSync, GrabModeSync, None, None); - for (i = 0; i < LENGTH(buttons); i++) - if (buttons[i].click == ClkClientWin) - for (j = 0; j < LENGTH(modifiers); j++) - XGrabButton(dpy, buttons[i].button, - buttons[i].mask | modifiers[j], - c->win, False, BUTTONMASK, - GrabModeAsync, GrabModeSync, None, None); - } -} - -void -grabkeys(void) -{ - updatenumlockmask(); - { - unsigned int i, j, k; - unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask }; - int start, end, skip; - KeySym *syms; - - XUngrabKey(dpy, AnyKey, AnyModifier, root); - XDisplayKeycodes(dpy, &start, &end); - syms = XGetKeyboardMapping(dpy, start, end - start + 1, &skip); - if (!syms) - return; - for (k = start; k <= end; k++) - for (i = 0; i < LENGTH(keys); i++) - /* skip modifier codes, we do that ourselves */ - if (keys[i].keysym == syms[(k - start) * skip]) - for (j = 0; j < LENGTH(modifiers); j++) - XGrabKey(dpy, k, - keys[i].mod | modifiers[j], - root, True, - GrabModeAsync, GrabModeAsync); - XFree(syms); - } -} - -void -incnmaster(const Arg *arg) -{ - selmon->nmaster = MAX(selmon->nmaster + arg->i, 0); - arrange(selmon); -} - -#ifdef XINERAMA -static int -isuniquegeom(XineramaScreenInfo *unique, size_t n, XineramaScreenInfo *info) -{ - while (n--) - if (unique[n].x_org == info->x_org && unique[n].y_org == info->y_org - && unique[n].width == info->width && unique[n].height == info->height) - return 0; - return 1; -} -#endif /* XINERAMA */ - -void -keypress(XEvent *e) -{ - unsigned int i; - KeySym keysym; - XKeyEvent *ev; - - ev = &e->xkey; - keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); - for (i = 0; i < LENGTH(keys); i++) - if (keysym == keys[i].keysym - && CLEANMASK(keys[i].mod) == CLEANMASK(ev->state) - && keys[i].func) - keys[i].func(&(keys[i].arg)); -} - -void -killclient(const Arg *arg) -{ - if (!selmon->sel) - return; - - if (!sendevent(selmon->sel->win, wmatom[WMDelete], NoEventMask, wmatom[WMDelete], CurrentTime, 0 , 0, 0)) { - XGrabServer(dpy); - XSetErrorHandler(xerrordummy); - XSetCloseDownMode(dpy, DestroyAll); - XKillClient(dpy, selmon->sel->win); - XSync(dpy, False); - XSetErrorHandler(xerror); - XUngrabServer(dpy); - } -} - -void -manage(Window w, XWindowAttributes *wa) -{ - Client *c, *t = NULL; - Window trans = None; - XWindowChanges wc; - - c = ecalloc(1, sizeof(Client)); - c->win = w; - /* geometry */ - c->x = c->oldx = wa->x; - c->y = c->oldy = wa->y; - c->w = c->oldw = wa->width; - c->h = c->oldh = wa->height; - c->oldbw = wa->border_width; - - updatetitle(c); - if (XGetTransientForHint(dpy, w, &trans) && (t = wintoclient(trans))) { - c->mon = t->mon; - c->tags = t->tags; - } else { - c->mon = selmon; - applyrules(c); - } - - if (c->x + WIDTH(c) > c->mon->wx + c->mon->ww) - c->x = c->mon->wx + c->mon->ww - WIDTH(c); - if (c->y + HEIGHT(c) > c->mon->wy + c->mon->wh) - c->y = c->mon->wy + c->mon->wh - HEIGHT(c); - c->x = MAX(c->x, c->mon->wx); - c->y = MAX(c->y, c->mon->wy); - c->bw = borderpx; - - wc.border_width = c->bw; - XConfigureWindow(dpy, w, CWBorderWidth, &wc); - XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColBorder].pixel); - configure(c); /* propagates border_width, if size doesn't change */ - updatewindowtype(c); - updatesizehints(c); - updatewmhints(c); - XSelectInput(dpy, w, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask); - grabbuttons(c, 0); - if (!c->isfloating) - c->isfloating = c->oldstate = trans != None || c->isfixed; - if (c->isfloating) - XRaiseWindow(dpy, c->win); - attach(c); - attachstack(c); - XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend, - (unsigned char *) &(c->win), 1); - XMoveResizeWindow(dpy, c->win, c->x + 2 * sw, c->y, c->w, c->h); /* some windows require this */ - setclientstate(c, NormalState); - if (c->mon == selmon) - unfocus(selmon->sel, 0); - c->mon->sel = c; - arrange(c->mon); - XMapWindow(dpy, c->win); - focus(NULL); -} - -void -mappingnotify(XEvent *e) -{ - XMappingEvent *ev = &e->xmapping; - - XRefreshKeyboardMapping(ev); - if (ev->request == MappingKeyboard) - grabkeys(); -} - -void -maprequest(XEvent *e) -{ - static XWindowAttributes wa; - XMapRequestEvent *ev = &e->xmaprequest; - - Client *i; - if ((i = wintosystrayicon(ev->window))) { - sendevent(i->win, netatom[Xembed], StructureNotifyMask, CurrentTime, XEMBED_WINDOW_ACTIVATE, 0, systray->win, XEMBED_EMBEDDED_VERSION); - resizebarwin(selmon); - updatesystray(); - } - - if (!XGetWindowAttributes(dpy, ev->window, &wa) || wa.override_redirect) - return; - if (!wintoclient(ev->window)) - manage(ev->window, &wa); -} - -void -monocle(Monitor *m) -{ - unsigned int n = 0; - Client *c; - - for (c = m->clients; c; c = c->next) - if (ISVISIBLE(c)) - n++; - if (n > 0) /* override layout symbol */ - snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n); - for (c = nexttiled(m->clients); c; c = nexttiled(c->next)) - resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, 0); -} - -void -motionnotify(XEvent *e) -{ - static Monitor *mon = NULL; - Monitor *m; - XMotionEvent *ev = &e->xmotion; - - if (ev->window != root) - return; - if ((m = recttomon(ev->x_root, ev->y_root, 1, 1)) != mon && mon) { - unfocus(selmon->sel, 1); - selmon = m; - focus(NULL); - } - mon = m; -} - -void -movemouse(const Arg *arg) -{ - int x, y, ocx, ocy, nx, ny; - Client *c; - Monitor *m; - XEvent ev; - Time lasttime = 0; - - if (!(c = selmon->sel)) - return; - if (c->isfullscreen) /* no support moving fullscreen windows by mouse */ - return; - restack(selmon); - ocx = c->x; - ocy = c->y; - if (XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, - None, cursor[CurMove]->cursor, CurrentTime) != GrabSuccess) - return; - if (!getrootptr(&x, &y)) - return; - do { - XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask, &ev); - switch(ev.type) { - case ConfigureRequest: - case Expose: - case MapRequest: - handler[ev.type](&ev); - break; - case MotionNotify: - if ((ev.xmotion.time - lasttime) <= (1000 / 60)) - continue; - lasttime = ev.xmotion.time; - - nx = ocx + (ev.xmotion.x - x); - ny = ocy + (ev.xmotion.y - y); - if (abs(selmon->wx - nx) < snap) - nx = selmon->wx; - else if (abs((selmon->wx + selmon->ww) - (nx + WIDTH(c))) < snap) - nx = selmon->wx + selmon->ww - WIDTH(c); - if (abs(selmon->wy - ny) < snap) - ny = selmon->wy; - else if (abs((selmon->wy + selmon->wh) - (ny + HEIGHT(c))) < snap) - ny = selmon->wy + selmon->wh - HEIGHT(c); - if (!c->isfloating && selmon->lt[selmon->sellt]->arrange - && (abs(nx - c->x) > snap || abs(ny - c->y) > snap)) - togglefloating(NULL); - if (!selmon->lt[selmon->sellt]->arrange || c->isfloating) - resize(c, nx, ny, c->w, c->h, 1); - break; - } - } while (ev.type != ButtonRelease); - XUngrabPointer(dpy, CurrentTime); - if ((m = recttomon(c->x, c->y, c->w, c->h)) != selmon) { - sendmon(c, m); - selmon = m; - focus(NULL); - } -} - -Client * -nexttiled(Client *c) -{ - for (; c && (c->isfloating || !ISVISIBLE(c)); c = c->next); - return c; -} - -void -pop(Client *c) -{ - detach(c); - attach(c); - focus(c); - arrange(c->mon); -} - -void -propertynotify(XEvent *e) -{ - Client *c; - Window trans; - XPropertyEvent *ev = &e->xproperty; - - if ((c = wintosystrayicon(ev->window))) { - if (ev->atom == XA_WM_NORMAL_HINTS) { - updatesizehints(c); - updatesystrayicongeom(c, c->w, c->h); - } - else - updatesystrayiconstate(c, ev); - resizebarwin(selmon); - updatesystray(); - } - - if ((ev->window == root) && (ev->atom == XA_WM_NAME)) - updatestatus(); - else if (ev->state == PropertyDelete) - return; /* ignore */ - else if ((c = wintoclient(ev->window))) { - switch(ev->atom) { - default: break; - case XA_WM_TRANSIENT_FOR: - if (!c->isfloating && (XGetTransientForHint(dpy, c->win, &trans)) && - (c->isfloating = (wintoclient(trans)) != NULL)) - arrange(c->mon); - break; - case XA_WM_NORMAL_HINTS: - c->hintsvalid = 0; - break; - case XA_WM_HINTS: - updatewmhints(c); - drawbars(); - break; - } - if (ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName]) { - updatetitle(c); - if (c == c->mon->sel) - drawbar(c->mon); - } - if (ev->atom == netatom[NetWMWindowType]) - updatewindowtype(c); - } -} - -void -quit(const Arg *arg) -{ - if(arg->i) restart = 1; - running = 0; -} - -Monitor * -recttomon(int x, int y, int w, int h) -{ - Monitor *m, *r = selmon; - int a, area = 0; - - for (m = mons; m; m = m->next) - if ((a = INTERSECT(x, y, w, h, m)) > area) { - area = a; - r = m; - } - return r; -} - -void -removesystrayicon(Client *i) -{ - Client **ii; - - if (!showsystray || !i) - return; - for (ii = &systray->icons; *ii && *ii != i; ii = &(*ii)->next); - if (ii) - *ii = i->next; - free(i); -} - -void -resize(Client *c, int x, int y, int w, int h, int interact) -{ - if (applysizehints(c, &x, &y, &w, &h, interact)) - resizeclient(c, x, y, w, h); -} - -void -resizebarwin(Monitor *m) { - unsigned int w = m->ww; - if (showsystray && m == systraytomon(m) && !systrayonleft) - w -= getsystraywidth(); - XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, w, bh); -} - -void -resizeclient(Client *c, int x, int y, int w, int h) -{ - XWindowChanges wc; - - c->oldx = c->x; c->x = wc.x = x; - c->oldy = c->y; c->y = wc.y = y; - c->oldw = c->w; c->w = wc.width = w; - c->oldh = c->h; c->h = wc.height = h; - wc.border_width = c->bw; - XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc); - configure(c); - XSync(dpy, False); -} - -void -resizerequest(XEvent *e) -{ - XResizeRequestEvent *ev = &e->xresizerequest; - Client *i; - - if ((i = wintosystrayicon(ev->window))) { - updatesystrayicongeom(i, ev->width, ev->height); - resizebarwin(selmon); - updatesystray(); - } -} - -void -resizemouse(const Arg *arg) -{ - int ocx, ocy, nw, nh; - Client *c; - Monitor *m; - XEvent ev; - Time lasttime = 0; - - if (!(c = selmon->sel)) - return; - if (c->isfullscreen) /* no support resizing fullscreen windows by mouse */ - return; - restack(selmon); - ocx = c->x; - ocy = c->y; - if (XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, - None, cursor[CurResize]->cursor, CurrentTime) != GrabSuccess) - return; - XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); - do { - XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask, &ev); - switch(ev.type) { - case ConfigureRequest: - case Expose: - case MapRequest: - handler[ev.type](&ev); - break; - case MotionNotify: - if ((ev.xmotion.time - lasttime) <= (1000 / 60)) - continue; - lasttime = ev.xmotion.time; - - nw = MAX(ev.xmotion.x - ocx - 2 * c->bw + 1, 1); - nh = MAX(ev.xmotion.y - ocy - 2 * c->bw + 1, 1); - if (c->mon->wx + nw >= selmon->wx && c->mon->wx + nw <= selmon->wx + selmon->ww - && c->mon->wy + nh >= selmon->wy && c->mon->wy + nh <= selmon->wy + selmon->wh) - { - if (!c->isfloating && selmon->lt[selmon->sellt]->arrange - && (abs(nw - c->w) > snap || abs(nh - c->h) > snap)) - togglefloating(NULL); - } - if (!selmon->lt[selmon->sellt]->arrange || c->isfloating) - resize(c, c->x, c->y, nw, nh, 1); - break; - } - } while (ev.type != ButtonRelease); - XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); - XUngrabPointer(dpy, CurrentTime); - while (XCheckMaskEvent(dpy, EnterWindowMask, &ev)); - if ((m = recttomon(c->x, c->y, c->w, c->h)) != selmon) { - sendmon(c, m); - selmon = m; - focus(NULL); - } -} - -void -restack(Monitor *m) -{ - Client *c; - XEvent ev; - XWindowChanges wc; - - drawbar(m); - if (!m->sel) - return; - if (m->sel->isfloating || !m->lt[m->sellt]->arrange) - XRaiseWindow(dpy, m->sel->win); - if (m->lt[m->sellt]->arrange) { - wc.stack_mode = Below; - wc.sibling = m->barwin; - for (c = m->stack; c; c = c->snext) - if (!c->isfloating && ISVISIBLE(c)) { - XConfigureWindow(dpy, c->win, CWSibling|CWStackMode, &wc); - wc.sibling = c->win; - } - } - XSync(dpy, False); - while (XCheckMaskEvent(dpy, EnterWindowMask, &ev)); -} - -void -run(void) -{ - XEvent ev; - /* main event loop */ - XSync(dpy, False); - while (running && !XNextEvent(dpy, &ev)) - if (handler[ev.type]) - handler[ev.type](&ev); /* call handler */ -} - -void -scan(void) -{ - unsigned int i, num; - Window d1, d2, *wins = NULL; - XWindowAttributes wa; - - if (XQueryTree(dpy, root, &d1, &d2, &wins, &num)) { - for (i = 0; i < num; i++) { - if (!XGetWindowAttributes(dpy, wins[i], &wa) - || wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1)) - continue; - if (wa.map_state == IsViewable || getstate(wins[i]) == IconicState) - manage(wins[i], &wa); - } - for (i = 0; i < num; i++) { /* now the transients */ - if (!XGetWindowAttributes(dpy, wins[i], &wa)) - continue; - if (XGetTransientForHint(dpy, wins[i], &d1) - && (wa.map_state == IsViewable || getstate(wins[i]) == IconicState)) - manage(wins[i], &wa); - } - if (wins) - XFree(wins); - } -} - -void -sendmon(Client *c, Monitor *m) -{ - if (c->mon == m) - return; - unfocus(c, 1); - detach(c); - detachstack(c); - c->mon = m; - c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */ - attach(c); - attachstack(c); - focus(NULL); - arrange(NULL); -} - -void -setclientstate(Client *c, long state) -{ - long data[] = { state, None }; - - XChangeProperty(dpy, c->win, wmatom[WMState], wmatom[WMState], 32, - PropModeReplace, (unsigned char *)data, 2); -} - -int -sendevent(Window w, Atom proto, int mask, long d0, long d1, long d2, long d3, long d4) -{ - int n; - Atom *protocols, mt; - int exists = 0; - XEvent ev; - - if (proto == wmatom[WMTakeFocus] || proto == wmatom[WMDelete]) { - mt = wmatom[WMProtocols]; - if (XGetWMProtocols(dpy, w, &protocols, &n)) { - while (!exists && n--) - exists = protocols[n] == proto; - XFree(protocols); - } - } - else { - exists = True; - mt = proto; - } - - if (exists) { - ev.type = ClientMessage; - ev.xclient.window = w; - ev.xclient.message_type = mt; - ev.xclient.format = 32; - ev.xclient.data.l[0] = d0; - ev.xclient.data.l[1] = d1; - ev.xclient.data.l[2] = d2; - ev.xclient.data.l[3] = d3; - ev.xclient.data.l[4] = d4; - XSendEvent(dpy, w, False, mask, &ev); - } - return exists; -} - -void -setfocus(Client *c) -{ - if (!c->neverfocus) { - XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); - XChangeProperty(dpy, root, netatom[NetActiveWindow], - XA_WINDOW, 32, PropModeReplace, - (unsigned char *) &(c->win), 1); - } - sendevent(c->win, wmatom[WMTakeFocus], NoEventMask, wmatom[WMTakeFocus], CurrentTime, 0, 0, 0); -} - -void -setfullscreen(Client *c, int fullscreen) -{ - if (fullscreen && !c->isfullscreen) { - XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32, - PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1); - c->isfullscreen = 1; - c->oldstate = c->isfloating; - c->oldbw = c->bw; - c->bw = 0; - c->isfloating = 1; - resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh); - XRaiseWindow(dpy, c->win); - } else if (!fullscreen && c->isfullscreen){ - XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32, - PropModeReplace, (unsigned char*)0, 0); - c->isfullscreen = 0; - c->isfloating = c->oldstate; - c->bw = c->oldbw; - c->x = c->oldx; - c->y = c->oldy; - c->w = c->oldw; - c->h = c->oldh; - resizeclient(c, c->x, c->y, c->w, c->h); - arrange(c->mon); - } -} - -void -setlayout(const Arg *arg) -{ - if (!arg || !arg->v || arg->v != selmon->lt[selmon->sellt]) - selmon->sellt ^= 1; - if (arg && arg->v) - selmon->lt[selmon->sellt] = (Layout *)arg->v; - strncpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, sizeof selmon->ltsymbol); - if (selmon->sel) - arrange(selmon); - else - drawbar(selmon); -} - -/* arg > 1.0 will set mfact absolutely */ -void -setmfact(const Arg *arg) -{ - float f; - - if (!arg || !selmon->lt[selmon->sellt]->arrange) - return; - f = arg->f < 1.0 ? arg->f + selmon->mfact : arg->f - 1.0; - if (f < 0.05 || f > 0.95) - return; - selmon->mfact = f; - arrange(selmon); -} - -void -setup(void) -{ - int i; - XSetWindowAttributes wa; - Atom utf8string; - struct sigaction sa; - - /* do not transform children into zombies when they terminate */ - sigemptyset(&sa.sa_mask); - sa.sa_flags = SA_NOCLDSTOP | SA_NOCLDWAIT | SA_RESTART; - sa.sa_handler = SIG_IGN; - sigaction(SIGCHLD, &sa, NULL); - - /* clean up any zombies (inherited from .xinitrc etc) immediately */ - while (waitpid(-1, NULL, WNOHANG) > 0); - - signal(SIGHUP, sighup); - signal(SIGTERM, sigterm); - - /* init screen */ - screen = DefaultScreen(dpy); - sw = DisplayWidth(dpy, screen); - sh = DisplayHeight(dpy, screen); - root = RootWindow(dpy, screen); - drw = drw_create(dpy, screen, root, sw, sh); - if (!drw_fontset_create(drw, fonts, LENGTH(fonts))) - die("no fonts could be loaded."); - lrpad = drw->fonts->h; - bh = drw->fonts->h + 2; - updategeom(); - /* init atoms */ - utf8string = XInternAtom(dpy, "UTF8_STRING", False); - wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); - wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); - wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False); - wmatom[WMTakeFocus] = XInternAtom(dpy, "WM_TAKE_FOCUS", False); - netatom[NetActiveWindow] = XInternAtom(dpy, "_NET_ACTIVE_WINDOW", False); - netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); - netatom[NetSystemTray] = XInternAtom(dpy, "_NET_SYSTEM_TRAY_S0", False); - netatom[NetSystemTrayOP] = XInternAtom(dpy, "_NET_SYSTEM_TRAY_OPCODE", False); - netatom[NetSystemTrayOrientation] = XInternAtom(dpy, "_NET_SYSTEM_TRAY_ORIENTATION", False); - netatom[NetSystemTrayOrientationHorz] = XInternAtom(dpy, "_NET_SYSTEM_TRAY_ORIENTATION_HORZ", False); - netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False); - netatom[NetWMState] = XInternAtom(dpy, "_NET_WM_STATE", False); - netatom[NetWMCheck] = XInternAtom(dpy, "_NET_SUPPORTING_WM_CHECK", False); - netatom[NetWMFullscreen] = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False); - netatom[NetWMWindowType] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False); - netatom[NetWMWindowTypeDialog] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DIALOG", False); - netatom[NetClientList] = XInternAtom(dpy, "_NET_CLIENT_LIST", False); - xatom[Manager] = XInternAtom(dpy, "MANAGER", False); - xatom[Xembed] = XInternAtom(dpy, "_XEMBED", False); - xatom[XembedInfo] = XInternAtom(dpy, "_XEMBED_INFO", False); - /* init cursors */ - cursor[CurNormal] = drw_cur_create(drw, XC_left_ptr); - cursor[CurResize] = drw_cur_create(drw, XC_sizing); - cursor[CurMove] = drw_cur_create(drw, XC_fleur); - /* init appearance */ - scheme = ecalloc(LENGTH(colors), sizeof(Clr *)); - for (i = 0; i < LENGTH(colors); i++) - scheme[i] = drw_scm_create(drw, colors[i], 3); - /* init system tray */ - updatesystray(); - /* init bars */ - updatebars(); - updatestatus(); - /* supporting window for NetWMCheck */ - wmcheckwin = XCreateSimpleWindow(dpy, root, 0, 0, 1, 1, 0, 0, 0); - XChangeProperty(dpy, wmcheckwin, netatom[NetWMCheck], XA_WINDOW, 32, - PropModeReplace, (unsigned char *) &wmcheckwin, 1); - XChangeProperty(dpy, wmcheckwin, netatom[NetWMName], utf8string, 8, - PropModeReplace, (unsigned char *) "dwm", 3); - XChangeProperty(dpy, root, netatom[NetWMCheck], XA_WINDOW, 32, - PropModeReplace, (unsigned char *) &wmcheckwin, 1); - /* EWMH support per view */ - XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32, - PropModeReplace, (unsigned char *) netatom, NetLast); - XDeleteProperty(dpy, root, netatom[NetClientList]); - /* select events */ - wa.cursor = cursor[CurNormal]->cursor; - wa.event_mask = SubstructureRedirectMask|SubstructureNotifyMask - |ButtonPressMask|PointerMotionMask|EnterWindowMask - |LeaveWindowMask|StructureNotifyMask|PropertyChangeMask; - XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa); - XSelectInput(dpy, root, wa.event_mask); - grabkeys(); - focus(NULL); -} - -void -seturgent(Client *c, int urg) -{ - XWMHints *wmh; - - c->isurgent = urg; - if (!(wmh = XGetWMHints(dpy, c->win))) - return; - wmh->flags = urg ? (wmh->flags | XUrgencyHint) : (wmh->flags & ~XUrgencyHint); - XSetWMHints(dpy, c->win, wmh); - XFree(wmh); -} - -void -showhide(Client *c) -{ - if (!c) - return; - if (ISVISIBLE(c)) { - /* show clients top down */ - XMoveWindow(dpy, c->win, c->x, c->y); - if (c->needresize) { - c->needresize = 0; - XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h); - } else { - XMoveWindow(dpy, c->win, c->x, c->y); - } - if ((!c->mon->lt[c->mon->sellt]->arrange || c->isfloating) && !c->isfullscreen) - resize(c, c->x, c->y, c->w, c->h, 0); - showhide(c->snext); - } else { - /* hide clients bottom up */ - showhide(c->snext); - XMoveWindow(dpy, c->win, WIDTH(c) * -2, c->y); - } -} - -void -sighup(int unused) -{ - Arg a = {.i = 1}; - quit(&a); -} - -void -sigterm(int unused) -{ - Arg a = {.i = 0}; - quit(&a); -} - -void -spawn(const Arg *arg) -{ - struct sigaction sa; - - if (arg->v == dmenucmd) - dmenumon[0] = '0' + selmon->num; - if (fork() == 0) { - if (dpy) - close(ConnectionNumber(dpy)); - setsid(); - - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - sa.sa_handler = SIG_DFL; - sigaction(SIGCHLD, &sa, NULL); - - execvp(((char **)arg->v)[0], (char **)arg->v); - die("dwm: execvp '%s' failed:", ((char **)arg->v)[0]); - } -} - -void -tag(const Arg *arg) -{ - if (selmon->sel && arg->ui & TAGMASK) { - selmon->sel->tags = arg->ui & TAGMASK; - focus(NULL); - arrange(selmon); - } -} - -void -tagmon(const Arg *arg) -{ - if (!selmon->sel || !mons->next) - return; - sendmon(selmon->sel, dirtomon(arg->i)); -} - -void -tile(Monitor *m) -{ - unsigned int i, n, h, mw, my, ty; - Client *c; - - for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); - if (n == 0) - return; - - if (n > m->nmaster) - mw = m->nmaster ? m->ww * m->mfact : 0; - else - mw = m->ww; - for (i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) - if (i < m->nmaster) { - h = (m->wh - my) / (MIN(n, m->nmaster) - i); - resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0); - if (my + HEIGHT(c) < m->wh) - my += HEIGHT(c); - } else { - h = (m->wh - ty) / (n - i); - resize(c, m->wx + mw, m->wy + ty, m->ww - mw - (2*c->bw), h - (2*c->bw), 0); - if (ty + HEIGHT(c) < m->wh) - ty += HEIGHT(c); - } -} - -void -togglebar(const Arg *arg) -{ - selmon->showbar = !selmon->showbar; - updatebarpos(selmon); - resizebarwin(selmon); - if (showsystray) { - XWindowChanges wc; - if (!selmon->showbar) - wc.y = -bh; - else if (selmon->showbar) { - wc.y = 0; - if (!selmon->topbar) - wc.y = selmon->mh - bh; - } - XConfigureWindow(dpy, systray->win, CWY, &wc); - } - arrange(selmon); -} - -void -togglefloating(const Arg *arg) -{ - if (!selmon->sel) - return; - if (selmon->sel->isfullscreen) /* no support for fullscreen windows */ - return; - selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed; - if (selmon->sel->isfloating) - resize(selmon->sel, selmon->sel->x, selmon->sel->y, - selmon->sel->w, selmon->sel->h, 0); - arrange(selmon); -} - -void -toggletag(const Arg *arg) -{ - unsigned int newtags; - - if (!selmon->sel) - return; - newtags = selmon->sel->tags ^ (arg->ui & TAGMASK); - if (newtags) { - selmon->sel->tags = newtags; - focus(NULL); - arrange(selmon); - } -} - -void -toggleview(const Arg *arg) -{ - unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK); - - if (newtagset) { - selmon->tagset[selmon->seltags] = newtagset; - focus(NULL); - arrange(selmon); - } -} - -void -unfocus(Client *c, int setfocus) -{ - if (!c) - return; - grabbuttons(c, 0); - XSetWindowBorder(dpy, c->win, scheme[SchemeNorm][ColBorder].pixel); - if (setfocus) { - XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); - XDeleteProperty(dpy, root, netatom[NetActiveWindow]); - } -} - -void -unmanage(Client *c, int destroyed) -{ - Monitor *m = c->mon; - XWindowChanges wc; - - detach(c); - detachstack(c); - if (!destroyed) { - wc.border_width = c->oldbw; - XGrabServer(dpy); /* avoid race conditions */ - XSetErrorHandler(xerrordummy); - XSelectInput(dpy, c->win, NoEventMask); - XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); /* restore border */ - XUngrabButton(dpy, AnyButton, AnyModifier, c->win); - setclientstate(c, WithdrawnState); - XSync(dpy, False); - XSetErrorHandler(xerror); - XUngrabServer(dpy); - } - free(c); - focus(NULL); - updateclientlist(); - arrange(m); -} - -void -unmapnotify(XEvent *e) -{ - Client *c; - XUnmapEvent *ev = &e->xunmap; - - if ((c = wintoclient(ev->window))) { - if (ev->send_event) - setclientstate(c, WithdrawnState); - else - unmanage(c, 0); - } - else if ((c = wintosystrayicon(ev->window))) { - /* KLUDGE! sometimes icons occasionally unmap their windows, but do - * _not_ destroy them. We map those windows back */ - XMapRaised(dpy, c->win); - updatesystray(); - } -} - -void -updatebars(void) -{ - unsigned int w; - Monitor *m; - XSetWindowAttributes wa = { - .override_redirect = True, - .background_pixmap = ParentRelative, - .event_mask = ButtonPressMask|ExposureMask - }; - XClassHint ch = {"dwm", "dwm"}; - for (m = mons; m; m = m->next) { - if (m->barwin) - continue; - w = m->ww; - if (showsystray && m == systraytomon(m)) - w -= getsystraywidth(); - m->barwin = XCreateWindow(dpy, root, m->wx, m->by, w, bh, 0, DefaultDepth(dpy, screen), - CopyFromParent, DefaultVisual(dpy, screen), - CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa); - XDefineCursor(dpy, m->barwin, cursor[CurNormal]->cursor); - if (showsystray && m == systraytomon(m)) - XMapRaised(dpy, systray->win); - XMapRaised(dpy, m->barwin); - XSetClassHint(dpy, m->barwin, &ch); - } -} - -void -updatebarpos(Monitor *m) -{ - m->wy = m->my; - m->wh = m->mh; - if (m->showbar) { - m->wh -= bh; - m->by = m->topbar ? m->wy : m->wy + m->wh; - m->wy = m->topbar ? m->wy + bh : m->wy; - } else - m->by = -bh; -} - -void -updateclientlist() -{ - Client *c; - Monitor *m; - - XDeleteProperty(dpy, root, netatom[NetClientList]); - for (m = mons; m; m = m->next) - for (c = m->clients; c; c = c->next) - XChangeProperty(dpy, root, netatom[NetClientList], - XA_WINDOW, 32, PropModeAppend, - (unsigned char *) &(c->win), 1); -} - -int -updategeom(void) -{ - int dirty = 0; - -#ifdef XINERAMA - if (XineramaIsActive(dpy)) { - int i, j, n, nn; - Client *c; - Monitor *m; - XineramaScreenInfo *info = XineramaQueryScreens(dpy, &nn); - XineramaScreenInfo *unique = NULL; - - for (n = 0, m = mons; m; m = m->next, n++); - /* only consider unique geometries as separate screens */ - unique = ecalloc(nn, sizeof(XineramaScreenInfo)); - for (i = 0, j = 0; i < nn; i++) - if (isuniquegeom(unique, j, &info[i])) - memcpy(&unique[j++], &info[i], sizeof(XineramaScreenInfo)); - XFree(info); - nn = j; - - /* new monitors if nn > n */ - for (i = n; i < nn; i++) { - for (m = mons; m && m->next; m = m->next); - if (m) - m->next = createmon(); - else - mons = createmon(); - } - for (i = 0, m = mons; i < nn && m; m = m->next, i++) - if (i >= n - || unique[i].x_org != m->mx || unique[i].y_org != m->my - || unique[i].width != m->mw || unique[i].height != m->mh) - { - dirty = 1; - m->num = i; - m->mx = m->wx = unique[i].x_org; - m->my = m->wy = unique[i].y_org; - m->mw = m->ww = unique[i].width; - m->mh = m->wh = unique[i].height; - updatebarpos(m); - } - /* removed monitors if n > nn */ - for (i = nn; i < n; i++) { - for (m = mons; m && m->next; m = m->next); - while ((c = m->clients)) { - dirty = 1; - m->clients = c->next; - detachstack(c); - c->mon = mons; - attach(c); - attachstack(c); - } - if (m == selmon) - selmon = mons; - cleanupmon(m); - } - free(unique); - } else -#endif /* XINERAMA */ - { /* default monitor setup */ - if (!mons) - mons = createmon(); - if (mons->mw != sw || mons->mh != sh) { - dirty = 1; - mons->mw = mons->ww = sw; - mons->mh = mons->wh = sh; - updatebarpos(mons); - } - } - if (dirty) { - selmon = mons; - selmon = wintomon(root); - } - return dirty; -} - -void -updatenumlockmask(void) -{ - unsigned int i, j; - XModifierKeymap *modmap; - - numlockmask = 0; - modmap = XGetModifierMapping(dpy); - for (i = 0; i < 8; i++) - for (j = 0; j < modmap->max_keypermod; j++) - if (modmap->modifiermap[i * modmap->max_keypermod + j] - == XKeysymToKeycode(dpy, XK_Num_Lock)) - numlockmask = (1 << i); - XFreeModifiermap(modmap); -} - -void -updatesizehints(Client *c) -{ - long msize; - XSizeHints size; - - if (!XGetWMNormalHints(dpy, c->win, &size, &msize)) - /* size is uninitialized, ensure that size.flags aren't used */ - size.flags = PSize; - if (size.flags & PBaseSize) { - c->basew = size.base_width; - c->baseh = size.base_height; - } else if (size.flags & PMinSize) { - c->basew = size.min_width; - c->baseh = size.min_height; - } else - c->basew = c->baseh = 0; - if (size.flags & PResizeInc) { - c->incw = size.width_inc; - c->inch = size.height_inc; - } else - c->incw = c->inch = 0; - if (size.flags & PMaxSize) { - c->maxw = size.max_width; - c->maxh = size.max_height; - } else - c->maxw = c->maxh = 0; - if (size.flags & PMinSize) { - c->minw = size.min_width; - c->minh = size.min_height; - } else if (size.flags & PBaseSize) { - c->minw = size.base_width; - c->minh = size.base_height; - } else - c->minw = c->minh = 0; - if (size.flags & PAspect) { - c->mina = (float)size.min_aspect.y / size.min_aspect.x; - c->maxa = (float)size.max_aspect.x / size.max_aspect.y; - } else - c->maxa = c->mina = 0.0; - c->isfixed = (c->maxw && c->maxh && c->maxw == c->minw && c->maxh == c->minh); - c->hintsvalid = 1; -} - -void -updatestatus(void) -{ - if (!gettextprop(root, XA_WM_NAME, stext, sizeof(stext))) - strcpy(stext, "dwm-"VERSION); - drawbar(selmon); - updatesystray(); -} - - -void -updatesystrayicongeom(Client *i, int w, int h) -{ - if (i) { - i->h = bh; - if (w == h) - i->w = bh; - else if (h == bh) - i->w = w; - else - i->w = (int) ((float)bh * ((float)w / (float)h)); - applysizehints(i, &(i->x), &(i->y), &(i->w), &(i->h), False); - /* force icons into the systray dimensions if they don't want to */ - if (i->h > bh) { - if (i->w == i->h) - i->w = bh; - else - i->w = (int) ((float)bh * ((float)i->w / (float)i->h)); - i->h = bh; - } - } -} - -void -updatesystrayiconstate(Client *i, XPropertyEvent *ev) -{ - long flags; - int code = 0; - - if (!showsystray || !i || ev->atom != xatom[XembedInfo] || - !(flags = getatomprop(i, xatom[XembedInfo]))) - return; - - if (flags & XEMBED_MAPPED && !i->tags) { - i->tags = 1; - code = XEMBED_WINDOW_ACTIVATE; - XMapRaised(dpy, i->win); - setclientstate(i, NormalState); - } - else if (!(flags & XEMBED_MAPPED) && i->tags) { - i->tags = 0; - code = XEMBED_WINDOW_DEACTIVATE; - XUnmapWindow(dpy, i->win); - setclientstate(i, WithdrawnState); - } - else - return; - sendevent(i->win, xatom[Xembed], StructureNotifyMask, CurrentTime, code, 0, - systray->win, XEMBED_EMBEDDED_VERSION); -} - -void -updatesystray(void) -{ - XSetWindowAttributes wa; - XWindowChanges wc; - Client *i; - Monitor *m = systraytomon(NULL); - unsigned int x = m->mx + m->mw; - unsigned int sw = TEXTW(stext) - lrpad + systrayspacing; - unsigned int w = 1; - - if (!showsystray) - return; - if (systrayonleft) - x -= sw + lrpad / 2; - if (!systray) { - /* init systray */ - if (!(systray = (Systray *)calloc(1, sizeof(Systray)))) - die("fatal: could not malloc() %u bytes\n", sizeof(Systray)); - systray->win = XCreateSimpleWindow(dpy, root, x, m->by, w, bh, 0, 0, scheme[SchemeSel][ColBg].pixel); - wa.event_mask = ButtonPressMask | ExposureMask; - wa.override_redirect = True; - wa.background_pixel = scheme[SchemeNorm][ColBg].pixel; - XSelectInput(dpy, systray->win, SubstructureNotifyMask); - XChangeProperty(dpy, systray->win, netatom[NetSystemTrayOrientation], XA_CARDINAL, 32, - PropModeReplace, (unsigned char *)&netatom[NetSystemTrayOrientationHorz], 1); - XChangeWindowAttributes(dpy, systray->win, CWEventMask|CWOverrideRedirect|CWBackPixel, &wa); - XMapRaised(dpy, systray->win); - XSetSelectionOwner(dpy, netatom[NetSystemTray], systray->win, CurrentTime); - if (XGetSelectionOwner(dpy, netatom[NetSystemTray]) == systray->win) { - sendevent(root, xatom[Manager], StructureNotifyMask, CurrentTime, netatom[NetSystemTray], systray->win, 0, 0); - XSync(dpy, False); - } - else { - fprintf(stderr, "dwm: unable to obtain system tray.\n"); - free(systray); - systray = NULL; - return; - } - } - for (w = 0, i = systray->icons; i; i = i->next) { - /* make sure the background color stays the same */ - wa.background_pixel = scheme[SchemeNorm][ColBg].pixel; - XChangeWindowAttributes(dpy, i->win, CWBackPixel, &wa); - XMapRaised(dpy, i->win); - w += systrayspacing; - i->x = w; - XMoveResizeWindow(dpy, i->win, i->x, 0, i->w, i->h); - w += i->w; - if (i->mon != m) - i->mon = m; - } - w = w ? w + systrayspacing : 1; - x -= w; - XMoveResizeWindow(dpy, systray->win, x, m->by, w, bh); - wc.x = x; wc.y = m->by; wc.width = w; wc.height = bh; - wc.stack_mode = Above; wc.sibling = m->barwin; - XConfigureWindow(dpy, systray->win, CWX|CWY|CWWidth|CWHeight|CWSibling|CWStackMode, &wc); - XMapWindow(dpy, systray->win); - XMapSubwindows(dpy, systray->win); - /* redraw background */ - XSetForeground(dpy, drw->gc, scheme[SchemeNorm][ColBg].pixel); - XFillRectangle(dpy, systray->win, drw->gc, 0, 0, w, bh); - XSync(dpy, False); -} - -void -updatetitle(Client *c) -{ - if (!gettextprop(c->win, netatom[NetWMName], c->name, sizeof c->name)) - gettextprop(c->win, XA_WM_NAME, c->name, sizeof c->name); - if (c->name[0] == '\0') /* hack to mark broken clients */ - strcpy(c->name, broken); -} - -void -updatewindowtype(Client *c) -{ - Atom state = getatomprop(c, netatom[NetWMState]); - Atom wtype = getatomprop(c, netatom[NetWMWindowType]); - - if (state == netatom[NetWMFullscreen]) - setfullscreen(c, 1); - if (wtype == netatom[NetWMWindowTypeDialog]) - c->isfloating = 1; -} - -void -updatewmhints(Client *c) -{ - XWMHints *wmh; - - if ((wmh = XGetWMHints(dpy, c->win))) { - if (c == selmon->sel && wmh->flags & XUrgencyHint) { - wmh->flags &= ~XUrgencyHint; - XSetWMHints(dpy, c->win, wmh); - } else - c->isurgent = (wmh->flags & XUrgencyHint) ? 1 : 0; - if (wmh->flags & InputHint) - c->neverfocus = !wmh->input; - else - c->neverfocus = 0; - XFree(wmh); - } -} - -void -view(const Arg *arg) -{ - if ((arg->ui & TAGMASK) == selmon->tagset[selmon->seltags]) - return; - selmon->seltags ^= 1; /* toggle sel tagset */ - if (arg->ui & TAGMASK) - selmon->tagset[selmon->seltags] = arg->ui & TAGMASK; - focus(NULL); - arrange(selmon); -} - -Client * -wintoclient(Window w) -{ - Client *c; - Monitor *m; - - for (m = mons; m; m = m->next) - for (c = m->clients; c; c = c->next) - if (c->win == w) - return c; - return NULL; -} - -Client * -wintosystrayicon(Window w) { - Client *i = NULL; - - if (!showsystray || !w) - return i; - for (i = systray->icons; i && i->win != w; i = i->next) ; - return i; -} - -Monitor * -wintomon(Window w) -{ - int x, y; - Client *c; - Monitor *m; - - if (w == root && getrootptr(&x, &y)) - return recttomon(x, y, 1, 1); - for (m = mons; m; m = m->next) - if (w == m->barwin) - return m; - if ((c = wintoclient(w))) - return c->mon; - return selmon; -} - -/* There's no way to check accesses to destroyed windows, thus those cases are - * ignored (especially on UnmapNotify's). Other types of errors call Xlibs - * default error handler, which may call exit. */ -int -xerror(Display *dpy, XErrorEvent *ee) -{ - if (ee->error_code == BadWindow - || (ee->request_code == X_SetInputFocus && ee->error_code == BadMatch) - || (ee->request_code == X_PolyText8 && ee->error_code == BadDrawable) - || (ee->request_code == X_PolyFillRectangle && ee->error_code == BadDrawable) - || (ee->request_code == X_PolySegment && ee->error_code == BadDrawable) - || (ee->request_code == X_ConfigureWindow && ee->error_code == BadMatch) - || (ee->request_code == X_GrabButton && ee->error_code == BadAccess) - || (ee->request_code == X_GrabKey && ee->error_code == BadAccess) - || (ee->request_code == X_CopyArea && ee->error_code == BadDrawable)) - return 0; - fprintf(stderr, "dwm: fatal error: request code=%d, error code=%d\n", - ee->request_code, ee->error_code); - return xerrorxlib(dpy, ee); /* may call exit */ -} - -int -xerrordummy(Display *dpy, XErrorEvent *ee) -{ - return 0; -} - -/* Startup Error handler to check if another window manager - * is already running. */ -int -xerrorstart(Display *dpy, XErrorEvent *ee) -{ - die("dwm: another window manager is already running"); - return -1; -} - -Monitor * -systraytomon(Monitor *m) { - Monitor *t; - int i, n; - if(!systraypinning) { - if(!m) - return selmon; - return m == selmon ? m : NULL; - } - for(n = 1, t = mons; t && t->next; n++, t = t->next) ; - for(i = 1, t = mons; t && t->next && i < systraypinning; i++, t = t->next) ; - if(systraypinningfailfirst && n < systraypinning) - return mons; - return t; -} - -void -zoom(const Arg *arg) -{ - Client *c = selmon->sel; - - if (!selmon->lt[selmon->sellt]->arrange || !c || c->isfloating) - return; - if (c == nexttiled(selmon->clients) && !(c = nexttiled(c->next))) - return; - pop(c); -} - -int -main(int argc, char *argv[]) -{ - if (argc == 2 && !strcmp("-v", argv[1])) - die("dwm-"VERSION); - else if (argc != 1) - die("usage: dwm [-v]"); - if (!setlocale(LC_CTYPE, "") || !XSupportsLocale()) - fputs("warning: no locale support\n", stderr); - if (!(dpy = XOpenDisplay(NULL))) - die("dwm: cannot open display"); - checkotherwm(); - setup(); -#ifdef __OpenBSD__ - if (pledge("stdio rpath proc exec", NULL) == -1) - die("pledge"); -#endif /* __OpenBSD__ */ - scan(); - run(); - if(restart) execvp(argv[0], argv); - cleanup(); - XCloseDisplay(dpy); - return EXIT_SUCCESS; -} diff --git a/programs/dwm/dwm.png b/programs/dwm/dwm.png deleted file mode 100644 index b1f9ba7e..00000000 Binary files a/programs/dwm/dwm.png and /dev/null differ diff --git a/programs/dwm/exitdwm.c b/programs/dwm/exitdwm.c deleted file mode 100644 index 74c514f8..00000000 --- a/programs/dwm/exitdwm.c +++ /dev/null @@ -1,87 +0,0 @@ -# include -# include - -void exitdwm () -{ -# if \ - defined S_LOCK || \ - defined S_RESTART_DWM || \ - defined S_OFFSCREEN || \ - defined S_EXIT || \ - defined S_REBOOT || \ - defined S_SHUTDOWN || \ - defined S_LOCK_ICON || \ - defined S_RESTART_DWM_ICON || \ - defined S_OFFSCREEN_ICON || \ - defined S_EXIT_ICON || \ - defined S_REBOOT_ICON || \ - defined S_SHUTDOWN_ICON || \ - defined S_FORMAT || \ - defined S_FORMAT_CLEAR -# error (conflicting macro names) -# endif - -# define S_LOCK "Lock" -# define S_RESTART_DWM "restart Dwm" -# define S_OFFSCREEN "Off-screen" -# define S_EXIT "Exit" -# define S_REBOOT "Reboot" -# define S_SHUTDOWN "Shutdown" -# define S_LOCK_ICON "\uf023" // <= FontAwesome icons -# define S_RESTART_DWM_ICON "\uf01e" -# define S_OFFSCREEN_ICON "\uf108" -# define S_EXIT_ICON "\uf2f5" -# define S_REBOOT_ICON "\uf021" -# define S_SHUTDOWN_ICON "\uf011" - -# define S_FORMAT(ACTION) S_##ACTION##_ICON " " S_##ACTION -# define S_FORMAT_CLEAR "sed 's/^..//'" - - FILE * exit_menu = popen ( - "echo \"" - S_FORMAT (LOCK) "\n" - S_FORMAT (RESTART_DWM) "\n" - S_FORMAT (OFFSCREEN) "\n" - S_FORMAT (EXIT) "\n" - S_FORMAT (REBOOT) "\n" - S_FORMAT (SHUTDOWN) - "\" | dmenu -p exit: | " S_FORMAT_CLEAR - , - "r" - ); - - char exit_action [16]; - - if ( - exit_menu == NULL || - fscanf (exit_menu, "%15[a-zA-Z -]", exit_action) == EOF - ) { - fputs ("Error. Failure in exit_dwm.", stderr); - goto close_streams; - } - - if (strcmp (exit_action, S_LOCK) == 0) system ("slock & sleep .5; xset dpms force off"); - else if (strcmp (exit_action, S_RESTART_DWM) == 0) quit (& (const Arg) {1}); - else if (strcmp (exit_action, S_OFFSCREEN) == 0) system ("sleep .5; xset dpms force off"); - else if (strcmp (exit_action, S_EXIT) == 0) quit (& (const Arg) {0}); - else if (strcmp (exit_action, S_REBOOT) == 0) system ("systemctl reboot"); - else if (strcmp (exit_action, S_SHUTDOWN) == 0) system ("systemctl poweroff -i"); - -close_streams: - pclose (exit_menu); - -# undef S_LOCK -# undef S_RESTART_DWM -# undef S_OFFSCREEN -# undef S_EXIT -# undef S_REBOOT -# undef S_SHUTDOWN -# undef S_LOCK_ICON -# undef S_RESTART_DWM_ICON -# undef S_OFFSCREEN_ICON -# undef S_EXIT_ICON -# undef S_REBOOT_ICON -# undef S_SHUTDOWN_ICON -# undef S_FORMAT -# undef S_FORMAT_CLEAR -} diff --git a/programs/dwm/patches/dwm-autoresize-6.1.diff b/programs/dwm/patches/dwm-autoresize-6.1.diff deleted file mode 100644 index 76530b96..00000000 --- a/programs/dwm/patches/dwm-autoresize-6.1.diff +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/dwm.c b/dwm.c -index 0362114..e4e8514 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -92,7 +92,7 @@ struct Client { - int basew, baseh, incw, inch, maxw, maxh, minw, minh; - int bw, oldbw; - unsigned int tags; -- int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen; -+ int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, needresize; - Client *next; - Client *snext; - Monitor *mon; -@@ -621,6 +621,8 @@ configurerequest(XEvent *e) - configure(c); - if (ISVISIBLE(c)) - XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h); -+ else -+ c->needresize = 1; - } else - configure(c); - } else { -@@ -1611,6 +1613,12 @@ showhide(Client *c) - if (ISVISIBLE(c)) { - /* show clients top down */ - XMoveWindow(dpy, c->win, c->x, c->y); -+ if (c->needresize) { -+ c->needresize = 0; -+ XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h); -+ } else { -+ XMoveWindow(dpy, c->win, c->x, c->y); -+ } - if ((!c->mon->lt[c->mon->sellt]->arrange || c->isfloating) && !c->isfullscreen) - resize(c, c->x, c->y, c->w, c->h, 0); - showhide(c->snext); diff --git a/programs/dwm/patches/dwm-exitmenu-6.3.diff b/programs/dwm/patches/dwm-exitmenu-6.3.diff deleted file mode 100644 index c31d9214..00000000 --- a/programs/dwm/patches/dwm-exitmenu-6.3.diff +++ /dev/null @@ -1,114 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index a2ac963..92a6a81 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -60,6 +60,7 @@ static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() - static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; - static const char *termcmd[] = { "st", NULL }; - -+#include "exitdwm.c" - static Key keys[] = { - /* modifier key function argument */ - { MODKEY, XK_p, spawn, {.v = dmenucmd } }, -@@ -94,7 +95,7 @@ static Key keys[] = { - TAGKEYS( XK_7, 6) - TAGKEYS( XK_8, 7) - TAGKEYS( XK_9, 8) -- { MODKEY|ShiftMask, XK_q, quit, {0} }, -+ { MODKEY|ShiftMask, XK_e, exitdwm, {0} }, - }; - - /* button definitions */ -diff --git a/exitdwm.c b/exitdwm.c -new file mode 100644 -index 0000000..74c514f ---- /dev/null -+++ b/exitdwm.c -@@ -0,0 +1,87 @@ -+# include -+# include -+ -+void exitdwm () -+{ -+# if \ -+ defined S_LOCK || \ -+ defined S_RESTART_DWM || \ -+ defined S_OFFSCREEN || \ -+ defined S_EXIT || \ -+ defined S_REBOOT || \ -+ defined S_SHUTDOWN || \ -+ defined S_LOCK_ICON || \ -+ defined S_RESTART_DWM_ICON || \ -+ defined S_OFFSCREEN_ICON || \ -+ defined S_EXIT_ICON || \ -+ defined S_REBOOT_ICON || \ -+ defined S_SHUTDOWN_ICON || \ -+ defined S_FORMAT || \ -+ defined S_FORMAT_CLEAR -+# error (conflicting macro names) -+# endif -+ -+# define S_LOCK "Lock" -+# define S_RESTART_DWM "restart Dwm" -+# define S_OFFSCREEN "Off-screen" -+# define S_EXIT "Exit" -+# define S_REBOOT "Reboot" -+# define S_SHUTDOWN "Shutdown" -+# define S_LOCK_ICON "\uf023" // <= FontAwesome icons -+# define S_RESTART_DWM_ICON "\uf01e" -+# define S_OFFSCREEN_ICON "\uf108" -+# define S_EXIT_ICON "\uf2f5" -+# define S_REBOOT_ICON "\uf021" -+# define S_SHUTDOWN_ICON "\uf011" -+ -+# define S_FORMAT(ACTION) S_##ACTION##_ICON " " S_##ACTION -+# define S_FORMAT_CLEAR "sed 's/^..//'" -+ -+ FILE * exit_menu = popen ( -+ "echo \"" -+ S_FORMAT (LOCK) "\n" -+ S_FORMAT (RESTART_DWM) "\n" -+ S_FORMAT (OFFSCREEN) "\n" -+ S_FORMAT (EXIT) "\n" -+ S_FORMAT (REBOOT) "\n" -+ S_FORMAT (SHUTDOWN) -+ "\" | dmenu -p exit: | " S_FORMAT_CLEAR -+ , -+ "r" -+ ); -+ -+ char exit_action [16]; -+ -+ if ( -+ exit_menu == NULL || -+ fscanf (exit_menu, "%15[a-zA-Z -]", exit_action) == EOF -+ ) { -+ fputs ("Error. Failure in exit_dwm.", stderr); -+ goto close_streams; -+ } -+ -+ if (strcmp (exit_action, S_LOCK) == 0) system ("slock & sleep .5; xset dpms force off"); -+ else if (strcmp (exit_action, S_RESTART_DWM) == 0) quit (& (const Arg) {1}); -+ else if (strcmp (exit_action, S_OFFSCREEN) == 0) system ("sleep .5; xset dpms force off"); -+ else if (strcmp (exit_action, S_EXIT) == 0) quit (& (const Arg) {0}); -+ else if (strcmp (exit_action, S_REBOOT) == 0) system ("systemctl reboot"); -+ else if (strcmp (exit_action, S_SHUTDOWN) == 0) system ("systemctl poweroff -i"); -+ -+close_streams: -+ pclose (exit_menu); -+ -+# undef S_LOCK -+# undef S_RESTART_DWM -+# undef S_OFFSCREEN -+# undef S_EXIT -+# undef S_REBOOT -+# undef S_SHUTDOWN -+# undef S_LOCK_ICON -+# undef S_RESTART_DWM_ICON -+# undef S_OFFSCREEN_ICON -+# undef S_EXIT_ICON -+# undef S_REBOOT_ICON -+# undef S_SHUTDOWN_ICON -+# undef S_FORMAT -+# undef S_FORMAT_CLEAR -+} diff --git a/programs/dwm/patches/dwm-restartsig-20180523-6.2.diff b/programs/dwm/patches/dwm-restartsig-20180523-6.2.diff deleted file mode 100644 index f1f86808..00000000 --- a/programs/dwm/patches/dwm-restartsig-20180523-6.2.diff +++ /dev/null @@ -1,139 +0,0 @@ -From 2991f37f0aaf44b9f9b11e7893ff0af8eb88f649 Mon Sep 17 00:00:00 2001 -From: Christopher Drelich -Date: Wed, 23 May 2018 22:50:38 -0400 -Subject: [PATCH] Modifies quit to handle restarts and adds SIGHUP and SIGTERM - handlers. - -Modified quit() to restart if it receives arg .i = 1 -MOD+CTRL+SHIFT+Q was added to confid.def.h to do just that. - -Signal handlers were handled for SIGHUP and SIGTERM. -If dwm receives these signals it calls quit() with -arg .i = to 1 or 0, respectively. - -To restart dwm: -MOD+CTRL+SHIFT+Q -or -kill -HUP dwmpid - -To quit dwm cleanly: -MOD+SHIFT+Q -or -kill -TERM dwmpid ---- - config.def.h | 1 + - dwm.1 | 10 ++++++++++ - dwm.c | 22 ++++++++++++++++++++++ - 3 files changed, 33 insertions(+) - -diff --git a/config.def.h b/config.def.h -index a9ac303..e559429 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -94,6 +94,7 @@ static Key keys[] = { - TAGKEYS( XK_8, 7) - TAGKEYS( XK_9, 8) - { MODKEY|ShiftMask, XK_q, quit, {0} }, -+ { MODKEY|ControlMask|ShiftMask, XK_q, quit, {1} }, - }; - - /* button definitions */ -diff --git a/dwm.1 b/dwm.1 -index 13b3729..36a331c 100644 ---- a/dwm.1 -+++ b/dwm.1 -@@ -142,6 +142,9 @@ Add/remove all windows with nth tag to/from the view. - .TP - .B Mod1\-Shift\-q - Quit dwm. -+.TP -+.B Mod1\-Control\-Shift\-q -+Restart dwm. - .SS Mouse commands - .TP - .B Mod1\-Button1 -@@ -155,6 +158,13 @@ Resize focused window while dragging. Tiled windows will be toggled to the float - .SH CUSTOMIZATION - dwm is customized by creating a custom config.h and (re)compiling the source - code. This keeps it fast, secure and simple. -+.SH SIGNALS -+.TP -+.B SIGHUP - 1 -+Restart the dwm process. -+.TP -+.B SIGTERM - 15 -+Cleanly terminate the dwm process. - .SH SEE ALSO - .BR dmenu (1), - .BR st (1) -diff --git a/dwm.c b/dwm.c -index bb95e26..286eecd 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -205,6 +205,8 @@ static void setup(void); - static void seturgent(Client *c, int urg); - static void showhide(Client *c); - static void sigchld(int unused); -+static void sighup(int unused); -+static void sigterm(int unused); - static void spawn(const Arg *arg); - static void tag(const Arg *arg); - static void tagmon(const Arg *arg); -@@ -260,6 +262,7 @@ static void (*handler[LASTEvent]) (XEvent *) = { - [UnmapNotify] = unmapnotify - }; - static Atom wmatom[WMLast], netatom[NetLast]; -+static int restart = 0; - static int running = 1; - static Cur *cursor[CurLast]; - static Clr **scheme; -@@ -1248,6 +1251,7 @@ propertynotify(XEvent *e) - void - quit(const Arg *arg) - { -+ if(arg->i) restart = 1; - running = 0; - } - -@@ -1536,6 +1540,9 @@ setup(void) - /* clean up any zombies immediately */ - sigchld(0); - -+ signal(SIGHUP, sighup); -+ signal(SIGTERM, sigterm); -+ - /* init screen */ - screen = DefaultScreen(dpy); - sw = DisplayWidth(dpy, screen); -@@ -1637,6 +1644,20 @@ sigchld(int unused) - } - - void -+sighup(int unused) -+{ -+ Arg a = {.i = 1}; -+ quit(&a); -+} -+ -+void -+sigterm(int unused) -+{ -+ Arg a = {.i = 0}; -+ quit(&a); -+} -+ -+void - spawn(const Arg *arg) - { - if (arg->v == dmenucmd) -@@ -2139,6 +2160,7 @@ main(int argc, char *argv[]) - setup(); - scan(); - run(); -+ if(restart) execvp(argv[0], argv); - cleanup(); - XCloseDisplay(dpy); - return EXIT_SUCCESS; --- -2.7.4 - diff --git a/programs/dwm/patches/dwm-systray-20230922-9f88553.diff b/programs/dwm/patches/dwm-systray-20230922-9f88553.diff deleted file mode 100644 index 9356ec1c..00000000 --- a/programs/dwm/patches/dwm-systray-20230922-9f88553.diff +++ /dev/null @@ -1,735 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index 9efa774..fed4fb9 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -3,6 +3,11 @@ - /* appearance */ - static const unsigned int borderpx = 1; /* border pixel of windows */ - static const unsigned int snap = 32; /* snap pixel */ -+static const unsigned int systraypinning = 0; /* 0: sloppy systray follows selected monitor, >0: pin systray to monitor X */ -+static const unsigned int systrayonleft = 0; /* 0: systray in the right corner, >0: systray on left of status text */ -+static const unsigned int systrayspacing = 2; /* systray spacing */ -+static const int systraypinningfailfirst = 1; /* 1: if pinning fails, display systray on the first monitor, False: display systray on the last monitor*/ -+static const int showsystray = 1; /* 0 means no systray */ - static const int showbar = 1; /* 0 means no bar */ - static const int topbar = 1; /* 0 means bottom bar */ - static const char *fonts[] = { "monospace:size=10" }; -diff --git a/dwm.c b/dwm.c -index f1d86b2..f9e7e4a 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -57,12 +57,27 @@ - #define TAGMASK ((1 << LENGTH(tags)) - 1) - #define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad) - -+#define SYSTEM_TRAY_REQUEST_DOCK 0 -+/* XEMBED messages */ -+#define XEMBED_EMBEDDED_NOTIFY 0 -+#define XEMBED_WINDOW_ACTIVATE 1 -+#define XEMBED_FOCUS_IN 4 -+#define XEMBED_MODALITY_ON 10 -+#define XEMBED_MAPPED (1 << 0) -+#define XEMBED_WINDOW_ACTIVATE 1 -+#define XEMBED_WINDOW_DEACTIVATE 2 -+#define VERSION_MAJOR 0 -+#define VERSION_MINOR 0 -+#define XEMBED_EMBEDDED_VERSION (VERSION_MAJOR << 16) | VERSION_MINOR -+ - /* enums */ - enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ - enum { SchemeNorm, SchemeSel }; /* color schemes */ - enum { NetSupported, NetWMName, NetWMState, NetWMCheck, -+ NetSystemTray, NetSystemTrayOP, NetSystemTrayOrientation, NetSystemTrayOrientationHorz, - NetWMFullscreen, NetActiveWindow, NetWMWindowType, - NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */ -+enum { Manager, Xembed, XembedInfo, XLast }; /* Xembed atoms */ - enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms */ - enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, - ClkClientWin, ClkRootWin, ClkLast }; /* clicks */ -@@ -141,6 +156,12 @@ typedef struct { - int monitor; - } Rule; - -+typedef struct Systray Systray; -+struct Systray { -+ Window win; -+ Client *icons; -+}; -+ - /* function declarations */ - static void applyrules(Client *c); - static int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact); -@@ -172,6 +193,7 @@ static void focusstack(const Arg *arg); - static Atom getatomprop(Client *c, Atom prop); - static int getrootptr(int *x, int *y); - static long getstate(Window w); -+static unsigned int getsystraywidth(); - static int gettextprop(Window w, Atom atom, char *text, unsigned int size); - static void grabbuttons(Client *c, int focused); - static void grabkeys(void); -@@ -189,13 +211,16 @@ static void pop(Client *c); - static void propertynotify(XEvent *e); - static void quit(const Arg *arg); - static Monitor *recttomon(int x, int y, int w, int h); -+static void removesystrayicon(Client *i); - static void resize(Client *c, int x, int y, int w, int h, int interact); -+static void resizebarwin(Monitor *m); - static void resizeclient(Client *c, int x, int y, int w, int h); - static void resizemouse(const Arg *arg); -+static void resizerequest(XEvent *e); - static void restack(Monitor *m); - static void run(void); - static void scan(void); --static int sendevent(Client *c, Atom proto); -+static int sendevent(Window w, Atom proto, int m, long d0, long d1, long d2, long d3, long d4); - static void sendmon(Client *c, Monitor *m); - static void setclientstate(Client *c, long state); - static void setfocus(Client *c); -@@ -206,6 +231,7 @@ static void setup(void); - static void seturgent(Client *c, int urg); - static void showhide(Client *c); - static void spawn(const Arg *arg); -+static Monitor *systraytomon(Monitor *m); - static void tag(const Arg *arg); - static void tagmon(const Arg *arg); - static void tile(Monitor *m); -@@ -223,18 +249,23 @@ static int updategeom(void); - static void updatenumlockmask(void); - static void updatesizehints(Client *c); - static void updatestatus(void); -+static void updatesystray(void); -+static void updatesystrayicongeom(Client *i, int w, int h); -+static void updatesystrayiconstate(Client *i, XPropertyEvent *ev); - static void updatetitle(Client *c); - static void updatewindowtype(Client *c); - static void updatewmhints(Client *c); - static void view(const Arg *arg); - static Client *wintoclient(Window w); - static Monitor *wintomon(Window w); -+static Client *wintosystrayicon(Window w); - static int xerror(Display *dpy, XErrorEvent *ee); - static int xerrordummy(Display *dpy, XErrorEvent *ee); - static int xerrorstart(Display *dpy, XErrorEvent *ee); - static void zoom(const Arg *arg); - - /* variables */ -+static Systray *systray = NULL; - static const char broken[] = "broken"; - static char stext[256]; - static int screen; -@@ -257,9 +288,10 @@ static void (*handler[LASTEvent]) (XEvent *) = { - [MapRequest] = maprequest, - [MotionNotify] = motionnotify, - [PropertyNotify] = propertynotify, -+ [ResizeRequest] = resizerequest, - [UnmapNotify] = unmapnotify - }; --static Atom wmatom[WMLast], netatom[NetLast]; -+static Atom wmatom[WMLast], netatom[NetLast], xatom[XLast]; - static int running = 1; - static Cur *cursor[CurLast]; - static Clr **scheme; -@@ -441,7 +473,7 @@ buttonpress(XEvent *e) - arg.ui = 1 << i; - } else if (ev->x < x + TEXTW(selmon->ltsymbol)) - click = ClkLtSymbol; -- else if (ev->x > selmon->ww - (int)TEXTW(stext)) -+ else if (ev->x > selmon->ww - (int)TEXTW(stext) - getsystraywidth()) - click = ClkStatusText; - else - click = ClkWinTitle; -@@ -484,6 +516,13 @@ cleanup(void) - XUngrabKey(dpy, AnyKey, AnyModifier, root); - while (mons) - cleanupmon(mons); -+ -+ if (showsystray) { -+ XUnmapWindow(dpy, systray->win); -+ XDestroyWindow(dpy, systray->win); -+ free(systray); -+ } -+ - for (i = 0; i < CurLast; i++) - drw_cur_free(drw, cursor[i]); - for (i = 0; i < LENGTH(colors); i++) -@@ -515,9 +554,58 @@ cleanupmon(Monitor *mon) - void - clientmessage(XEvent *e) - { -+ XWindowAttributes wa; -+ XSetWindowAttributes swa; - XClientMessageEvent *cme = &e->xclient; - Client *c = wintoclient(cme->window); - -+ if (showsystray && cme->window == systray->win && cme->message_type == netatom[NetSystemTrayOP]) { -+ /* add systray icons */ -+ if (cme->data.l[1] == SYSTEM_TRAY_REQUEST_DOCK) { -+ if (!(c = (Client *)calloc(1, sizeof(Client)))) -+ die("fatal: could not malloc() %u bytes\n", sizeof(Client)); -+ if (!(c->win = cme->data.l[2])) { -+ free(c); -+ return; -+ } -+ c->mon = selmon; -+ c->next = systray->icons; -+ systray->icons = c; -+ if (!XGetWindowAttributes(dpy, c->win, &wa)) { -+ /* use sane defaults */ -+ wa.width = bh; -+ wa.height = bh; -+ wa.border_width = 0; -+ } -+ c->x = c->oldx = c->y = c->oldy = 0; -+ c->w = c->oldw = wa.width; -+ c->h = c->oldh = wa.height; -+ c->oldbw = wa.border_width; -+ c->bw = 0; -+ c->isfloating = True; -+ /* reuse tags field as mapped status */ -+ c->tags = 1; -+ updatesizehints(c); -+ updatesystrayicongeom(c, wa.width, wa.height); -+ XAddToSaveSet(dpy, c->win); -+ XSelectInput(dpy, c->win, StructureNotifyMask | PropertyChangeMask | ResizeRedirectMask); -+ XReparentWindow(dpy, c->win, systray->win, 0, 0); -+ /* use parents background color */ -+ swa.background_pixel = scheme[SchemeNorm][ColBg].pixel; -+ XChangeWindowAttributes(dpy, c->win, CWBackPixel, &swa); -+ sendevent(c->win, netatom[Xembed], StructureNotifyMask, CurrentTime, XEMBED_EMBEDDED_NOTIFY, 0 , systray->win, XEMBED_EMBEDDED_VERSION); -+ /* FIXME not sure if I have to send these events, too */ -+ sendevent(c->win, netatom[Xembed], StructureNotifyMask, CurrentTime, XEMBED_FOCUS_IN, 0 , systray->win, XEMBED_EMBEDDED_VERSION); -+ sendevent(c->win, netatom[Xembed], StructureNotifyMask, CurrentTime, XEMBED_WINDOW_ACTIVATE, 0 , systray->win, XEMBED_EMBEDDED_VERSION); -+ sendevent(c->win, netatom[Xembed], StructureNotifyMask, CurrentTime, XEMBED_MODALITY_ON, 0 , systray->win, XEMBED_EMBEDDED_VERSION); -+ XSync(dpy, False); -+ resizebarwin(selmon); -+ updatesystray(); -+ setclientstate(c, NormalState); -+ } -+ return; -+ } -+ - if (!c) - return; - if (cme->message_type == netatom[NetWMState]) { -@@ -570,7 +658,7 @@ configurenotify(XEvent *e) - for (c = m->clients; c; c = c->next) - if (c->isfullscreen) - resizeclient(c, m->mx, m->my, m->mw, m->mh); -- XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, m->ww, bh); -+ resizebarwin(m); - } - focus(NULL); - arrange(NULL); -@@ -655,6 +743,11 @@ destroynotify(XEvent *e) - - if ((c = wintoclient(ev->window))) - unmanage(c, 1); -+ else if ((c = wintosystrayicon(ev->window))) { -+ removesystrayicon(c); -+ resizebarwin(selmon); -+ updatesystray(); -+ } - } - - void -@@ -698,7 +791,7 @@ dirtomon(int dir) - void - drawbar(Monitor *m) - { -- int x, w, tw = 0; -+ int x, w, tw = 0, stw = 0; - int boxs = drw->fonts->h / 9; - int boxw = drw->fonts->h / 6 + 2; - unsigned int i, occ = 0, urg = 0; -@@ -707,13 +800,17 @@ drawbar(Monitor *m) - if (!m->showbar) - return; - -+ if(showsystray && m == systraytomon(m) && !systrayonleft) -+ stw = getsystraywidth(); -+ - /* draw status first so it can be overdrawn by tags later */ - if (m == selmon) { /* status is only drawn on selected monitor */ - drw_setscheme(drw, scheme[SchemeNorm]); -- tw = TEXTW(stext) - lrpad + 2; /* 2px right padding */ -- drw_text(drw, m->ww - tw, 0, tw, bh, 0, stext, 0); -+ tw = TEXTW(stext) - lrpad / 2 + 2; /* 2px extra right padding */ -+ drw_text(drw, m->ww - tw - stw, 0, tw, bh, lrpad / 2 - 2, stext, 0); - } - -+ resizebarwin(m); - for (c = m->clients; c; c = c->next) { - occ |= c->tags; - if (c->isurgent) -@@ -734,7 +831,7 @@ drawbar(Monitor *m) - drw_setscheme(drw, scheme[SchemeNorm]); - x = drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0); - -- if ((w = m->ww - tw - x) > bh) { -+ if ((w = m->ww - tw - stw - x) > bh) { - if (m->sel) { - drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); - drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); -@@ -745,7 +842,7 @@ drawbar(Monitor *m) - drw_rect(drw, x, 0, w, bh, 1, 1); - } - } -- drw_map(drw, m->barwin, 0, 0, m->ww, bh); -+ drw_map(drw, m->barwin, 0, 0, m->ww - stw, bh); - } - - void -@@ -782,8 +879,11 @@ expose(XEvent *e) - Monitor *m; - XExposeEvent *ev = &e->xexpose; - -- if (ev->count == 0 && (m = wintomon(ev->window))) -+ if (ev->count == 0 && (m = wintomon(ev->window))) { - drawbar(m); -+ if (m == selmon) -+ updatesystray(); -+ } - } - - void -@@ -869,14 +969,32 @@ getatomprop(Client *c, Atom prop) - unsigned char *p = NULL; - Atom da, atom = None; - -- if (XGetWindowProperty(dpy, c->win, prop, 0L, sizeof atom, False, XA_ATOM, -+ /* FIXME getatomprop should return the number of items and a pointer to -+ * the stored data instead of this workaround */ -+ Atom req = XA_ATOM; -+ if (prop == xatom[XembedInfo]) -+ req = xatom[XembedInfo]; -+ -+ if (XGetWindowProperty(dpy, c->win, prop, 0L, sizeof atom, False, req, - &da, &di, &dl, &dl, &p) == Success && p) { - atom = *(Atom *)p; -+ if (da == xatom[XembedInfo] && dl == 2) -+ atom = ((Atom *)p)[1]; - XFree(p); - } - return atom; - } - -+unsigned int -+getsystraywidth() -+{ -+ unsigned int w = 0; -+ Client *i; -+ if(showsystray) -+ for(i = systray->icons; i; w += i->w + systrayspacing, i = i->next) ; -+ return w ? w + systrayspacing : 1; -+} -+ - int - getrootptr(int *x, int *y) - { -@@ -1017,7 +1135,8 @@ killclient(const Arg *arg) - { - if (!selmon->sel) - return; -- if (!sendevent(selmon->sel, wmatom[WMDelete])) { -+ -+ if (!sendevent(selmon->sel->win, wmatom[WMDelete], NoEventMask, wmatom[WMDelete], CurrentTime, 0 , 0, 0)) { - XGrabServer(dpy); - XSetErrorHandler(xerrordummy); - XSetCloseDownMode(dpy, DestroyAll); -@@ -1104,6 +1223,13 @@ maprequest(XEvent *e) - static XWindowAttributes wa; - XMapRequestEvent *ev = &e->xmaprequest; - -+ Client *i; -+ if ((i = wintosystrayicon(ev->window))) { -+ sendevent(i->win, netatom[Xembed], StructureNotifyMask, CurrentTime, XEMBED_WINDOW_ACTIVATE, 0, systray->win, XEMBED_EMBEDDED_VERSION); -+ resizebarwin(selmon); -+ updatesystray(); -+ } -+ - if (!XGetWindowAttributes(dpy, ev->window, &wa) || wa.override_redirect) - return; - if (!wintoclient(ev->window)) -@@ -1225,6 +1351,17 @@ propertynotify(XEvent *e) - Window trans; - XPropertyEvent *ev = &e->xproperty; - -+ if ((c = wintosystrayicon(ev->window))) { -+ if (ev->atom == XA_WM_NORMAL_HINTS) { -+ updatesizehints(c); -+ updatesystrayicongeom(c, c->w, c->h); -+ } -+ else -+ updatesystrayiconstate(c, ev); -+ resizebarwin(selmon); -+ updatesystray(); -+ } -+ - if ((ev->window == root) && (ev->atom == XA_WM_NAME)) - updatestatus(); - else if (ev->state == PropertyDelete) -@@ -1275,6 +1412,19 @@ recttomon(int x, int y, int w, int h) - return r; - } - -+void -+removesystrayicon(Client *i) -+{ -+ Client **ii; -+ -+ if (!showsystray || !i) -+ return; -+ for (ii = &systray->icons; *ii && *ii != i; ii = &(*ii)->next); -+ if (ii) -+ *ii = i->next; -+ free(i); -+} -+ - void - resize(Client *c, int x, int y, int w, int h, int interact) - { -@@ -1282,6 +1432,14 @@ resize(Client *c, int x, int y, int w, int h, int interact) - resizeclient(c, x, y, w, h); - } - -+void -+resizebarwin(Monitor *m) { -+ unsigned int w = m->ww; -+ if (showsystray && m == systraytomon(m) && !systrayonleft) -+ w -= getsystraywidth(); -+ XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, w, bh); -+} -+ - void - resizeclient(Client *c, int x, int y, int w, int h) - { -@@ -1297,6 +1455,19 @@ resizeclient(Client *c, int x, int y, int w, int h) - XSync(dpy, False); - } - -+void -+resizerequest(XEvent *e) -+{ -+ XResizeRequestEvent *ev = &e->xresizerequest; -+ Client *i; -+ -+ if ((i = wintosystrayicon(ev->window))) { -+ updatesystrayicongeom(i, ev->width, ev->height); -+ resizebarwin(selmon); -+ updatesystray(); -+ } -+} -+ - void - resizemouse(const Arg *arg) - { -@@ -1443,26 +1614,37 @@ setclientstate(Client *c, long state) - } - - int --sendevent(Client *c, Atom proto) -+sendevent(Window w, Atom proto, int mask, long d0, long d1, long d2, long d3, long d4) - { - int n; -- Atom *protocols; -+ Atom *protocols, mt; - int exists = 0; - XEvent ev; - -- if (XGetWMProtocols(dpy, c->win, &protocols, &n)) { -- while (!exists && n--) -- exists = protocols[n] == proto; -- XFree(protocols); -+ if (proto == wmatom[WMTakeFocus] || proto == wmatom[WMDelete]) { -+ mt = wmatom[WMProtocols]; -+ if (XGetWMProtocols(dpy, w, &protocols, &n)) { -+ while (!exists && n--) -+ exists = protocols[n] == proto; -+ XFree(protocols); -+ } -+ } -+ else { -+ exists = True; -+ mt = proto; - } -+ - if (exists) { - ev.type = ClientMessage; -- ev.xclient.window = c->win; -- ev.xclient.message_type = wmatom[WMProtocols]; -+ ev.xclient.window = w; -+ ev.xclient.message_type = mt; - ev.xclient.format = 32; -- ev.xclient.data.l[0] = proto; -- ev.xclient.data.l[1] = CurrentTime; -- XSendEvent(dpy, c->win, False, NoEventMask, &ev); -+ ev.xclient.data.l[0] = d0; -+ ev.xclient.data.l[1] = d1; -+ ev.xclient.data.l[2] = d2; -+ ev.xclient.data.l[3] = d3; -+ ev.xclient.data.l[4] = d4; -+ XSendEvent(dpy, w, False, mask, &ev); - } - return exists; - } -@@ -1476,7 +1658,7 @@ setfocus(Client *c) - XA_WINDOW, 32, PropModeReplace, - (unsigned char *) &(c->win), 1); - } -- sendevent(c, wmatom[WMTakeFocus]); -+ sendevent(c->win, wmatom[WMTakeFocus], NoEventMask, wmatom[WMTakeFocus], CurrentTime, 0, 0, 0); - } - - void -@@ -1572,6 +1754,10 @@ setup(void) - wmatom[WMTakeFocus] = XInternAtom(dpy, "WM_TAKE_FOCUS", False); - netatom[NetActiveWindow] = XInternAtom(dpy, "_NET_ACTIVE_WINDOW", False); - netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); -+ netatom[NetSystemTray] = XInternAtom(dpy, "_NET_SYSTEM_TRAY_S0", False); -+ netatom[NetSystemTrayOP] = XInternAtom(dpy, "_NET_SYSTEM_TRAY_OPCODE", False); -+ netatom[NetSystemTrayOrientation] = XInternAtom(dpy, "_NET_SYSTEM_TRAY_ORIENTATION", False); -+ netatom[NetSystemTrayOrientationHorz] = XInternAtom(dpy, "_NET_SYSTEM_TRAY_ORIENTATION_HORZ", False); - netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False); - netatom[NetWMState] = XInternAtom(dpy, "_NET_WM_STATE", False); - netatom[NetWMCheck] = XInternAtom(dpy, "_NET_SUPPORTING_WM_CHECK", False); -@@ -1579,6 +1765,9 @@ setup(void) - netatom[NetWMWindowType] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False); - netatom[NetWMWindowTypeDialog] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DIALOG", False); - netatom[NetClientList] = XInternAtom(dpy, "_NET_CLIENT_LIST", False); -+ xatom[Manager] = XInternAtom(dpy, "MANAGER", False); -+ xatom[Xembed] = XInternAtom(dpy, "_XEMBED", False); -+ xatom[XembedInfo] = XInternAtom(dpy, "_XEMBED_INFO", False); - /* init cursors */ - cursor[CurNormal] = drw_cur_create(drw, XC_left_ptr); - cursor[CurResize] = drw_cur_create(drw, XC_sizing); -@@ -1587,6 +1776,8 @@ setup(void) - scheme = ecalloc(LENGTH(colors), sizeof(Clr *)); - for (i = 0; i < LENGTH(colors); i++) - scheme[i] = drw_scm_create(drw, colors[i], 3); -+ /* init system tray */ -+ updatesystray(); - /* init bars */ - updatebars(); - updatestatus(); -@@ -1717,7 +1908,18 @@ togglebar(const Arg *arg) - { - selmon->showbar = !selmon->showbar; - updatebarpos(selmon); -- XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh); -+ resizebarwin(selmon); -+ if (showsystray) { -+ XWindowChanges wc; -+ if (!selmon->showbar) -+ wc.y = -bh; -+ else if (selmon->showbar) { -+ wc.y = 0; -+ if (!selmon->topbar) -+ wc.y = selmon->mh - bh; -+ } -+ XConfigureWindow(dpy, systray->win, CWY, &wc); -+ } - arrange(selmon); - } - -@@ -1813,11 +2015,18 @@ unmapnotify(XEvent *e) - else - unmanage(c, 0); - } -+ else if ((c = wintosystrayicon(ev->window))) { -+ /* KLUDGE! sometimes icons occasionally unmap their windows, but do -+ * _not_ destroy them. We map those windows back */ -+ XMapRaised(dpy, c->win); -+ updatesystray(); -+ } - } - - void - updatebars(void) - { -+ unsigned int w; - Monitor *m; - XSetWindowAttributes wa = { - .override_redirect = True, -@@ -1828,10 +2037,15 @@ updatebars(void) - for (m = mons; m; m = m->next) { - if (m->barwin) - continue; -- m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, 0, DefaultDepth(dpy, screen), -+ w = m->ww; -+ if (showsystray && m == systraytomon(m)) -+ w -= getsystraywidth(); -+ m->barwin = XCreateWindow(dpy, root, m->wx, m->by, w, bh, 0, DefaultDepth(dpy, screen), - CopyFromParent, DefaultVisual(dpy, screen), - CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa); - XDefineCursor(dpy, m->barwin, cursor[CurNormal]->cursor); -+ if (showsystray && m == systraytomon(m)) -+ XMapRaised(dpy, systray->win); - XMapRaised(dpy, m->barwin); - XSetClassHint(dpy, m->barwin, &ch); - } -@@ -2008,6 +2222,125 @@ updatestatus(void) - if (!gettextprop(root, XA_WM_NAME, stext, sizeof(stext))) - strcpy(stext, "dwm-"VERSION); - drawbar(selmon); -+ updatesystray(); -+} -+ -+ -+void -+updatesystrayicongeom(Client *i, int w, int h) -+{ -+ if (i) { -+ i->h = bh; -+ if (w == h) -+ i->w = bh; -+ else if (h == bh) -+ i->w = w; -+ else -+ i->w = (int) ((float)bh * ((float)w / (float)h)); -+ applysizehints(i, &(i->x), &(i->y), &(i->w), &(i->h), False); -+ /* force icons into the systray dimensions if they don't want to */ -+ if (i->h > bh) { -+ if (i->w == i->h) -+ i->w = bh; -+ else -+ i->w = (int) ((float)bh * ((float)i->w / (float)i->h)); -+ i->h = bh; -+ } -+ } -+} -+ -+void -+updatesystrayiconstate(Client *i, XPropertyEvent *ev) -+{ -+ long flags; -+ int code = 0; -+ -+ if (!showsystray || !i || ev->atom != xatom[XembedInfo] || -+ !(flags = getatomprop(i, xatom[XembedInfo]))) -+ return; -+ -+ if (flags & XEMBED_MAPPED && !i->tags) { -+ i->tags = 1; -+ code = XEMBED_WINDOW_ACTIVATE; -+ XMapRaised(dpy, i->win); -+ setclientstate(i, NormalState); -+ } -+ else if (!(flags & XEMBED_MAPPED) && i->tags) { -+ i->tags = 0; -+ code = XEMBED_WINDOW_DEACTIVATE; -+ XUnmapWindow(dpy, i->win); -+ setclientstate(i, WithdrawnState); -+ } -+ else -+ return; -+ sendevent(i->win, xatom[Xembed], StructureNotifyMask, CurrentTime, code, 0, -+ systray->win, XEMBED_EMBEDDED_VERSION); -+} -+ -+void -+updatesystray(void) -+{ -+ XSetWindowAttributes wa; -+ XWindowChanges wc; -+ Client *i; -+ Monitor *m = systraytomon(NULL); -+ unsigned int x = m->mx + m->mw; -+ unsigned int sw = TEXTW(stext) - lrpad + systrayspacing; -+ unsigned int w = 1; -+ -+ if (!showsystray) -+ return; -+ if (systrayonleft) -+ x -= sw + lrpad / 2; -+ if (!systray) { -+ /* init systray */ -+ if (!(systray = (Systray *)calloc(1, sizeof(Systray)))) -+ die("fatal: could not malloc() %u bytes\n", sizeof(Systray)); -+ systray->win = XCreateSimpleWindow(dpy, root, x, m->by, w, bh, 0, 0, scheme[SchemeSel][ColBg].pixel); -+ wa.event_mask = ButtonPressMask | ExposureMask; -+ wa.override_redirect = True; -+ wa.background_pixel = scheme[SchemeNorm][ColBg].pixel; -+ XSelectInput(dpy, systray->win, SubstructureNotifyMask); -+ XChangeProperty(dpy, systray->win, netatom[NetSystemTrayOrientation], XA_CARDINAL, 32, -+ PropModeReplace, (unsigned char *)&netatom[NetSystemTrayOrientationHorz], 1); -+ XChangeWindowAttributes(dpy, systray->win, CWEventMask|CWOverrideRedirect|CWBackPixel, &wa); -+ XMapRaised(dpy, systray->win); -+ XSetSelectionOwner(dpy, netatom[NetSystemTray], systray->win, CurrentTime); -+ if (XGetSelectionOwner(dpy, netatom[NetSystemTray]) == systray->win) { -+ sendevent(root, xatom[Manager], StructureNotifyMask, CurrentTime, netatom[NetSystemTray], systray->win, 0, 0); -+ XSync(dpy, False); -+ } -+ else { -+ fprintf(stderr, "dwm: unable to obtain system tray.\n"); -+ free(systray); -+ systray = NULL; -+ return; -+ } -+ } -+ for (w = 0, i = systray->icons; i; i = i->next) { -+ /* make sure the background color stays the same */ -+ wa.background_pixel = scheme[SchemeNorm][ColBg].pixel; -+ XChangeWindowAttributes(dpy, i->win, CWBackPixel, &wa); -+ XMapRaised(dpy, i->win); -+ w += systrayspacing; -+ i->x = w; -+ XMoveResizeWindow(dpy, i->win, i->x, 0, i->w, i->h); -+ w += i->w; -+ if (i->mon != m) -+ i->mon = m; -+ } -+ w = w ? w + systrayspacing : 1; -+ x -= w; -+ XMoveResizeWindow(dpy, systray->win, x, m->by, w, bh); -+ wc.x = x; wc.y = m->by; wc.width = w; wc.height = bh; -+ wc.stack_mode = Above; wc.sibling = m->barwin; -+ XConfigureWindow(dpy, systray->win, CWX|CWY|CWWidth|CWHeight|CWSibling|CWStackMode, &wc); -+ XMapWindow(dpy, systray->win); -+ XMapSubwindows(dpy, systray->win); -+ /* redraw background */ -+ XSetForeground(dpy, drw->gc, scheme[SchemeNorm][ColBg].pixel); -+ XFillRectangle(dpy, systray->win, drw->gc, 0, 0, w, bh); -+ XSync(dpy, False); - } - - void -@@ -2075,6 +2408,16 @@ wintoclient(Window w) - return NULL; - } - -+Client * -+wintosystrayicon(Window w) { -+ Client *i = NULL; -+ -+ if (!showsystray || !w) -+ return i; -+ for (i = systray->icons; i && i->win != w; i = i->next) ; -+ return i; -+} -+ - Monitor * - wintomon(Window w) - { -@@ -2128,6 +2471,22 @@ xerrorstart(Display *dpy, XErrorEvent *ee) - return -1; - } - -+Monitor * -+systraytomon(Monitor *m) { -+ Monitor *t; -+ int i, n; -+ if(!systraypinning) { -+ if(!m) -+ return selmon; -+ return m == selmon ? m : NULL; -+ } -+ for(n = 1, t = mons; t && t->next; n++, t = t->next) ; -+ for(i = 1, t = mons; t && t->next && i < systraypinning; i++, t = t->next) ; -+ if(systraypinningfailfirst && n < systraypinning) -+ return mons; -+ return t; -+} -+ - void - zoom(const Arg *arg) - { diff --git a/programs/dwm/patches/dwm-titlecolor-20210815-ed3ab6b4.diff b/programs/dwm/patches/dwm-titlecolor-20210815-ed3ab6b4.diff deleted file mode 100644 index f0e5b368..00000000 --- a/programs/dwm/patches/dwm-titlecolor-20210815-ed3ab6b4.diff +++ /dev/null @@ -1,47 +0,0 @@ -From 45a45a0e67f3841d8c4aed2c52b57c2a7ddf2a9a Mon Sep 17 00:00:00 2001 -From: Jack Bird -Date: Sun, 15 Aug 2021 23:15:52 +0100 -Subject: [PATCH] Updated title color patch for 7162335 - ---- - config.def.h | 1 + - dwm.c | 4 ++-- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/config.def.h b/config.def.h -index a2ac963..5b9ae00 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -16,6 +16,7 @@ static const char *colors[][3] = { - /* fg bg border */ - [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan }, -+ [SchemeTitle] = { col_gray4, col_cyan, col_cyan }, - }; - - /* tagging */ -diff --git a/dwm.c b/dwm.c -index 5e4d494..73d335e 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -59,7 +59,7 @@ - - /* enums */ - enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ --enum { SchemeNorm, SchemeSel }; /* color schemes */ -+enum { SchemeNorm, SchemeSel, SchemeTitle }; /* color schemes */ - enum { NetSupported, NetWMName, NetWMState, NetWMCheck, - NetWMFullscreen, NetActiveWindow, NetWMWindowType, - NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */ -@@ -731,7 +731,7 @@ drawbar(Monitor *m) - - if ((w = m->ww - tw - x) > bh) { - if (m->sel) { -- drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); -+ drw_setscheme(drw, scheme[m == selmon ? SchemeTitle : SchemeNorm]); - drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); - if (m->sel->isfloating) - drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); --- -2.32.0 - diff --git a/programs/dwm/transient.c b/programs/dwm/transient.c deleted file mode 100644 index 040adb5b..00000000 --- a/programs/dwm/transient.c +++ /dev/null @@ -1,42 +0,0 @@ -/* cc transient.c -o transient -lX11 */ - -#include -#include -#include -#include - -int main(void) { - Display *d; - Window r, f, t = None; - XSizeHints h; - XEvent e; - - d = XOpenDisplay(NULL); - if (!d) - exit(1); - r = DefaultRootWindow(d); - - f = XCreateSimpleWindow(d, r, 100, 100, 400, 400, 0, 0, 0); - h.min_width = h.max_width = h.min_height = h.max_height = 400; - h.flags = PMinSize | PMaxSize; - XSetWMNormalHints(d, f, &h); - XStoreName(d, f, "floating"); - XMapWindow(d, f); - - XSelectInput(d, f, ExposureMask); - while (1) { - XNextEvent(d, &e); - - if (t == None) { - sleep(5); - t = XCreateSimpleWindow(d, r, 50, 50, 100, 100, 0, 0, 0); - XSetTransientForHint(d, t, f); - XStoreName(d, t, "transient"); - XMapWindow(d, t); - XSelectInput(d, t, ExposureMask); - } - } - - XCloseDisplay(d); - exit(0); -} diff --git a/programs/dwm/util.c b/programs/dwm/util.c deleted file mode 100644 index 96b82c98..00000000 --- a/programs/dwm/util.c +++ /dev/null @@ -1,36 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#include -#include -#include -#include - -#include "util.h" - -void -die(const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - - if (fmt[0] && fmt[strlen(fmt)-1] == ':') { - fputc(' ', stderr); - perror(NULL); - } else { - fputc('\n', stderr); - } - - exit(1); -} - -void * -ecalloc(size_t nmemb, size_t size) -{ - void *p; - - if (!(p = calloc(nmemb, size))) - die("calloc:"); - return p; -} diff --git a/programs/dwm/util.h b/programs/dwm/util.h deleted file mode 100644 index f633b517..00000000 --- a/programs/dwm/util.h +++ /dev/null @@ -1,8 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -#define MAX(A, B) ((A) > (B) ? (A) : (B)) -#define MIN(A, B) ((A) < (B) ? (A) : (B)) -#define BETWEEN(X, A, B) ((A) <= (X) && (X) <= (B)) - -void die(const char *fmt, ...); -void *ecalloc(size_t nmemb, size_t size); diff --git a/programs/dwmblocks/Makefile b/programs/dwmblocks/Makefile deleted file mode 100644 index c71f9332..00000000 --- a/programs/dwmblocks/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -PREFIX := /usr/local -CC := cc -CFLAGS := -pedantic -Wall -Wno-deprecated-declarations -Os -LDFLAGS := -lX11 - -# FreeBSD (uncomment) -#LDFLAGS += -L/usr/local/lib -I/usr/local/include -# # OpenBSD (uncomment) -#LDFLAGS += -L/usr/X11R6/lib -I/usr/X11R6/include - -all: options dwmblocks - -options: - @echo dwmblocks build options: - @echo "CFLAGS = ${CFLAGS}" - @echo "LDFLAGS = ${LDFLAGS}" - @echo "CC = ${CC}" - -dwmblocks: dwmblocks.c blocks.h - ${CC} -o dwmblocks dwmblocks.c ${CFLAGS} ${LDFLAGS} - -clean: - rm -f *.o *.gch dwmblocks - -install: dwmblocks - mkdir -p ${DESTDIR}${PREFIX}/bin - cp -f dwmblocks ${DESTDIR}${PREFIX}/bin - chmod 755 ${DESTDIR}${PREFIX}/bin/dwmblocks - -uninstall: - rm -f ${DESTDIR}${PREFIX}/bin/dwmblocks - -.PHONY: all options clean install uninstall diff --git a/programs/dwmblocks/blocks.h b/programs/dwmblocks/blocks.h deleted file mode 100644 index bad4ed45..00000000 --- a/programs/dwmblocks/blocks.h +++ /dev/null @@ -1,15 +0,0 @@ -//Modify this file to change what commands output to your statusbar, and recompile using the make command. -static const Block blocks[] = { - /*Icon*/ /*Command*/ /*Update Interval*/ /*Update Signal*/ - {"", "sb-network", 10, 0}, - {"", "sb-battery", 20, 0}, - {"", "sb-volume", 0, 10}, - {"", "sb-cpu", 5, 0}, - {"", "sb-memory", 10, 0}, - {" ", "date '+%d/%m/%y (%a) %I:%M%p'", 60, 0}, -}; - -//sets delimiter between status commands. NULL character ('\0') means no delimiter. -static char delim[] = " | "; -static unsigned int delimLen = 5; - diff --git a/programs/dwmblocks/dwmblocks.c b/programs/dwmblocks/dwmblocks.c deleted file mode 100644 index cb92a5d2..00000000 --- a/programs/dwmblocks/dwmblocks.c +++ /dev/null @@ -1,213 +0,0 @@ -#include -#include -#include -#include -#include -#ifndef NO_X -#include -#endif -#ifdef __OpenBSD__ -#define SIGPLUS SIGUSR1+1 -#define SIGMINUS SIGUSR1-1 -#else -#define SIGPLUS SIGRTMIN -#define SIGMINUS SIGRTMIN -#endif -#define LENGTH(X) (sizeof(X) / sizeof (X[0])) -#define CMDLENGTH 50 -#define MIN( a, b ) ( ( a < b) ? a : b ) -#define STATUSLENGTH (LENGTH(blocks) * CMDLENGTH + 1) - -typedef struct { - char* icon; - char* command; - unsigned int interval; - unsigned int signal; -} Block; -#ifndef __OpenBSD__ -void dummysighandler(int num); -#endif -void sighandler(int num); -void getcmds(int time); -void getsigcmds(unsigned int signal); -void setupsignals(); -void sighandler(int signum); -int getstatus(char *str, char *last); -void statusloop(); -void termhandler(); -void pstdout(); -#ifndef NO_X -void setroot(); -static void (*writestatus) () = setroot; -static int setupX(); -static Display *dpy; -static int screen; -static Window root; -#else -static void (*writestatus) () = pstdout; -#endif - - -#include "blocks.h" - -static char statusbar[LENGTH(blocks)][CMDLENGTH] = {0}; -static char statusstr[2][STATUSLENGTH]; -static int statusContinue = 1; -// static int returnStatus = 0; - -//opens process *cmd and stores output in *output -void getcmd(const Block *block, char *output) -{ - strcpy(output, block->icon); - FILE *cmdf = popen(block->command, "r"); - if (!cmdf) - return; - int i = strlen(block->icon); - fgets(output+i, CMDLENGTH-i-delimLen, cmdf); - i = strlen(output); - if (i == 0) { - //return if block and command output are both empty - pclose(cmdf); - return; - } - //only chop off newline if one is present at the end - i = output[i-1] == '\n' ? i-1 : i; - if (delim[0] != '\0') { - strncpy(output+i, delim, delimLen); - } - else - output[i++] = '\0'; - pclose(cmdf); -} - -void getcmds(int time) -{ - const Block* current; - for (unsigned int i = 0; i < LENGTH(blocks); i++) { - current = blocks + i; - if ((current->interval != 0 && time % current->interval == 0) || time == -1) - getcmd(current,statusbar[i]); - } -} - -void getsigcmds(unsigned int signal) -{ - const Block *current; - for (unsigned int i = 0; i < LENGTH(blocks); i++) { - current = blocks + i; - if (current->signal == signal) - getcmd(current,statusbar[i]); - } -} - -void setupsignals() -{ -#ifndef __OpenBSD__ - /* initialize all real time signals with dummy handler */ - for (int i = SIGRTMIN; i <= SIGRTMAX; i++) - signal(i, dummysighandler); -#endif - - for (unsigned int i = 0; i < LENGTH(blocks); i++) { - if (blocks[i].signal > 0) - signal(SIGMINUS+blocks[i].signal, sighandler); - } - -} - -int getstatus(char *str, char *last) -{ - strcpy(last, str); - str[0] = '\0'; - for (unsigned int i = 0; i < LENGTH(blocks); i++) - strcat(str, statusbar[i]); - str[strlen(str)-strlen(delim)] = '\0'; - return strcmp(str, last);//0 if they are the same -} - -#ifndef NO_X -void setroot() -{ - if (!getstatus(statusstr[0], statusstr[1]))//Only set root if text has changed. - return; - XStoreName(dpy, root, statusstr[0]); - XFlush(dpy); -} - -int setupX() -{ - dpy = XOpenDisplay(NULL); - if (!dpy) { - fprintf(stderr, "dwmblocks: Failed to open display\n"); - return 0; - } - screen = DefaultScreen(dpy); - root = RootWindow(dpy, screen); - return 1; -} -#endif - -void pstdout() -{ - if (!getstatus(statusstr[0], statusstr[1]))//Only write out if text has changed. - return; - printf("%s\n",statusstr[0]); - fflush(stdout); -} - - -void statusloop() -{ - setupsignals(); - int i = 0; - getcmds(-1); - while (1) { - getcmds(i++); - writestatus(); - if (!statusContinue) - break; - sleep(1.0); - } -} - -#ifndef __OpenBSD__ -/* this signal handler should do nothing */ -void dummysighandler(int signum) -{ - return; -} -#endif - -void sighandler(int signum) -{ - getsigcmds(signum-SIGPLUS); - writestatus(); -} - -void termhandler() -{ - statusContinue = 0; -} - -int main(int argc, char** argv) -{ - for (int i = 0; i < argc; i++) {//Handle command line arguments - if (!strcmp("-d",argv[i])) - strncpy(delim, argv[++i], delimLen); - else if (!strcmp("-p",argv[i])) - writestatus = pstdout; - } -#ifndef NO_X - if (!setupX()) - return 1; -#endif - delimLen = MIN(delimLen, strlen(delim)); - delim[delimLen++] = '\0'; - signal(SIGTERM, termhandler); - signal(SIGINT, termhandler); - statusloop(); -#ifndef NO_X - XCloseDisplay(dpy); -#endif - return 0; -} diff --git a/programs/slock/LICENSE b/programs/slock/LICENSE deleted file mode 100644 index 2e4419b7..00000000 --- a/programs/slock/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -MIT/X Consortium License - -© 2015-2016 Markus Teich -© 2014 Dimitris Papastamos -© 2006-2014 Anselm R Garbe -© 2014-2016 Laslo Hunhold - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/programs/slock/Makefile b/programs/slock/Makefile deleted file mode 100644 index 561ac41b..00000000 --- a/programs/slock/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# slock - simple screen locker -# See LICENSE file for copyright and license details. - -include config.mk - -SRC = slock.c ${COMPATSRC} -OBJ = ${SRC:.c=.o} - -all: options slock - -options: - @echo slock build options: - @echo "CFLAGS = ${CFLAGS}" - @echo "LDFLAGS = ${LDFLAGS}" - @echo "CC = ${CC}" - -.c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< - -${OBJ}: config.h config.mk arg.h util.h - -slock: ${OBJ} - @echo CC -o $@ - @${CC} -o $@ ${OBJ} ${LDFLAGS} - -clean: - @echo cleaning - @rm -f slock ${OBJ} slock-${VERSION}.tar.gz - -install: all - @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f slock ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/slock - @chmod u+s ${DESTDIR}${PREFIX}/bin/slock - @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 - @mkdir -p ${DESTDIR}${MANPREFIX}/man1 - @sed "s/VERSION/${VERSION}/g" ${DESTDIR}${MANPREFIX}/man1/slock.1 - @chmod 644 ${DESTDIR}${MANPREFIX}/man1/slock.1 - -uninstall: - @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/slock - @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 - @rm -f ${DESTDIR}${MANPREFIX}/man1/slock.1 - -.PHONY: all options clean install uninstall diff --git a/programs/slock/README b/programs/slock/README deleted file mode 100644 index dcacd01b..00000000 --- a/programs/slock/README +++ /dev/null @@ -1,24 +0,0 @@ -slock - simple screen locker -============================ -simple screen locker utility for X. - - -Requirements ------------- -In order to build slock you need the Xlib header files. - - -Installation ------------- -Edit config.mk to match your local setup (slock is installed into -the /usr/local namespace by default). - -Afterwards enter the following command to build and install slock -(if necessary as root): - - make clean install - - -Running slock -------------- -Simply invoke the 'slock' command. To get out of it, enter your password. diff --git a/programs/slock/arg.h b/programs/slock/arg.h deleted file mode 100644 index 0b23c53a..00000000 --- a/programs/slock/arg.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copy me if you can. - * by 20h - */ - -#ifndef ARG_H__ -#define ARG_H__ - -extern char *argv0; - -/* use main(int argc, char *argv[]) */ -#define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ - argv[0] && argv[0][0] == '-'\ - && argv[0][1];\ - argc--, argv++) {\ - char argc_;\ - char **argv_;\ - int brk_;\ - if (argv[0][1] == '-' && argv[0][2] == '\0') {\ - argv++;\ - argc--;\ - break;\ - }\ - for (brk_ = 0, argv[0]++, argv_ = argv;\ - argv[0][0] && !brk_;\ - argv[0]++) {\ - if (argv_ != argv)\ - break;\ - argc_ = argv[0][0];\ - switch (argc_) - -/* Handles obsolete -NUM syntax */ -#define ARGNUM case '0':\ - case '1':\ - case '2':\ - case '3':\ - case '4':\ - case '5':\ - case '6':\ - case '7':\ - case '8':\ - case '9' - -#define ARGEND }\ - } - -#define ARGC() argc_ - -#define ARGNUMF() (brk_ = 1, estrtonum(argv[0], 0, INT_MAX)) - -#define EARGF(x) ((argv[0][1] == '\0' && argv[1] == NULL)?\ - ((x), abort(), (char *)0) :\ - (brk_ = 1, (argv[0][1] != '\0')?\ - (&argv[0][1]) :\ - (argc--, argv++, argv[0]))) - -#define ARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\ - (char *)0 :\ - (brk_ = 1, (argv[0][1] != '\0')?\ - (&argv[0][1]) :\ - (argc--, argv++, argv[0]))) - -#define LNGARG() &argv[0][0] - -#endif diff --git a/programs/slock/config.h b/programs/slock/config.h deleted file mode 100644 index cb1cefe0..00000000 --- a/programs/slock/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* user and group to drop privileges to */ -static const char *user = "nobody"; -static const char *group = "nogroup"; - -static const char *colorname[NUMCOLS] = { - [BG] = "#282828", /* background */ - [INIT] = "#ebdbb2", /* after initialization */ - [INPUT] = "#8ec07c", /* during input */ - [FAILED] = "#fb4934", /* wrong password */ -}; - -/* treat a cleared input like a wrong password (color) */ -static const int failonclear = 1; - -/* size of square in px */ -static const int squaresize = 50; - -/* time in seconds before the monitor shuts down */ -static const int monitortime = 5; diff --git a/programs/slock/config.mk b/programs/slock/config.mk deleted file mode 100644 index 1e1ca45f..00000000 --- a/programs/slock/config.mk +++ /dev/null @@ -1,32 +0,0 @@ -# slock version -VERSION = 1.5 - -# Customize below to fit your system - -# paths -PREFIX = /usr/local -MANPREFIX = ${PREFIX}/share/man - -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - -# includes and libs -INCS = -I. -I/usr/include -I${X11INC} -LIBS = -L/usr/lib -lc -lcrypt -L${X11LIB} -lX11 -lXext -lXrandr - -# flags -CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE -DHAVE_SHADOW_H -CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} -LDFLAGS = -s ${LIBS} -COMPATSRC = explicit_bzero.c - -# On OpenBSD and Darwin remove -lcrypt from LIBS -#LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 -lXext -lXrandr -# On *BSD remove -DHAVE_SHADOW_H from CPPFLAGS -# On NetBSD add -D_NETBSD_SOURCE to CPPFLAGS -#CPPFLAGS = -DVERSION=\"${VERSION}\" -D_BSD_SOURCE -D_NETBSD_SOURCE -# On OpenBSD set COMPATSRC to empty -#COMPATSRC = - -# compiler and linker -CC = cc diff --git a/programs/slock/explicit_bzero.c b/programs/slock/explicit_bzero.c deleted file mode 100644 index 3e33ca85..00000000 --- a/programs/slock/explicit_bzero.c +++ /dev/null @@ -1,19 +0,0 @@ -/* $OpenBSD: explicit_bzero.c,v 1.3 2014/06/21 02:34:26 matthew Exp $ */ -/* - * Public domain. - * Written by Matthew Dempsky. - */ - -#include - -__attribute__((weak)) void -__explicit_bzero_hook(void *buf, size_t len) -{ -} - -void -explicit_bzero(void *buf, size_t len) -{ - memset(buf, 0, len); - __explicit_bzero_hook(buf, len); -} diff --git a/programs/slock/patches/slock-dpms-20231017-4f04554.diff b/programs/slock/patches/slock-dpms-20231017-4f04554.diff deleted file mode 100644 index 35ad57c6..00000000 --- a/programs/slock/patches/slock-dpms-20231017-4f04554.diff +++ /dev/null @@ -1,86 +0,0 @@ -From 4259049ca8d06a34c828c70298f3a8fdb8c5104c Mon Sep 17 00:00:00 2001 -From: mortezadadgar -Date: Sat, 23 Sep 2023 18:45:58 +0330 -Subject: [PATCH] Update to respect prevoius state of dpms - ---- - config.def.h | 3 +++ - slock.c | 26 ++++++++++++++++++++++++++ - 2 files changed, 29 insertions(+) - -diff --git a/config.def.h b/config.def.h -index 9855e21..d01bd38 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -10,3 +10,6 @@ static const char *colorname[NUMCOLS] = { - - /* treat a cleared input like a wrong password (color) */ - static const int failonclear = 1; -+ -+/* time in seconds before the monitor shuts down */ -+static const int monitortime = 5; -diff --git a/slock.c b/slock.c -index 5ae738c..b5ac721 100644 ---- a/slock.c -+++ b/slock.c -@@ -1,4 +1,5 @@ - /* See LICENSE file for license details. */ -+#include - #define _XOPEN_SOURCE 500 - #if HAVE_SHADOW_H - #include -@@ -15,6 +16,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -314,6 +316,8 @@ main(int argc, char **argv) { - const char *hash; - Display *dpy; - int s, nlocks, nscreens; -+ CARD16 standby, suspend, off; -+ BOOL dpms_state; - - ARGBEGIN { - case 'v': -@@ -374,6 +378,22 @@ main(int argc, char **argv) { - if (nlocks != nscreens) - return 1; - -+ /* DPMS magic to disable the monitor */ -+ if (!DPMSCapable(dpy)) -+ die("slock: DPMSCapable failed\n"); -+ if (!DPMSInfo(dpy, &standby, &dpms_state)) -+ die("slock: DPMSInfo failed\n"); -+ if (!DPMSEnable(dpy) && !dpms_state) -+ die("slock: DPMSEnable failed\n"); -+ if (!DPMSGetTimeouts(dpy, &standby, &suspend, &off)) -+ die("slock: DPMSGetTimeouts failed\n"); -+ if (!standby || !suspend || !off) -+ die("slock: at least one DPMS variable is zero\n"); -+ if (!DPMSSetTimeouts(dpy, monitortime, monitortime, monitortime)) -+ die("slock: DPMSSetTimeouts failed\n"); -+ -+ XSync(dpy, 0); -+ - /* run post-lock command */ - if (argc > 0) { - switch (fork()) { -@@ -391,5 +411,11 @@ main(int argc, char **argv) { - /* everything is now blank. Wait for the correct password */ - readpw(dpy, &rr, locks, nscreens, hash); - -+ /* reset DPMS values to inital ones */ -+ DPMSSetTimeouts(dpy, standby, suspend, off); -+ if (!dpms_state) -+ DPMSDisable(dpy); -+ XSync(dpy, 0); -+ - return 0; - } --- -2.42.0 - diff --git a/programs/slock/patches/slock-squares-1.5.diff b/programs/slock/patches/slock-squares-1.5.diff deleted file mode 100644 index e9e9ad0d..00000000 --- a/programs/slock/patches/slock-squares-1.5.diff +++ /dev/null @@ -1,157 +0,0 @@ -From 2f6938b87a09abcd41fd6792a40b0bd7b088f41a Mon Sep 17 00:00:00 2001 -From: bsuth -Date: Tue, 27 Dec 2022 12:44:23 +0900 -Subject: [PATCH] Use centered squares to indicate lock state - -Instead of changing the color of the entire screen to indicate the -current lock state, draw centered squares on each monitor and change the -square colors. - -This patch requires xrandr to be active and otherwise defaults to the -original slock behavior. ---- - config.def.h | 6 +++++- - slock.c | 58 +++++++++++++++++++++++++++++++++++++++++++++------- - 2 files changed, 56 insertions(+), 8 deletions(-) - -diff --git a/config.def.h b/config.def.h -index 9855e21..e7106fb 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -3,10 +3,14 @@ static const char *user = "nobody"; - static const char *group = "nogroup"; - - static const char *colorname[NUMCOLS] = { -- [INIT] = "black", /* after initialization */ -+ [BG] = "black", /* background */ -+ [INIT] = "#4f525c", /* after initialization */ - [INPUT] = "#005577", /* during input */ - [FAILED] = "#CC3333", /* wrong password */ - }; - - /* treat a cleared input like a wrong password (color) */ - static const int failonclear = 1; -+ -+/* size of square in px */ -+static const int squaresize = 50; -diff --git a/slock.c b/slock.c -index 5ae738c..0750768 100644 ---- a/slock.c -+++ b/slock.c -@@ -25,6 +25,7 @@ - char *argv0; - - enum { -+ BG, - INIT, - INPUT, - FAILED, -@@ -36,6 +37,8 @@ struct lock { - Window root, win; - Pixmap pmap; - unsigned long colors[NUMCOLS]; -+ GC gc; -+ XRRScreenResources *rrsr; - }; - - struct xrandr { -@@ -124,6 +127,44 @@ gethash(void) - return hash; - } - -+static void -+draw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, -+ unsigned int color) -+{ -+ int screen, crtc; -+ XRRCrtcInfo* rrci; -+ -+ if (rr->active) { -+ for (screen = 0; screen < nscreens; screen++) { -+ XSetWindowBackground(dpy, locks[screen]->win,locks[screen]->colors[BG]); -+ XClearWindow(dpy, locks[screen]->win); -+ XSetForeground(dpy, locks[screen]->gc, locks[screen]->colors[color]); -+ for (crtc = 0; crtc < locks[screen]->rrsr->ncrtc; ++crtc) { -+ rrci = XRRGetCrtcInfo(dpy, -+ locks[screen]->rrsr, -+ locks[screen]->rrsr->crtcs[crtc]); -+ /* skip disabled crtc */ -+ if (rrci->noutput > 0) -+ XFillRectangle(dpy, -+ locks[screen]->win, -+ locks[screen]->gc, -+ rrci->x + (rrci->width - squaresize) / 2, -+ rrci->y + (rrci->height - squaresize) / 2, -+ squaresize, -+ squaresize); -+ XRRFreeCrtcInfo(rrci); -+ } -+ } -+ } else { -+ for (screen = 0; screen < nscreens; screen++) { -+ XSetWindowBackground(dpy, -+ locks[screen]->win, -+ locks[screen]->colors[color]); -+ XClearWindow(dpy, locks[screen]->win); -+ } -+ } -+} -+ - static void - readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, - const char *hash) -@@ -189,12 +230,7 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, - } - color = len ? INPUT : ((failure || failonclear) ? FAILED : INIT); - if (running && oldc != color) { -- for (screen = 0; screen < nscreens; screen++) { -- XSetWindowBackground(dpy, -- locks[screen]->win, -- locks[screen]->colors[color]); -- XClearWindow(dpy, locks[screen]->win); -- } -+ draw(dpy, rr, locks, nscreens, color); - oldc = color; - } - } else if (rr->active && ev.type == rr->evbase + RRScreenChangeNotify) { -@@ -228,6 +264,7 @@ lockscreen(Display *dpy, struct xrandr *rr, int screen) - XColor color, dummy; - XSetWindowAttributes wa; - Cursor invisible; -+ XGCValues gcvalues; - - if (dpy == NULL || screen < 0 || !(lock = malloc(sizeof(struct lock)))) - return NULL; -@@ -243,7 +280,7 @@ lockscreen(Display *dpy, struct xrandr *rr, int screen) - - /* init */ - wa.override_redirect = 1; -- wa.background_pixel = lock->colors[INIT]; -+ wa.background_pixel = lock->colors[BG]; - lock->win = XCreateWindow(dpy, lock->root, 0, 0, - DisplayWidth(dpy, lock->screen), - DisplayHeight(dpy, lock->screen), -@@ -255,6 +292,10 @@ lockscreen(Display *dpy, struct xrandr *rr, int screen) - invisible = XCreatePixmapCursor(dpy, lock->pmap, lock->pmap, - &color, &color, 0, 0); - XDefineCursor(dpy, lock->win, invisible); -+ lock->gc = XCreateGC(dpy, lock->win, 0, &gcvalues); -+ XSetForeground(dpy, lock->gc, lock->colors[INIT]); -+ if (rr->active) -+ lock->rrsr = XRRGetScreenResourcesCurrent(dpy, lock->root); - - /* Try to grab mouse pointer *and* keyboard for 600ms, else fail the lock */ - for (i = 0, ptgrab = kbgrab = -1; i < 6; i++) { -@@ -388,6 +429,9 @@ main(int argc, char **argv) { - } - } - -+ /* draw the initial rectangle */ -+ draw(dpy, &rr, locks, nscreens, INIT); -+ - /* everything is now blank. Wait for the correct password */ - readpw(dpy, &rr, locks, nscreens, hash); - --- -2.39.0 - diff --git a/programs/slock/slock.1 b/programs/slock/slock.1 deleted file mode 100644 index 82cdcd62..00000000 --- a/programs/slock/slock.1 +++ /dev/null @@ -1,39 +0,0 @@ -.Dd 2016-08-23 -.Dt SLOCK 1 -.Sh NAME -.Nm slock -.Nd simple X screen locker -.Sh SYNOPSIS -.Nm -.Op Fl v -.Op Ar cmd Op Ar arg ... -.Sh DESCRIPTION -.Nm -is a simple X screen locker. If provided, -.Ar cmd Op Ar arg ... -is executed after the screen has been locked. -.Sh OPTIONS -.Bl -tag -width Ds -.It Fl v -Print version information to stdout and exit. -.El -.Sh SECURITY CONSIDERATIONS -To make sure a locked screen can not be bypassed by switching VTs -or killing the X server with Ctrl+Alt+Backspace, it is recommended -to disable both in -.Xr xorg.conf 5 -for maximum security: -.Bd -literal -offset left -Section "ServerFlags" - Option "DontVTSwitch" "True" - Option "DontZap" "True" -EndSection -.Ed -.Sh EXAMPLES -$ -.Nm -/usr/sbin/s2ram -.Sh CUSTOMIZATION -.Nm -can be customized by creating a custom config.h from config.def.h and -(re)compiling the source code. This keeps it fast, secure and simple. diff --git a/programs/slock/slock.c b/programs/slock/slock.c deleted file mode 100644 index f24f37aa..00000000 --- a/programs/slock/slock.c +++ /dev/null @@ -1,465 +0,0 @@ -/* See LICENSE file for license details. */ -#include -#define _XOPEN_SOURCE 500 -#if HAVE_SHADOW_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "arg.h" -#include "util.h" - -char *argv0; - -enum { - BG, - INIT, - INPUT, - FAILED, - NUMCOLS -}; - -struct lock { - int screen; - Window root, win; - Pixmap pmap; - unsigned long colors[NUMCOLS]; - GC gc; - XRRScreenResources *rrsr; -}; - -struct xrandr { - int active; - int evbase; - int errbase; -}; - -#include "config.h" - -static void -die(const char *errstr, ...) -{ - va_list ap; - - va_start(ap, errstr); - vfprintf(stderr, errstr, ap); - va_end(ap); - exit(1); -} - -#ifdef __linux__ -#include -#include - -static void -dontkillme(void) -{ - FILE *f; - const char oomfile[] = "/proc/self/oom_score_adj"; - - if (!(f = fopen(oomfile, "w"))) { - if (errno == ENOENT) - return; - die("slock: fopen %s: %s\n", oomfile, strerror(errno)); - } - fprintf(f, "%d", OOM_SCORE_ADJ_MIN); - if (fclose(f)) { - if (errno == EACCES) - die("slock: unable to disable OOM killer. " - "Make sure to suid or sgid slock.\n"); - else - die("slock: fclose %s: %s\n", oomfile, strerror(errno)); - } -} -#endif - -static const char * -gethash(void) -{ - const char *hash; - struct passwd *pw; - - /* Check if the current user has a password entry */ - errno = 0; - if (!(pw = getpwuid(getuid()))) { - if (errno) - die("slock: getpwuid: %s\n", strerror(errno)); - else - die("slock: cannot retrieve password entry\n"); - } - hash = pw->pw_passwd; - -#if HAVE_SHADOW_H - if (!strcmp(hash, "x")) { - struct spwd *sp; - if (!(sp = getspnam(pw->pw_name))) - die("slock: getspnam: cannot retrieve shadow entry. " - "Make sure to suid or sgid slock.\n"); - hash = sp->sp_pwdp; - } -#else - if (!strcmp(hash, "*")) { -#ifdef __OpenBSD__ - if (!(pw = getpwuid_shadow(getuid()))) - die("slock: getpwnam_shadow: cannot retrieve shadow entry. " - "Make sure to suid or sgid slock.\n"); - hash = pw->pw_passwd; -#else - die("slock: getpwuid: cannot retrieve shadow entry. " - "Make sure to suid or sgid slock.\n"); -#endif /* __OpenBSD__ */ - } -#endif /* HAVE_SHADOW_H */ - - return hash; -} - -static void -draw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, - unsigned int color) -{ - int screen, crtc; - XRRCrtcInfo* rrci; - - if (rr->active) { - for (screen = 0; screen < nscreens; screen++) { - XSetWindowBackground(dpy, locks[screen]->win,locks[screen]->colors[BG]); - XClearWindow(dpy, locks[screen]->win); - XSetForeground(dpy, locks[screen]->gc, locks[screen]->colors[color]); - for (crtc = 0; crtc < locks[screen]->rrsr->ncrtc; ++crtc) { - rrci = XRRGetCrtcInfo(dpy, - locks[screen]->rrsr, - locks[screen]->rrsr->crtcs[crtc]); - /* skip disabled crtc */ - if (rrci->noutput > 0) - XFillRectangle(dpy, - locks[screen]->win, - locks[screen]->gc, - rrci->x + (rrci->width - squaresize) / 2, - rrci->y + (rrci->height - squaresize) / 2, - squaresize, - squaresize); - XRRFreeCrtcInfo(rrci); - } - } - } else { - for (screen = 0; screen < nscreens; screen++) { - XSetWindowBackground(dpy, - locks[screen]->win, - locks[screen]->colors[color]); - XClearWindow(dpy, locks[screen]->win); - } - } -} - -static void -readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, - const char *hash) -{ - XRRScreenChangeNotifyEvent *rre; - char buf[32], passwd[256], *inputhash; - int num, screen, running, failure, oldc; - unsigned int len, color; - KeySym ksym; - XEvent ev; - - len = 0; - running = 1; - failure = 0; - oldc = INIT; - - while (running && !XNextEvent(dpy, &ev)) { - if (ev.type == KeyPress) { - explicit_bzero(&buf, sizeof(buf)); - num = XLookupString(&ev.xkey, buf, sizeof(buf), &ksym, 0); - if (IsKeypadKey(ksym)) { - if (ksym == XK_KP_Enter) - ksym = XK_Return; - else if (ksym >= XK_KP_0 && ksym <= XK_KP_9) - ksym = (ksym - XK_KP_0) + XK_0; - } - if (IsFunctionKey(ksym) || - IsKeypadKey(ksym) || - IsMiscFunctionKey(ksym) || - IsPFKey(ksym) || - IsPrivateKeypadKey(ksym)) - continue; - switch (ksym) { - case XK_Return: - passwd[len] = '\0'; - errno = 0; - if (!(inputhash = crypt(passwd, hash))) - fprintf(stderr, "slock: crypt: %s\n", strerror(errno)); - else - running = !!strcmp(inputhash, hash); - if (running) { - XBell(dpy, 100); - failure = 1; - } - explicit_bzero(&passwd, sizeof(passwd)); - len = 0; - break; - case XK_Escape: - explicit_bzero(&passwd, sizeof(passwd)); - len = 0; - break; - case XK_BackSpace: - if (len) - passwd[--len] = '\0'; - break; - default: - if (num && !iscntrl((int)buf[0]) && - (len + num < sizeof(passwd))) { - memcpy(passwd + len, buf, num); - len += num; - } - break; - } - color = len ? INPUT : ((failure || failonclear) ? FAILED : INIT); - if (running && oldc != color) { - draw(dpy, rr, locks, nscreens, color); - oldc = color; - } - } else if (rr->active && ev.type == rr->evbase + RRScreenChangeNotify) { - rre = (XRRScreenChangeNotifyEvent*)&ev; - for (screen = 0; screen < nscreens; screen++) { - if (locks[screen]->win == rre->window) { - if (rre->rotation == RR_Rotate_90 || - rre->rotation == RR_Rotate_270) - XResizeWindow(dpy, locks[screen]->win, - rre->height, rre->width); - else - XResizeWindow(dpy, locks[screen]->win, - rre->width, rre->height); - XClearWindow(dpy, locks[screen]->win); - break; - } - } - } else { - for (screen = 0; screen < nscreens; screen++) - XRaiseWindow(dpy, locks[screen]->win); - } - } -} - -static struct lock * -lockscreen(Display *dpy, struct xrandr *rr, int screen) -{ - char curs[] = {0, 0, 0, 0, 0, 0, 0, 0}; - int i, ptgrab, kbgrab; - struct lock *lock; - XColor color, dummy; - XSetWindowAttributes wa; - Cursor invisible; - XGCValues gcvalues; - - if (dpy == NULL || screen < 0 || !(lock = malloc(sizeof(struct lock)))) - return NULL; - - lock->screen = screen; - lock->root = RootWindow(dpy, lock->screen); - - for (i = 0; i < NUMCOLS; i++) { - XAllocNamedColor(dpy, DefaultColormap(dpy, lock->screen), - colorname[i], &color, &dummy); - lock->colors[i] = color.pixel; - } - - /* init */ - wa.override_redirect = 1; - wa.background_pixel = lock->colors[BG]; - lock->win = XCreateWindow(dpy, lock->root, 0, 0, - DisplayWidth(dpy, lock->screen), - DisplayHeight(dpy, lock->screen), - 0, DefaultDepth(dpy, lock->screen), - CopyFromParent, - DefaultVisual(dpy, lock->screen), - CWOverrideRedirect | CWBackPixel, &wa); - lock->pmap = XCreateBitmapFromData(dpy, lock->win, curs, 8, 8); - invisible = XCreatePixmapCursor(dpy, lock->pmap, lock->pmap, - &color, &color, 0, 0); - XDefineCursor(dpy, lock->win, invisible); - lock->gc = XCreateGC(dpy, lock->win, 0, &gcvalues); - XSetForeground(dpy, lock->gc, lock->colors[INIT]); - if (rr->active) - lock->rrsr = XRRGetScreenResourcesCurrent(dpy, lock->root); - - /* Try to grab mouse pointer *and* keyboard for 600ms, else fail the lock */ - for (i = 0, ptgrab = kbgrab = -1; i < 6; i++) { - if (ptgrab != GrabSuccess) { - ptgrab = XGrabPointer(dpy, lock->root, False, - ButtonPressMask | ButtonReleaseMask | - PointerMotionMask, GrabModeAsync, - GrabModeAsync, None, invisible, CurrentTime); - } - if (kbgrab != GrabSuccess) { - kbgrab = XGrabKeyboard(dpy, lock->root, True, - GrabModeAsync, GrabModeAsync, CurrentTime); - } - - /* input is grabbed: we can lock the screen */ - if (ptgrab == GrabSuccess && kbgrab == GrabSuccess) { - XMapRaised(dpy, lock->win); - if (rr->active) - XRRSelectInput(dpy, lock->win, RRScreenChangeNotifyMask); - - XSelectInput(dpy, lock->root, SubstructureNotifyMask); - return lock; - } - - /* retry on AlreadyGrabbed but fail on other errors */ - if ((ptgrab != AlreadyGrabbed && ptgrab != GrabSuccess) || - (kbgrab != AlreadyGrabbed && kbgrab != GrabSuccess)) - break; - - usleep(100000); - } - - /* we couldn't grab all input: fail out */ - if (ptgrab != GrabSuccess) - fprintf(stderr, "slock: unable to grab mouse pointer for screen %d\n", - screen); - if (kbgrab != GrabSuccess) - fprintf(stderr, "slock: unable to grab keyboard for screen %d\n", - screen); - return NULL; -} - -static void -usage(void) -{ - die("usage: slock [-v] [cmd [arg ...]]\n"); -} - -int -main(int argc, char **argv) { - struct xrandr rr; - struct lock **locks; - struct passwd *pwd; - struct group *grp; - uid_t duid; - gid_t dgid; - const char *hash; - Display *dpy; - int s, nlocks, nscreens; - CARD16 standby, suspend, off; - BOOL dpms_state; - - ARGBEGIN { - case 'v': - fprintf(stderr, "slock-"VERSION"\n"); - return 0; - default: - usage(); - } ARGEND - - /* validate drop-user and -group */ - errno = 0; - if (!(pwd = getpwnam(user))) - die("slock: getpwnam %s: %s\n", user, - errno ? strerror(errno) : "user entry not found"); - duid = pwd->pw_uid; - errno = 0; - if (!(grp = getgrnam(group))) - die("slock: getgrnam %s: %s\n", group, - errno ? strerror(errno) : "group entry not found"); - dgid = grp->gr_gid; - -#ifdef __linux__ - dontkillme(); -#endif - - hash = gethash(); - errno = 0; - if (!crypt("", hash)) - die("slock: crypt: %s\n", strerror(errno)); - - if (!(dpy = XOpenDisplay(NULL))) - die("slock: cannot open display\n"); - - /* drop privileges */ - if (setgroups(0, NULL) < 0) - die("slock: setgroups: %s\n", strerror(errno)); - if (setgid(dgid) < 0) - die("slock: setgid: %s\n", strerror(errno)); - if (setuid(duid) < 0) - die("slock: setuid: %s\n", strerror(errno)); - - /* check for Xrandr support */ - rr.active = XRRQueryExtension(dpy, &rr.evbase, &rr.errbase); - - /* get number of screens in display "dpy" and blank them */ - nscreens = ScreenCount(dpy); - if (!(locks = calloc(nscreens, sizeof(struct lock *)))) - die("slock: out of memory\n"); - for (nlocks = 0, s = 0; s < nscreens; s++) { - if ((locks[s] = lockscreen(dpy, &rr, s)) != NULL) - nlocks++; - else - break; - } - XSync(dpy, 0); - - /* did we manage to lock everything? */ - if (nlocks != nscreens) - return 1; - - /* DPMS magic to disable the monitor */ - if (!DPMSCapable(dpy)) - die("slock: DPMSCapable failed\n"); - if (!DPMSInfo(dpy, &standby, &dpms_state)) - die("slock: DPMSInfo failed\n"); - if (!DPMSEnable(dpy) && !dpms_state) - die("slock: DPMSEnable failed\n"); - if (!DPMSGetTimeouts(dpy, &standby, &suspend, &off)) - die("slock: DPMSGetTimeouts failed\n"); - if (!standby || !suspend || !off) - die("slock: at least one DPMS variable is zero\n"); - if (!DPMSSetTimeouts(dpy, monitortime, monitortime, monitortime)) - die("slock: DPMSSetTimeouts failed\n"); - - XSync(dpy, 0); - - /* run post-lock command */ - if (argc > 0) { - switch (fork()) { - case -1: - die("slock: fork failed: %s\n", strerror(errno)); - case 0: - if (close(ConnectionNumber(dpy)) < 0) - die("slock: close: %s\n", strerror(errno)); - execvp(argv[0], argv); - fprintf(stderr, "slock: execvp %s: %s\n", argv[0], strerror(errno)); - _exit(1); - } - } - - /* draw the initial rectangle */ - draw(dpy, &rr, locks, nscreens, INIT); - - /* everything is now blank. Wait for the correct password */ - readpw(dpy, &rr, locks, nscreens, hash); - - /* reset DPMS values to inital ones */ - DPMSSetTimeouts(dpy, standby, suspend, off); - if (!dpms_state) - DPMSDisable(dpy); - XSync(dpy, 0); - - return 0; -} diff --git a/programs/slock/util.h b/programs/slock/util.h deleted file mode 100644 index 6f748b89..00000000 --- a/programs/slock/util.h +++ /dev/null @@ -1,2 +0,0 @@ -#undef explicit_bzero -void explicit_bzero(void *, size_t); diff --git a/programs/st/FAQ b/programs/st/FAQ deleted file mode 100644 index 6287a27e..00000000 --- a/programs/st/FAQ +++ /dev/null @@ -1,253 +0,0 @@ -## Why does st not handle utmp entries? - -Use the excellent tool of [utmp](https://git.suckless.org/utmp/) for this task. - - -## Some _random program_ complains that st is unknown/not recognised/unsupported/whatever! - -It means that st doesn’t have any terminfo entry on your system. Chances are -you did not `make install`. If you just want to test it without installing it, -you can manually run `tic -sx st.info`. - - -## Nothing works, and nothing is said about an unknown terminal! - -* Some programs just assume they’re running in xterm i.e. they don’t rely on - terminfo. What you see is the current state of the “xterm compliance”. -* Some programs don’t complain about the lacking st description and default to - another terminal. In that case see the question about terminfo. - - -## How do I scroll back up? - -* Using a terminal multiplexer. - * `st -e tmux` using C-b [ - * `st -e screen` using C-a ESC -* Using the excellent tool of [scroll](https://git.suckless.org/scroll/). -* Using the scrollback [patch](https://st.suckless.org/patches/scrollback/). - - -## I would like to have utmp and/or scroll functionality by default - -You can add the absolute path of both programs in your config.h file. You only -have to modify the value of utmp and scroll variables. - - -## Why doesn't the Del key work in some programs? - -Taken from the terminfo manpage: - - If the terminal has a keypad that transmits codes when the keys - are pressed, this information can be given. Note that it is not - possible to handle terminals where the keypad only works in - local (this applies, for example, to the unshifted HP 2621 keys). - If the keypad can be set to transmit or not transmit, give these - codes as smkx and rmkx. Otherwise the keypad is assumed to - always transmit. - -In the st case smkx=E[?1hE= and rmkx=E[?1lE>, so it is mandatory that -applications which want to test against keypad keys send these -sequences. - -But buggy applications (like bash and irssi, for example) don't do this. A fast -solution for them is to use the following command: - - $ printf '\033[?1h\033=' >/dev/tty - -or - $ tput smkx - -In the case of bash, readline is used. Readline has a different note in its -manpage about this issue: - - enable-keypad (Off) - When set to On, readline will try to enable the - application keypad when it is called. Some systems - need this to enable arrow keys. - -Adding this option to your .inputrc will fix the keypad problem for all -applications using readline. - -If you are using zsh, then read the zsh FAQ -: - - It should be noted that the O / [ confusion can occur with other keys - such as Home and End. Some systems let you query the key sequences - sent by these keys from the system's terminal database, terminfo. - Unfortunately, the key sequences given there typically apply to the - mode that is not the one zsh uses by default (it's the "application" - mode rather than the "raw" mode). Explaining the use of terminfo is - outside of the scope of this FAQ, but if you wish to use the key - sequences given there you can tell the line editor to turn on - "application" mode when it starts and turn it off when it stops: - - function zle-line-init () { echoti smkx } - function zle-line-finish () { echoti rmkx } - zle -N zle-line-init - zle -N zle-line-finish - -Putting these lines into your .zshrc will fix the problems. - - -## How can I use meta in 8bit mode? - -St supports meta in 8bit mode, but the default terminfo entry doesn't -use this capability. If you want it, you have to use the 'st-meta' value -in TERM. - - -## I cannot compile st in OpenBSD - -OpenBSD lacks librt, despite it being mandatory in POSIX -. -If you want to compile st for OpenBSD you have to remove -lrt from config.mk, and -st will compile without any loss of functionality, because all the functions are -included in libc on this platform. - - -## The Backspace Case - -St is emulating the Linux way of handling backspace being delete and delete being -backspace. - -This is an issue that was discussed in suckless mailing list -. Here is why some old grumpy -terminal users wants its backspace to be how he feels it: - - Well, I am going to comment why I want to change the behaviour - of this key. When ASCII was defined in 1968, communication - with computers was done using punched cards, or hardcopy - terminals (basically a typewriter machine connected with the - computer using a serial port). ASCII defines DELETE as 7F, - because, in punched-card terms, it means all the holes of the - card punched; it is thus a kind of 'physical delete'. In the - same way, the BACKSPACE key was a non-destructive backspace, - as on a typewriter. So, if you wanted to delete a character, - you had to BACKSPACE and then DELETE. Another use of BACKSPACE - was to type accented characters, for example 'a BACKSPACE `'. - The VT100 had no BACKSPACE key; it was generated using the - CONTROL key as another control character (CONTROL key sets to - 0 b7 b6 b5, so it converts H (code 0x48) into BACKSPACE (code - 0x08)), but it had a DELETE key in a similar position where - the BACKSPACE key is located today on common PC keyboards. - All the terminal emulators emulated the difference between - these keys correctly: the backspace key generated a BACKSPACE - (^H) and delete key generated a DELETE (^?). - - But a problem arose when Linus Torvalds wrote Linux. Unlike - earlier terminals, the Linux virtual terminal (the terminal - emulator integrated in the kernel) returned a DELETE when - backspace was pressed, due to the VT100 having a DELETE key in - the same position. This created a lot of problems (see [1] - and [2]). Since Linux has become the king, a lot of terminal - emulators today generate a DELETE when the backspace key is - pressed in order to avoid problems with Linux. The result is - that the only way of generating a BACKSPACE on these systems - is by using CONTROL + H. (I also think that emacs had an - important point here because the CONTROL + H prefix is used - in emacs in some commands (help commands).) - - From point of view of the kernel, you can change the key - for deleting a previous character with stty erase. When you - connect a real terminal into a machine you describe the type - of terminal, so getty configures the correct value of stty - erase for this terminal. In the case of terminal emulators, - however, you don't have any getty that can set the correct - value of stty erase, so you always get the default value. - For this reason, it is necessary to add 'stty erase ^H' to your - profile if you have changed the value of the backspace key. - Of course, another solution is for st itself to modify the - value of stty erase. I usually have the inverse problem: - when I connect to non-Unix machines, I have to press CONTROL + - h to get a BACKSPACE. The inverse problem occurs when a user - connects to my Unix machines from a different system with a - correct backspace key. - - [1] http://www.ibb.net/~anne/keyboard.html - [2] http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO-5.html - - -## But I really want the old grumpy behaviour of my terminal - -Apply [1]. - -[1] https://st.suckless.org/patches/delkey - - -## Why do images not work in st using the w3m image hack? - -w3mimg uses a hack that draws an image on top of the terminal emulator Drawable -window. The hack relies on the terminal to use a single buffer to draw its -contents directly. - -st uses double-buffered drawing so the image is quickly replaced and may show a -short flicker effect. - -Below is a patch example to change st double-buffering to a single Drawable -buffer. - -diff --git a/x.c b/x.c ---- a/x.c -+++ b/x.c -@@ -732,10 +732,6 @@ xresize(int col, int row) - win.tw = col * win.cw; - win.th = row * win.ch; - -- XFreePixmap(xw.dpy, xw.buf); -- xw.buf = XCreatePixmap(xw.dpy, xw.win, win.w, win.h, -- DefaultDepth(xw.dpy, xw.scr)); -- XftDrawChange(xw.draw, xw.buf); - xclear(0, 0, win.w, win.h); - - /* resize to new width */ -@@ -1148,8 +1144,7 @@ xinit(int cols, int rows) - gcvalues.graphics_exposures = False; - dc.gc = XCreateGC(xw.dpy, parent, GCGraphicsExposures, - &gcvalues); -- xw.buf = XCreatePixmap(xw.dpy, xw.win, win.w, win.h, -- DefaultDepth(xw.dpy, xw.scr)); -+ xw.buf = xw.win; - XSetForeground(xw.dpy, dc.gc, dc.col[defaultbg].pixel); - XFillRectangle(xw.dpy, xw.buf, dc.gc, 0, 0, win.w, win.h); - -@@ -1632,8 +1627,6 @@ xdrawline(Line line, int x1, int y1, int x2) - void - xfinishdraw(void) - { -- XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, win.w, -- win.h, 0, 0); - XSetForeground(xw.dpy, dc.gc, - dc.col[IS_SET(MODE_REVERSE)? - defaultfg : defaultbg].pixel); - - -## BadLength X error in Xft when trying to render emoji - -Xft makes st crash when rendering color emojis with the following error: - -"X Error of failed request: BadLength (poly request too large or internal Xlib length error)" - Major opcode of failed request: 139 (RENDER) - Minor opcode of failed request: 20 (RenderAddGlyphs) - Serial number of failed request: 1595 - Current serial number in output stream: 1818" - -This is a known bug in Xft (not st) which happens on some platforms and -combination of particular fonts and fontconfig settings. - -See also: -https://gitlab.freedesktop.org/xorg/lib/libxft/issues/6 -https://bugs.freedesktop.org/show_bug.cgi?id=107534 -https://bugzilla.redhat.com/show_bug.cgi?id=1498269 - -The solution is to remove color emoji fonts or disable this in the fontconfig -XML configuration. As an ugly workaround (which may work only on newer -fontconfig versions (FC_COLOR)), the following code can be used to mask color -fonts: - - FcPatternAddBool(fcpattern, FC_COLOR, FcFalse); - -Please don't bother reporting this bug to st, but notify the upstream Xft -developers about fixing this bug. - -As of 2022-09-05 this now seems to be finally fixed in libXft 2.3.5: -https://gitlab.freedesktop.org/xorg/lib/libxft/-/blob/libXft-2.3.5/NEWS diff --git a/programs/st/LEGACY b/programs/st/LEGACY deleted file mode 100644 index bf28b1eb..00000000 --- a/programs/st/LEGACY +++ /dev/null @@ -1,17 +0,0 @@ -A STATEMENT ON LEGACY SUPPORT - -In the terminal world there is much cruft that comes from old and unsup‐ -ported terminals that inherit incompatible modes and escape sequences -which noone is able to know, except when he/she comes from that time and -developed a graphical vt100 emulator at that time. - -One goal of st is to only support what is really needed. When you en‐ -counter a sequence which you really need, implement it. But while you -are at it, do not add the other cruft you might encounter while sneek‐ -ing at other terminal emulators. History has bloated them and there is -no real evidence that most of the sequences are used today. - - -Christoph Lohmann <20h@r-36.net> -2012-09-13T07:00:36.081271045+02:00 - diff --git a/programs/st/LICENSE b/programs/st/LICENSE deleted file mode 100644 index 3cbf420c..00000000 --- a/programs/st/LICENSE +++ /dev/null @@ -1,34 +0,0 @@ -MIT/X Consortium License - -© 2014-2022 Hiltjo Posthuma -© 2018 Devin J. Pohly -© 2014-2017 Quentin Rameau -© 2009-2012 Aurélien APTEL -© 2008-2017 Anselm R Garbe -© 2012-2017 Roberto E. Vargas Caballero -© 2012-2016 Christoph Lohmann <20h at r-36 dot net> -© 2013 Eon S. Jeon -© 2013 Alexander Sedov -© 2013 Mark Edgar -© 2013-2014 Eric Pruitt -© 2013 Michael Forney -© 2013-2014 Markus Teich -© 2014-2015 Laslo Hunhold - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/programs/st/Makefile b/programs/st/Makefile deleted file mode 100644 index c2d98f84..00000000 --- a/programs/st/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# st - simple terminal -# See LICENSE file for copyright and license details. -.POSIX: - -include config.mk - -SRC = st.c x.c boxdraw.c -OBJ = $(SRC:.c=.o) - -all: st - -.c.o: - $(CC) $(STCFLAGS) -c $< - -st.o: config.h st.h win.h -x.o: arg.h config.h st.h win.h -boxdraw.o: config.h st.h boxdraw_data.h - -$(OBJ): config.h config.mk - -st: $(OBJ) - $(CC) -o $@ $(OBJ) $(STLDFLAGS) - -clean: - rm -f st $(OBJ) st-$(VERSION).tar.gz - -install: st - mkdir -p $(DESTDIR)$(PREFIX)/bin - cp -f st $(DESTDIR)$(PREFIX)/bin - chmod 755 $(DESTDIR)$(PREFIX)/bin/st - mkdir -p $(DESTDIR)$(MANPREFIX)/man1 - sed "s/VERSION/$(VERSION)/g" < st.1 > $(DESTDIR)$(MANPREFIX)/man1/st.1 - chmod 644 $(DESTDIR)$(MANPREFIX)/man1/st.1 - tic -sx st.info - @echo Please see the README file regarding the terminfo entry of st. - mkdir -p $(DESTDIR)$(APPPREFIX) - cp -f st.desktop $(DESTDIR)$(APPPREFIX) - -uninstall: - rm -f $(DESTDIR)$(PREFIX)/bin/st - rm -f $(DESTDIR)$(APPPREFIX)/st.desktop - rm -f $(DESTDIR)$(MANPREFIX)/man1/st.1 - -.PHONY: all clean install uninstall diff --git a/programs/st/README b/programs/st/README deleted file mode 100644 index 6a846ed0..00000000 --- a/programs/st/README +++ /dev/null @@ -1,34 +0,0 @@ -st - simple terminal --------------------- -st is a simple terminal emulator for X which sucks less. - - -Requirements ------------- -In order to build st you need the Xlib header files. - - -Installation ------------- -Edit config.mk to match your local setup (st is installed into -the /usr/local namespace by default). - -Afterwards enter the following command to build and install st (if -necessary as root): - - make clean install - - -Running st ----------- -If you did not install st with make clean install, you must compile -the st terminfo entry with the following command: - - tic -sx st.info - -See the man page for additional details. - -Credits -------- -Based on Aurélien APTEL bt source code. - diff --git a/programs/st/TODO b/programs/st/TODO deleted file mode 100644 index 5f74cd52..00000000 --- a/programs/st/TODO +++ /dev/null @@ -1,28 +0,0 @@ -vt emulation ------------- - -* double-height support - -code & interface ----------------- - -* add a simple way to do multiplexing - -drawing -------- -* add diacritics support to xdraws() - * switch to a suckless font drawing library -* make the font cache simpler -* add better support for brightening of the upper colors - -bugs ----- - -* fix shift up/down (shift selection in emacs) -* remove DEC test sequence when appropriate - -misc ----- - - $ grep -nE 'XXX|TODO' st.c - diff --git a/programs/st/arg.h b/programs/st/arg.h deleted file mode 100644 index a22e019e..00000000 --- a/programs/st/arg.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copy me if you can. - * by 20h - */ - -#ifndef ARG_H__ -#define ARG_H__ - -extern char *argv0; - -/* use main(int argc, char *argv[]) */ -#define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ - argv[0] && argv[0][0] == '-'\ - && argv[0][1];\ - argc--, argv++) {\ - char argc_;\ - char **argv_;\ - int brk_;\ - if (argv[0][1] == '-' && argv[0][2] == '\0') {\ - argv++;\ - argc--;\ - break;\ - }\ - int i_;\ - for (i_ = 1, brk_ = 0, argv_ = argv;\ - argv[0][i_] && !brk_;\ - i_++) {\ - if (argv_ != argv)\ - break;\ - argc_ = argv[0][i_];\ - switch (argc_) - -#define ARGEND }\ - } - -#define ARGC() argc_ - -#define EARGF(x) ((argv[0][i_+1] == '\0' && argv[1] == NULL)?\ - ((x), abort(), (char *)0) :\ - (brk_ = 1, (argv[0][i_+1] != '\0')?\ - (&argv[0][i_+1]) :\ - (argc--, argv++, argv[0]))) - -#define ARGF() ((argv[0][i_+1] == '\0' && argv[1] == NULL)?\ - (char *)0 :\ - (brk_ = 1, (argv[0][i_+1] != '\0')?\ - (&argv[0][i_+1]) :\ - (argc--, argv++, argv[0]))) - -#endif diff --git a/programs/st/boxdraw.c b/programs/st/boxdraw.c deleted file mode 100644 index 28a92d01..00000000 --- a/programs/st/boxdraw.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Copyright 2018 Avi Halachmi (:avih) avihpit@yahoo.com https://github.com/avih - * MIT/X Consortium License - */ - -#include -#include "st.h" -#include "boxdraw_data.h" - -/* Rounded non-negative integers division of n / d */ -#define DIV(n, d) (((n) + (d) / 2) / (d)) - -static Display *xdpy; -static Colormap xcmap; -static XftDraw *xd; -static Visual *xvis; - -static void drawbox(int, int, int, int, XftColor *, XftColor *, ushort); -static void drawboxlines(int, int, int, int, XftColor *, ushort); - -/* public API */ - -void -boxdraw_xinit(Display *dpy, Colormap cmap, XftDraw *draw, Visual *vis) -{ - xdpy = dpy; xcmap = cmap; xd = draw, xvis = vis; -} - -int -isboxdraw(Rune u) -{ - Rune block = u & ~0xff; - return (boxdraw && block == 0x2500 && boxdata[(uint8_t)u]) || - (boxdraw_braille && block == 0x2800); -} - -/* the "index" is actually the entire shape data encoded as ushort */ -ushort -boxdrawindex(const Glyph *g) -{ - if (boxdraw_braille && (g->u & ~0xff) == 0x2800) - return BRL | (uint8_t)g->u; - if (boxdraw_bold && (g->mode & ATTR_BOLD)) - return BDB | boxdata[(uint8_t)g->u]; - return boxdata[(uint8_t)g->u]; -} - -void -drawboxes(int x, int y, int cw, int ch, XftColor *fg, XftColor *bg, - const XftGlyphFontSpec *specs, int len) -{ - for ( ; len-- > 0; x += cw, specs++) - drawbox(x, y, cw, ch, fg, bg, (ushort)specs->glyph); -} - -/* implementation */ - -void -drawbox(int x, int y, int w, int h, XftColor *fg, XftColor *bg, ushort bd) -{ - ushort cat = bd & ~(BDB | 0xff); /* mask out bold and data */ - if (bd & (BDL | BDA)) { - /* lines (light/double/heavy/arcs) */ - drawboxlines(x, y, w, h, fg, bd); - - } else if (cat == BBD) { - /* lower (8-X)/8 block */ - int d = DIV((uint8_t)bd * h, 8); - XftDrawRect(xd, fg, x, y + d, w, h - d); - - } else if (cat == BBU) { - /* upper X/8 block */ - XftDrawRect(xd, fg, x, y, w, DIV((uint8_t)bd * h, 8)); - - } else if (cat == BBL) { - /* left X/8 block */ - XftDrawRect(xd, fg, x, y, DIV((uint8_t)bd * w, 8), h); - - } else if (cat == BBR) { - /* right (8-X)/8 block */ - int d = DIV((uint8_t)bd * w, 8); - XftDrawRect(xd, fg, x + d, y, w - d, h); - - } else if (cat == BBQ) { - /* Quadrants */ - int w2 = DIV(w, 2), h2 = DIV(h, 2); - if (bd & TL) - XftDrawRect(xd, fg, x, y, w2, h2); - if (bd & TR) - XftDrawRect(xd, fg, x + w2, y, w - w2, h2); - if (bd & BL) - XftDrawRect(xd, fg, x, y + h2, w2, h - h2); - if (bd & BR) - XftDrawRect(xd, fg, x + w2, y + h2, w - w2, h - h2); - - } else if (bd & BBS) { - /* Shades - data is 1/2/3 for 25%/50%/75% alpha, respectively */ - int d = (uint8_t)bd; - XftColor xfc; - XRenderColor xrc = { .alpha = 0xffff }; - - xrc.red = DIV(fg->color.red * d + bg->color.red * (4 - d), 4); - xrc.green = DIV(fg->color.green * d + bg->color.green * (4 - d), 4); - xrc.blue = DIV(fg->color.blue * d + bg->color.blue * (4 - d), 4); - - XftColorAllocValue(xdpy, xvis, xcmap, &xrc, &xfc); - XftDrawRect(xd, &xfc, x, y, w, h); - XftColorFree(xdpy, xvis, xcmap, &xfc); - - } else if (cat == BRL) { - /* braille, each data bit corresponds to one dot at 2x4 grid */ - int w1 = DIV(w, 2); - int h1 = DIV(h, 4), h2 = DIV(h, 2), h3 = DIV(3 * h, 4); - - if (bd & 1) XftDrawRect(xd, fg, x, y, w1, h1); - if (bd & 2) XftDrawRect(xd, fg, x, y + h1, w1, h2 - h1); - if (bd & 4) XftDrawRect(xd, fg, x, y + h2, w1, h3 - h2); - if (bd & 8) XftDrawRect(xd, fg, x + w1, y, w - w1, h1); - if (bd & 16) XftDrawRect(xd, fg, x + w1, y + h1, w - w1, h2 - h1); - if (bd & 32) XftDrawRect(xd, fg, x + w1, y + h2, w - w1, h3 - h2); - if (bd & 64) XftDrawRect(xd, fg, x, y + h3, w1, h - h3); - if (bd & 128) XftDrawRect(xd, fg, x + w1, y + h3, w - w1, h - h3); - - } -} - -void -drawboxlines(int x, int y, int w, int h, XftColor *fg, ushort bd) -{ - /* s: stem thickness. width/8 roughly matches underscore thickness. */ - /* We draw bold as 1.5 * normal-stem and at least 1px thicker. */ - /* doubles draw at least 3px, even when w or h < 3. bold needs 6px. */ - int mwh = MIN(w, h); - int base_s = MAX(1, DIV(mwh, 8)); - int bold = (bd & BDB) && mwh >= 6; /* possibly ignore boldness */ - int s = bold ? MAX(base_s + 1, DIV(3 * base_s, 2)) : base_s; - int w2 = DIV(w - s, 2), h2 = DIV(h - s, 2); - /* the s-by-s square (x + w2, y + h2, s, s) is the center texel. */ - /* The base length (per direction till edge) includes this square. */ - - int light = bd & (LL | LU | LR | LD); - int double_ = bd & (DL | DU | DR | DD); - - if (light) { - /* d: additional (negative) length to not-draw the center */ - /* texel - at arcs and avoid drawing inside (some) doubles */ - int arc = bd & BDA; - int multi_light = light & (light - 1); - int multi_double = double_ & (double_ - 1); - /* light crosses double only at DH+LV, DV+LH (ref. shapes) */ - int d = arc || (multi_double && !multi_light) ? -s : 0; - - if (bd & LL) - XftDrawRect(xd, fg, x, y + h2, w2 + s + d, s); - if (bd & LU) - XftDrawRect(xd, fg, x + w2, y, s, h2 + s + d); - if (bd & LR) - XftDrawRect(xd, fg, x + w2 - d, y + h2, w - w2 + d, s); - if (bd & LD) - XftDrawRect(xd, fg, x + w2, y + h2 - d, s, h - h2 + d); - } - - /* double lines - also align with light to form heavy when combined */ - if (double_) { - /* - * going clockwise, for each double-ray: p is additional length - * to the single-ray nearer to the previous direction, and n to - * the next. p and n adjust from the base length to lengths - * which consider other doubles - shorter to avoid intersections - * (p, n), or longer to draw the far-corner texel (n). - */ - int dl = bd & DL, du = bd & DU, dr = bd & DR, dd = bd & DD; - if (dl) { - int p = dd ? -s : 0, n = du ? -s : dd ? s : 0; - XftDrawRect(xd, fg, x, y + h2 + s, w2 + s + p, s); - XftDrawRect(xd, fg, x, y + h2 - s, w2 + s + n, s); - } - if (du) { - int p = dl ? -s : 0, n = dr ? -s : dl ? s : 0; - XftDrawRect(xd, fg, x + w2 - s, y, s, h2 + s + p); - XftDrawRect(xd, fg, x + w2 + s, y, s, h2 + s + n); - } - if (dr) { - int p = du ? -s : 0, n = dd ? -s : du ? s : 0; - XftDrawRect(xd, fg, x + w2 - p, y + h2 - s, w - w2 + p, s); - XftDrawRect(xd, fg, x + w2 - n, y + h2 + s, w - w2 + n, s); - } - if (dd) { - int p = dr ? -s : 0, n = dl ? -s : dr ? s : 0; - XftDrawRect(xd, fg, x + w2 + s, y + h2 - p, s, h - h2 + p); - XftDrawRect(xd, fg, x + w2 - s, y + h2 - n, s, h - h2 + n); - } - } -} diff --git a/programs/st/boxdraw_data.h b/programs/st/boxdraw_data.h deleted file mode 100644 index 78905008..00000000 --- a/programs/st/boxdraw_data.h +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright 2018 Avi Halachmi (:avih) avihpit@yahoo.com https://github.com/avih - * MIT/X Consortium License - */ - -/* - * U+25XX codepoints data - * - * References: - * http://www.unicode.org/charts/PDF/U2500.pdf - * http://www.unicode.org/charts/PDF/U2580.pdf - * - * Test page: - * https://github.com/GNOME/vte/blob/master/doc/boxes.txt - */ - -/* Each shape is encoded as 16-bits. Higher bits are category, lower are data */ -/* Categories (mutually exclusive except BDB): */ -/* For convenience, BDL/BDA/BBS/BDB are 1 bit each, the rest are enums */ -#define BDL (1<<8) /* Box Draw Lines (light/double/heavy) */ -#define BDA (1<<9) /* Box Draw Arc (light) */ - -#define BBD (1<<10) /* Box Block Down (lower) X/8 */ -#define BBL (2<<10) /* Box Block Left X/8 */ -#define BBU (3<<10) /* Box Block Upper X/8 */ -#define BBR (4<<10) /* Box Block Right X/8 */ -#define BBQ (5<<10) /* Box Block Quadrants */ -#define BRL (6<<10) /* Box Braille (data is lower byte of U28XX) */ - -#define BBS (1<<14) /* Box Block Shades */ -#define BDB (1<<15) /* Box Draw is Bold */ - -/* (BDL/BDA) Light/Double/Heavy x Left/Up/Right/Down/Horizontal/Vertical */ -/* Heavy is light+double (literally drawing light+double align to form heavy) */ -#define LL (1<<0) -#define LU (1<<1) -#define LR (1<<2) -#define LD (1<<3) -#define LH (LL+LR) -#define LV (LU+LD) - -#define DL (1<<4) -#define DU (1<<5) -#define DR (1<<6) -#define DD (1<<7) -#define DH (DL+DR) -#define DV (DU+DD) - -#define HL (LL+DL) -#define HU (LU+DU) -#define HR (LR+DR) -#define HD (LD+DD) -#define HH (HL+HR) -#define HV (HU+HD) - -/* (BBQ) Quadrants Top/Bottom x Left/Right */ -#define TL (1<<0) -#define TR (1<<1) -#define BL (1<<2) -#define BR (1<<3) - -/* Data for U+2500 - U+259F except dashes/diagonals */ -static const unsigned short boxdata[256] = { - /* light lines */ - [0x00] = BDL + LH, /* light horizontal */ - [0x02] = BDL + LV, /* light vertical */ - [0x0c] = BDL + LD + LR, /* light down and right */ - [0x10] = BDL + LD + LL, /* light down and left */ - [0x14] = BDL + LU + LR, /* light up and right */ - [0x18] = BDL + LU + LL, /* light up and left */ - [0x1c] = BDL + LV + LR, /* light vertical and right */ - [0x24] = BDL + LV + LL, /* light vertical and left */ - [0x2c] = BDL + LH + LD, /* light horizontal and down */ - [0x34] = BDL + LH + LU, /* light horizontal and up */ - [0x3c] = BDL + LV + LH, /* light vertical and horizontal */ - [0x74] = BDL + LL, /* light left */ - [0x75] = BDL + LU, /* light up */ - [0x76] = BDL + LR, /* light right */ - [0x77] = BDL + LD, /* light down */ - - /* heavy [+light] lines */ - [0x01] = BDL + HH, - [0x03] = BDL + HV, - [0x0d] = BDL + HR + LD, - [0x0e] = BDL + HD + LR, - [0x0f] = BDL + HD + HR, - [0x11] = BDL + HL + LD, - [0x12] = BDL + HD + LL, - [0x13] = BDL + HD + HL, - [0x15] = BDL + HR + LU, - [0x16] = BDL + HU + LR, - [0x17] = BDL + HU + HR, - [0x19] = BDL + HL + LU, - [0x1a] = BDL + HU + LL, - [0x1b] = BDL + HU + HL, - [0x1d] = BDL + HR + LV, - [0x1e] = BDL + HU + LD + LR, - [0x1f] = BDL + HD + LR + LU, - [0x20] = BDL + HV + LR, - [0x21] = BDL + HU + HR + LD, - [0x22] = BDL + HD + HR + LU, - [0x23] = BDL + HV + HR, - [0x25] = BDL + HL + LV, - [0x26] = BDL + HU + LD + LL, - [0x27] = BDL + HD + LU + LL, - [0x28] = BDL + HV + LL, - [0x29] = BDL + HU + HL + LD, - [0x2a] = BDL + HD + HL + LU, - [0x2b] = BDL + HV + HL, - [0x2d] = BDL + HL + LD + LR, - [0x2e] = BDL + HR + LL + LD, - [0x2f] = BDL + HH + LD, - [0x30] = BDL + HD + LH, - [0x31] = BDL + HD + HL + LR, - [0x32] = BDL + HR + HD + LL, - [0x33] = BDL + HH + HD, - [0x35] = BDL + HL + LU + LR, - [0x36] = BDL + HR + LU + LL, - [0x37] = BDL + HH + LU, - [0x38] = BDL + HU + LH, - [0x39] = BDL + HU + HL + LR, - [0x3a] = BDL + HU + HR + LL, - [0x3b] = BDL + HH + HU, - [0x3d] = BDL + HL + LV + LR, - [0x3e] = BDL + HR + LV + LL, - [0x3f] = BDL + HH + LV, - [0x40] = BDL + HU + LH + LD, - [0x41] = BDL + HD + LH + LU, - [0x42] = BDL + HV + LH, - [0x43] = BDL + HU + HL + LD + LR, - [0x44] = BDL + HU + HR + LD + LL, - [0x45] = BDL + HD + HL + LU + LR, - [0x46] = BDL + HD + HR + LU + LL, - [0x47] = BDL + HH + HU + LD, - [0x48] = BDL + HH + HD + LU, - [0x49] = BDL + HV + HL + LR, - [0x4a] = BDL + HV + HR + LL, - [0x4b] = BDL + HV + HH, - [0x78] = BDL + HL, - [0x79] = BDL + HU, - [0x7a] = BDL + HR, - [0x7b] = BDL + HD, - [0x7c] = BDL + HR + LL, - [0x7d] = BDL + HD + LU, - [0x7e] = BDL + HL + LR, - [0x7f] = BDL + HU + LD, - - /* double [+light] lines */ - [0x50] = BDL + DH, - [0x51] = BDL + DV, - [0x52] = BDL + DR + LD, - [0x53] = BDL + DD + LR, - [0x54] = BDL + DR + DD, - [0x55] = BDL + DL + LD, - [0x56] = BDL + DD + LL, - [0x57] = BDL + DL + DD, - [0x58] = BDL + DR + LU, - [0x59] = BDL + DU + LR, - [0x5a] = BDL + DU + DR, - [0x5b] = BDL + DL + LU, - [0x5c] = BDL + DU + LL, - [0x5d] = BDL + DL + DU, - [0x5e] = BDL + DR + LV, - [0x5f] = BDL + DV + LR, - [0x60] = BDL + DV + DR, - [0x61] = BDL + DL + LV, - [0x62] = BDL + DV + LL, - [0x63] = BDL + DV + DL, - [0x64] = BDL + DH + LD, - [0x65] = BDL + DD + LH, - [0x66] = BDL + DD + DH, - [0x67] = BDL + DH + LU, - [0x68] = BDL + DU + LH, - [0x69] = BDL + DH + DU, - [0x6a] = BDL + DH + LV, - [0x6b] = BDL + DV + LH, - [0x6c] = BDL + DH + DV, - - /* (light) arcs */ - [0x6d] = BDA + LD + LR, - [0x6e] = BDA + LD + LL, - [0x6f] = BDA + LU + LL, - [0x70] = BDA + LU + LR, - - /* Lower (Down) X/8 block (data is 8 - X) */ - [0x81] = BBD + 7, [0x82] = BBD + 6, [0x83] = BBD + 5, [0x84] = BBD + 4, - [0x85] = BBD + 3, [0x86] = BBD + 2, [0x87] = BBD + 1, [0x88] = BBD + 0, - - /* Left X/8 block (data is X) */ - [0x89] = BBL + 7, [0x8a] = BBL + 6, [0x8b] = BBL + 5, [0x8c] = BBL + 4, - [0x8d] = BBL + 3, [0x8e] = BBL + 2, [0x8f] = BBL + 1, - - /* upper 1/2 (4/8), 1/8 block (X), right 1/2, 1/8 block (8-X) */ - [0x80] = BBU + 4, [0x94] = BBU + 1, - [0x90] = BBR + 4, [0x95] = BBR + 7, - - /* Quadrants */ - [0x96] = BBQ + BL, - [0x97] = BBQ + BR, - [0x98] = BBQ + TL, - [0x99] = BBQ + TL + BL + BR, - [0x9a] = BBQ + TL + BR, - [0x9b] = BBQ + TL + TR + BL, - [0x9c] = BBQ + TL + TR + BR, - [0x9d] = BBQ + TR, - [0x9e] = BBQ + BL + TR, - [0x9f] = BBQ + BL + TR + BR, - - /* Shades, data is an alpha value in 25% units (1/4, 1/2, 3/4) */ - [0x91] = BBS + 1, [0x92] = BBS + 2, [0x93] = BBS + 3, - - /* U+2504 - U+250B, U+254C - U+254F: unsupported (dashes) */ - /* U+2571 - U+2573: unsupported (diagonals) */ -}; diff --git a/programs/st/config.h b/programs/st/config.h deleted file mode 100644 index 9c5d0e53..00000000 --- a/programs/st/config.h +++ /dev/null @@ -1,478 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -/* - * appearance - * - * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html - */ -static char *font = "JetBrainsMono NF:size=10:antialias=true:autohint=true"; -static int borderpx = 2; - -/* - * What program is execed by st depends of these precedence rules: - * 1: program passed with -e - * 2: scroll and/or utmp - * 3: SHELL environment variable - * 4: value of shell in /etc/passwd - * 5: value of shell in config.h - */ -static char *shell = "/bin/sh"; -char *utmp = NULL; -/* scroll program: to enable use a string like "scroll" */ -char *scroll = NULL; -char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; - -/* identification sequence returned in DA and DECID */ -char *vtiden = "\033[?6c"; - -/* Kerning / character bounding-box multipliers */ -static float cwscale = 1.0; -static float chscale = 1.0; - -/* - * word delimiter string - * - * More advanced example: L" `'\"()[]{}" - */ -wchar_t *worddelimiters = L" "; - -/* selection timeouts (in milliseconds) */ -static unsigned int doubleclicktimeout = 300; -static unsigned int tripleclicktimeout = 600; - -/* alt screens */ -int allowaltscreen = 1; - -/* allow certain non-interactive (insecure) window operations such as: - setting the clipboard text */ -int allowwindowops = 0; - -/* - * draw latency range in ms - from new content/keypress/etc until drawing. - * within this range, st draws when content stops arriving (idle). mostly it's - * near minlatency, but it waits longer for slow updates to avoid partial draw. - * low minlatency will tear/flicker more, as it can "detect" idle too early. - */ -static double minlatency = 2; -static double maxlatency = 33; - -/* - * blinking timeout (set to 0 to disable blinking) for the terminal blinking - * attribute. - */ -static unsigned int blinktimeout = 800; - -/* - * thickness of underline and bar cursors - */ -static unsigned int cursorthickness = 2; - -/* - * 1: render most of the lines/blocks characters without using the font for - * perfect alignment between cells (U2500 - U259F except dashes/diagonals). - * Bold affects lines thickness if boxdraw_bold is not 0. Italic is ignored. - * 0: disable (render all U25XX glyphs normally from the font). - */ -const int boxdraw = 0; -const int boxdraw_bold = 0; - -/* braille (U28XX): 1: render as adjacent "pixels", 0: use font */ -const int boxdraw_braille = 0; - -/* - * bell volume. It must be a value between -100 and 100. Use 0 for disabling - * it - */ -static int bellvolume = 0; - -/* default TERM value */ -char *termname = "st-256color"; - -/* - * spaces per tab - * - * When you are changing this value, don't forget to adapt the »it« value in - * the st.info and appropriately install the st.info in the environment where - * you use this st version. - * - * it#$tabspaces, - * - * Secondly make sure your kernel is not expanding tabs. When running `stty - * -a` »tab0« should appear. You can tell the terminal to not expand tabs by - * running following command: - * - * stty tabs - */ -unsigned int tabspaces = 8; - -/* Terminal colors (16 first used in escape sequence) */ -static const char *colorname[] = { - /* 8 normal colors */ - [0] = "#282828", /* hard contrast: #1d2021 / soft contrast: #32302f */ - [1] = "#cc241d", /* red */ - [2] = "#98971a", /* green */ - [3] = "#d79921", /* yellow */ - [4] = "#458588", /* blue */ - [5] = "#b16286", /* magenta */ - [6] = "#689d6a", /* cyan */ - [7] = "#a89984", /* white */ - - /* 8 bright colors */ - [8] = "#928374", /* black */ - [9] = "#fb4934", /* red */ - [10] = "#b8bb26", /* green */ - [11] = "#fabd2f", /* yellow */ - [12] = "#83a598", /* blue */ - [13] = "#d3869b", /* magenta */ - [14] = "#8ec07c", /* cyan */ - [15] = "#ebdbb2", /* white */ -}; - - -/* - * Default colors (colorname index) - * foreground, background, cursor, reverse cursor - */ -unsigned int defaultfg = 15; -unsigned int defaultbg = 0; -unsigned int defaultcs = 15; -static unsigned int defaultrcs = 257; - -/* - * Default shape of cursor - * 2: Block ("█") - * 4: Underline ("_") - * 6: Bar ("|") - * 7: Snowman ("☃") - */ -static unsigned int cursorshape = 2; - -/* - * Default columns and rows numbers - */ - -static unsigned int cols = 80; -static unsigned int rows = 24; - -/* - * Default colour and shape of the mouse cursor - */ -static unsigned int mouseshape = XC_xterm; -static unsigned int mousefg = 7; -static unsigned int mousebg = 0; - -/* - * Color used to display font attributes when fontconfig selected a font which - * doesn't match the ones requested. - */ -static unsigned int defaultattr = 11; - -/* - * Force mouse select/shortcuts while mask is active (when MODE_MOUSE is set). - * Note that if you want to use ShiftMask with selmasks, set this to an other - * modifier, set to 0 to not use it. - */ -static uint forcemousemod = ShiftMask; - -/* - * Internal mouse shortcuts. - * Beware that overloading Button1 will disable the selection. - */ -static MouseShortcut mshortcuts[] = { - /* mask button function argument release */ - { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, - { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, - { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, - { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, - { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, -}; - -/* Internal keyboard shortcuts. */ -#define MODKEY Mod1Mask -#define TERMMOD (ControlMask|ShiftMask) - -static Shortcut shortcuts[] = { - /* mask keysym function argument */ - { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, - { ControlMask, XK_Print, toggleprinter, {.i = 0} }, - { ShiftMask, XK_Print, printscreen, {.i = 0} }, - { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, - { TERMMOD, XK_Prior, zoom, {.f = +1} }, - { TERMMOD, XK_Next, zoom, {.f = -1} }, - { TERMMOD, XK_Home, zoomreset, {.f = 0} }, - { TERMMOD, XK_C, clipcopy, {.i = 0} }, - { TERMMOD, XK_V, clippaste, {.i = 0} }, - { TERMMOD, XK_Y, selpaste, {.i = 0} }, - { ShiftMask, XK_Insert, selpaste, {.i = 0} }, - { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, -}; - -/* - * Special keys (change & recompile st.info accordingly) - * - * Mask value: - * * Use XK_ANY_MOD to match the key no matter modifiers state - * * Use XK_NO_MOD to match the key alone (no modifiers) - * appkey value: - * * 0: no value - * * > 0: keypad application mode enabled - * * = 2: term.numlock = 1 - * * < 0: keypad application mode disabled - * appcursor value: - * * 0: no value - * * > 0: cursor application mode enabled - * * < 0: cursor application mode disabled - * - * Be careful with the order of the definitions because st searches in - * this table sequentially, so any XK_ANY_MOD must be in the last - * position for a key. - */ - -/* - * If you want keys other than the X11 function keys (0xFD00 - 0xFFFF) - * to be mapped below, add them to this array. - */ -static KeySym mappedkeys[] = { -1 }; - -/* - * State bits to ignore when matching key or button events. By default, - * numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored. - */ -static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; - -/* - * This is the huge key array which defines all compatibility to the Linux - * world. Please decide about changes wisely. - */ -static Key key[] = { - /* keysym mask string appkey appcursor */ - { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, - { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, - { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, - { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, - { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, - { XK_KP_End, ControlMask, "\033[J", -1, 0}, - { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_KP_End, ShiftMask, "\033[K", -1, 0}, - { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, - { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, - { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, - { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, - { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, - { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, - { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, - { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, - { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, - { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, - { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, - { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, - { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, - { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, - { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, - { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, - { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, - { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, - { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, - { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, - { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0}, - { XK_Up, ControlMask, "\033[1;5A", 0, 0}, - { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0}, - { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0}, - { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0}, - { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, - { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, - { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, - { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, - { XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0}, - { XK_Down, ControlMask, "\033[1;5B", 0, 0}, - { XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0}, - { XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0}, - { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0}, - { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, - { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, - { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, - { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, - { XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0}, - { XK_Left, ControlMask, "\033[1;5D", 0, 0}, - { XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0}, - { XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0}, - { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0}, - { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, - { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, - { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, - { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, - { XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0}, - { XK_Right, ControlMask, "\033[1;5C", 0, 0}, - { XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0}, - { XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0}, - { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0}, - { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, - { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, - { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, - { XK_Return, Mod1Mask, "\033\r", 0, 0}, - { XK_Return, XK_ANY_MOD, "\r", 0, 0}, - { XK_Insert, ShiftMask, "\033[4l", -1, 0}, - { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, - { XK_Insert, ControlMask, "\033[L", -1, 0}, - { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, - { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, - { XK_Delete, ControlMask, "\033[M", -1, 0}, - { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, - { XK_Delete, ShiftMask, "\033[2K", -1, 0}, - { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, - { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, - { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, - { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, - { XK_Home, ShiftMask, "\033[2J", 0, -1}, - { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, - { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, - { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, - { XK_End, ControlMask, "\033[J", -1, 0}, - { XK_End, ControlMask, "\033[1;5F", +1, 0}, - { XK_End, ShiftMask, "\033[K", -1, 0}, - { XK_End, ShiftMask, "\033[1;2F", +1, 0}, - { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, - { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, - { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, - { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, - { XK_Next, ControlMask, "\033[6;5~", 0, 0}, - { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, - { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, - { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, - { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, - { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, - { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, - { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, - { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, - { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, - { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, - { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, - { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, - { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, - { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, - { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, - { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, - { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, - { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, - { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, - { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, - { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, - { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, - { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, - { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, - { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, - { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, - { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, - { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, - { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, - { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, - { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, - { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, - { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, - { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, - { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, - { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, - { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, - { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, - { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, - { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, - { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, - { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, - { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, - { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, - { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, - { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, - { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, - { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, - { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, - { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, - { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, - { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, - { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, - { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, - { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, - { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, - { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, - { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, - { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, - { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, - { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, - { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, - { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, - { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, - { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, - { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, - { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, - { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, - { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, - { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, - { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, - { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, - { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, - { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, - { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, - { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, - { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, - { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, - { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, - { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, - { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, - { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, - { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, - { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, - { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, - { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, - { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, - { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, -}; - -/* - * Selection types' masks. - * Use the same masks as usual. - * Button1Mask is always unset, to make masks match between ButtonPress. - * ButtonRelease and MotionNotify. - * If no match is found, regular selection is used. - */ -static uint selmasks[] = { - [SEL_RECTANGULAR] = Mod1Mask, -}; - -/* - * Printable characters in ASCII, used to estimate the advance width - * of single wide characters. - */ -static char ascii_printable[] = - " !\"#$%&'()*+,-./0123456789:;<=>?" - "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" - "`abcdefghijklmnopqrstuvwxyz{|}~"; diff --git a/programs/st/config.mk b/programs/st/config.mk deleted file mode 100644 index a6c38291..00000000 --- a/programs/st/config.mk +++ /dev/null @@ -1,37 +0,0 @@ -# st version -VERSION = 0.9.2 - -# Customize below to fit your system - -# paths -PREFIX = /usr/local -APPPREFIX = $(PREFIX)/share/applications -MANPREFIX = $(PREFIX)/share/man - -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - -PKG_CONFIG = pkg-config - -# includes and libs -INCS = -I$(X11INC) \ - `$(PKG_CONFIG) --cflags fontconfig` \ - `$(PKG_CONFIG) --cflags freetype2` -LIBS = -L$(X11LIB) -lm -lrt -lX11 -lutil -lXft \ - `$(PKG_CONFIG) --libs fontconfig` \ - `$(PKG_CONFIG) --libs freetype2` - -# flags -STCPPFLAGS = -DVERSION=\"$(VERSION)\" -D_XOPEN_SOURCE=600 -STCFLAGS = $(INCS) $(STCPPFLAGS) $(CPPFLAGS) $(CFLAGS) -STLDFLAGS = $(LIBS) $(LDFLAGS) - -# OpenBSD: -#CPPFLAGS = -DVERSION=\"$(VERSION)\" -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -#LIBS = -L$(X11LIB) -lm -lX11 -lutil -lXft \ -# `$(PKG_CONFIG) --libs fontconfig` \ -# `$(PKG_CONFIG) --libs freetype2` -#MANPREFIX = ${PREFIX}/man - -# compiler and linker -# CC = c99 diff --git a/programs/st/patches/st-anysize-20220718-baa9357.diff b/programs/st/patches/st-anysize-20220718-baa9357.diff deleted file mode 100644 index 675ffdfb..00000000 --- a/programs/st/patches/st-anysize-20220718-baa9357.diff +++ /dev/null @@ -1,164 +0,0 @@ -From 8dcdc4b21a73268e167d98aa30f24315c7f3b7ff Mon Sep 17 00:00:00 2001 -From: Bakkeby -Date: Mon, 18 Jul 2022 16:52:03 +0200 -Subject: [PATCH] Adding anysize patch - ---- - x.c | 56 ++++++++++++++++++++++++++++++-------------------------- - 1 file changed, 30 insertions(+), 26 deletions(-) - -diff --git a/x.c b/x.c -index 2a3bd38..f534347 100644 ---- a/x.c -+++ b/x.c -@@ -81,6 +81,7 @@ typedef XftGlyphFontSpec GlyphFontSpec; - typedef struct { - int tw, th; /* tty width and height */ - int w, h; /* window width and height */ -+ int hborderpx, vborderpx; - int ch; /* char height */ - int cw; /* char width */ - int mode; /* window state/mode flags */ -@@ -331,7 +332,7 @@ ttysend(const Arg *arg) - int - evcol(XEvent *e) - { -- int x = e->xbutton.x - borderpx; -+ int x = e->xbutton.x - win.hborderpx; - LIMIT(x, 0, win.tw - 1); - return x / win.cw; - } -@@ -339,7 +340,7 @@ evcol(XEvent *e) - int - evrow(XEvent *e) - { -- int y = e->xbutton.y - borderpx; -+ int y = e->xbutton.y - win.vborderpx; - LIMIT(y, 0, win.th - 1); - return y / win.ch; - } -@@ -739,6 +740,9 @@ cresize(int width, int height) - col = MAX(1, col); - row = MAX(1, row); - -+ win.hborderpx = (win.w - col * win.cw) / 2; -+ win.vborderpx = (win.h - row * win.ch) / 2; -+ - tresize(col, row); - xresize(col, row); - ttyresize(win.tw, win.th); -@@ -869,8 +873,8 @@ xhints(void) - sizeh->flags = PSize | PResizeInc | PBaseSize | PMinSize; - sizeh->height = win.h; - sizeh->width = win.w; -- sizeh->height_inc = win.ch; -- sizeh->width_inc = win.cw; -+ sizeh->height_inc = 1; -+ sizeh->width_inc = 1; - sizeh->base_height = 2 * borderpx; - sizeh->base_width = 2 * borderpx; - sizeh->min_height = win.ch + 2 * borderpx; -@@ -1152,8 +1156,8 @@ xinit(int cols, int rows) - xloadcols(); - - /* adjust fixed window geometry */ -- win.w = 2 * borderpx + cols * win.cw; -- win.h = 2 * borderpx + rows * win.ch; -+ win.w = 2 * win.hborderpx + 2 * borderpx + cols * win.cw; -+ win.h = 2 * win.vborderpx + 2 * borderpx + rows * win.ch; - if (xw.gm & XNegative) - xw.l += DisplayWidth(xw.dpy, xw.scr) - win.w - 2; - if (xw.gm & YNegative) -@@ -1242,7 +1246,7 @@ xinit(int cols, int rows) - int - xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x, int y) - { -- float winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, xp, yp; -+ float winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch, xp, yp; - ushort mode, prevmode = USHRT_MAX; - Font *font = &dc.font; - int frcflags = FRC_NORMAL; -@@ -1375,7 +1379,7 @@ void - xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, int y) - { - int charlen = len * ((base.mode & ATTR_WIDE) ? 2 : 1); -- int winx = borderpx + x * win.cw, winy = borderpx + y * win.ch, -+ int winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch, - width = charlen * win.cw; - Color *fg, *bg, *temp, revfg, revbg, truefg, truebg; - XRenderColor colfg, colbg; -@@ -1465,17 +1469,17 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i - - /* Intelligent cleaning up of the borders. */ - if (x == 0) { -- xclear(0, (y == 0)? 0 : winy, borderpx, -+ xclear(0, (y == 0)? 0 : winy, win.hborderpx, - winy + win.ch + -- ((winy + win.ch >= borderpx + win.th)? win.h : 0)); -+ ((winy + win.ch >= win.vborderpx + win.th)? win.h : 0)); - } -- if (winx + width >= borderpx + win.tw) { -+ if (winx + width >= win.hborderpx + win.tw) { - xclear(winx + width, (y == 0)? 0 : winy, win.w, -- ((winy + win.ch >= borderpx + win.th)? win.h : (winy + win.ch))); -+ ((winy + win.ch >= win.vborderpx + win.th)? win.h : (winy + win.ch))); - } - if (y == 0) -- xclear(winx, 0, winx + width, borderpx); -- if (winy + win.ch >= borderpx + win.th) -+ xclear(winx, 0, winx + width, win.vborderpx); -+ if (winy + win.ch >= win.vborderpx + win.th) - xclear(winx, winy + win.ch, winx + width, win.h); - - /* Clean up the region we want to draw to. */ -@@ -1569,35 +1573,35 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) - case 3: /* Blinking Underline */ - case 4: /* Steady Underline */ - XftDrawRect(xw.draw, &drawcol, -- borderpx + cx * win.cw, -- borderpx + (cy + 1) * win.ch - \ -+ win.hborderpx + cx * win.cw, -+ win.vborderpx + (cy + 1) * win.ch - \ - cursorthickness, - win.cw, cursorthickness); - break; - case 5: /* Blinking bar */ - case 6: /* Steady bar */ - XftDrawRect(xw.draw, &drawcol, -- borderpx + cx * win.cw, -- borderpx + cy * win.ch, -+ win.hborderpx + cx * win.cw, -+ win.vborderpx + cy * win.ch, - cursorthickness, win.ch); - break; - } - } else { - XftDrawRect(xw.draw, &drawcol, -- borderpx + cx * win.cw, -- borderpx + cy * win.ch, -+ win.hborderpx + cx * win.cw, -+ win.vborderpx + cy * win.ch, - win.cw - 1, 1); - XftDrawRect(xw.draw, &drawcol, -- borderpx + cx * win.cw, -- borderpx + cy * win.ch, -+ win.hborderpx + cx * win.cw, -+ win.vborderpx + cy * win.ch, - 1, win.ch - 1); - XftDrawRect(xw.draw, &drawcol, -- borderpx + (cx + 1) * win.cw - 1, -- borderpx + cy * win.ch, -+ win.hborderpx + (cx + 1) * win.cw - 1, -+ win.vborderpx + cy * win.ch, - 1, win.ch - 1); - XftDrawRect(xw.draw, &drawcol, -- borderpx + cx * win.cw, -- borderpx + (cy + 1) * win.ch - 1, -+ win.hborderpx + cx * win.cw, -+ win.vborderpx + (cy + 1) * win.ch - 1, - win.cw, 1); - } - } --- -2.37.1 - diff --git a/programs/st/patches/st-boxdraw_v2-0.8.5.diff b/programs/st/patches/st-boxdraw_v2-0.8.5.diff deleted file mode 100644 index 1ba0e461..00000000 --- a/programs/st/patches/st-boxdraw_v2-0.8.5.diff +++ /dev/null @@ -1,583 +0,0 @@ -From 46a1124957b8de5e7f827656b64bfc3baeaa097f Mon Sep 17 00:00:00 2001 -From: wael <40663@protonmail.com> -Date: Mon, 11 Apr 2022 17:04:30 +0300 -Subject: [PATCH] [st][patch][boxdraw] update to 0.8.5 - ---- - Makefile | 3 +- - boxdraw.c | 194 ++++++++++++++++++++++++++++++++++++++++++++ - boxdraw_data.h | 214 +++++++++++++++++++++++++++++++++++++++++++++++++ - config.def.h | 12 +++ - st.c | 3 + - st.h | 10 +++ - x.c | 21 +++-- - 7 files changed, 451 insertions(+), 6 deletions(-) - create mode 100644 boxdraw.c - create mode 100644 boxdraw_data.h - -diff --git a/Makefile b/Makefile -index 470ac86..6dfa212 100644 ---- a/Makefile -+++ b/Makefile -@@ -4,7 +4,7 @@ - - include config.mk - --SRC = st.c x.c -+SRC = st.c x.c boxdraw.c - OBJ = $(SRC:.c=.o) - - all: options st -@@ -23,6 +23,7 @@ config.h: - - st.o: config.h st.h win.h - x.o: arg.h config.h st.h win.h -+boxdraw.o: config.h st.h boxdraw_data.h - - $(OBJ): config.h config.mk - -diff --git a/boxdraw.c b/boxdraw.c -new file mode 100644 -index 0000000..28a92d0 ---- /dev/null -+++ b/boxdraw.c -@@ -0,0 +1,194 @@ -+/* -+ * Copyright 2018 Avi Halachmi (:avih) avihpit@yahoo.com https://github.com/avih -+ * MIT/X Consortium License -+ */ -+ -+#include -+#include "st.h" -+#include "boxdraw_data.h" -+ -+/* Rounded non-negative integers division of n / d */ -+#define DIV(n, d) (((n) + (d) / 2) / (d)) -+ -+static Display *xdpy; -+static Colormap xcmap; -+static XftDraw *xd; -+static Visual *xvis; -+ -+static void drawbox(int, int, int, int, XftColor *, XftColor *, ushort); -+static void drawboxlines(int, int, int, int, XftColor *, ushort); -+ -+/* public API */ -+ -+void -+boxdraw_xinit(Display *dpy, Colormap cmap, XftDraw *draw, Visual *vis) -+{ -+ xdpy = dpy; xcmap = cmap; xd = draw, xvis = vis; -+} -+ -+int -+isboxdraw(Rune u) -+{ -+ Rune block = u & ~0xff; -+ return (boxdraw && block == 0x2500 && boxdata[(uint8_t)u]) || -+ (boxdraw_braille && block == 0x2800); -+} -+ -+/* the "index" is actually the entire shape data encoded as ushort */ -+ushort -+boxdrawindex(const Glyph *g) -+{ -+ if (boxdraw_braille && (g->u & ~0xff) == 0x2800) -+ return BRL | (uint8_t)g->u; -+ if (boxdraw_bold && (g->mode & ATTR_BOLD)) -+ return BDB | boxdata[(uint8_t)g->u]; -+ return boxdata[(uint8_t)g->u]; -+} -+ -+void -+drawboxes(int x, int y, int cw, int ch, XftColor *fg, XftColor *bg, -+ const XftGlyphFontSpec *specs, int len) -+{ -+ for ( ; len-- > 0; x += cw, specs++) -+ drawbox(x, y, cw, ch, fg, bg, (ushort)specs->glyph); -+} -+ -+/* implementation */ -+ -+void -+drawbox(int x, int y, int w, int h, XftColor *fg, XftColor *bg, ushort bd) -+{ -+ ushort cat = bd & ~(BDB | 0xff); /* mask out bold and data */ -+ if (bd & (BDL | BDA)) { -+ /* lines (light/double/heavy/arcs) */ -+ drawboxlines(x, y, w, h, fg, bd); -+ -+ } else if (cat == BBD) { -+ /* lower (8-X)/8 block */ -+ int d = DIV((uint8_t)bd * h, 8); -+ XftDrawRect(xd, fg, x, y + d, w, h - d); -+ -+ } else if (cat == BBU) { -+ /* upper X/8 block */ -+ XftDrawRect(xd, fg, x, y, w, DIV((uint8_t)bd * h, 8)); -+ -+ } else if (cat == BBL) { -+ /* left X/8 block */ -+ XftDrawRect(xd, fg, x, y, DIV((uint8_t)bd * w, 8), h); -+ -+ } else if (cat == BBR) { -+ /* right (8-X)/8 block */ -+ int d = DIV((uint8_t)bd * w, 8); -+ XftDrawRect(xd, fg, x + d, y, w - d, h); -+ -+ } else if (cat == BBQ) { -+ /* Quadrants */ -+ int w2 = DIV(w, 2), h2 = DIV(h, 2); -+ if (bd & TL) -+ XftDrawRect(xd, fg, x, y, w2, h2); -+ if (bd & TR) -+ XftDrawRect(xd, fg, x + w2, y, w - w2, h2); -+ if (bd & BL) -+ XftDrawRect(xd, fg, x, y + h2, w2, h - h2); -+ if (bd & BR) -+ XftDrawRect(xd, fg, x + w2, y + h2, w - w2, h - h2); -+ -+ } else if (bd & BBS) { -+ /* Shades - data is 1/2/3 for 25%/50%/75% alpha, respectively */ -+ int d = (uint8_t)bd; -+ XftColor xfc; -+ XRenderColor xrc = { .alpha = 0xffff }; -+ -+ xrc.red = DIV(fg->color.red * d + bg->color.red * (4 - d), 4); -+ xrc.green = DIV(fg->color.green * d + bg->color.green * (4 - d), 4); -+ xrc.blue = DIV(fg->color.blue * d + bg->color.blue * (4 - d), 4); -+ -+ XftColorAllocValue(xdpy, xvis, xcmap, &xrc, &xfc); -+ XftDrawRect(xd, &xfc, x, y, w, h); -+ XftColorFree(xdpy, xvis, xcmap, &xfc); -+ -+ } else if (cat == BRL) { -+ /* braille, each data bit corresponds to one dot at 2x4 grid */ -+ int w1 = DIV(w, 2); -+ int h1 = DIV(h, 4), h2 = DIV(h, 2), h3 = DIV(3 * h, 4); -+ -+ if (bd & 1) XftDrawRect(xd, fg, x, y, w1, h1); -+ if (bd & 2) XftDrawRect(xd, fg, x, y + h1, w1, h2 - h1); -+ if (bd & 4) XftDrawRect(xd, fg, x, y + h2, w1, h3 - h2); -+ if (bd & 8) XftDrawRect(xd, fg, x + w1, y, w - w1, h1); -+ if (bd & 16) XftDrawRect(xd, fg, x + w1, y + h1, w - w1, h2 - h1); -+ if (bd & 32) XftDrawRect(xd, fg, x + w1, y + h2, w - w1, h3 - h2); -+ if (bd & 64) XftDrawRect(xd, fg, x, y + h3, w1, h - h3); -+ if (bd & 128) XftDrawRect(xd, fg, x + w1, y + h3, w - w1, h - h3); -+ -+ } -+} -+ -+void -+drawboxlines(int x, int y, int w, int h, XftColor *fg, ushort bd) -+{ -+ /* s: stem thickness. width/8 roughly matches underscore thickness. */ -+ /* We draw bold as 1.5 * normal-stem and at least 1px thicker. */ -+ /* doubles draw at least 3px, even when w or h < 3. bold needs 6px. */ -+ int mwh = MIN(w, h); -+ int base_s = MAX(1, DIV(mwh, 8)); -+ int bold = (bd & BDB) && mwh >= 6; /* possibly ignore boldness */ -+ int s = bold ? MAX(base_s + 1, DIV(3 * base_s, 2)) : base_s; -+ int w2 = DIV(w - s, 2), h2 = DIV(h - s, 2); -+ /* the s-by-s square (x + w2, y + h2, s, s) is the center texel. */ -+ /* The base length (per direction till edge) includes this square. */ -+ -+ int light = bd & (LL | LU | LR | LD); -+ int double_ = bd & (DL | DU | DR | DD); -+ -+ if (light) { -+ /* d: additional (negative) length to not-draw the center */ -+ /* texel - at arcs and avoid drawing inside (some) doubles */ -+ int arc = bd & BDA; -+ int multi_light = light & (light - 1); -+ int multi_double = double_ & (double_ - 1); -+ /* light crosses double only at DH+LV, DV+LH (ref. shapes) */ -+ int d = arc || (multi_double && !multi_light) ? -s : 0; -+ -+ if (bd & LL) -+ XftDrawRect(xd, fg, x, y + h2, w2 + s + d, s); -+ if (bd & LU) -+ XftDrawRect(xd, fg, x + w2, y, s, h2 + s + d); -+ if (bd & LR) -+ XftDrawRect(xd, fg, x + w2 - d, y + h2, w - w2 + d, s); -+ if (bd & LD) -+ XftDrawRect(xd, fg, x + w2, y + h2 - d, s, h - h2 + d); -+ } -+ -+ /* double lines - also align with light to form heavy when combined */ -+ if (double_) { -+ /* -+ * going clockwise, for each double-ray: p is additional length -+ * to the single-ray nearer to the previous direction, and n to -+ * the next. p and n adjust from the base length to lengths -+ * which consider other doubles - shorter to avoid intersections -+ * (p, n), or longer to draw the far-corner texel (n). -+ */ -+ int dl = bd & DL, du = bd & DU, dr = bd & DR, dd = bd & DD; -+ if (dl) { -+ int p = dd ? -s : 0, n = du ? -s : dd ? s : 0; -+ XftDrawRect(xd, fg, x, y + h2 + s, w2 + s + p, s); -+ XftDrawRect(xd, fg, x, y + h2 - s, w2 + s + n, s); -+ } -+ if (du) { -+ int p = dl ? -s : 0, n = dr ? -s : dl ? s : 0; -+ XftDrawRect(xd, fg, x + w2 - s, y, s, h2 + s + p); -+ XftDrawRect(xd, fg, x + w2 + s, y, s, h2 + s + n); -+ } -+ if (dr) { -+ int p = du ? -s : 0, n = dd ? -s : du ? s : 0; -+ XftDrawRect(xd, fg, x + w2 - p, y + h2 - s, w - w2 + p, s); -+ XftDrawRect(xd, fg, x + w2 - n, y + h2 + s, w - w2 + n, s); -+ } -+ if (dd) { -+ int p = dr ? -s : 0, n = dl ? -s : dr ? s : 0; -+ XftDrawRect(xd, fg, x + w2 + s, y + h2 - p, s, h - h2 + p); -+ XftDrawRect(xd, fg, x + w2 - s, y + h2 - n, s, h - h2 + n); -+ } -+ } -+} -diff --git a/boxdraw_data.h b/boxdraw_data.h -new file mode 100644 -index 0000000..7890500 ---- /dev/null -+++ b/boxdraw_data.h -@@ -0,0 +1,214 @@ -+/* -+ * Copyright 2018 Avi Halachmi (:avih) avihpit@yahoo.com https://github.com/avih -+ * MIT/X Consortium License -+ */ -+ -+/* -+ * U+25XX codepoints data -+ * -+ * References: -+ * http://www.unicode.org/charts/PDF/U2500.pdf -+ * http://www.unicode.org/charts/PDF/U2580.pdf -+ * -+ * Test page: -+ * https://github.com/GNOME/vte/blob/master/doc/boxes.txt -+ */ -+ -+/* Each shape is encoded as 16-bits. Higher bits are category, lower are data */ -+/* Categories (mutually exclusive except BDB): */ -+/* For convenience, BDL/BDA/BBS/BDB are 1 bit each, the rest are enums */ -+#define BDL (1<<8) /* Box Draw Lines (light/double/heavy) */ -+#define BDA (1<<9) /* Box Draw Arc (light) */ -+ -+#define BBD (1<<10) /* Box Block Down (lower) X/8 */ -+#define BBL (2<<10) /* Box Block Left X/8 */ -+#define BBU (3<<10) /* Box Block Upper X/8 */ -+#define BBR (4<<10) /* Box Block Right X/8 */ -+#define BBQ (5<<10) /* Box Block Quadrants */ -+#define BRL (6<<10) /* Box Braille (data is lower byte of U28XX) */ -+ -+#define BBS (1<<14) /* Box Block Shades */ -+#define BDB (1<<15) /* Box Draw is Bold */ -+ -+/* (BDL/BDA) Light/Double/Heavy x Left/Up/Right/Down/Horizontal/Vertical */ -+/* Heavy is light+double (literally drawing light+double align to form heavy) */ -+#define LL (1<<0) -+#define LU (1<<1) -+#define LR (1<<2) -+#define LD (1<<3) -+#define LH (LL+LR) -+#define LV (LU+LD) -+ -+#define DL (1<<4) -+#define DU (1<<5) -+#define DR (1<<6) -+#define DD (1<<7) -+#define DH (DL+DR) -+#define DV (DU+DD) -+ -+#define HL (LL+DL) -+#define HU (LU+DU) -+#define HR (LR+DR) -+#define HD (LD+DD) -+#define HH (HL+HR) -+#define HV (HU+HD) -+ -+/* (BBQ) Quadrants Top/Bottom x Left/Right */ -+#define TL (1<<0) -+#define TR (1<<1) -+#define BL (1<<2) -+#define BR (1<<3) -+ -+/* Data for U+2500 - U+259F except dashes/diagonals */ -+static const unsigned short boxdata[256] = { -+ /* light lines */ -+ [0x00] = BDL + LH, /* light horizontal */ -+ [0x02] = BDL + LV, /* light vertical */ -+ [0x0c] = BDL + LD + LR, /* light down and right */ -+ [0x10] = BDL + LD + LL, /* light down and left */ -+ [0x14] = BDL + LU + LR, /* light up and right */ -+ [0x18] = BDL + LU + LL, /* light up and left */ -+ [0x1c] = BDL + LV + LR, /* light vertical and right */ -+ [0x24] = BDL + LV + LL, /* light vertical and left */ -+ [0x2c] = BDL + LH + LD, /* light horizontal and down */ -+ [0x34] = BDL + LH + LU, /* light horizontal and up */ -+ [0x3c] = BDL + LV + LH, /* light vertical and horizontal */ -+ [0x74] = BDL + LL, /* light left */ -+ [0x75] = BDL + LU, /* light up */ -+ [0x76] = BDL + LR, /* light right */ -+ [0x77] = BDL + LD, /* light down */ -+ -+ /* heavy [+light] lines */ -+ [0x01] = BDL + HH, -+ [0x03] = BDL + HV, -+ [0x0d] = BDL + HR + LD, -+ [0x0e] = BDL + HD + LR, -+ [0x0f] = BDL + HD + HR, -+ [0x11] = BDL + HL + LD, -+ [0x12] = BDL + HD + LL, -+ [0x13] = BDL + HD + HL, -+ [0x15] = BDL + HR + LU, -+ [0x16] = BDL + HU + LR, -+ [0x17] = BDL + HU + HR, -+ [0x19] = BDL + HL + LU, -+ [0x1a] = BDL + HU + LL, -+ [0x1b] = BDL + HU + HL, -+ [0x1d] = BDL + HR + LV, -+ [0x1e] = BDL + HU + LD + LR, -+ [0x1f] = BDL + HD + LR + LU, -+ [0x20] = BDL + HV + LR, -+ [0x21] = BDL + HU + HR + LD, -+ [0x22] = BDL + HD + HR + LU, -+ [0x23] = BDL + HV + HR, -+ [0x25] = BDL + HL + LV, -+ [0x26] = BDL + HU + LD + LL, -+ [0x27] = BDL + HD + LU + LL, -+ [0x28] = BDL + HV + LL, -+ [0x29] = BDL + HU + HL + LD, -+ [0x2a] = BDL + HD + HL + LU, -+ [0x2b] = BDL + HV + HL, -+ [0x2d] = BDL + HL + LD + LR, -+ [0x2e] = BDL + HR + LL + LD, -+ [0x2f] = BDL + HH + LD, -+ [0x30] = BDL + HD + LH, -+ [0x31] = BDL + HD + HL + LR, -+ [0x32] = BDL + HR + HD + LL, -+ [0x33] = BDL + HH + HD, -+ [0x35] = BDL + HL + LU + LR, -+ [0x36] = BDL + HR + LU + LL, -+ [0x37] = BDL + HH + LU, -+ [0x38] = BDL + HU + LH, -+ [0x39] = BDL + HU + HL + LR, -+ [0x3a] = BDL + HU + HR + LL, -+ [0x3b] = BDL + HH + HU, -+ [0x3d] = BDL + HL + LV + LR, -+ [0x3e] = BDL + HR + LV + LL, -+ [0x3f] = BDL + HH + LV, -+ [0x40] = BDL + HU + LH + LD, -+ [0x41] = BDL + HD + LH + LU, -+ [0x42] = BDL + HV + LH, -+ [0x43] = BDL + HU + HL + LD + LR, -+ [0x44] = BDL + HU + HR + LD + LL, -+ [0x45] = BDL + HD + HL + LU + LR, -+ [0x46] = BDL + HD + HR + LU + LL, -+ [0x47] = BDL + HH + HU + LD, -+ [0x48] = BDL + HH + HD + LU, -+ [0x49] = BDL + HV + HL + LR, -+ [0x4a] = BDL + HV + HR + LL, -+ [0x4b] = BDL + HV + HH, -+ [0x78] = BDL + HL, -+ [0x79] = BDL + HU, -+ [0x7a] = BDL + HR, -+ [0x7b] = BDL + HD, -+ [0x7c] = BDL + HR + LL, -+ [0x7d] = BDL + HD + LU, -+ [0x7e] = BDL + HL + LR, -+ [0x7f] = BDL + HU + LD, -+ -+ /* double [+light] lines */ -+ [0x50] = BDL + DH, -+ [0x51] = BDL + DV, -+ [0x52] = BDL + DR + LD, -+ [0x53] = BDL + DD + LR, -+ [0x54] = BDL + DR + DD, -+ [0x55] = BDL + DL + LD, -+ [0x56] = BDL + DD + LL, -+ [0x57] = BDL + DL + DD, -+ [0x58] = BDL + DR + LU, -+ [0x59] = BDL + DU + LR, -+ [0x5a] = BDL + DU + DR, -+ [0x5b] = BDL + DL + LU, -+ [0x5c] = BDL + DU + LL, -+ [0x5d] = BDL + DL + DU, -+ [0x5e] = BDL + DR + LV, -+ [0x5f] = BDL + DV + LR, -+ [0x60] = BDL + DV + DR, -+ [0x61] = BDL + DL + LV, -+ [0x62] = BDL + DV + LL, -+ [0x63] = BDL + DV + DL, -+ [0x64] = BDL + DH + LD, -+ [0x65] = BDL + DD + LH, -+ [0x66] = BDL + DD + DH, -+ [0x67] = BDL + DH + LU, -+ [0x68] = BDL + DU + LH, -+ [0x69] = BDL + DH + DU, -+ [0x6a] = BDL + DH + LV, -+ [0x6b] = BDL + DV + LH, -+ [0x6c] = BDL + DH + DV, -+ -+ /* (light) arcs */ -+ [0x6d] = BDA + LD + LR, -+ [0x6e] = BDA + LD + LL, -+ [0x6f] = BDA + LU + LL, -+ [0x70] = BDA + LU + LR, -+ -+ /* Lower (Down) X/8 block (data is 8 - X) */ -+ [0x81] = BBD + 7, [0x82] = BBD + 6, [0x83] = BBD + 5, [0x84] = BBD + 4, -+ [0x85] = BBD + 3, [0x86] = BBD + 2, [0x87] = BBD + 1, [0x88] = BBD + 0, -+ -+ /* Left X/8 block (data is X) */ -+ [0x89] = BBL + 7, [0x8a] = BBL + 6, [0x8b] = BBL + 5, [0x8c] = BBL + 4, -+ [0x8d] = BBL + 3, [0x8e] = BBL + 2, [0x8f] = BBL + 1, -+ -+ /* upper 1/2 (4/8), 1/8 block (X), right 1/2, 1/8 block (8-X) */ -+ [0x80] = BBU + 4, [0x94] = BBU + 1, -+ [0x90] = BBR + 4, [0x95] = BBR + 7, -+ -+ /* Quadrants */ -+ [0x96] = BBQ + BL, -+ [0x97] = BBQ + BR, -+ [0x98] = BBQ + TL, -+ [0x99] = BBQ + TL + BL + BR, -+ [0x9a] = BBQ + TL + BR, -+ [0x9b] = BBQ + TL + TR + BL, -+ [0x9c] = BBQ + TL + TR + BR, -+ [0x9d] = BBQ + TR, -+ [0x9e] = BBQ + BL + TR, -+ [0x9f] = BBQ + BL + TR + BR, -+ -+ /* Shades, data is an alpha value in 25% units (1/4, 1/2, 3/4) */ -+ [0x91] = BBS + 1, [0x92] = BBS + 2, [0x93] = BBS + 3, -+ -+ /* U+2504 - U+250B, U+254C - U+254F: unsupported (dashes) */ -+ /* U+2571 - U+2573: unsupported (diagonals) */ -+}; -diff --git a/config.def.h b/config.def.h -index 91ab8ca..7bb3ff7 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -67,6 +67,18 @@ static unsigned int blinktimeout = 800; - */ - static unsigned int cursorthickness = 2; - -+/* -+ * 1: render most of the lines/blocks characters without using the font for -+ * perfect alignment between cells (U2500 - U259F except dashes/diagonals). -+ * Bold affects lines thickness if boxdraw_bold is not 0. Italic is ignored. -+ * 0: disable (render all U25XX glyphs normally from the font). -+ */ -+const int boxdraw = 0; -+const int boxdraw_bold = 0; -+ -+/* braille (U28XX): 1: render as adjacent "pixels", 0: use font */ -+const int boxdraw_braille = 0; -+ - /* - * bell volume. It must be a value between -100 and 100. Use 0 for disabling - * it -diff --git a/st.c b/st.c -index f43cfd3..baa2bed 100644 ---- a/st.c -+++ b/st.c -@@ -1214,6 +1214,9 @@ tsetchar(Rune u, const Glyph *attr, int x, int y) - term.dirty[y] = 1; - term.line[y][x] = *attr; - term.line[y][x].u = u; -+ -+ if (isboxdraw(u)) -+ term.line[y][x].mode |= ATTR_BOXDRAW; - } - - void -diff --git a/st.h b/st.h -index 519b9bd..07a7c66 100644 ---- a/st.h -+++ b/st.h -@@ -33,6 +33,7 @@ enum glyph_attribute { - ATTR_WRAP = 1 << 8, - ATTR_WIDE = 1 << 9, - ATTR_WDUMMY = 1 << 10, -+ ATTR_BOXDRAW = 1 << 11, - ATTR_BOLD_FAINT = ATTR_BOLD | ATTR_FAINT, - }; - -@@ -113,6 +114,14 @@ char *xstrdup(const char *); - - int xgetcolor(int x, unsigned char *r, unsigned char *g, unsigned char *b); - -+int isboxdraw(Rune); -+ushort boxdrawindex(const Glyph *); -+#ifdef XFT_VERSION -+/* only exposed to x.c, otherwise we'll need Xft.h for the types */ -+void boxdraw_xinit(Display *, Colormap, XftDraw *, Visual *); -+void drawboxes(int, int, int, int, XftColor *, XftColor *, const XftGlyphFontSpec *, int); -+#endif -+ - /* config.h globals */ - extern char *utmp; - extern char *scroll; -@@ -126,3 +135,4 @@ extern unsigned int tabspaces; - extern unsigned int defaultfg; - extern unsigned int defaultbg; - extern unsigned int defaultcs; -+extern const int boxdraw, boxdraw_bold, boxdraw_braille; -diff --git a/x.c b/x.c -index 2a3bd38..bf6bbf9 100644 ---- a/x.c -+++ b/x.c -@@ -1237,6 +1237,8 @@ xinit(int cols, int rows) - xsel.xtarget = XInternAtom(xw.dpy, "UTF8_STRING", 0); - if (xsel.xtarget == None) - xsel.xtarget = XA_STRING; -+ -+ boxdraw_xinit(xw.dpy, xw.cmap, xw.draw, xw.vis); - } - - int -@@ -1283,8 +1285,13 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x - yp = winy + font->ascent; - } - -- /* Lookup character index with default font. */ -- glyphidx = XftCharIndex(xw.dpy, font->match, rune); -+ if (mode & ATTR_BOXDRAW) { -+ /* minor shoehorning: boxdraw uses only this ushort */ -+ glyphidx = boxdrawindex(&glyphs[i]); -+ } else { -+ /* Lookup character index with default font. */ -+ glyphidx = XftCharIndex(xw.dpy, font->match, rune); -+ } - if (glyphidx) { - specs[numspecs].font = font->match; - specs[numspecs].glyph = glyphidx; -@@ -1488,8 +1495,12 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i - r.width = width; - XftDrawSetClipRectangles(xw.draw, winx, winy, &r, 1); - -- /* Render the glyphs. */ -- XftDrawGlyphFontSpec(xw.draw, fg, specs, len); -+ if (base.mode & ATTR_BOXDRAW) { -+ drawboxes(winx, winy, width / len, win.ch, fg, bg, specs, len); -+ } else { -+ /* Render the glyphs. */ -+ XftDrawGlyphFontSpec(xw.draw, fg, specs, len); -+ } - - /* Render underline and strikethrough. */ - if (base.mode & ATTR_UNDERLINE) { -@@ -1532,7 +1543,7 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) - /* - * Select the right color for the right mode. - */ -- g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE; -+ g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE|ATTR_BOXDRAW; - - if (IS_SET(MODE_REVERSE)) { - g.mode |= ATTR_REVERSE; --- -2.35.1 - diff --git a/programs/st/patches/st-desktopentry-0.8.5.diff b/programs/st/patches/st-desktopentry-0.8.5.diff deleted file mode 100644 index 1ed74263..00000000 --- a/programs/st/patches/st-desktopentry-0.8.5.diff +++ /dev/null @@ -1,68 +0,0 @@ -From af28f9df9b0194311c25d60a22d1ecd98bfad2e7 Mon Sep 17 00:00:00 2001 -From: aleks -Date: Tue, 31 May 2022 00:33:38 +0200 -Subject: [PATCH] Create a desktop-entry for st - -Enables to find st in a graphical menu and to display it with a nice -icon. - -If some applications still are not displaying an icon for st try the patch -[netwmicon](../netwmicon/). Programs like tint2 and alttab rely on a hardcoded -icon which has to be stored by st in the \_NET\_WM\_ICON window-property. ---- - Makefile | 3 +++ - config.mk | 1 + - st.desktop | 12 ++++++++++++ - 3 files changed, 16 insertions(+) - create mode 100644 st.desktop - -diff --git a/Makefile b/Makefile -index 470ac86..2121877 100644 ---- a/Makefile -+++ b/Makefile -@@ -49,9 +49,12 @@ install: st - chmod 644 $(DESTDIR)$(MANPREFIX)/man1/st.1 - tic -sx st.info - @echo Please see the README file regarding the terminfo entry of st. -+ mkdir -p $(DESTDIR)$(APPPREFIX) -+ cp -f st.desktop $(DESTDIR)$(APPPREFIX) - - uninstall: - rm -f $(DESTDIR)$(PREFIX)/bin/st -+ rm -f $(DESTDIR)$(APPPREFIX)/st.desktop - rm -f $(DESTDIR)$(MANPREFIX)/man1/st.1 - - .PHONY: all options clean dist install uninstall -diff --git a/config.mk b/config.mk -index 4c4c5d5..b79c517 100644 ---- a/config.mk -+++ b/config.mk -@@ -5,6 +5,7 @@ VERSION = 0.8.5 - - # paths - PREFIX = /usr/local -+APPPREFIX = $(PREFIX)/share/applications - MANPREFIX = $(PREFIX)/share/man - - X11INC = /usr/X11R6/include -diff --git a/st.desktop b/st.desktop -new file mode 100644 -index 0000000..2d2b76f ---- /dev/null -+++ b/st.desktop -@@ -0,0 +1,12 @@ -+[Desktop Entry] -+Type=Application -+Exec=st -+TryExec=st -+Icon=utilities-terminal -+Terminal=false -+Categories=System;TerminalEmulator; -+ -+Name=st -+GenericName=Terminal -+Comment=st is a simple terminal implementation for X -+StartupWMClass=st-256color --- -2.36.1 - diff --git a/programs/st/patches/st-gruvbox-dark-0.8.5.diff b/programs/st/patches/st-gruvbox-dark-0.8.5.diff deleted file mode 100644 index 9606c07d..00000000 --- a/programs/st/patches/st-gruvbox-dark-0.8.5.diff +++ /dev/null @@ -1,66 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index 91ab8ca..a068694 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -96,32 +96,24 @@ unsigned int tabspaces = 8; - /* Terminal colors (16 first used in escape sequence) */ - static const char *colorname[] = { - /* 8 normal colors */ -- "black", -- "red3", -- "green3", -- "yellow3", -- "blue2", -- "magenta3", -- "cyan3", -- "gray90", -+ [0] = "#282828", /* hard contrast: #1d2021 / soft contrast: #32302f */ -+ [1] = "#cc241d", /* red */ -+ [2] = "#98971a", /* green */ -+ [3] = "#d79921", /* yellow */ -+ [4] = "#458588", /* blue */ -+ [5] = "#b16286", /* magenta */ -+ [6] = "#689d6a", /* cyan */ -+ [7] = "#a89984", /* white */ - - /* 8 bright colors */ -- "gray50", -- "red", -- "green", -- "yellow", -- "#5c5cff", -- "magenta", -- "cyan", -- "white", -- -- [255] = 0, -- -- /* more colors can be added after 255 to use with DefaultXX */ -- "#cccccc", -- "#555555", -- "gray90", /* default foreground colour */ -- "black", /* default background colour */ -+ [8] = "#928374", /* black */ -+ [9] = "#fb4934", /* red */ -+ [10] = "#b8bb26", /* green */ -+ [11] = "#fabd2f", /* yellow */ -+ [12] = "#83a598", /* blue */ -+ [13] = "#d3869b", /* magenta */ -+ [14] = "#8ec07c", /* cyan */ -+ [15] = "#ebdbb2", /* white */ - }; - - -@@ -129,9 +121,9 @@ static const char *colorname[] = { - * Default colors (colorname index) - * foreground, background, cursor, reverse cursor - */ --unsigned int defaultfg = 258; --unsigned int defaultbg = 259; --unsigned int defaultcs = 256; -+unsigned int defaultfg = 15; -+unsigned int defaultbg = 0; -+unsigned int defaultcs = 15; - static unsigned int defaultrcs = 257; - - /* diff --git a/programs/st/st.1 b/programs/st/st.1 deleted file mode 100644 index 39120b48..00000000 --- a/programs/st/st.1 +++ /dev/null @@ -1,177 +0,0 @@ -.TH ST 1 st\-VERSION -.SH NAME -st \- simple terminal -.SH SYNOPSIS -.B st -.RB [ \-aiv ] -.RB [ \-c -.IR class ] -.RB [ \-f -.IR font ] -.RB [ \-g -.IR geometry ] -.RB [ \-n -.IR name ] -.RB [ \-o -.IR iofile ] -.RB [ \-T -.IR title ] -.RB [ \-t -.IR title ] -.RB [ \-l -.IR line ] -.RB [ \-w -.IR windowid ] -.RB [[ \-e ] -.IR command -.RI [ arguments ...]] -.PP -.B st -.RB [ \-aiv ] -.RB [ \-c -.IR class ] -.RB [ \-f -.IR font ] -.RB [ \-g -.IR geometry ] -.RB [ \-n -.IR name ] -.RB [ \-o -.IR iofile ] -.RB [ \-T -.IR title ] -.RB [ \-t -.IR title ] -.RB [ \-w -.IR windowid ] -.RB \-l -.IR line -.RI [ stty_args ...] -.SH DESCRIPTION -.B st -is a simple terminal emulator. -.SH OPTIONS -.TP -.B \-a -disable alternate screens in terminal -.TP -.BI \-c " class" -defines the window class (default $TERM). -.TP -.BI \-f " font" -defines the -.I font -to use when st is run. -.TP -.BI \-g " geometry" -defines the X11 geometry string. -The form is [=][{xX}][{+-}{+-}]. See -.BR XParseGeometry (3) -for further details. -.TP -.B \-i -will fixate the position given with the -g option. -.TP -.BI \-n " name" -defines the window instance name (default $TERM). -.TP -.BI \-o " iofile" -writes all the I/O to -.I iofile. -This feature is useful when recording st sessions. A value of "-" means -standard output. -.TP -.BI \-T " title" -defines the window title (default 'st'). -.TP -.BI \-t " title" -defines the window title (default 'st'). -.TP -.BI \-w " windowid" -embeds st within the window identified by -.I windowid -.TP -.BI \-l " line" -use a tty -.I line -instead of a pseudo terminal. -.I line -should be a (pseudo-)serial device (e.g. /dev/ttyS0 on Linux for serial port -0). -When this flag is given -remaining arguments are used as flags for -.BR stty(1). -By default st initializes the serial line to 8 bits, no parity, 1 stop bit -and a 38400 baud rate. The speed is set by appending it as last argument -(e.g. 'st -l /dev/ttyS0 115200'). Arguments before the last one are -.BR stty(1) -flags. If you want to set odd parity on 115200 baud use for example 'st -l -/dev/ttyS0 parenb parodd 115200'. Set the number of bits by using for -example 'st -l /dev/ttyS0 cs7 115200'. See -.BR stty(1) -for more arguments and cases. -.TP -.B \-v -prints version information to stderr, then exits. -.TP -.BI \-e " command " [ " arguments " "... ]" -st executes -.I command -instead of the shell. If this is used it -.B must be the last option -on the command line, as in xterm / rxvt. -This option is only intended for compatibility, -and all the remaining arguments are used as a command -even without it. -.SH SHORTCUTS -.TP -.B Break -Send a break in the serial line. -Break key is obtained in PC keyboards -pressing at the same time control and pause. -.TP -.B Ctrl-Print Screen -Toggle if st should print to the -.I iofile. -.TP -.B Shift-Print Screen -Print the full screen to the -.I iofile. -.TP -.B Print Screen -Print the selection to the -.I iofile. -.TP -.B Ctrl-Shift-Page Up -Increase font size. -.TP -.B Ctrl-Shift-Page Down -Decrease font size. -.TP -.B Ctrl-Shift-Home -Reset to default font size. -.TP -.B Ctrl-Shift-y -Paste from primary selection (middle mouse button). -.TP -.B Ctrl-Shift-c -Copy the selected text to the clipboard selection. -.TP -.B Ctrl-Shift-v -Paste from the clipboard selection. -.SH CUSTOMIZATION -.B st -can be customized by creating a custom config.h and (re)compiling the source -code. This keeps it fast, secure and simple. -.SH AUTHORS -See the LICENSE file for the authors. -.SH LICENSE -See the LICENSE file for the terms of redistribution. -.SH SEE ALSO -.BR tabbed (1), -.BR utmp (1), -.BR stty (1), -.BR scroll (1) -.SH BUGS -See the TODO file in the distribution. - diff --git a/programs/st/st.c b/programs/st/st.c deleted file mode 100644 index ec6fbf3f..00000000 --- a/programs/st/st.c +++ /dev/null @@ -1,2678 +0,0 @@ -/* See LICENSE for license details. */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "st.h" -#include "win.h" - -#if defined(__linux) - #include -#elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) - #include -#elif defined(__FreeBSD__) || defined(__DragonFly__) - #include -#endif - -/* Arbitrary sizes */ -#define UTF_INVALID 0xFFFD -#define UTF_SIZ 4 -#define ESC_BUF_SIZ (128*UTF_SIZ) -#define ESC_ARG_SIZ 16 -#define STR_BUF_SIZ ESC_BUF_SIZ -#define STR_ARG_SIZ ESC_ARG_SIZ - -/* macros */ -#define IS_SET(flag) ((term.mode & (flag)) != 0) -#define ISCONTROLC0(c) (BETWEEN(c, 0, 0x1f) || (c) == 0x7f) -#define ISCONTROLC1(c) (BETWEEN(c, 0x80, 0x9f)) -#define ISCONTROL(c) (ISCONTROLC0(c) || ISCONTROLC1(c)) -#define ISDELIM(u) (u && wcschr(worddelimiters, u)) - -enum term_mode { - MODE_WRAP = 1 << 0, - MODE_INSERT = 1 << 1, - MODE_ALTSCREEN = 1 << 2, - MODE_CRLF = 1 << 3, - MODE_ECHO = 1 << 4, - MODE_PRINT = 1 << 5, - MODE_UTF8 = 1 << 6, -}; - -enum cursor_movement { - CURSOR_SAVE, - CURSOR_LOAD -}; - -enum cursor_state { - CURSOR_DEFAULT = 0, - CURSOR_WRAPNEXT = 1, - CURSOR_ORIGIN = 2 -}; - -enum charset { - CS_GRAPHIC0, - CS_GRAPHIC1, - CS_UK, - CS_USA, - CS_MULTI, - CS_GER, - CS_FIN -}; - -enum escape_state { - ESC_START = 1, - ESC_CSI = 2, - ESC_STR = 4, /* DCS, OSC, PM, APC */ - ESC_ALTCHARSET = 8, - ESC_STR_END = 16, /* a final string was encountered */ - ESC_TEST = 32, /* Enter in test mode */ - ESC_UTF8 = 64, -}; - -typedef struct { - Glyph attr; /* current char attributes */ - int x; - int y; - char state; -} TCursor; - -typedef struct { - int mode; - int type; - int snap; - /* - * Selection variables: - * nb – normalized coordinates of the beginning of the selection - * ne – normalized coordinates of the end of the selection - * ob – original coordinates of the beginning of the selection - * oe – original coordinates of the end of the selection - */ - struct { - int x, y; - } nb, ne, ob, oe; - - int alt; -} Selection; - -/* Internal representation of the screen */ -typedef struct { - int row; /* nb row */ - int col; /* nb col */ - Line *line; /* screen */ - Line *alt; /* alternate screen */ - int *dirty; /* dirtyness of lines */ - TCursor c; /* cursor */ - int ocx; /* old cursor col */ - int ocy; /* old cursor row */ - int top; /* top scroll limit */ - int bot; /* bottom scroll limit */ - int mode; /* terminal mode flags */ - int esc; /* escape state flags */ - char trantbl[4]; /* charset table translation */ - int charset; /* current charset */ - int icharset; /* selected charset for sequence */ - int *tabs; - Rune lastc; /* last printed char outside of sequence, 0 if control */ -} Term; - -/* CSI Escape sequence structs */ -/* ESC '[' [[ [] [;]] []] */ -typedef struct { - char buf[ESC_BUF_SIZ]; /* raw string */ - size_t len; /* raw string length */ - char priv; - int arg[ESC_ARG_SIZ]; - int narg; /* nb of args */ - char mode[2]; -} CSIEscape; - -/* STR Escape sequence structs */ -/* ESC type [[ [] [;]] ] ESC '\' */ -typedef struct { - char type; /* ESC type ... */ - char *buf; /* allocated raw string */ - size_t siz; /* allocation size */ - size_t len; /* raw string length */ - char *args[STR_ARG_SIZ]; - int narg; /* nb of args */ -} STREscape; - -static void execsh(char *, char **); -static void stty(char **); -static void sigchld(int); -static void ttywriteraw(const char *, size_t); - -static void csidump(void); -static void csihandle(void); -static void csiparse(void); -static void csireset(void); -static void osc_color_response(int, int, int); -static int eschandle(uchar); -static void strdump(void); -static void strhandle(void); -static void strparse(void); -static void strreset(void); - -static void tprinter(char *, size_t); -static void tdumpsel(void); -static void tdumpline(int); -static void tdump(void); -static void tclearregion(int, int, int, int); -static void tcursor(int); -static void tdeletechar(int); -static void tdeleteline(int); -static void tinsertblank(int); -static void tinsertblankline(int); -static int tlinelen(int); -static void tmoveto(int, int); -static void tmoveato(int, int); -static void tnewline(int); -static void tputtab(int); -static void tputc(Rune); -static void treset(void); -static void tscrollup(int, int); -static void tscrolldown(int, int); -static void tsetattr(const int *, int); -static void tsetchar(Rune, const Glyph *, int, int); -static void tsetdirt(int, int); -static void tsetscroll(int, int); -static void tswapscreen(void); -static void tsetmode(int, int, const int *, int); -static int twrite(const char *, int, int); -static void tfulldirt(void); -static void tcontrolcode(uchar ); -static void tdectest(char ); -static void tdefutf8(char); -static int32_t tdefcolor(const int *, int *, int); -static void tdeftran(char); -static void tstrsequence(uchar); - -static void drawregion(int, int, int, int); - -static void selnormalize(void); -static void selscroll(int, int); -static void selsnap(int *, int *, int); - -static size_t utf8decode(const char *, Rune *, size_t); -static Rune utf8decodebyte(char, size_t *); -static char utf8encodebyte(Rune, size_t); -static size_t utf8validate(Rune *, size_t); - -static char *base64dec(const char *); -static char base64dec_getc(const char **); - -static ssize_t xwrite(int, const char *, size_t); - -/* Globals */ -static Term term; -static Selection sel; -static CSIEscape csiescseq; -static STREscape strescseq; -static int iofd = 1; -static int cmdfd; -static pid_t pid; - -static const uchar utfbyte[UTF_SIZ + 1] = {0x80, 0, 0xC0, 0xE0, 0xF0}; -static const uchar utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8}; -static const Rune utfmin[UTF_SIZ + 1] = { 0, 0, 0x80, 0x800, 0x10000}; -static const Rune utfmax[UTF_SIZ + 1] = {0x10FFFF, 0x7F, 0x7FF, 0xFFFF, 0x10FFFF}; - -ssize_t -xwrite(int fd, const char *s, size_t len) -{ - size_t aux = len; - ssize_t r; - - while (len > 0) { - r = write(fd, s, len); - if (r < 0) - return r; - len -= r; - s += r; - } - - return aux; -} - -void * -xmalloc(size_t len) -{ - void *p; - - if (!(p = malloc(len))) - die("malloc: %s\n", strerror(errno)); - - return p; -} - -void * -xrealloc(void *p, size_t len) -{ - if ((p = realloc(p, len)) == NULL) - die("realloc: %s\n", strerror(errno)); - - return p; -} - -char * -xstrdup(const char *s) -{ - char *p; - - if ((p = strdup(s)) == NULL) - die("strdup: %s\n", strerror(errno)); - - return p; -} - -size_t -utf8decode(const char *c, Rune *u, size_t clen) -{ - size_t i, j, len, type; - Rune udecoded; - - *u = UTF_INVALID; - if (!clen) - return 0; - udecoded = utf8decodebyte(c[0], &len); - if (!BETWEEN(len, 1, UTF_SIZ)) - return 1; - for (i = 1, j = 1; i < clen && j < len; ++i, ++j) { - udecoded = (udecoded << 6) | utf8decodebyte(c[i], &type); - if (type != 0) - return j; - } - if (j < len) - return 0; - *u = udecoded; - utf8validate(u, len); - - return len; -} - -Rune -utf8decodebyte(char c, size_t *i) -{ - for (*i = 0; *i < LEN(utfmask); ++(*i)) - if (((uchar)c & utfmask[*i]) == utfbyte[*i]) - return (uchar)c & ~utfmask[*i]; - - return 0; -} - -size_t -utf8encode(Rune u, char *c) -{ - size_t len, i; - - len = utf8validate(&u, 0); - if (len > UTF_SIZ) - return 0; - - for (i = len - 1; i != 0; --i) { - c[i] = utf8encodebyte(u, 0); - u >>= 6; - } - c[0] = utf8encodebyte(u, len); - - return len; -} - -char -utf8encodebyte(Rune u, size_t i) -{ - return utfbyte[i] | (u & ~utfmask[i]); -} - -size_t -utf8validate(Rune *u, size_t i) -{ - if (!BETWEEN(*u, utfmin[i], utfmax[i]) || BETWEEN(*u, 0xD800, 0xDFFF)) - *u = UTF_INVALID; - for (i = 1; *u > utfmax[i]; ++i) - ; - - return i; -} - -char -base64dec_getc(const char **src) -{ - while (**src && !isprint((unsigned char)**src)) - (*src)++; - return **src ? *((*src)++) : '='; /* emulate padding if string ends */ -} - -char * -base64dec(const char *src) -{ - size_t in_len = strlen(src); - char *result, *dst; - static const char base64_digits[256] = { - [43] = 62, 0, 0, 0, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 0, 0, 0, -1, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, - 0, 0, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 - }; - - if (in_len % 4) - in_len += 4 - (in_len % 4); - result = dst = xmalloc(in_len / 4 * 3 + 1); - while (*src) { - int a = base64_digits[(unsigned char) base64dec_getc(&src)]; - int b = base64_digits[(unsigned char) base64dec_getc(&src)]; - int c = base64_digits[(unsigned char) base64dec_getc(&src)]; - int d = base64_digits[(unsigned char) base64dec_getc(&src)]; - - /* invalid input. 'a' can be -1, e.g. if src is "\n" (c-str) */ - if (a == -1 || b == -1) - break; - - *dst++ = (a << 2) | ((b & 0x30) >> 4); - if (c == -1) - break; - *dst++ = ((b & 0x0f) << 4) | ((c & 0x3c) >> 2); - if (d == -1) - break; - *dst++ = ((c & 0x03) << 6) | d; - } - *dst = '\0'; - return result; -} - -void -selinit(void) -{ - sel.mode = SEL_IDLE; - sel.snap = 0; - sel.ob.x = -1; -} - -int -tlinelen(int y) -{ - int i = term.col; - - if (term.line[y][i - 1].mode & ATTR_WRAP) - return i; - - while (i > 0 && term.line[y][i - 1].u == ' ') - --i; - - return i; -} - -void -selstart(int col, int row, int snap) -{ - selclear(); - sel.mode = SEL_EMPTY; - sel.type = SEL_REGULAR; - sel.alt = IS_SET(MODE_ALTSCREEN); - sel.snap = snap; - sel.oe.x = sel.ob.x = col; - sel.oe.y = sel.ob.y = row; - selnormalize(); - - if (sel.snap != 0) - sel.mode = SEL_READY; - tsetdirt(sel.nb.y, sel.ne.y); -} - -void -selextend(int col, int row, int type, int done) -{ - int oldey, oldex, oldsby, oldsey, oldtype; - - if (sel.mode == SEL_IDLE) - return; - if (done && sel.mode == SEL_EMPTY) { - selclear(); - return; - } - - oldey = sel.oe.y; - oldex = sel.oe.x; - oldsby = sel.nb.y; - oldsey = sel.ne.y; - oldtype = sel.type; - - sel.oe.x = col; - sel.oe.y = row; - selnormalize(); - sel.type = type; - - if (oldey != sel.oe.y || oldex != sel.oe.x || oldtype != sel.type || sel.mode == SEL_EMPTY) - tsetdirt(MIN(sel.nb.y, oldsby), MAX(sel.ne.y, oldsey)); - - sel.mode = done ? SEL_IDLE : SEL_READY; -} - -void -selnormalize(void) -{ - int i; - - if (sel.type == SEL_REGULAR && sel.ob.y != sel.oe.y) { - sel.nb.x = sel.ob.y < sel.oe.y ? sel.ob.x : sel.oe.x; - sel.ne.x = sel.ob.y < sel.oe.y ? sel.oe.x : sel.ob.x; - } else { - sel.nb.x = MIN(sel.ob.x, sel.oe.x); - sel.ne.x = MAX(sel.ob.x, sel.oe.x); - } - sel.nb.y = MIN(sel.ob.y, sel.oe.y); - sel.ne.y = MAX(sel.ob.y, sel.oe.y); - - selsnap(&sel.nb.x, &sel.nb.y, -1); - selsnap(&sel.ne.x, &sel.ne.y, +1); - - /* expand selection over line breaks */ - if (sel.type == SEL_RECTANGULAR) - return; - i = tlinelen(sel.nb.y); - if (i < sel.nb.x) - sel.nb.x = i; - if (tlinelen(sel.ne.y) <= sel.ne.x) - sel.ne.x = term.col - 1; -} - -int -selected(int x, int y) -{ - if (sel.mode == SEL_EMPTY || sel.ob.x == -1 || - sel.alt != IS_SET(MODE_ALTSCREEN)) - return 0; - - if (sel.type == SEL_RECTANGULAR) - return BETWEEN(y, sel.nb.y, sel.ne.y) - && BETWEEN(x, sel.nb.x, sel.ne.x); - - return BETWEEN(y, sel.nb.y, sel.ne.y) - && (y != sel.nb.y || x >= sel.nb.x) - && (y != sel.ne.y || x <= sel.ne.x); -} - -void -selsnap(int *x, int *y, int direction) -{ - int newx, newy, xt, yt; - int delim, prevdelim; - const Glyph *gp, *prevgp; - - switch (sel.snap) { - case SNAP_WORD: - /* - * Snap around if the word wraps around at the end or - * beginning of a line. - */ - prevgp = &term.line[*y][*x]; - prevdelim = ISDELIM(prevgp->u); - for (;;) { - newx = *x + direction; - newy = *y; - if (!BETWEEN(newx, 0, term.col - 1)) { - newy += direction; - newx = (newx + term.col) % term.col; - if (!BETWEEN(newy, 0, term.row - 1)) - break; - - if (direction > 0) - yt = *y, xt = *x; - else - yt = newy, xt = newx; - if (!(term.line[yt][xt].mode & ATTR_WRAP)) - break; - } - - if (newx >= tlinelen(newy)) - break; - - gp = &term.line[newy][newx]; - delim = ISDELIM(gp->u); - if (!(gp->mode & ATTR_WDUMMY) && (delim != prevdelim - || (delim && gp->u != prevgp->u))) - break; - - *x = newx; - *y = newy; - prevgp = gp; - prevdelim = delim; - } - break; - case SNAP_LINE: - /* - * Snap around if the the previous line or the current one - * has set ATTR_WRAP at its end. Then the whole next or - * previous line will be selected. - */ - *x = (direction < 0) ? 0 : term.col - 1; - if (direction < 0) { - for (; *y > 0; *y += direction) { - if (!(term.line[*y-1][term.col-1].mode - & ATTR_WRAP)) { - break; - } - } - } else if (direction > 0) { - for (; *y < term.row-1; *y += direction) { - if (!(term.line[*y][term.col-1].mode - & ATTR_WRAP)) { - break; - } - } - } - break; - } -} - -char * -getsel(void) -{ - char *str, *ptr; - int y, bufsize, lastx, linelen; - const Glyph *gp, *last; - - if (sel.ob.x == -1) - return NULL; - - bufsize = (term.col+1) * (sel.ne.y-sel.nb.y+1) * UTF_SIZ; - ptr = str = xmalloc(bufsize); - - /* append every set & selected glyph to the selection */ - for (y = sel.nb.y; y <= sel.ne.y; y++) { - if ((linelen = tlinelen(y)) == 0) { - *ptr++ = '\n'; - continue; - } - - if (sel.type == SEL_RECTANGULAR) { - gp = &term.line[y][sel.nb.x]; - lastx = sel.ne.x; - } else { - gp = &term.line[y][sel.nb.y == y ? sel.nb.x : 0]; - lastx = (sel.ne.y == y) ? sel.ne.x : term.col-1; - } - last = &term.line[y][MIN(lastx, linelen-1)]; - while (last >= gp && last->u == ' ') - --last; - - for ( ; gp <= last; ++gp) { - if (gp->mode & ATTR_WDUMMY) - continue; - - ptr += utf8encode(gp->u, ptr); - } - - /* - * Copy and pasting of line endings is inconsistent - * in the inconsistent terminal and GUI world. - * The best solution seems like to produce '\n' when - * something is copied from st and convert '\n' to - * '\r', when something to be pasted is received by - * st. - * FIXME: Fix the computer world. - */ - if ((y < sel.ne.y || lastx >= linelen) && - (!(last->mode & ATTR_WRAP) || sel.type == SEL_RECTANGULAR)) - *ptr++ = '\n'; - } - *ptr = 0; - return str; -} - -void -selclear(void) -{ - if (sel.ob.x == -1) - return; - sel.mode = SEL_IDLE; - sel.ob.x = -1; - tsetdirt(sel.nb.y, sel.ne.y); -} - -void -die(const char *errstr, ...) -{ - va_list ap; - - va_start(ap, errstr); - vfprintf(stderr, errstr, ap); - va_end(ap); - exit(1); -} - -void -execsh(char *cmd, char **args) -{ - char *sh, *prog, *arg; - const struct passwd *pw; - - errno = 0; - if ((pw = getpwuid(getuid())) == NULL) { - if (errno) - die("getpwuid: %s\n", strerror(errno)); - else - die("who are you?\n"); - } - - if ((sh = getenv("SHELL")) == NULL) - sh = (pw->pw_shell[0]) ? pw->pw_shell : cmd; - - if (args) { - prog = args[0]; - arg = NULL; - } else if (scroll) { - prog = scroll; - arg = utmp ? utmp : sh; - } else if (utmp) { - prog = utmp; - arg = NULL; - } else { - prog = sh; - arg = NULL; - } - DEFAULT(args, ((char *[]) {prog, arg, NULL})); - - unsetenv("COLUMNS"); - unsetenv("LINES"); - unsetenv("TERMCAP"); - setenv("LOGNAME", pw->pw_name, 1); - setenv("USER", pw->pw_name, 1); - setenv("SHELL", sh, 1); - setenv("HOME", pw->pw_dir, 1); - setenv("TERM", termname, 1); - - signal(SIGCHLD, SIG_DFL); - signal(SIGHUP, SIG_DFL); - signal(SIGINT, SIG_DFL); - signal(SIGQUIT, SIG_DFL); - signal(SIGTERM, SIG_DFL); - signal(SIGALRM, SIG_DFL); - - execvp(prog, args); - _exit(1); -} - -void -sigchld(int a) -{ - int stat; - pid_t p; - - if ((p = waitpid(pid, &stat, WNOHANG)) < 0) - die("waiting for pid %hd failed: %s\n", pid, strerror(errno)); - - if (pid != p) - return; - - if (WIFEXITED(stat) && WEXITSTATUS(stat)) - die("child exited with status %d\n", WEXITSTATUS(stat)); - else if (WIFSIGNALED(stat)) - die("child terminated due to signal %d\n", WTERMSIG(stat)); - _exit(0); -} - -void -stty(char **args) -{ - char cmd[_POSIX_ARG_MAX], **p, *q, *s; - size_t n, siz; - - if ((n = strlen(stty_args)) > sizeof(cmd)-1) - die("incorrect stty parameters\n"); - memcpy(cmd, stty_args, n); - q = cmd + n; - siz = sizeof(cmd) - n; - for (p = args; p && (s = *p); ++p) { - if ((n = strlen(s)) > siz-1) - die("stty parameter length too long\n"); - *q++ = ' '; - memcpy(q, s, n); - q += n; - siz -= n + 1; - } - *q = '\0'; - if (system(cmd) != 0) - perror("Couldn't call stty"); -} - -int -ttynew(const char *line, char *cmd, const char *out, char **args) -{ - int m, s; - - if (out) { - term.mode |= MODE_PRINT; - iofd = (!strcmp(out, "-")) ? - 1 : open(out, O_WRONLY | O_CREAT, 0666); - if (iofd < 0) { - fprintf(stderr, "Error opening %s:%s\n", - out, strerror(errno)); - } - } - - if (line) { - if ((cmdfd = open(line, O_RDWR)) < 0) - die("open line '%s' failed: %s\n", - line, strerror(errno)); - dup2(cmdfd, 0); - stty(args); - return cmdfd; - } - - /* seems to work fine on linux, openbsd and freebsd */ - if (openpty(&m, &s, NULL, NULL, NULL) < 0) - die("openpty failed: %s\n", strerror(errno)); - - switch (pid = fork()) { - case -1: - die("fork failed: %s\n", strerror(errno)); - break; - case 0: - close(iofd); - close(m); - setsid(); /* create a new process group */ - dup2(s, 0); - dup2(s, 1); - dup2(s, 2); - if (ioctl(s, TIOCSCTTY, NULL) < 0) - die("ioctl TIOCSCTTY failed: %s\n", strerror(errno)); - if (s > 2) - close(s); -#ifdef __OpenBSD__ - if (pledge("stdio getpw proc exec", NULL) == -1) - die("pledge\n"); -#endif - execsh(cmd, args); - break; - default: -#ifdef __OpenBSD__ - if (pledge("stdio rpath tty proc", NULL) == -1) - die("pledge\n"); -#endif - close(s); - cmdfd = m; - signal(SIGCHLD, sigchld); - break; - } - return cmdfd; -} - -size_t -ttyread(void) -{ - static char buf[BUFSIZ]; - static int buflen = 0; - int ret, written; - - /* append read bytes to unprocessed bytes */ - ret = read(cmdfd, buf+buflen, LEN(buf)-buflen); - - switch (ret) { - case 0: - exit(0); - case -1: - die("couldn't read from shell: %s\n", strerror(errno)); - default: - buflen += ret; - written = twrite(buf, buflen, 0); - buflen -= written; - /* keep any incomplete UTF-8 byte sequence for the next call */ - if (buflen > 0) - memmove(buf, buf + written, buflen); - return ret; - } -} - -void -ttywrite(const char *s, size_t n, int may_echo) -{ - const char *next; - - if (may_echo && IS_SET(MODE_ECHO)) - twrite(s, n, 1); - - if (!IS_SET(MODE_CRLF)) { - ttywriteraw(s, n); - return; - } - - /* This is similar to how the kernel handles ONLCR for ttys */ - while (n > 0) { - if (*s == '\r') { - next = s + 1; - ttywriteraw("\r\n", 2); - } else { - next = memchr(s, '\r', n); - DEFAULT(next, s + n); - ttywriteraw(s, next - s); - } - n -= next - s; - s = next; - } -} - -void -ttywriteraw(const char *s, size_t n) -{ - fd_set wfd, rfd; - ssize_t r; - size_t lim = 256; - - /* - * Remember that we are using a pty, which might be a modem line. - * Writing too much will clog the line. That's why we are doing this - * dance. - * FIXME: Migrate the world to Plan 9. - */ - while (n > 0) { - FD_ZERO(&wfd); - FD_ZERO(&rfd); - FD_SET(cmdfd, &wfd); - FD_SET(cmdfd, &rfd); - - /* Check if we can write. */ - if (pselect(cmdfd+1, &rfd, &wfd, NULL, NULL, NULL) < 0) { - if (errno == EINTR) - continue; - die("select failed: %s\n", strerror(errno)); - } - if (FD_ISSET(cmdfd, &wfd)) { - /* - * Only write the bytes written by ttywrite() or the - * default of 256. This seems to be a reasonable value - * for a serial line. Bigger values might clog the I/O. - */ - if ((r = write(cmdfd, s, (n < lim)? n : lim)) < 0) - goto write_error; - if (r < n) { - /* - * We weren't able to write out everything. - * This means the buffer is getting full - * again. Empty it. - */ - if (n < lim) - lim = ttyread(); - n -= r; - s += r; - } else { - /* All bytes have been written. */ - break; - } - } - if (FD_ISSET(cmdfd, &rfd)) - lim = ttyread(); - } - return; - -write_error: - die("write error on tty: %s\n", strerror(errno)); -} - -void -ttyresize(int tw, int th) -{ - struct winsize w; - - w.ws_row = term.row; - w.ws_col = term.col; - w.ws_xpixel = tw; - w.ws_ypixel = th; - if (ioctl(cmdfd, TIOCSWINSZ, &w) < 0) - fprintf(stderr, "Couldn't set window size: %s\n", strerror(errno)); -} - -void -ttyhangup(void) -{ - /* Send SIGHUP to shell */ - kill(pid, SIGHUP); -} - -int -tattrset(int attr) -{ - int i, j; - - for (i = 0; i < term.row-1; i++) { - for (j = 0; j < term.col-1; j++) { - if (term.line[i][j].mode & attr) - return 1; - } - } - - return 0; -} - -void -tsetdirt(int top, int bot) -{ - int i; - - LIMIT(top, 0, term.row-1); - LIMIT(bot, 0, term.row-1); - - for (i = top; i <= bot; i++) - term.dirty[i] = 1; -} - -void -tsetdirtattr(int attr) -{ - int i, j; - - for (i = 0; i < term.row-1; i++) { - for (j = 0; j < term.col-1; j++) { - if (term.line[i][j].mode & attr) { - tsetdirt(i, i); - break; - } - } - } -} - -void -tfulldirt(void) -{ - tsetdirt(0, term.row-1); -} - -void -tcursor(int mode) -{ - static TCursor c[2]; - int alt = IS_SET(MODE_ALTSCREEN); - - if (mode == CURSOR_SAVE) { - c[alt] = term.c; - } else if (mode == CURSOR_LOAD) { - term.c = c[alt]; - tmoveto(c[alt].x, c[alt].y); - } -} - -void -treset(void) -{ - uint i; - - term.c = (TCursor){{ - .mode = ATTR_NULL, - .fg = defaultfg, - .bg = defaultbg - }, .x = 0, .y = 0, .state = CURSOR_DEFAULT}; - - memset(term.tabs, 0, term.col * sizeof(*term.tabs)); - for (i = tabspaces; i < term.col; i += tabspaces) - term.tabs[i] = 1; - term.top = 0; - term.bot = term.row - 1; - term.mode = MODE_WRAP|MODE_UTF8; - memset(term.trantbl, CS_USA, sizeof(term.trantbl)); - term.charset = 0; - - for (i = 0; i < 2; i++) { - tmoveto(0, 0); - tcursor(CURSOR_SAVE); - tclearregion(0, 0, term.col-1, term.row-1); - tswapscreen(); - } -} - -void -tnew(int col, int row) -{ - term = (Term){ .c = { .attr = { .fg = defaultfg, .bg = defaultbg } } }; - tresize(col, row); - treset(); -} - -void -tswapscreen(void) -{ - Line *tmp = term.line; - - term.line = term.alt; - term.alt = tmp; - term.mode ^= MODE_ALTSCREEN; - tfulldirt(); -} - -void -tscrolldown(int orig, int n) -{ - int i; - Line temp; - - LIMIT(n, 0, term.bot-orig+1); - - tsetdirt(orig, term.bot-n); - tclearregion(0, term.bot-n+1, term.col-1, term.bot); - - for (i = term.bot; i >= orig+n; i--) { - temp = term.line[i]; - term.line[i] = term.line[i-n]; - term.line[i-n] = temp; - } - - selscroll(orig, n); -} - -void -tscrollup(int orig, int n) -{ - int i; - Line temp; - - LIMIT(n, 0, term.bot-orig+1); - - tclearregion(0, orig, term.col-1, orig+n-1); - tsetdirt(orig+n, term.bot); - - for (i = orig; i <= term.bot-n; i++) { - temp = term.line[i]; - term.line[i] = term.line[i+n]; - term.line[i+n] = temp; - } - - selscroll(orig, -n); -} - -void -selscroll(int orig, int n) -{ - if (sel.ob.x == -1 || sel.alt != IS_SET(MODE_ALTSCREEN)) - return; - - if (BETWEEN(sel.nb.y, orig, term.bot) != BETWEEN(sel.ne.y, orig, term.bot)) { - selclear(); - } else if (BETWEEN(sel.nb.y, orig, term.bot)) { - sel.ob.y += n; - sel.oe.y += n; - if (sel.ob.y < term.top || sel.ob.y > term.bot || - sel.oe.y < term.top || sel.oe.y > term.bot) { - selclear(); - } else { - selnormalize(); - } - } -} - -void -tnewline(int first_col) -{ - int y = term.c.y; - - if (y == term.bot) { - tscrollup(term.top, 1); - } else { - y++; - } - tmoveto(first_col ? 0 : term.c.x, y); -} - -void -csiparse(void) -{ - char *p = csiescseq.buf, *np; - long int v; - - csiescseq.narg = 0; - if (*p == '?') { - csiescseq.priv = 1; - p++; - } - - csiescseq.buf[csiescseq.len] = '\0'; - while (p < csiescseq.buf+csiescseq.len) { - np = NULL; - v = strtol(p, &np, 10); - if (np == p) - v = 0; - if (v == LONG_MAX || v == LONG_MIN) - v = -1; - csiescseq.arg[csiescseq.narg++] = v; - p = np; - if (*p != ';' || csiescseq.narg == ESC_ARG_SIZ) - break; - p++; - } - csiescseq.mode[0] = *p++; - csiescseq.mode[1] = (p < csiescseq.buf+csiescseq.len) ? *p : '\0'; -} - -/* for absolute user moves, when decom is set */ -void -tmoveato(int x, int y) -{ - tmoveto(x, y + ((term.c.state & CURSOR_ORIGIN) ? term.top: 0)); -} - -void -tmoveto(int x, int y) -{ - int miny, maxy; - - if (term.c.state & CURSOR_ORIGIN) { - miny = term.top; - maxy = term.bot; - } else { - miny = 0; - maxy = term.row - 1; - } - term.c.state &= ~CURSOR_WRAPNEXT; - term.c.x = LIMIT(x, 0, term.col-1); - term.c.y = LIMIT(y, miny, maxy); -} - -void -tsetchar(Rune u, const Glyph *attr, int x, int y) -{ - static const char *vt100_0[62] = { /* 0x41 - 0x7e */ - "↑", "↓", "→", "←", "█", "▚", "☃", /* A - G */ - 0, 0, 0, 0, 0, 0, 0, 0, /* H - O */ - 0, 0, 0, 0, 0, 0, 0, 0, /* P - W */ - 0, 0, 0, 0, 0, 0, 0, " ", /* X - _ */ - "◆", "▒", "␉", "␌", "␍", "␊", "°", "±", /* ` - g */ - "␤", "␋", "┘", "┐", "┌", "└", "┼", "⎺", /* h - o */ - "⎻", "─", "⎼", "⎽", "├", "┤", "┴", "┬", /* p - w */ - "│", "≤", "≥", "π", "≠", "£", "·", /* x - ~ */ - }; - - /* - * The table is proudly stolen from rxvt. - */ - if (term.trantbl[term.charset] == CS_GRAPHIC0 && - BETWEEN(u, 0x41, 0x7e) && vt100_0[u - 0x41]) - utf8decode(vt100_0[u - 0x41], &u, UTF_SIZ); - - if (term.line[y][x].mode & ATTR_WIDE) { - if (x+1 < term.col) { - term.line[y][x+1].u = ' '; - term.line[y][x+1].mode &= ~ATTR_WDUMMY; - } - } else if (term.line[y][x].mode & ATTR_WDUMMY) { - term.line[y][x-1].u = ' '; - term.line[y][x-1].mode &= ~ATTR_WIDE; - } - - term.dirty[y] = 1; - term.line[y][x] = *attr; - term.line[y][x].u = u; - - if (isboxdraw(u)) - term.line[y][x].mode |= ATTR_BOXDRAW; -} - -void -tclearregion(int x1, int y1, int x2, int y2) -{ - int x, y, temp; - Glyph *gp; - - if (x1 > x2) - temp = x1, x1 = x2, x2 = temp; - if (y1 > y2) - temp = y1, y1 = y2, y2 = temp; - - LIMIT(x1, 0, term.col-1); - LIMIT(x2, 0, term.col-1); - LIMIT(y1, 0, term.row-1); - LIMIT(y2, 0, term.row-1); - - for (y = y1; y <= y2; y++) { - term.dirty[y] = 1; - for (x = x1; x <= x2; x++) { - gp = &term.line[y][x]; - if (selected(x, y)) - selclear(); - gp->fg = term.c.attr.fg; - gp->bg = term.c.attr.bg; - gp->mode = 0; - gp->u = ' '; - } - } -} - -void -tdeletechar(int n) -{ - int dst, src, size; - Glyph *line; - - LIMIT(n, 0, term.col - term.c.x); - - dst = term.c.x; - src = term.c.x + n; - size = term.col - src; - line = term.line[term.c.y]; - - memmove(&line[dst], &line[src], size * sizeof(Glyph)); - tclearregion(term.col-n, term.c.y, term.col-1, term.c.y); -} - -void -tinsertblank(int n) -{ - int dst, src, size; - Glyph *line; - - LIMIT(n, 0, term.col - term.c.x); - - dst = term.c.x + n; - src = term.c.x; - size = term.col - dst; - line = term.line[term.c.y]; - - memmove(&line[dst], &line[src], size * sizeof(Glyph)); - tclearregion(src, term.c.y, dst - 1, term.c.y); -} - -void -tinsertblankline(int n) -{ - if (BETWEEN(term.c.y, term.top, term.bot)) - tscrolldown(term.c.y, n); -} - -void -tdeleteline(int n) -{ - if (BETWEEN(term.c.y, term.top, term.bot)) - tscrollup(term.c.y, n); -} - -int32_t -tdefcolor(const int *attr, int *npar, int l) -{ - int32_t idx = -1; - uint r, g, b; - - switch (attr[*npar + 1]) { - case 2: /* direct color in RGB space */ - if (*npar + 4 >= l) { - fprintf(stderr, - "erresc(38): Incorrect number of parameters (%d)\n", - *npar); - break; - } - r = attr[*npar + 2]; - g = attr[*npar + 3]; - b = attr[*npar + 4]; - *npar += 4; - if (!BETWEEN(r, 0, 255) || !BETWEEN(g, 0, 255) || !BETWEEN(b, 0, 255)) - fprintf(stderr, "erresc: bad rgb color (%u,%u,%u)\n", - r, g, b); - else - idx = TRUECOLOR(r, g, b); - break; - case 5: /* indexed color */ - if (*npar + 2 >= l) { - fprintf(stderr, - "erresc(38): Incorrect number of parameters (%d)\n", - *npar); - break; - } - *npar += 2; - if (!BETWEEN(attr[*npar], 0, 255)) - fprintf(stderr, "erresc: bad fgcolor %d\n", attr[*npar]); - else - idx = attr[*npar]; - break; - case 0: /* implemented defined (only foreground) */ - case 1: /* transparent */ - case 3: /* direct color in CMY space */ - case 4: /* direct color in CMYK space */ - default: - fprintf(stderr, - "erresc(38): gfx attr %d unknown\n", attr[*npar]); - break; - } - - return idx; -} - -void -tsetattr(const int *attr, int l) -{ - int i; - int32_t idx; - - for (i = 0; i < l; i++) { - switch (attr[i]) { - case 0: - term.c.attr.mode &= ~( - ATTR_BOLD | - ATTR_FAINT | - ATTR_ITALIC | - ATTR_UNDERLINE | - ATTR_BLINK | - ATTR_REVERSE | - ATTR_INVISIBLE | - ATTR_STRUCK ); - term.c.attr.fg = defaultfg; - term.c.attr.bg = defaultbg; - break; - case 1: - term.c.attr.mode |= ATTR_BOLD; - break; - case 2: - term.c.attr.mode |= ATTR_FAINT; - break; - case 3: - term.c.attr.mode |= ATTR_ITALIC; - break; - case 4: - term.c.attr.mode |= ATTR_UNDERLINE; - break; - case 5: /* slow blink */ - /* FALLTHROUGH */ - case 6: /* rapid blink */ - term.c.attr.mode |= ATTR_BLINK; - break; - case 7: - term.c.attr.mode |= ATTR_REVERSE; - break; - case 8: - term.c.attr.mode |= ATTR_INVISIBLE; - break; - case 9: - term.c.attr.mode |= ATTR_STRUCK; - break; - case 22: - term.c.attr.mode &= ~(ATTR_BOLD | ATTR_FAINT); - break; - case 23: - term.c.attr.mode &= ~ATTR_ITALIC; - break; - case 24: - term.c.attr.mode &= ~ATTR_UNDERLINE; - break; - case 25: - term.c.attr.mode &= ~ATTR_BLINK; - break; - case 27: - term.c.attr.mode &= ~ATTR_REVERSE; - break; - case 28: - term.c.attr.mode &= ~ATTR_INVISIBLE; - break; - case 29: - term.c.attr.mode &= ~ATTR_STRUCK; - break; - case 38: - if ((idx = tdefcolor(attr, &i, l)) >= 0) - term.c.attr.fg = idx; - break; - case 39: - term.c.attr.fg = defaultfg; - break; - case 48: - if ((idx = tdefcolor(attr, &i, l)) >= 0) - term.c.attr.bg = idx; - break; - case 49: - term.c.attr.bg = defaultbg; - break; - default: - if (BETWEEN(attr[i], 30, 37)) { - term.c.attr.fg = attr[i] - 30; - } else if (BETWEEN(attr[i], 40, 47)) { - term.c.attr.bg = attr[i] - 40; - } else if (BETWEEN(attr[i], 90, 97)) { - term.c.attr.fg = attr[i] - 90 + 8; - } else if (BETWEEN(attr[i], 100, 107)) { - term.c.attr.bg = attr[i] - 100 + 8; - } else { - fprintf(stderr, - "erresc(default): gfx attr %d unknown\n", - attr[i]); - csidump(); - } - break; - } - } -} - -void -tsetscroll(int t, int b) -{ - int temp; - - LIMIT(t, 0, term.row-1); - LIMIT(b, 0, term.row-1); - if (t > b) { - temp = t; - t = b; - b = temp; - } - term.top = t; - term.bot = b; -} - -void -tsetmode(int priv, int set, const int *args, int narg) -{ - int alt; const int *lim; - - for (lim = args + narg; args < lim; ++args) { - if (priv) { - switch (*args) { - case 1: /* DECCKM -- Cursor key */ - xsetmode(set, MODE_APPCURSOR); - break; - case 5: /* DECSCNM -- Reverse video */ - xsetmode(set, MODE_REVERSE); - break; - case 6: /* DECOM -- Origin */ - MODBIT(term.c.state, set, CURSOR_ORIGIN); - tmoveato(0, 0); - break; - case 7: /* DECAWM -- Auto wrap */ - MODBIT(term.mode, set, MODE_WRAP); - break; - case 0: /* Error (IGNORED) */ - case 2: /* DECANM -- ANSI/VT52 (IGNORED) */ - case 3: /* DECCOLM -- Column (IGNORED) */ - case 4: /* DECSCLM -- Scroll (IGNORED) */ - case 8: /* DECARM -- Auto repeat (IGNORED) */ - case 18: /* DECPFF -- Printer feed (IGNORED) */ - case 19: /* DECPEX -- Printer extent (IGNORED) */ - case 42: /* DECNRCM -- National characters (IGNORED) */ - case 12: /* att610 -- Start blinking cursor (IGNORED) */ - break; - case 25: /* DECTCEM -- Text Cursor Enable Mode */ - xsetmode(!set, MODE_HIDE); - break; - case 9: /* X10 mouse compatibility mode */ - xsetpointermotion(0); - xsetmode(0, MODE_MOUSE); - xsetmode(set, MODE_MOUSEX10); - break; - case 1000: /* 1000: report button press */ - xsetpointermotion(0); - xsetmode(0, MODE_MOUSE); - xsetmode(set, MODE_MOUSEBTN); - break; - case 1002: /* 1002: report motion on button press */ - xsetpointermotion(0); - xsetmode(0, MODE_MOUSE); - xsetmode(set, MODE_MOUSEMOTION); - break; - case 1003: /* 1003: enable all mouse motions */ - xsetpointermotion(set); - xsetmode(0, MODE_MOUSE); - xsetmode(set, MODE_MOUSEMANY); - break; - case 1004: /* 1004: send focus events to tty */ - xsetmode(set, MODE_FOCUS); - break; - case 1006: /* 1006: extended reporting mode */ - xsetmode(set, MODE_MOUSESGR); - break; - case 1034: - xsetmode(set, MODE_8BIT); - break; - case 1049: /* swap screen & set/restore cursor as xterm */ - if (!allowaltscreen) - break; - tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD); - /* FALLTHROUGH */ - case 47: /* swap screen */ - case 1047: - if (!allowaltscreen) - break; - alt = IS_SET(MODE_ALTSCREEN); - if (alt) { - tclearregion(0, 0, term.col-1, - term.row-1); - } - if (set ^ alt) /* set is always 1 or 0 */ - tswapscreen(); - if (*args != 1049) - break; - /* FALLTHROUGH */ - case 1048: - tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD); - break; - case 2004: /* 2004: bracketed paste mode */ - xsetmode(set, MODE_BRCKTPASTE); - break; - /* Not implemented mouse modes. See comments there. */ - case 1001: /* mouse highlight mode; can hang the - terminal by design when implemented. */ - case 1005: /* UTF-8 mouse mode; will confuse - applications not supporting UTF-8 - and luit. */ - case 1015: /* urxvt mangled mouse mode; incompatible - and can be mistaken for other control - codes. */ - break; - default: - fprintf(stderr, - "erresc: unknown private set/reset mode %d\n", - *args); - break; - } - } else { - switch (*args) { - case 0: /* Error (IGNORED) */ - break; - case 2: - xsetmode(set, MODE_KBDLOCK); - break; - case 4: /* IRM -- Insertion-replacement */ - MODBIT(term.mode, set, MODE_INSERT); - break; - case 12: /* SRM -- Send/Receive */ - MODBIT(term.mode, !set, MODE_ECHO); - break; - case 20: /* LNM -- Linefeed/new line */ - MODBIT(term.mode, set, MODE_CRLF); - break; - default: - fprintf(stderr, - "erresc: unknown set/reset mode %d\n", - *args); - break; - } - } - } -} - -void -csihandle(void) -{ - char buf[40]; - int len; - - switch (csiescseq.mode[0]) { - default: - unknown: - fprintf(stderr, "erresc: unknown csi "); - csidump(); - /* die(""); */ - break; - case '@': /* ICH -- Insert blank char */ - DEFAULT(csiescseq.arg[0], 1); - tinsertblank(csiescseq.arg[0]); - break; - case 'A': /* CUU -- Cursor Up */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(term.c.x, term.c.y-csiescseq.arg[0]); - break; - case 'B': /* CUD -- Cursor Down */ - case 'e': /* VPR --Cursor Down */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(term.c.x, term.c.y+csiescseq.arg[0]); - break; - case 'i': /* MC -- Media Copy */ - switch (csiescseq.arg[0]) { - case 0: - tdump(); - break; - case 1: - tdumpline(term.c.y); - break; - case 2: - tdumpsel(); - break; - case 4: - term.mode &= ~MODE_PRINT; - break; - case 5: - term.mode |= MODE_PRINT; - break; - } - break; - case 'c': /* DA -- Device Attributes */ - if (csiescseq.arg[0] == 0) - ttywrite(vtiden, strlen(vtiden), 0); - break; - case 'b': /* REP -- if last char is printable print it more times */ - LIMIT(csiescseq.arg[0], 1, 65535); - if (term.lastc) - while (csiescseq.arg[0]-- > 0) - tputc(term.lastc); - break; - case 'C': /* CUF -- Cursor Forward */ - case 'a': /* HPR -- Cursor Forward */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(term.c.x+csiescseq.arg[0], term.c.y); - break; - case 'D': /* CUB -- Cursor Backward */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(term.c.x-csiescseq.arg[0], term.c.y); - break; - case 'E': /* CNL -- Cursor Down and first col */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(0, term.c.y+csiescseq.arg[0]); - break; - case 'F': /* CPL -- Cursor Up and first col */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(0, term.c.y-csiescseq.arg[0]); - break; - case 'g': /* TBC -- Tabulation clear */ - switch (csiescseq.arg[0]) { - case 0: /* clear current tab stop */ - term.tabs[term.c.x] = 0; - break; - case 3: /* clear all the tabs */ - memset(term.tabs, 0, term.col * sizeof(*term.tabs)); - break; - default: - goto unknown; - } - break; - case 'G': /* CHA -- Move to */ - case '`': /* HPA */ - DEFAULT(csiescseq.arg[0], 1); - tmoveto(csiescseq.arg[0]-1, term.c.y); - break; - case 'H': /* CUP -- Move to */ - case 'f': /* HVP */ - DEFAULT(csiescseq.arg[0], 1); - DEFAULT(csiescseq.arg[1], 1); - tmoveato(csiescseq.arg[1]-1, csiescseq.arg[0]-1); - break; - case 'I': /* CHT -- Cursor Forward Tabulation tab stops */ - DEFAULT(csiescseq.arg[0], 1); - tputtab(csiescseq.arg[0]); - break; - case 'J': /* ED -- Clear screen */ - switch (csiescseq.arg[0]) { - case 0: /* below */ - tclearregion(term.c.x, term.c.y, term.col-1, term.c.y); - if (term.c.y < term.row-1) { - tclearregion(0, term.c.y+1, term.col-1, - term.row-1); - } - break; - case 1: /* above */ - if (term.c.y > 1) - tclearregion(0, 0, term.col-1, term.c.y-1); - tclearregion(0, term.c.y, term.c.x, term.c.y); - break; - case 2: /* all */ - tclearregion(0, 0, term.col-1, term.row-1); - break; - default: - goto unknown; - } - break; - case 'K': /* EL -- Clear line */ - switch (csiescseq.arg[0]) { - case 0: /* right */ - tclearregion(term.c.x, term.c.y, term.col-1, - term.c.y); - break; - case 1: /* left */ - tclearregion(0, term.c.y, term.c.x, term.c.y); - break; - case 2: /* all */ - tclearregion(0, term.c.y, term.col-1, term.c.y); - break; - } - break; - case 'S': /* SU -- Scroll line up */ - if (csiescseq.priv) break; - DEFAULT(csiescseq.arg[0], 1); - tscrollup(term.top, csiescseq.arg[0]); - break; - case 'T': /* SD -- Scroll line down */ - DEFAULT(csiescseq.arg[0], 1); - tscrolldown(term.top, csiescseq.arg[0]); - break; - case 'L': /* IL -- Insert blank lines */ - DEFAULT(csiescseq.arg[0], 1); - tinsertblankline(csiescseq.arg[0]); - break; - case 'l': /* RM -- Reset Mode */ - tsetmode(csiescseq.priv, 0, csiescseq.arg, csiescseq.narg); - break; - case 'M': /* DL -- Delete lines */ - DEFAULT(csiescseq.arg[0], 1); - tdeleteline(csiescseq.arg[0]); - break; - case 'X': /* ECH -- Erase char */ - DEFAULT(csiescseq.arg[0], 1); - tclearregion(term.c.x, term.c.y, - term.c.x + csiescseq.arg[0] - 1, term.c.y); - break; - case 'P': /* DCH -- Delete char */ - DEFAULT(csiescseq.arg[0], 1); - tdeletechar(csiescseq.arg[0]); - break; - case 'Z': /* CBT -- Cursor Backward Tabulation tab stops */ - DEFAULT(csiescseq.arg[0], 1); - tputtab(-csiescseq.arg[0]); - break; - case 'd': /* VPA -- Move to */ - DEFAULT(csiescseq.arg[0], 1); - tmoveato(term.c.x, csiescseq.arg[0]-1); - break; - case 'h': /* SM -- Set terminal mode */ - tsetmode(csiescseq.priv, 1, csiescseq.arg, csiescseq.narg); - break; - case 'm': /* SGR -- Terminal attribute (color) */ - tsetattr(csiescseq.arg, csiescseq.narg); - break; - case 'n': /* DSR -- Device Status Report */ - switch (csiescseq.arg[0]) { - case 5: /* Status Report "OK" `0n` */ - ttywrite("\033[0n", sizeof("\033[0n") - 1, 0); - break; - case 6: /* Report Cursor Position (CPR) ";R" */ - len = snprintf(buf, sizeof(buf), "\033[%i;%iR", - term.c.y+1, term.c.x+1); - ttywrite(buf, len, 0); - break; - default: - goto unknown; - } - break; - case 'r': /* DECSTBM -- Set Scrolling Region */ - if (csiescseq.priv) { - goto unknown; - } else { - DEFAULT(csiescseq.arg[0], 1); - DEFAULT(csiescseq.arg[1], term.row); - tsetscroll(csiescseq.arg[0]-1, csiescseq.arg[1]-1); - tmoveato(0, 0); - } - break; - case 's': /* DECSC -- Save cursor position (ANSI.SYS) */ - tcursor(CURSOR_SAVE); - break; - case 'u': /* DECRC -- Restore cursor position (ANSI.SYS) */ - tcursor(CURSOR_LOAD); - break; - case ' ': - switch (csiescseq.mode[1]) { - case 'q': /* DECSCUSR -- Set Cursor Style */ - if (xsetcursor(csiescseq.arg[0])) - goto unknown; - break; - default: - goto unknown; - } - break; - } -} - -void -csidump(void) -{ - size_t i; - uint c; - - fprintf(stderr, "ESC["); - for (i = 0; i < csiescseq.len; i++) { - c = csiescseq.buf[i] & 0xff; - if (isprint(c)) { - putc(c, stderr); - } else if (c == '\n') { - fprintf(stderr, "(\\n)"); - } else if (c == '\r') { - fprintf(stderr, "(\\r)"); - } else if (c == 0x1b) { - fprintf(stderr, "(\\e)"); - } else { - fprintf(stderr, "(%02x)", c); - } - } - putc('\n', stderr); -} - -void -csireset(void) -{ - memset(&csiescseq, 0, sizeof(csiescseq)); -} - -void -osc_color_response(int num, int index, int is_osc4) -{ - int n; - char buf[32]; - unsigned char r, g, b; - - if (xgetcolor(is_osc4 ? num : index, &r, &g, &b)) { - fprintf(stderr, "erresc: failed to fetch %s color %d\n", - is_osc4 ? "osc4" : "osc", - is_osc4 ? num : index); - return; - } - - n = snprintf(buf, sizeof buf, "\033]%s%d;rgb:%02x%02x/%02x%02x/%02x%02x\007", - is_osc4 ? "4;" : "", num, r, r, g, g, b, b); - if (n < 0 || n >= sizeof(buf)) { - fprintf(stderr, "error: %s while printing %s response\n", - n < 0 ? "snprintf failed" : "truncation occurred", - is_osc4 ? "osc4" : "osc"); - } else { - ttywrite(buf, n, 1); - } -} - -void -strhandle(void) -{ - char *p = NULL, *dec; - int j, narg, par; - const struct { int idx; char *str; } osc_table[] = { - { defaultfg, "foreground" }, - { defaultbg, "background" }, - { defaultcs, "cursor" } - }; - - term.esc &= ~(ESC_STR_END|ESC_STR); - strparse(); - par = (narg = strescseq.narg) ? atoi(strescseq.args[0]) : 0; - - switch (strescseq.type) { - case ']': /* OSC -- Operating System Command */ - switch (par) { - case 0: - if (narg > 1) { - xsettitle(strescseq.args[1]); - xseticontitle(strescseq.args[1]); - } - return; - case 1: - if (narg > 1) - xseticontitle(strescseq.args[1]); - return; - case 2: - if (narg > 1) - xsettitle(strescseq.args[1]); - return; - case 52: - if (narg > 2 && allowwindowops) { - dec = base64dec(strescseq.args[2]); - if (dec) { - xsetsel(dec); - xclipcopy(); - } else { - fprintf(stderr, "erresc: invalid base64\n"); - } - } - return; - case 10: - case 11: - case 12: - if (narg < 2) - break; - p = strescseq.args[1]; - if ((j = par - 10) < 0 || j >= LEN(osc_table)) - break; /* shouldn't be possible */ - - if (!strcmp(p, "?")) { - osc_color_response(par, osc_table[j].idx, 0); - } else if (xsetcolorname(osc_table[j].idx, p)) { - fprintf(stderr, "erresc: invalid %s color: %s\n", - osc_table[j].str, p); - } else { - tfulldirt(); - } - return; - case 4: /* color set */ - if (narg < 3) - break; - p = strescseq.args[2]; - /* FALLTHROUGH */ - case 104: /* color reset */ - j = (narg > 1) ? atoi(strescseq.args[1]) : -1; - - if (p && !strcmp(p, "?")) { - osc_color_response(j, 0, 1); - } else if (xsetcolorname(j, p)) { - if (par == 104 && narg <= 1) { - xloadcols(); - return; /* color reset without parameter */ - } - fprintf(stderr, "erresc: invalid color j=%d, p=%s\n", - j, p ? p : "(null)"); - } else { - /* - * TODO if defaultbg color is changed, borders - * are dirty - */ - tfulldirt(); - } - return; - } - break; - case 'k': /* old title set compatibility */ - xsettitle(strescseq.args[0]); - return; - case 'P': /* DCS -- Device Control String */ - case '_': /* APC -- Application Program Command */ - case '^': /* PM -- Privacy Message */ - return; - } - - fprintf(stderr, "erresc: unknown str "); - strdump(); -} - -void -strparse(void) -{ - int c; - char *p = strescseq.buf; - - strescseq.narg = 0; - strescseq.buf[strescseq.len] = '\0'; - - if (*p == '\0') - return; - - while (strescseq.narg < STR_ARG_SIZ) { - strescseq.args[strescseq.narg++] = p; - while ((c = *p) != ';' && c != '\0') - ++p; - if (c == '\0') - return; - *p++ = '\0'; - } -} - -void -strdump(void) -{ - size_t i; - uint c; - - fprintf(stderr, "ESC%c", strescseq.type); - for (i = 0; i < strescseq.len; i++) { - c = strescseq.buf[i] & 0xff; - if (c == '\0') { - putc('\n', stderr); - return; - } else if (isprint(c)) { - putc(c, stderr); - } else if (c == '\n') { - fprintf(stderr, "(\\n)"); - } else if (c == '\r') { - fprintf(stderr, "(\\r)"); - } else if (c == 0x1b) { - fprintf(stderr, "(\\e)"); - } else { - fprintf(stderr, "(%02x)", c); - } - } - fprintf(stderr, "ESC\\\n"); -} - -void -strreset(void) -{ - strescseq = (STREscape){ - .buf = xrealloc(strescseq.buf, STR_BUF_SIZ), - .siz = STR_BUF_SIZ, - }; -} - -void -sendbreak(const Arg *arg) -{ - if (tcsendbreak(cmdfd, 0)) - perror("Error sending break"); -} - -void -tprinter(char *s, size_t len) -{ - if (iofd != -1 && xwrite(iofd, s, len) < 0) { - perror("Error writing to output file"); - close(iofd); - iofd = -1; - } -} - -void -toggleprinter(const Arg *arg) -{ - term.mode ^= MODE_PRINT; -} - -void -printscreen(const Arg *arg) -{ - tdump(); -} - -void -printsel(const Arg *arg) -{ - tdumpsel(); -} - -void -tdumpsel(void) -{ - char *ptr; - - if ((ptr = getsel())) { - tprinter(ptr, strlen(ptr)); - free(ptr); - } -} - -void -tdumpline(int n) -{ - char buf[UTF_SIZ]; - const Glyph *bp, *end; - - bp = &term.line[n][0]; - end = &bp[MIN(tlinelen(n), term.col) - 1]; - if (bp != end || bp->u != ' ') { - for ( ; bp <= end; ++bp) - tprinter(buf, utf8encode(bp->u, buf)); - } - tprinter("\n", 1); -} - -void -tdump(void) -{ - int i; - - for (i = 0; i < term.row; ++i) - tdumpline(i); -} - -void -tputtab(int n) -{ - uint x = term.c.x; - - if (n > 0) { - while (x < term.col && n--) - for (++x; x < term.col && !term.tabs[x]; ++x) - /* nothing */ ; - } else if (n < 0) { - while (x > 0 && n++) - for (--x; x > 0 && !term.tabs[x]; --x) - /* nothing */ ; - } - term.c.x = LIMIT(x, 0, term.col-1); -} - -void -tdefutf8(char ascii) -{ - if (ascii == 'G') - term.mode |= MODE_UTF8; - else if (ascii == '@') - term.mode &= ~MODE_UTF8; -} - -void -tdeftran(char ascii) -{ - static char cs[] = "0B"; - static int vcs[] = {CS_GRAPHIC0, CS_USA}; - char *p; - - if ((p = strchr(cs, ascii)) == NULL) { - fprintf(stderr, "esc unhandled charset: ESC ( %c\n", ascii); - } else { - term.trantbl[term.icharset] = vcs[p - cs]; - } -} - -void -tdectest(char c) -{ - int x, y; - - if (c == '8') { /* DEC screen alignment test. */ - for (x = 0; x < term.col; ++x) { - for (y = 0; y < term.row; ++y) - tsetchar('E', &term.c.attr, x, y); - } - } -} - -void -tstrsequence(uchar c) -{ - switch (c) { - case 0x90: /* DCS -- Device Control String */ - c = 'P'; - break; - case 0x9f: /* APC -- Application Program Command */ - c = '_'; - break; - case 0x9e: /* PM -- Privacy Message */ - c = '^'; - break; - case 0x9d: /* OSC -- Operating System Command */ - c = ']'; - break; - } - strreset(); - strescseq.type = c; - term.esc |= ESC_STR; -} - -void -tcontrolcode(uchar ascii) -{ - switch (ascii) { - case '\t': /* HT */ - tputtab(1); - return; - case '\b': /* BS */ - tmoveto(term.c.x-1, term.c.y); - return; - case '\r': /* CR */ - tmoveto(0, term.c.y); - return; - case '\f': /* LF */ - case '\v': /* VT */ - case '\n': /* LF */ - /* go to first col if the mode is set */ - tnewline(IS_SET(MODE_CRLF)); - return; - case '\a': /* BEL */ - if (term.esc & ESC_STR_END) { - /* backwards compatibility to xterm */ - strhandle(); - } else { - xbell(); - } - break; - case '\033': /* ESC */ - csireset(); - term.esc &= ~(ESC_CSI|ESC_ALTCHARSET|ESC_TEST); - term.esc |= ESC_START; - return; - case '\016': /* SO (LS1 -- Locking shift 1) */ - case '\017': /* SI (LS0 -- Locking shift 0) */ - term.charset = 1 - (ascii - '\016'); - return; - case '\032': /* SUB */ - tsetchar('?', &term.c.attr, term.c.x, term.c.y); - /* FALLTHROUGH */ - case '\030': /* CAN */ - csireset(); - break; - case '\005': /* ENQ (IGNORED) */ - case '\000': /* NUL (IGNORED) */ - case '\021': /* XON (IGNORED) */ - case '\023': /* XOFF (IGNORED) */ - case 0177: /* DEL (IGNORED) */ - return; - case 0x80: /* TODO: PAD */ - case 0x81: /* TODO: HOP */ - case 0x82: /* TODO: BPH */ - case 0x83: /* TODO: NBH */ - case 0x84: /* TODO: IND */ - break; - case 0x85: /* NEL -- Next line */ - tnewline(1); /* always go to first col */ - break; - case 0x86: /* TODO: SSA */ - case 0x87: /* TODO: ESA */ - break; - case 0x88: /* HTS -- Horizontal tab stop */ - term.tabs[term.c.x] = 1; - break; - case 0x89: /* TODO: HTJ */ - case 0x8a: /* TODO: VTS */ - case 0x8b: /* TODO: PLD */ - case 0x8c: /* TODO: PLU */ - case 0x8d: /* TODO: RI */ - case 0x8e: /* TODO: SS2 */ - case 0x8f: /* TODO: SS3 */ - case 0x91: /* TODO: PU1 */ - case 0x92: /* TODO: PU2 */ - case 0x93: /* TODO: STS */ - case 0x94: /* TODO: CCH */ - case 0x95: /* TODO: MW */ - case 0x96: /* TODO: SPA */ - case 0x97: /* TODO: EPA */ - case 0x98: /* TODO: SOS */ - case 0x99: /* TODO: SGCI */ - break; - case 0x9a: /* DECID -- Identify Terminal */ - ttywrite(vtiden, strlen(vtiden), 0); - break; - case 0x9b: /* TODO: CSI */ - case 0x9c: /* TODO: ST */ - break; - case 0x90: /* DCS -- Device Control String */ - case 0x9d: /* OSC -- Operating System Command */ - case 0x9e: /* PM -- Privacy Message */ - case 0x9f: /* APC -- Application Program Command */ - tstrsequence(ascii); - return; - } - /* only CAN, SUB, \a and C1 chars interrupt a sequence */ - term.esc &= ~(ESC_STR_END|ESC_STR); -} - -/* - * returns 1 when the sequence is finished and it hasn't to read - * more characters for this sequence, otherwise 0 - */ -int -eschandle(uchar ascii) -{ - switch (ascii) { - case '[': - term.esc |= ESC_CSI; - return 0; - case '#': - term.esc |= ESC_TEST; - return 0; - case '%': - term.esc |= ESC_UTF8; - return 0; - case 'P': /* DCS -- Device Control String */ - case '_': /* APC -- Application Program Command */ - case '^': /* PM -- Privacy Message */ - case ']': /* OSC -- Operating System Command */ - case 'k': /* old title set compatibility */ - tstrsequence(ascii); - return 0; - case 'n': /* LS2 -- Locking shift 2 */ - case 'o': /* LS3 -- Locking shift 3 */ - term.charset = 2 + (ascii - 'n'); - break; - case '(': /* GZD4 -- set primary charset G0 */ - case ')': /* G1D4 -- set secondary charset G1 */ - case '*': /* G2D4 -- set tertiary charset G2 */ - case '+': /* G3D4 -- set quaternary charset G3 */ - term.icharset = ascii - '('; - term.esc |= ESC_ALTCHARSET; - return 0; - case 'D': /* IND -- Linefeed */ - if (term.c.y == term.bot) { - tscrollup(term.top, 1); - } else { - tmoveto(term.c.x, term.c.y+1); - } - break; - case 'E': /* NEL -- Next line */ - tnewline(1); /* always go to first col */ - break; - case 'H': /* HTS -- Horizontal tab stop */ - term.tabs[term.c.x] = 1; - break; - case 'M': /* RI -- Reverse index */ - if (term.c.y == term.top) { - tscrolldown(term.top, 1); - } else { - tmoveto(term.c.x, term.c.y-1); - } - break; - case 'Z': /* DECID -- Identify Terminal */ - ttywrite(vtiden, strlen(vtiden), 0); - break; - case 'c': /* RIS -- Reset to initial state */ - treset(); - resettitle(); - xloadcols(); - xsetmode(0, MODE_HIDE); - break; - case '=': /* DECPAM -- Application keypad */ - xsetmode(1, MODE_APPKEYPAD); - break; - case '>': /* DECPNM -- Normal keypad */ - xsetmode(0, MODE_APPKEYPAD); - break; - case '7': /* DECSC -- Save Cursor */ - tcursor(CURSOR_SAVE); - break; - case '8': /* DECRC -- Restore Cursor */ - tcursor(CURSOR_LOAD); - break; - case '\\': /* ST -- String Terminator */ - if (term.esc & ESC_STR_END) - strhandle(); - break; - default: - fprintf(stderr, "erresc: unknown sequence ESC 0x%02X '%c'\n", - (uchar) ascii, isprint(ascii)? ascii:'.'); - break; - } - return 1; -} - -void -tputc(Rune u) -{ - char c[UTF_SIZ]; - int control; - int width, len; - Glyph *gp; - - control = ISCONTROL(u); - if (u < 127 || !IS_SET(MODE_UTF8)) { - c[0] = u; - width = len = 1; - } else { - len = utf8encode(u, c); - if (!control && (width = wcwidth(u)) == -1) - width = 1; - } - - if (IS_SET(MODE_PRINT)) - tprinter(c, len); - - /* - * STR sequence must be checked before anything else - * because it uses all following characters until it - * receives a ESC, a SUB, a ST or any other C1 control - * character. - */ - if (term.esc & ESC_STR) { - if (u == '\a' || u == 030 || u == 032 || u == 033 || - ISCONTROLC1(u)) { - term.esc &= ~(ESC_START|ESC_STR); - term.esc |= ESC_STR_END; - goto check_control_code; - } - - if (strescseq.len+len >= strescseq.siz) { - /* - * Here is a bug in terminals. If the user never sends - * some code to stop the str or esc command, then st - * will stop responding. But this is better than - * silently failing with unknown characters. At least - * then users will report back. - * - * In the case users ever get fixed, here is the code: - */ - /* - * term.esc = 0; - * strhandle(); - */ - if (strescseq.siz > (SIZE_MAX - UTF_SIZ) / 2) - return; - strescseq.siz *= 2; - strescseq.buf = xrealloc(strescseq.buf, strescseq.siz); - } - - memmove(&strescseq.buf[strescseq.len], c, len); - strescseq.len += len; - return; - } - -check_control_code: - /* - * Actions of control codes must be performed as soon they arrive - * because they can be embedded inside a control sequence, and - * they must not cause conflicts with sequences. - */ - if (control) { - /* in UTF-8 mode ignore handling C1 control characters */ - if (IS_SET(MODE_UTF8) && ISCONTROLC1(u)) - return; - tcontrolcode(u); - /* - * control codes are not shown ever - */ - if (!term.esc) - term.lastc = 0; - return; - } else if (term.esc & ESC_START) { - if (term.esc & ESC_CSI) { - csiescseq.buf[csiescseq.len++] = u; - if (BETWEEN(u, 0x40, 0x7E) - || csiescseq.len >= \ - sizeof(csiescseq.buf)-1) { - term.esc = 0; - csiparse(); - csihandle(); - } - return; - } else if (term.esc & ESC_UTF8) { - tdefutf8(u); - } else if (term.esc & ESC_ALTCHARSET) { - tdeftran(u); - } else if (term.esc & ESC_TEST) { - tdectest(u); - } else { - if (!eschandle(u)) - return; - /* sequence already finished */ - } - term.esc = 0; - /* - * All characters which form part of a sequence are not - * printed - */ - return; - } - if (selected(term.c.x, term.c.y)) - selclear(); - - gp = &term.line[term.c.y][term.c.x]; - if (IS_SET(MODE_WRAP) && (term.c.state & CURSOR_WRAPNEXT)) { - gp->mode |= ATTR_WRAP; - tnewline(1); - gp = &term.line[term.c.y][term.c.x]; - } - - if (IS_SET(MODE_INSERT) && term.c.x+width < term.col) { - memmove(gp+width, gp, (term.col - term.c.x - width) * sizeof(Glyph)); - gp->mode &= ~ATTR_WIDE; - } - - if (term.c.x+width > term.col) { - if (IS_SET(MODE_WRAP)) - tnewline(1); - else - tmoveto(term.col - width, term.c.y); - gp = &term.line[term.c.y][term.c.x]; - } - - tsetchar(u, &term.c.attr, term.c.x, term.c.y); - term.lastc = u; - - if (width == 2) { - gp->mode |= ATTR_WIDE; - if (term.c.x+1 < term.col) { - if (gp[1].mode == ATTR_WIDE && term.c.x+2 < term.col) { - gp[2].u = ' '; - gp[2].mode &= ~ATTR_WDUMMY; - } - gp[1].u = '\0'; - gp[1].mode = ATTR_WDUMMY; - } - } - if (term.c.x+width < term.col) { - tmoveto(term.c.x+width, term.c.y); - } else { - term.c.state |= CURSOR_WRAPNEXT; - } -} - -int -twrite(const char *buf, int buflen, int show_ctrl) -{ - int charsize; - Rune u; - int n; - - for (n = 0; n < buflen; n += charsize) { - if (IS_SET(MODE_UTF8)) { - /* process a complete utf8 char */ - charsize = utf8decode(buf + n, &u, buflen - n); - if (charsize == 0) - break; - } else { - u = buf[n] & 0xFF; - charsize = 1; - } - if (show_ctrl && ISCONTROL(u)) { - if (u & 0x80) { - u &= 0x7f; - tputc('^'); - tputc('['); - } else if (u != '\n' && u != '\r' && u != '\t') { - u ^= 0x40; - tputc('^'); - } - } - tputc(u); - } - return n; -} - -void -tresize(int col, int row) -{ - int i; - int minrow = MIN(row, term.row); - int mincol = MIN(col, term.col); - int *bp; - TCursor c; - - if (col < 1 || row < 1) { - fprintf(stderr, - "tresize: error resizing to %dx%d\n", col, row); - return; - } - - /* - * slide screen to keep cursor where we expect it - - * tscrollup would work here, but we can optimize to - * memmove because we're freeing the earlier lines - */ - for (i = 0; i <= term.c.y - row; i++) { - free(term.line[i]); - free(term.alt[i]); - } - /* ensure that both src and dst are not NULL */ - if (i > 0) { - memmove(term.line, term.line + i, row * sizeof(Line)); - memmove(term.alt, term.alt + i, row * sizeof(Line)); - } - for (i += row; i < term.row; i++) { - free(term.line[i]); - free(term.alt[i]); - } - - /* resize to new height */ - term.line = xrealloc(term.line, row * sizeof(Line)); - term.alt = xrealloc(term.alt, row * sizeof(Line)); - term.dirty = xrealloc(term.dirty, row * sizeof(*term.dirty)); - term.tabs = xrealloc(term.tabs, col * sizeof(*term.tabs)); - - /* resize each row to new width, zero-pad if needed */ - for (i = 0; i < minrow; i++) { - term.line[i] = xrealloc(term.line[i], col * sizeof(Glyph)); - term.alt[i] = xrealloc(term.alt[i], col * sizeof(Glyph)); - } - - /* allocate any new rows */ - for (/* i = minrow */; i < row; i++) { - term.line[i] = xmalloc(col * sizeof(Glyph)); - term.alt[i] = xmalloc(col * sizeof(Glyph)); - } - if (col > term.col) { - bp = term.tabs + term.col; - - memset(bp, 0, sizeof(*term.tabs) * (col - term.col)); - while (--bp > term.tabs && !*bp) - /* nothing */ ; - for (bp += tabspaces; bp < term.tabs + col; bp += tabspaces) - *bp = 1; - } - /* update terminal size */ - term.col = col; - term.row = row; - /* reset scrolling region */ - tsetscroll(0, row-1); - /* make use of the LIMIT in tmoveto */ - tmoveto(term.c.x, term.c.y); - /* Clearing both screens (it makes dirty all lines) */ - c = term.c; - for (i = 0; i < 2; i++) { - if (mincol < col && 0 < minrow) { - tclearregion(mincol, 0, col - 1, minrow - 1); - } - if (0 < col && minrow < row) { - tclearregion(0, minrow, col - 1, row - 1); - } - tswapscreen(); - tcursor(CURSOR_LOAD); - } - term.c = c; -} - -void -resettitle(void) -{ - xsettitle(NULL); -} - -void -drawregion(int x1, int y1, int x2, int y2) -{ - int y; - - for (y = y1; y < y2; y++) { - if (!term.dirty[y]) - continue; - - term.dirty[y] = 0; - xdrawline(term.line[y], x1, y, x2); - } -} - -void -draw(void) -{ - int cx = term.c.x, ocx = term.ocx, ocy = term.ocy; - - if (!xstartdraw()) - return; - - /* adjust cursor position */ - LIMIT(term.ocx, 0, term.col-1); - LIMIT(term.ocy, 0, term.row-1); - if (term.line[term.ocy][term.ocx].mode & ATTR_WDUMMY) - term.ocx--; - if (term.line[term.c.y][cx].mode & ATTR_WDUMMY) - cx--; - - drawregion(0, 0, term.col, term.row); - xdrawcursor(cx, term.c.y, term.line[term.c.y][cx], - term.ocx, term.ocy, term.line[term.ocy][term.ocx]); - term.ocx = cx; - term.ocy = term.c.y; - xfinishdraw(); - if (ocx != term.ocx || ocy != term.ocy) - xximspot(term.ocx, term.ocy); -} - -void -redraw(void) -{ - tfulldirt(); - draw(); -} diff --git a/programs/st/st.desktop b/programs/st/st.desktop deleted file mode 100644 index 2d2b76fb..00000000 --- a/programs/st/st.desktop +++ /dev/null @@ -1,12 +0,0 @@ -[Desktop Entry] -Type=Application -Exec=st -TryExec=st -Icon=utilities-terminal -Terminal=false -Categories=System;TerminalEmulator; - -Name=st -GenericName=Terminal -Comment=st is a simple terminal implementation for X -StartupWMClass=st-256color diff --git a/programs/st/st.h b/programs/st/st.h deleted file mode 100644 index 808f5f77..00000000 --- a/programs/st/st.h +++ /dev/null @@ -1,136 +0,0 @@ -/* See LICENSE for license details. */ - -#include -#include - -/* macros */ -#define MIN(a, b) ((a) < (b) ? (a) : (b)) -#define MAX(a, b) ((a) < (b) ? (b) : (a)) -#define LEN(a) (sizeof(a) / sizeof(a)[0]) -#define BETWEEN(x, a, b) ((a) <= (x) && (x) <= (b)) -#define DIVCEIL(n, d) (((n) + ((d) - 1)) / (d)) -#define DEFAULT(a, b) (a) = (a) ? (a) : (b) -#define LIMIT(x, a, b) (x) = (x) < (a) ? (a) : (x) > (b) ? (b) : (x) -#define ATTRCMP(a, b) ((a).mode != (b).mode || (a).fg != (b).fg || \ - (a).bg != (b).bg) -#define TIMEDIFF(t1, t2) ((t1.tv_sec-t2.tv_sec)*1000 + \ - (t1.tv_nsec-t2.tv_nsec)/1E6) -#define MODBIT(x, set, bit) ((set) ? ((x) |= (bit)) : ((x) &= ~(bit))) - -#define TRUECOLOR(r,g,b) (1 << 24 | (r) << 16 | (g) << 8 | (b)) -#define IS_TRUECOL(x) (1 << 24 & (x)) - -enum glyph_attribute { - ATTR_NULL = 0, - ATTR_BOLD = 1 << 0, - ATTR_FAINT = 1 << 1, - ATTR_ITALIC = 1 << 2, - ATTR_UNDERLINE = 1 << 3, - ATTR_BLINK = 1 << 4, - ATTR_REVERSE = 1 << 5, - ATTR_INVISIBLE = 1 << 6, - ATTR_STRUCK = 1 << 7, - ATTR_WRAP = 1 << 8, - ATTR_WIDE = 1 << 9, - ATTR_WDUMMY = 1 << 10, - ATTR_BOXDRAW = 1 << 11, - ATTR_BOLD_FAINT = ATTR_BOLD | ATTR_FAINT, -}; - -enum selection_mode { - SEL_IDLE = 0, - SEL_EMPTY = 1, - SEL_READY = 2 -}; - -enum selection_type { - SEL_REGULAR = 1, - SEL_RECTANGULAR = 2 -}; - -enum selection_snap { - SNAP_WORD = 1, - SNAP_LINE = 2 -}; - -typedef unsigned char uchar; -typedef unsigned int uint; -typedef unsigned long ulong; -typedef unsigned short ushort; - -typedef uint_least32_t Rune; - -#define Glyph Glyph_ -typedef struct { - Rune u; /* character code */ - ushort mode; /* attribute flags */ - uint32_t fg; /* foreground */ - uint32_t bg; /* background */ -} Glyph; - -typedef Glyph *Line; - -typedef union { - int i; - uint ui; - float f; - const void *v; - const char *s; -} Arg; - -void die(const char *, ...); -void redraw(void); -void draw(void); - -void printscreen(const Arg *); -void printsel(const Arg *); -void sendbreak(const Arg *); -void toggleprinter(const Arg *); - -int tattrset(int); -void tnew(int, int); -void tresize(int, int); -void tsetdirtattr(int); -void ttyhangup(void); -int ttynew(const char *, char *, const char *, char **); -size_t ttyread(void); -void ttyresize(int, int); -void ttywrite(const char *, size_t, int); - -void resettitle(void); - -void selclear(void); -void selinit(void); -void selstart(int, int, int); -void selextend(int, int, int, int); -int selected(int, int); -char *getsel(void); - -size_t utf8encode(Rune, char *); - -void *xmalloc(size_t); -void *xrealloc(void *, size_t); -char *xstrdup(const char *); - -int isboxdraw(Rune); -ushort boxdrawindex(const Glyph *); -#ifdef XFT_VERSION -/* only exposed to x.c, otherwise we'll need Xft.h for the types */ -void boxdraw_xinit(Display *, Colormap, XftDraw *, Visual *); -void drawboxes(int, int, int, int, XftColor *, XftColor *, const XftGlyphFontSpec *, int); -#endif - -/* config.h globals */ -extern char *utmp; -extern char *scroll; -extern char *stty_args; -extern char *vtiden; -extern wchar_t *worddelimiters; -extern int allowaltscreen; -extern int allowwindowops; -extern char *termname; -extern unsigned int tabspaces; -extern unsigned int defaultfg; -extern unsigned int defaultbg; -extern unsigned int defaultcs; -extern const int boxdraw, boxdraw_bold, boxdraw_braille; diff --git a/programs/st/st.info b/programs/st/st.info deleted file mode 100644 index efab2cf7..00000000 --- a/programs/st/st.info +++ /dev/null @@ -1,243 +0,0 @@ -st-mono| simpleterm monocolor, - acsc=+C\,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - am, - bce, - bel=^G, - blink=\E[5m, - bold=\E[1m, - cbt=\E[Z, - cvvis=\E[?25h, - civis=\E[?25l, - clear=\E[H\E[2J, - cnorm=\E[?12l\E[?25h, - colors#2, - cols#80, - cr=^M, - csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, - cub1=^H, - cud1=^J, - cud=\E[%p1%dB, - cuf1=\E[C, - cuf=\E[%p1%dC, - cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, - cuu=\E[%p1%dA, - dch=\E[%p1%dP, - dch1=\E[P, - dim=\E[2m, - dl=\E[%p1%dM, - dl1=\E[M, - ech=\E[%p1%dX, - ed=\E[J, - el=\E[K, - el1=\E[1K, - enacs=\E)0, - flash=\E[?5h$<80/>\E[?5l, - fsl=^G, - home=\E[H, - hpa=\E[%i%p1%dG, - hs, - ht=^I, - hts=\EH, - ich=\E[%p1%d@, - il1=\E[L, - il=\E[%p1%dL, - ind=^J, - indn=\E[%p1%dS, - invis=\E[8m, - is2=\E[4l\E>\E[?1034l, - it#8, - kel=\E[1;2F, - ked=\E[1;5F, - ka1=\E[1~, - ka3=\E[5~, - kc1=\E[4~, - kc3=\E[6~, - kbs=\177, - kcbt=\E[Z, - kb2=\EOu, - kcub1=\EOD, - kcud1=\EOB, - kcuf1=\EOC, - kcuu1=\EOA, - kDC=\E[3;2~, - kent=\EOM, - kEND=\E[1;2F, - kIC=\E[2;2~, - kNXT=\E[6;2~, - kPRV=\E[5;2~, - kHOM=\E[1;2H, - kLFT=\E[1;2D, - kRIT=\E[1;2C, - kind=\E[1;2B, - kri=\E[1;2A, - kclr=\E[3;5~, - kdl1=\E[3;2~, - kdch1=\E[3~, - kich1=\E[2~, - kend=\E[4~, - kf1=\EOP, - kf2=\EOQ, - kf3=\EOR, - kf4=\EOS, - kf5=\E[15~, - kf6=\E[17~, - kf7=\E[18~, - kf8=\E[19~, - kf9=\E[20~, - kf10=\E[21~, - kf11=\E[23~, - kf12=\E[24~, - kf13=\E[1;2P, - kf14=\E[1;2Q, - kf15=\E[1;2R, - kf16=\E[1;2S, - kf17=\E[15;2~, - kf18=\E[17;2~, - kf19=\E[18;2~, - kf20=\E[19;2~, - kf21=\E[20;2~, - kf22=\E[21;2~, - kf23=\E[23;2~, - kf24=\E[24;2~, - kf25=\E[1;5P, - kf26=\E[1;5Q, - kf27=\E[1;5R, - kf28=\E[1;5S, - kf29=\E[15;5~, - kf30=\E[17;5~, - kf31=\E[18;5~, - kf32=\E[19;5~, - kf33=\E[20;5~, - kf34=\E[21;5~, - kf35=\E[23;5~, - kf36=\E[24;5~, - kf37=\E[1;6P, - kf38=\E[1;6Q, - kf39=\E[1;6R, - kf40=\E[1;6S, - kf41=\E[15;6~, - kf42=\E[17;6~, - kf43=\E[18;6~, - kf44=\E[19;6~, - kf45=\E[20;6~, - kf46=\E[21;6~, - kf47=\E[23;6~, - kf48=\E[24;6~, - kf49=\E[1;3P, - kf50=\E[1;3Q, - kf51=\E[1;3R, - kf52=\E[1;3S, - kf53=\E[15;3~, - kf54=\E[17;3~, - kf55=\E[18;3~, - kf56=\E[19;3~, - kf57=\E[20;3~, - kf58=\E[21;3~, - kf59=\E[23;3~, - kf60=\E[24;3~, - kf61=\E[1;4P, - kf62=\E[1;4Q, - kf63=\E[1;4R, - khome=\E[1~, - kil1=\E[2;5~, - krmir=\E[2;2~, - knp=\E[6~, - kmous=\E[M, - kpp=\E[5~, - lines#24, - mir, - msgr, - npc, - op=\E[39;49m, - pairs#64, - mc0=\E[i, - mc4=\E[4i, - mc5=\E[5i, - rc=\E8, - rev=\E[7m, - ri=\EM, - rin=\E[%p1%dT, - ritm=\E[23m, - rmacs=\E(B, - rmcup=\E[?1049l, - rmir=\E[4l, - rmkx=\E[?1l\E>, - rmso=\E[27m, - rmul=\E[24m, - rs1=\Ec, - rs2=\E[4l\E>\E[?1034l, - sc=\E7, - sitm=\E[3m, - sgr0=\E[0m, - smacs=\E(0, - smcup=\E[?1049h, - smir=\E[4h, - smkx=\E[?1h\E=, - smso=\E[7m, - smul=\E[4m, - tbc=\E[3g, - tsl=\E]0;, - xenl, - vpa=\E[%i%p1%dd, -# XTerm extensions - rmxx=\E[29m, - smxx=\E[9m, - BE=\E[?2004h, - BD=\E[?2004l, - PS=\E[200~, - PE=\E[201~, -# disabled rep for now: causes some issues with older ncurses versions. -# rep=%p1%c\E[%p2%{1}%-%db, -# tmux extensions, see TERMINFO EXTENSIONS in tmux(1) - Tc, - Ms=\E]52;%p1%s;%p2%s\007, - Se=\E[2 q, - Ss=\E[%p1%d q, - -st| simpleterm, - use=st-mono, - colors#8, - setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m, - -st-256color| simpleterm with 256 colors, - use=st, - ccc, - colors#256, - oc=\E]104\007, - pairs#32767, -# Nicked from xterm-256color - initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\, - setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m, - setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m, - -st-meta| simpleterm with meta key, - use=st, - km, - rmm=\E[?1034l, - smm=\E[?1034h, - rs2=\E[4l\E>\E[?1034h, - is2=\E[4l\E>\E[?1034h, - -st-meta-256color| simpleterm with meta key and 256 colors, - use=st-256color, - km, - rmm=\E[?1034l, - smm=\E[?1034h, - rs2=\E[4l\E>\E[?1034h, - is2=\E[4l\E>\E[?1034h, - -st-bs| simpleterm with backspace as backspace, - use=st, - kbs=\010, - kdch1=\177, - -st-bs-256color| simpleterm with backspace as backspace and 256colors, - use=st-256color, - kbs=\010, - kdch1=\177, diff --git a/programs/st/win.h b/programs/st/win.h deleted file mode 100644 index 6de960de..00000000 --- a/programs/st/win.h +++ /dev/null @@ -1,41 +0,0 @@ -/* See LICENSE for license details. */ - -enum win_mode { - MODE_VISIBLE = 1 << 0, - MODE_FOCUSED = 1 << 1, - MODE_APPKEYPAD = 1 << 2, - MODE_MOUSEBTN = 1 << 3, - MODE_MOUSEMOTION = 1 << 4, - MODE_REVERSE = 1 << 5, - MODE_KBDLOCK = 1 << 6, - MODE_HIDE = 1 << 7, - MODE_APPCURSOR = 1 << 8, - MODE_MOUSESGR = 1 << 9, - MODE_8BIT = 1 << 10, - MODE_BLINK = 1 << 11, - MODE_FBLINK = 1 << 12, - MODE_FOCUS = 1 << 13, - MODE_MOUSEX10 = 1 << 14, - MODE_MOUSEMANY = 1 << 15, - MODE_BRCKTPASTE = 1 << 16, - MODE_NUMLOCK = 1 << 17, - MODE_MOUSE = MODE_MOUSEBTN|MODE_MOUSEMOTION|MODE_MOUSEX10\ - |MODE_MOUSEMANY, -}; - -void xbell(void); -void xclipcopy(void); -void xdrawcursor(int, int, Glyph, int, int, Glyph); -void xdrawline(Line, int, int, int); -void xfinishdraw(void); -void xloadcols(void); -int xsetcolorname(int, const char *); -int xgetcolor(int, unsigned char *, unsigned char *, unsigned char *); -void xseticontitle(char *); -void xsettitle(char *); -int xsetcursor(int); -void xsetmode(int, unsigned int); -void xsetpointermotion(int); -void xsetsel(char *); -int xstartdraw(void); -void xximspot(int, int); diff --git a/programs/st/x.c b/programs/st/x.c deleted file mode 100644 index 964af932..00000000 --- a/programs/st/x.c +++ /dev/null @@ -1,2120 +0,0 @@ -/* See LICENSE for license details. */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -char *argv0; -#include "arg.h" -#include "st.h" -#include "win.h" - -/* types used in config.h */ -typedef struct { - uint mod; - KeySym keysym; - void (*func)(const Arg *); - const Arg arg; -} Shortcut; - -typedef struct { - uint mod; - uint button; - void (*func)(const Arg *); - const Arg arg; - uint release; -} MouseShortcut; - -typedef struct { - KeySym k; - uint mask; - char *s; - /* three-valued logic variables: 0 indifferent, 1 on, -1 off */ - signed char appkey; /* application keypad */ - signed char appcursor; /* application cursor */ -} Key; - -/* X modifiers */ -#define XK_ANY_MOD UINT_MAX -#define XK_NO_MOD 0 -#define XK_SWITCH_MOD (1<<13|1<<14) - -/* function definitions used in config.h */ -static void clipcopy(const Arg *); -static void clippaste(const Arg *); -static void numlock(const Arg *); -static void selpaste(const Arg *); -static void zoom(const Arg *); -static void zoomabs(const Arg *); -static void zoomreset(const Arg *); -static void ttysend(const Arg *); - -/* config.h for applying patches and the configuration. */ -#include "config.h" - -/* XEMBED messages */ -#define XEMBED_FOCUS_IN 4 -#define XEMBED_FOCUS_OUT 5 - -/* macros */ -#define IS_SET(flag) ((win.mode & (flag)) != 0) -#define TRUERED(x) (((x) & 0xff0000) >> 8) -#define TRUEGREEN(x) (((x) & 0xff00)) -#define TRUEBLUE(x) (((x) & 0xff) << 8) - -typedef XftDraw *Draw; -typedef XftColor Color; -typedef XftGlyphFontSpec GlyphFontSpec; - -/* Purely graphic info */ -typedef struct { - int tw, th; /* tty width and height */ - int w, h; /* window width and height */ - int hborderpx, vborderpx; - int ch; /* char height */ - int cw; /* char width */ - int mode; /* window state/mode flags */ - int cursor; /* cursor style */ -} TermWindow; - -typedef struct { - Display *dpy; - Colormap cmap; - Window win; - Drawable buf; - GlyphFontSpec *specbuf; /* font spec buffer used for rendering */ - Atom xembed, wmdeletewin, netwmname, netwmiconname, netwmpid; - struct { - XIM xim; - XIC xic; - XPoint spot; - XVaNestedList spotlist; - } ime; - Draw draw; - Visual *vis; - XSetWindowAttributes attrs; - int scr; - int isfixed; /* is fixed geometry? */ - int l, t; /* left and top offset */ - int gm; /* geometry mask */ -} XWindow; - -typedef struct { - Atom xtarget; - char *primary, *clipboard; - struct timespec tclick1; - struct timespec tclick2; -} XSelection; - -/* Font structure */ -#define Font Font_ -typedef struct { - int height; - int width; - int ascent; - int descent; - int badslant; - int badweight; - short lbearing; - short rbearing; - XftFont *match; - FcFontSet *set; - FcPattern *pattern; -} Font; - -/* Drawing Context */ -typedef struct { - Color *col; - size_t collen; - Font font, bfont, ifont, ibfont; - GC gc; -} DC; - -static inline ushort sixd_to_16bit(int); -static int xmakeglyphfontspecs(XftGlyphFontSpec *, const Glyph *, int, int, int); -static void xdrawglyphfontspecs(const XftGlyphFontSpec *, Glyph, int, int, int); -static void xdrawglyph(Glyph, int, int); -static void xclear(int, int, int, int); -static int xgeommasktogravity(int); -static int ximopen(Display *); -static void ximinstantiate(Display *, XPointer, XPointer); -static void ximdestroy(XIM, XPointer, XPointer); -static int xicdestroy(XIC, XPointer, XPointer); -static void xinit(int, int); -static void cresize(int, int); -static void xresize(int, int); -static void xhints(void); -static int xloadcolor(int, const char *, Color *); -static int xloadfont(Font *, FcPattern *); -static void xloadfonts(const char *, double); -static void xunloadfont(Font *); -static void xunloadfonts(void); -static void xsetenv(void); -static void xseturgency(int); -static int evcol(XEvent *); -static int evrow(XEvent *); - -static void expose(XEvent *); -static void visibility(XEvent *); -static void unmap(XEvent *); -static void kpress(XEvent *); -static void cmessage(XEvent *); -static void resize(XEvent *); -static void focus(XEvent *); -static uint buttonmask(uint); -static int mouseaction(XEvent *, uint); -static void brelease(XEvent *); -static void bpress(XEvent *); -static void bmotion(XEvent *); -static void propnotify(XEvent *); -static void selnotify(XEvent *); -static void selclear_(XEvent *); -static void selrequest(XEvent *); -static void setsel(char *, Time); -static void mousesel(XEvent *, int); -static void mousereport(XEvent *); -static char *kmap(KeySym, uint); -static int match(uint, uint); - -static void run(void); -static void usage(void); - -static void (*handler[LASTEvent])(XEvent *) = { - [KeyPress] = kpress, - [ClientMessage] = cmessage, - [ConfigureNotify] = resize, - [VisibilityNotify] = visibility, - [UnmapNotify] = unmap, - [Expose] = expose, - [FocusIn] = focus, - [FocusOut] = focus, - [MotionNotify] = bmotion, - [ButtonPress] = bpress, - [ButtonRelease] = brelease, -/* - * Uncomment if you want the selection to disappear when you select something - * different in another window. - */ -/* [SelectionClear] = selclear_, */ - [SelectionNotify] = selnotify, -/* - * PropertyNotify is only turned on when there is some INCR transfer happening - * for the selection retrieval. - */ - [PropertyNotify] = propnotify, - [SelectionRequest] = selrequest, -}; - -/* Globals */ -static DC dc; -static XWindow xw; -static XSelection xsel; -static TermWindow win; - -/* Font Ring Cache */ -enum { - FRC_NORMAL, - FRC_ITALIC, - FRC_BOLD, - FRC_ITALICBOLD -}; - -typedef struct { - XftFont *font; - int flags; - Rune unicodep; -} Fontcache; - -/* Fontcache is an array now. A new font will be appended to the array. */ -static Fontcache *frc = NULL; -static int frclen = 0; -static int frccap = 0; -static char *usedfont = NULL; -static double usedfontsize = 0; -static double defaultfontsize = 0; - -static char *opt_class = NULL; -static char **opt_cmd = NULL; -static char *opt_embed = NULL; -static char *opt_font = NULL; -static char *opt_io = NULL; -static char *opt_line = NULL; -static char *opt_name = NULL; -static char *opt_title = NULL; - -static uint buttons; /* bit field of pressed buttons */ - -void -clipcopy(const Arg *dummy) -{ - Atom clipboard; - - free(xsel.clipboard); - xsel.clipboard = NULL; - - if (xsel.primary != NULL) { - xsel.clipboard = xstrdup(xsel.primary); - clipboard = XInternAtom(xw.dpy, "CLIPBOARD", 0); - XSetSelectionOwner(xw.dpy, clipboard, xw.win, CurrentTime); - } -} - -void -clippaste(const Arg *dummy) -{ - Atom clipboard; - - clipboard = XInternAtom(xw.dpy, "CLIPBOARD", 0); - XConvertSelection(xw.dpy, clipboard, xsel.xtarget, clipboard, - xw.win, CurrentTime); -} - -void -selpaste(const Arg *dummy) -{ - XConvertSelection(xw.dpy, XA_PRIMARY, xsel.xtarget, XA_PRIMARY, - xw.win, CurrentTime); -} - -void -numlock(const Arg *dummy) -{ - win.mode ^= MODE_NUMLOCK; -} - -void -zoom(const Arg *arg) -{ - Arg larg; - - larg.f = usedfontsize + arg->f; - zoomabs(&larg); -} - -void -zoomabs(const Arg *arg) -{ - xunloadfonts(); - xloadfonts(usedfont, arg->f); - cresize(0, 0); - redraw(); - xhints(); -} - -void -zoomreset(const Arg *arg) -{ - Arg larg; - - if (defaultfontsize > 0) { - larg.f = defaultfontsize; - zoomabs(&larg); - } -} - -void -ttysend(const Arg *arg) -{ - ttywrite(arg->s, strlen(arg->s), 1); -} - -int -evcol(XEvent *e) -{ - int x = e->xbutton.x - win.hborderpx; - LIMIT(x, 0, win.tw - 1); - return x / win.cw; -} - -int -evrow(XEvent *e) -{ - int y = e->xbutton.y - win.vborderpx; - LIMIT(y, 0, win.th - 1); - return y / win.ch; -} - -void -mousesel(XEvent *e, int done) -{ - int type, seltype = SEL_REGULAR; - uint state = e->xbutton.state & ~(Button1Mask | forcemousemod); - - for (type = 1; type < LEN(selmasks); ++type) { - if (match(selmasks[type], state)) { - seltype = type; - break; - } - } - selextend(evcol(e), evrow(e), seltype, done); - if (done) - setsel(getsel(), e->xbutton.time); -} - -void -mousereport(XEvent *e) -{ - int len, btn, code; - int x = evcol(e), y = evrow(e); - int state = e->xbutton.state; - char buf[40]; - static int ox, oy; - - if (e->type == MotionNotify) { - if (x == ox && y == oy) - return; - if (!IS_SET(MODE_MOUSEMOTION) && !IS_SET(MODE_MOUSEMANY)) - return; - /* MODE_MOUSEMOTION: no reporting if no button is pressed */ - if (IS_SET(MODE_MOUSEMOTION) && buttons == 0) - return; - /* Set btn to lowest-numbered pressed button, or 12 if no - * buttons are pressed. */ - for (btn = 1; btn <= 11 && !(buttons & (1<<(btn-1))); btn++) - ; - code = 32; - } else { - btn = e->xbutton.button; - /* Only buttons 1 through 11 can be encoded */ - if (btn < 1 || btn > 11) - return; - if (e->type == ButtonRelease) { - /* MODE_MOUSEX10: no button release reporting */ - if (IS_SET(MODE_MOUSEX10)) - return; - /* Don't send release events for the scroll wheel */ - if (btn == 4 || btn == 5) - return; - } - code = 0; - } - - ox = x; - oy = y; - - /* Encode btn into code. If no button is pressed for a motion event in - * MODE_MOUSEMANY, then encode it as a release. */ - if ((!IS_SET(MODE_MOUSESGR) && e->type == ButtonRelease) || btn == 12) - code += 3; - else if (btn >= 8) - code += 128 + btn - 8; - else if (btn >= 4) - code += 64 + btn - 4; - else - code += btn - 1; - - if (!IS_SET(MODE_MOUSEX10)) { - code += ((state & ShiftMask ) ? 4 : 0) - + ((state & Mod1Mask ) ? 8 : 0) /* meta key: alt */ - + ((state & ControlMask) ? 16 : 0); - } - - if (IS_SET(MODE_MOUSESGR)) { - len = snprintf(buf, sizeof(buf), "\033[<%d;%d;%d%c", - code, x+1, y+1, - e->type == ButtonRelease ? 'm' : 'M'); - } else if (x < 223 && y < 223) { - len = snprintf(buf, sizeof(buf), "\033[M%c%c%c", - 32+code, 32+x+1, 32+y+1); - } else { - return; - } - - ttywrite(buf, len, 0); -} - -uint -buttonmask(uint button) -{ - return button == Button1 ? Button1Mask - : button == Button2 ? Button2Mask - : button == Button3 ? Button3Mask - : button == Button4 ? Button4Mask - : button == Button5 ? Button5Mask - : 0; -} - -int -mouseaction(XEvent *e, uint release) -{ - MouseShortcut *ms; - - /* ignore Buttonmask for Button - it's set on release */ - uint state = e->xbutton.state & ~buttonmask(e->xbutton.button); - - for (ms = mshortcuts; ms < mshortcuts + LEN(mshortcuts); ms++) { - if (ms->release == release && - ms->button == e->xbutton.button && - (match(ms->mod, state) || /* exact or forced */ - match(ms->mod, state & ~forcemousemod))) { - ms->func(&(ms->arg)); - return 1; - } - } - - return 0; -} - -void -bpress(XEvent *e) -{ - int btn = e->xbutton.button; - struct timespec now; - int snap; - - if (1 <= btn && btn <= 11) - buttons |= 1 << (btn-1); - - if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forcemousemod)) { - mousereport(e); - return; - } - - if (mouseaction(e, 0)) - return; - - if (btn == Button1) { - /* - * If the user clicks below predefined timeouts specific - * snapping behaviour is exposed. - */ - clock_gettime(CLOCK_MONOTONIC, &now); - if (TIMEDIFF(now, xsel.tclick2) <= tripleclicktimeout) { - snap = SNAP_LINE; - } else if (TIMEDIFF(now, xsel.tclick1) <= doubleclicktimeout) { - snap = SNAP_WORD; - } else { - snap = 0; - } - xsel.tclick2 = xsel.tclick1; - xsel.tclick1 = now; - - selstart(evcol(e), evrow(e), snap); - } -} - -void -propnotify(XEvent *e) -{ - XPropertyEvent *xpev; - Atom clipboard = XInternAtom(xw.dpy, "CLIPBOARD", 0); - - xpev = &e->xproperty; - if (xpev->state == PropertyNewValue && - (xpev->atom == XA_PRIMARY || - xpev->atom == clipboard)) { - selnotify(e); - } -} - -void -selnotify(XEvent *e) -{ - ulong nitems, ofs, rem; - int format; - uchar *data, *last, *repl; - Atom type, incratom, property = None; - - incratom = XInternAtom(xw.dpy, "INCR", 0); - - ofs = 0; - if (e->type == SelectionNotify) - property = e->xselection.property; - else if (e->type == PropertyNotify) - property = e->xproperty.atom; - - if (property == None) - return; - - do { - if (XGetWindowProperty(xw.dpy, xw.win, property, ofs, - BUFSIZ/4, False, AnyPropertyType, - &type, &format, &nitems, &rem, - &data)) { - fprintf(stderr, "Clipboard allocation failed\n"); - return; - } - - if (e->type == PropertyNotify && nitems == 0 && rem == 0) { - /* - * If there is some PropertyNotify with no data, then - * this is the signal of the selection owner that all - * data has been transferred. We won't need to receive - * PropertyNotify events anymore. - */ - MODBIT(xw.attrs.event_mask, 0, PropertyChangeMask); - XChangeWindowAttributes(xw.dpy, xw.win, CWEventMask, - &xw.attrs); - } - - if (type == incratom) { - /* - * Activate the PropertyNotify events so we receive - * when the selection owner does send us the next - * chunk of data. - */ - MODBIT(xw.attrs.event_mask, 1, PropertyChangeMask); - XChangeWindowAttributes(xw.dpy, xw.win, CWEventMask, - &xw.attrs); - - /* - * Deleting the property is the transfer start signal. - */ - XDeleteProperty(xw.dpy, xw.win, (int)property); - continue; - } - - /* - * As seen in getsel: - * Line endings are inconsistent in the terminal and GUI world - * copy and pasting. When receiving some selection data, - * replace all '\n' with '\r'. - * FIXME: Fix the computer world. - */ - repl = data; - last = data + nitems * format / 8; - while ((repl = memchr(repl, '\n', last - repl))) { - *repl++ = '\r'; - } - - if (IS_SET(MODE_BRCKTPASTE) && ofs == 0) - ttywrite("\033[200~", 6, 0); - ttywrite((char *)data, nitems * format / 8, 1); - if (IS_SET(MODE_BRCKTPASTE) && rem == 0) - ttywrite("\033[201~", 6, 0); - XFree(data); - /* number of 32-bit chunks returned */ - ofs += nitems * format / 32; - } while (rem > 0); - - /* - * Deleting the property again tells the selection owner to send the - * next data chunk in the property. - */ - XDeleteProperty(xw.dpy, xw.win, (int)property); -} - -void -xclipcopy(void) -{ - clipcopy(NULL); -} - -void -selclear_(XEvent *e) -{ - selclear(); -} - -void -selrequest(XEvent *e) -{ - XSelectionRequestEvent *xsre; - XSelectionEvent xev; - Atom xa_targets, string, clipboard; - char *seltext; - - xsre = (XSelectionRequestEvent *) e; - xev.type = SelectionNotify; - xev.requestor = xsre->requestor; - xev.selection = xsre->selection; - xev.target = xsre->target; - xev.time = xsre->time; - if (xsre->property == None) - xsre->property = xsre->target; - - /* reject */ - xev.property = None; - - xa_targets = XInternAtom(xw.dpy, "TARGETS", 0); - if (xsre->target == xa_targets) { - /* respond with the supported type */ - string = xsel.xtarget; - XChangeProperty(xsre->display, xsre->requestor, xsre->property, - XA_ATOM, 32, PropModeReplace, - (uchar *) &string, 1); - xev.property = xsre->property; - } else if (xsre->target == xsel.xtarget || xsre->target == XA_STRING) { - /* - * xith XA_STRING non ascii characters may be incorrect in the - * requestor. It is not our problem, use utf8. - */ - clipboard = XInternAtom(xw.dpy, "CLIPBOARD", 0); - if (xsre->selection == XA_PRIMARY) { - seltext = xsel.primary; - } else if (xsre->selection == clipboard) { - seltext = xsel.clipboard; - } else { - fprintf(stderr, - "Unhandled clipboard selection 0x%lx\n", - xsre->selection); - return; - } - if (seltext != NULL) { - XChangeProperty(xsre->display, xsre->requestor, - xsre->property, xsre->target, - 8, PropModeReplace, - (uchar *)seltext, strlen(seltext)); - xev.property = xsre->property; - } - } - - /* all done, send a notification to the listener */ - if (!XSendEvent(xsre->display, xsre->requestor, 1, 0, (XEvent *) &xev)) - fprintf(stderr, "Error sending SelectionNotify event\n"); -} - -void -setsel(char *str, Time t) -{ - if (!str) - return; - - free(xsel.primary); - xsel.primary = str; - - XSetSelectionOwner(xw.dpy, XA_PRIMARY, xw.win, t); - if (XGetSelectionOwner(xw.dpy, XA_PRIMARY) != xw.win) - selclear(); -} - -void -xsetsel(char *str) -{ - setsel(str, CurrentTime); -} - -void -brelease(XEvent *e) -{ - int btn = e->xbutton.button; - - if (1 <= btn && btn <= 11) - buttons &= ~(1 << (btn-1)); - - if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forcemousemod)) { - mousereport(e); - return; - } - - if (mouseaction(e, 1)) - return; - if (btn == Button1) - mousesel(e, 1); -} - -void -bmotion(XEvent *e) -{ - if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forcemousemod)) { - mousereport(e); - return; - } - - mousesel(e, 0); -} - -void -cresize(int width, int height) -{ - int col, row; - - if (width != 0) - win.w = width; - if (height != 0) - win.h = height; - - col = (win.w - 2 * borderpx) / win.cw; - row = (win.h - 2 * borderpx) / win.ch; - col = MAX(1, col); - row = MAX(1, row); - - win.hborderpx = (win.w - col * win.cw) / 2; - win.vborderpx = (win.h - row * win.ch) / 2; - - tresize(col, row); - xresize(col, row); - ttyresize(win.tw, win.th); -} - -void -xresize(int col, int row) -{ - win.tw = col * win.cw; - win.th = row * win.ch; - - XFreePixmap(xw.dpy, xw.buf); - xw.buf = XCreatePixmap(xw.dpy, xw.win, win.w, win.h, - DefaultDepth(xw.dpy, xw.scr)); - XftDrawChange(xw.draw, xw.buf); - xclear(0, 0, win.w, win.h); - - /* resize to new width */ - xw.specbuf = xrealloc(xw.specbuf, col * sizeof(GlyphFontSpec)); -} - -ushort -sixd_to_16bit(int x) -{ - return x == 0 ? 0 : 0x3737 + 0x2828 * x; -} - -int -xloadcolor(int i, const char *name, Color *ncolor) -{ - XRenderColor color = { .alpha = 0xffff }; - - if (!name) { - if (BETWEEN(i, 16, 255)) { /* 256 color */ - if (i < 6*6*6+16) { /* same colors as xterm */ - color.red = sixd_to_16bit( ((i-16)/36)%6 ); - color.green = sixd_to_16bit( ((i-16)/6) %6 ); - color.blue = sixd_to_16bit( ((i-16)/1) %6 ); - } else { /* greyscale */ - color.red = 0x0808 + 0x0a0a * (i - (6*6*6+16)); - color.green = color.blue = color.red; - } - return XftColorAllocValue(xw.dpy, xw.vis, - xw.cmap, &color, ncolor); - } else - name = colorname[i]; - } - - return XftColorAllocName(xw.dpy, xw.vis, xw.cmap, name, ncolor); -} - -void -xloadcols(void) -{ - int i; - static int loaded; - Color *cp; - - if (loaded) { - for (cp = dc.col; cp < &dc.col[dc.collen]; ++cp) - XftColorFree(xw.dpy, xw.vis, xw.cmap, cp); - } else { - dc.collen = MAX(LEN(colorname), 256); - dc.col = xmalloc(dc.collen * sizeof(Color)); - } - - for (i = 0; i < dc.collen; i++) - if (!xloadcolor(i, NULL, &dc.col[i])) { - if (colorname[i]) - die("could not allocate color '%s'\n", colorname[i]); - else - die("could not allocate color %d\n", i); - } - loaded = 1; -} - -int -xgetcolor(int x, unsigned char *r, unsigned char *g, unsigned char *b) -{ - if (!BETWEEN(x, 0, dc.collen - 1)) - return 1; - - *r = dc.col[x].color.red >> 8; - *g = dc.col[x].color.green >> 8; - *b = dc.col[x].color.blue >> 8; - - return 0; -} - -int -xsetcolorname(int x, const char *name) -{ - Color ncolor; - - if (!BETWEEN(x, 0, dc.collen - 1)) - return 1; - - if (!xloadcolor(x, name, &ncolor)) - return 1; - - XftColorFree(xw.dpy, xw.vis, xw.cmap, &dc.col[x]); - dc.col[x] = ncolor; - - return 0; -} - -/* - * Absolute coordinates. - */ -void -xclear(int x1, int y1, int x2, int y2) -{ - XftDrawRect(xw.draw, - &dc.col[IS_SET(MODE_REVERSE)? defaultfg : defaultbg], - x1, y1, x2-x1, y2-y1); -} - -void -xhints(void) -{ - XClassHint class = {opt_name ? opt_name : termname, - opt_class ? opt_class : termname}; - XWMHints wm = {.flags = InputHint, .input = 1}; - XSizeHints *sizeh; - - sizeh = XAllocSizeHints(); - - sizeh->flags = PSize | PResizeInc | PBaseSize | PMinSize; - sizeh->height = win.h; - sizeh->width = win.w; - sizeh->height_inc = 1; - sizeh->width_inc = 1; - sizeh->base_height = 2 * borderpx; - sizeh->base_width = 2 * borderpx; - sizeh->min_height = win.ch + 2 * borderpx; - sizeh->min_width = win.cw + 2 * borderpx; - if (xw.isfixed) { - sizeh->flags |= PMaxSize; - sizeh->min_width = sizeh->max_width = win.w; - sizeh->min_height = sizeh->max_height = win.h; - } - if (xw.gm & (XValue|YValue)) { - sizeh->flags |= USPosition | PWinGravity; - sizeh->x = xw.l; - sizeh->y = xw.t; - sizeh->win_gravity = xgeommasktogravity(xw.gm); - } - - XSetWMProperties(xw.dpy, xw.win, NULL, NULL, NULL, 0, sizeh, &wm, - &class); - XFree(sizeh); -} - -int -xgeommasktogravity(int mask) -{ - switch (mask & (XNegative|YNegative)) { - case 0: - return NorthWestGravity; - case XNegative: - return NorthEastGravity; - case YNegative: - return SouthWestGravity; - } - - return SouthEastGravity; -} - -int -xloadfont(Font *f, FcPattern *pattern) -{ - FcPattern *configured; - FcPattern *match; - FcResult result; - XGlyphInfo extents; - int wantattr, haveattr; - - /* - * Manually configure instead of calling XftMatchFont - * so that we can use the configured pattern for - * "missing glyph" lookups. - */ - configured = FcPatternDuplicate(pattern); - if (!configured) - return 1; - - FcConfigSubstitute(NULL, configured, FcMatchPattern); - XftDefaultSubstitute(xw.dpy, xw.scr, configured); - - match = FcFontMatch(NULL, configured, &result); - if (!match) { - FcPatternDestroy(configured); - return 1; - } - - if (!(f->match = XftFontOpenPattern(xw.dpy, match))) { - FcPatternDestroy(configured); - FcPatternDestroy(match); - return 1; - } - - if ((XftPatternGetInteger(pattern, "slant", 0, &wantattr) == - XftResultMatch)) { - /* - * Check if xft was unable to find a font with the appropriate - * slant but gave us one anyway. Try to mitigate. - */ - if ((XftPatternGetInteger(f->match->pattern, "slant", 0, - &haveattr) != XftResultMatch) || haveattr < wantattr) { - f->badslant = 1; - fputs("font slant does not match\n", stderr); - } - } - - if ((XftPatternGetInteger(pattern, "weight", 0, &wantattr) == - XftResultMatch)) { - if ((XftPatternGetInteger(f->match->pattern, "weight", 0, - &haveattr) != XftResultMatch) || haveattr != wantattr) { - f->badweight = 1; - fputs("font weight does not match\n", stderr); - } - } - - XftTextExtentsUtf8(xw.dpy, f->match, - (const FcChar8 *) ascii_printable, - strlen(ascii_printable), &extents); - - f->set = NULL; - f->pattern = configured; - - f->ascent = f->match->ascent; - f->descent = f->match->descent; - f->lbearing = 0; - f->rbearing = f->match->max_advance_width; - - f->height = f->ascent + f->descent; - f->width = DIVCEIL(extents.xOff, strlen(ascii_printable)); - - return 0; -} - -void -xloadfonts(const char *fontstr, double fontsize) -{ - FcPattern *pattern; - double fontval; - - if (fontstr[0] == '-') - pattern = XftXlfdParse(fontstr, False, False); - else - pattern = FcNameParse((const FcChar8 *)fontstr); - - if (!pattern) - die("can't open font %s\n", fontstr); - - if (fontsize > 1) { - FcPatternDel(pattern, FC_PIXEL_SIZE); - FcPatternDel(pattern, FC_SIZE); - FcPatternAddDouble(pattern, FC_PIXEL_SIZE, (double)fontsize); - usedfontsize = fontsize; - } else { - if (FcPatternGetDouble(pattern, FC_PIXEL_SIZE, 0, &fontval) == - FcResultMatch) { - usedfontsize = fontval; - } else if (FcPatternGetDouble(pattern, FC_SIZE, 0, &fontval) == - FcResultMatch) { - usedfontsize = -1; - } else { - /* - * Default font size is 12, if none given. This is to - * have a known usedfontsize value. - */ - FcPatternAddDouble(pattern, FC_PIXEL_SIZE, 12); - usedfontsize = 12; - } - defaultfontsize = usedfontsize; - } - - if (xloadfont(&dc.font, pattern)) - die("can't open font %s\n", fontstr); - - if (usedfontsize < 0) { - FcPatternGetDouble(dc.font.match->pattern, - FC_PIXEL_SIZE, 0, &fontval); - usedfontsize = fontval; - if (fontsize == 0) - defaultfontsize = fontval; - } - - /* Setting character width and height. */ - win.cw = ceilf(dc.font.width * cwscale); - win.ch = ceilf(dc.font.height * chscale); - - FcPatternDel(pattern, FC_SLANT); - FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC); - if (xloadfont(&dc.ifont, pattern)) - die("can't open font %s\n", fontstr); - - FcPatternDel(pattern, FC_WEIGHT); - FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD); - if (xloadfont(&dc.ibfont, pattern)) - die("can't open font %s\n", fontstr); - - FcPatternDel(pattern, FC_SLANT); - FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN); - if (xloadfont(&dc.bfont, pattern)) - die("can't open font %s\n", fontstr); - - FcPatternDestroy(pattern); -} - -void -xunloadfont(Font *f) -{ - XftFontClose(xw.dpy, f->match); - FcPatternDestroy(f->pattern); - if (f->set) - FcFontSetDestroy(f->set); -} - -void -xunloadfonts(void) -{ - /* Free the loaded fonts in the font cache. */ - while (frclen > 0) - XftFontClose(xw.dpy, frc[--frclen].font); - - xunloadfont(&dc.font); - xunloadfont(&dc.bfont); - xunloadfont(&dc.ifont); - xunloadfont(&dc.ibfont); -} - -int -ximopen(Display *dpy) -{ - XIMCallback imdestroy = { .client_data = NULL, .callback = ximdestroy }; - XICCallback icdestroy = { .client_data = NULL, .callback = xicdestroy }; - - xw.ime.xim = XOpenIM(xw.dpy, NULL, NULL, NULL); - if (xw.ime.xim == NULL) - return 0; - - if (XSetIMValues(xw.ime.xim, XNDestroyCallback, &imdestroy, NULL)) - fprintf(stderr, "XSetIMValues: " - "Could not set XNDestroyCallback.\n"); - - xw.ime.spotlist = XVaCreateNestedList(0, XNSpotLocation, &xw.ime.spot, - NULL); - - if (xw.ime.xic == NULL) { - xw.ime.xic = XCreateIC(xw.ime.xim, XNInputStyle, - XIMPreeditNothing | XIMStatusNothing, - XNClientWindow, xw.win, - XNDestroyCallback, &icdestroy, - NULL); - } - if (xw.ime.xic == NULL) - fprintf(stderr, "XCreateIC: Could not create input context.\n"); - - return 1; -} - -void -ximinstantiate(Display *dpy, XPointer client, XPointer call) -{ - if (ximopen(dpy)) - XUnregisterIMInstantiateCallback(xw.dpy, NULL, NULL, NULL, - ximinstantiate, NULL); -} - -void -ximdestroy(XIM xim, XPointer client, XPointer call) -{ - xw.ime.xim = NULL; - XRegisterIMInstantiateCallback(xw.dpy, NULL, NULL, NULL, - ximinstantiate, NULL); - XFree(xw.ime.spotlist); -} - -int -xicdestroy(XIC xim, XPointer client, XPointer call) -{ - xw.ime.xic = NULL; - return 1; -} - -void -xinit(int cols, int rows) -{ - XGCValues gcvalues; - Cursor cursor; - Window parent; - pid_t thispid = getpid(); - XColor xmousefg, xmousebg; - - if (!(xw.dpy = XOpenDisplay(NULL))) - die("can't open display\n"); - xw.scr = XDefaultScreen(xw.dpy); - xw.vis = XDefaultVisual(xw.dpy, xw.scr); - - /* font */ - if (!FcInit()) - die("could not init fontconfig.\n"); - - usedfont = (opt_font == NULL)? font : opt_font; - xloadfonts(usedfont, 0); - - /* colors */ - xw.cmap = XDefaultColormap(xw.dpy, xw.scr); - xloadcols(); - - /* adjust fixed window geometry */ - win.w = 2 * win.hborderpx + 2 * borderpx + cols * win.cw; - win.h = 2 * win.vborderpx + 2 * borderpx + rows * win.ch; - if (xw.gm & XNegative) - xw.l += DisplayWidth(xw.dpy, xw.scr) - win.w - 2; - if (xw.gm & YNegative) - xw.t += DisplayHeight(xw.dpy, xw.scr) - win.h - 2; - - /* Events */ - xw.attrs.background_pixel = dc.col[defaultbg].pixel; - xw.attrs.border_pixel = dc.col[defaultbg].pixel; - xw.attrs.bit_gravity = NorthWestGravity; - xw.attrs.event_mask = FocusChangeMask | KeyPressMask | KeyReleaseMask - | ExposureMask | VisibilityChangeMask | StructureNotifyMask - | ButtonMotionMask | ButtonPressMask | ButtonReleaseMask; - xw.attrs.colormap = xw.cmap; - - if (!(opt_embed && (parent = strtol(opt_embed, NULL, 0)))) - parent = XRootWindow(xw.dpy, xw.scr); - xw.win = XCreateWindow(xw.dpy, parent, xw.l, xw.t, - win.w, win.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput, - xw.vis, CWBackPixel | CWBorderPixel | CWBitGravity - | CWEventMask | CWColormap, &xw.attrs); - - memset(&gcvalues, 0, sizeof(gcvalues)); - gcvalues.graphics_exposures = False; - dc.gc = XCreateGC(xw.dpy, parent, GCGraphicsExposures, - &gcvalues); - xw.buf = XCreatePixmap(xw.dpy, xw.win, win.w, win.h, - DefaultDepth(xw.dpy, xw.scr)); - XSetForeground(xw.dpy, dc.gc, dc.col[defaultbg].pixel); - XFillRectangle(xw.dpy, xw.buf, dc.gc, 0, 0, win.w, win.h); - - /* font spec buffer */ - xw.specbuf = xmalloc(cols * sizeof(GlyphFontSpec)); - - /* Xft rendering context */ - xw.draw = XftDrawCreate(xw.dpy, xw.buf, xw.vis, xw.cmap); - - /* input methods */ - if (!ximopen(xw.dpy)) { - XRegisterIMInstantiateCallback(xw.dpy, NULL, NULL, NULL, - ximinstantiate, NULL); - } - - /* white cursor, black outline */ - cursor = XCreateFontCursor(xw.dpy, mouseshape); - XDefineCursor(xw.dpy, xw.win, cursor); - - if (XParseColor(xw.dpy, xw.cmap, colorname[mousefg], &xmousefg) == 0) { - xmousefg.red = 0xffff; - xmousefg.green = 0xffff; - xmousefg.blue = 0xffff; - } - - if (XParseColor(xw.dpy, xw.cmap, colorname[mousebg], &xmousebg) == 0) { - xmousebg.red = 0x0000; - xmousebg.green = 0x0000; - xmousebg.blue = 0x0000; - } - - XRecolorCursor(xw.dpy, cursor, &xmousefg, &xmousebg); - - xw.xembed = XInternAtom(xw.dpy, "_XEMBED", False); - xw.wmdeletewin = XInternAtom(xw.dpy, "WM_DELETE_WINDOW", False); - xw.netwmname = XInternAtom(xw.dpy, "_NET_WM_NAME", False); - xw.netwmiconname = XInternAtom(xw.dpy, "_NET_WM_ICON_NAME", False); - XSetWMProtocols(xw.dpy, xw.win, &xw.wmdeletewin, 1); - - xw.netwmpid = XInternAtom(xw.dpy, "_NET_WM_PID", False); - XChangeProperty(xw.dpy, xw.win, xw.netwmpid, XA_CARDINAL, 32, - PropModeReplace, (uchar *)&thispid, 1); - - win.mode = MODE_NUMLOCK; - resettitle(); - xhints(); - XMapWindow(xw.dpy, xw.win); - XSync(xw.dpy, False); - - clock_gettime(CLOCK_MONOTONIC, &xsel.tclick1); - clock_gettime(CLOCK_MONOTONIC, &xsel.tclick2); - xsel.primary = NULL; - xsel.clipboard = NULL; - xsel.xtarget = XInternAtom(xw.dpy, "UTF8_STRING", 0); - if (xsel.xtarget == None) - xsel.xtarget = XA_STRING; - - boxdraw_xinit(xw.dpy, xw.cmap, xw.draw, xw.vis); -} - -int -xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x, int y) -{ - float winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch, xp, yp; - ushort mode, prevmode = USHRT_MAX; - Font *font = &dc.font; - int frcflags = FRC_NORMAL; - float runewidth = win.cw; - Rune rune; - FT_UInt glyphidx; - FcResult fcres; - FcPattern *fcpattern, *fontpattern; - FcFontSet *fcsets[] = { NULL }; - FcCharSet *fccharset; - int i, f, numspecs = 0; - - for (i = 0, xp = winx, yp = winy + font->ascent; i < len; ++i) { - /* Fetch rune and mode for current glyph. */ - rune = glyphs[i].u; - mode = glyphs[i].mode; - - /* Skip dummy wide-character spacing. */ - if (mode == ATTR_WDUMMY) - continue; - - /* Determine font for glyph if different from previous glyph. */ - if (prevmode != mode) { - prevmode = mode; - font = &dc.font; - frcflags = FRC_NORMAL; - runewidth = win.cw * ((mode & ATTR_WIDE) ? 2.0f : 1.0f); - if ((mode & ATTR_ITALIC) && (mode & ATTR_BOLD)) { - font = &dc.ibfont; - frcflags = FRC_ITALICBOLD; - } else if (mode & ATTR_ITALIC) { - font = &dc.ifont; - frcflags = FRC_ITALIC; - } else if (mode & ATTR_BOLD) { - font = &dc.bfont; - frcflags = FRC_BOLD; - } - yp = winy + font->ascent; - } - - if (mode & ATTR_BOXDRAW) { - /* minor shoehorning: boxdraw uses only this ushort */ - glyphidx = boxdrawindex(&glyphs[i]); - } else { - /* Lookup character index with default font. */ - glyphidx = XftCharIndex(xw.dpy, font->match, rune); - } - if (glyphidx) { - specs[numspecs].font = font->match; - specs[numspecs].glyph = glyphidx; - specs[numspecs].x = (short)xp; - specs[numspecs].y = (short)yp; - xp += runewidth; - numspecs++; - continue; - } - - /* Fallback on font cache, search the font cache for match. */ - for (f = 0; f < frclen; f++) { - glyphidx = XftCharIndex(xw.dpy, frc[f].font, rune); - /* Everything correct. */ - if (glyphidx && frc[f].flags == frcflags) - break; - /* We got a default font for a not found glyph. */ - if (!glyphidx && frc[f].flags == frcflags - && frc[f].unicodep == rune) { - break; - } - } - - /* Nothing was found. Use fontconfig to find matching font. */ - if (f >= frclen) { - if (!font->set) - font->set = FcFontSort(0, font->pattern, - 1, 0, &fcres); - fcsets[0] = font->set; - - /* - * Nothing was found in the cache. Now use - * some dozen of Fontconfig calls to get the - * font for one single character. - * - * Xft and fontconfig are design failures. - */ - fcpattern = FcPatternDuplicate(font->pattern); - fccharset = FcCharSetCreate(); - - FcCharSetAddChar(fccharset, rune); - FcPatternAddCharSet(fcpattern, FC_CHARSET, - fccharset); - FcPatternAddBool(fcpattern, FC_SCALABLE, 1); - - FcConfigSubstitute(0, fcpattern, - FcMatchPattern); - FcDefaultSubstitute(fcpattern); - - fontpattern = FcFontSetMatch(0, fcsets, 1, - fcpattern, &fcres); - - /* Allocate memory for the new cache entry. */ - if (frclen >= frccap) { - frccap += 16; - frc = xrealloc(frc, frccap * sizeof(Fontcache)); - } - - frc[frclen].font = XftFontOpenPattern(xw.dpy, - fontpattern); - if (!frc[frclen].font) - die("XftFontOpenPattern failed seeking fallback font: %s\n", - strerror(errno)); - frc[frclen].flags = frcflags; - frc[frclen].unicodep = rune; - - glyphidx = XftCharIndex(xw.dpy, frc[frclen].font, rune); - - f = frclen; - frclen++; - - FcPatternDestroy(fcpattern); - FcCharSetDestroy(fccharset); - } - - specs[numspecs].font = frc[f].font; - specs[numspecs].glyph = glyphidx; - specs[numspecs].x = (short)xp; - specs[numspecs].y = (short)yp; - xp += runewidth; - numspecs++; - } - - return numspecs; -} - -void -xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, int y) -{ - int charlen = len * ((base.mode & ATTR_WIDE) ? 2 : 1); - int winx = win.hborderpx + x * win.cw, winy = win.vborderpx + y * win.ch, - width = charlen * win.cw; - Color *fg, *bg, *temp, revfg, revbg, truefg, truebg; - XRenderColor colfg, colbg; - XRectangle r; - - /* Fallback on color display for attributes not supported by the font */ - if (base.mode & ATTR_ITALIC && base.mode & ATTR_BOLD) { - if (dc.ibfont.badslant || dc.ibfont.badweight) - base.fg = defaultattr; - } else if ((base.mode & ATTR_ITALIC && dc.ifont.badslant) || - (base.mode & ATTR_BOLD && dc.bfont.badweight)) { - base.fg = defaultattr; - } - - if (IS_TRUECOL(base.fg)) { - colfg.alpha = 0xffff; - colfg.red = TRUERED(base.fg); - colfg.green = TRUEGREEN(base.fg); - colfg.blue = TRUEBLUE(base.fg); - XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colfg, &truefg); - fg = &truefg; - } else { - fg = &dc.col[base.fg]; - } - - if (IS_TRUECOL(base.bg)) { - colbg.alpha = 0xffff; - colbg.green = TRUEGREEN(base.bg); - colbg.red = TRUERED(base.bg); - colbg.blue = TRUEBLUE(base.bg); - XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colbg, &truebg); - bg = &truebg; - } else { - bg = &dc.col[base.bg]; - } - - /* Change basic system colors [0-7] to bright system colors [8-15] */ - if ((base.mode & ATTR_BOLD_FAINT) == ATTR_BOLD && BETWEEN(base.fg, 0, 7)) - fg = &dc.col[base.fg + 8]; - - if (IS_SET(MODE_REVERSE)) { - if (fg == &dc.col[defaultfg]) { - fg = &dc.col[defaultbg]; - } else { - colfg.red = ~fg->color.red; - colfg.green = ~fg->color.green; - colfg.blue = ~fg->color.blue; - colfg.alpha = fg->color.alpha; - XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colfg, - &revfg); - fg = &revfg; - } - - if (bg == &dc.col[defaultbg]) { - bg = &dc.col[defaultfg]; - } else { - colbg.red = ~bg->color.red; - colbg.green = ~bg->color.green; - colbg.blue = ~bg->color.blue; - colbg.alpha = bg->color.alpha; - XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colbg, - &revbg); - bg = &revbg; - } - } - - if ((base.mode & ATTR_BOLD_FAINT) == ATTR_FAINT) { - colfg.red = fg->color.red / 2; - colfg.green = fg->color.green / 2; - colfg.blue = fg->color.blue / 2; - colfg.alpha = fg->color.alpha; - XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colfg, &revfg); - fg = &revfg; - } - - if (base.mode & ATTR_REVERSE) { - temp = fg; - fg = bg; - bg = temp; - } - - if (base.mode & ATTR_BLINK && win.mode & MODE_BLINK) - fg = bg; - - if (base.mode & ATTR_INVISIBLE) - fg = bg; - - /* Intelligent cleaning up of the borders. */ - if (x == 0) { - xclear(0, (y == 0)? 0 : winy, win.hborderpx, - winy + win.ch + - ((winy + win.ch >= win.vborderpx + win.th)? win.h : 0)); - } - if (winx + width >= win.hborderpx + win.tw) { - xclear(winx + width, (y == 0)? 0 : winy, win.w, - ((winy + win.ch >= win.vborderpx + win.th)? win.h : (winy + win.ch))); - } - if (y == 0) - xclear(winx, 0, winx + width, win.vborderpx); - if (winy + win.ch >= win.vborderpx + win.th) - xclear(winx, winy + win.ch, winx + width, win.h); - - /* Clean up the region we want to draw to. */ - XftDrawRect(xw.draw, bg, winx, winy, width, win.ch); - - /* Set the clip region because Xft is sometimes dirty. */ - r.x = 0; - r.y = 0; - r.height = win.ch; - r.width = width; - XftDrawSetClipRectangles(xw.draw, winx, winy, &r, 1); - - if (base.mode & ATTR_BOXDRAW) { - drawboxes(winx, winy, width / len, win.ch, fg, bg, specs, len); - } else { - /* Render the glyphs. */ - XftDrawGlyphFontSpec(xw.draw, fg, specs, len); - } - - /* Render underline and strikethrough. */ - if (base.mode & ATTR_UNDERLINE) { - XftDrawRect(xw.draw, fg, winx, winy + dc.font.ascent * chscale + 1, - width, 1); - } - - if (base.mode & ATTR_STRUCK) { - XftDrawRect(xw.draw, fg, winx, winy + 2 * dc.font.ascent * chscale / 3, - width, 1); - } - - /* Reset clip to none. */ - XftDrawSetClip(xw.draw, 0); -} - -void -xdrawglyph(Glyph g, int x, int y) -{ - int numspecs; - XftGlyphFontSpec spec; - - numspecs = xmakeglyphfontspecs(&spec, &g, 1, x, y); - xdrawglyphfontspecs(&spec, g, numspecs, x, y); -} - -void -xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) -{ - Color drawcol; - - /* remove the old cursor */ - if (selected(ox, oy)) - og.mode ^= ATTR_REVERSE; - xdrawglyph(og, ox, oy); - - if (IS_SET(MODE_HIDE)) - return; - - /* - * Select the right color for the right mode. - */ - g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE|ATTR_BOXDRAW; - - if (IS_SET(MODE_REVERSE)) { - g.mode |= ATTR_REVERSE; - g.bg = defaultfg; - if (selected(cx, cy)) { - drawcol = dc.col[defaultcs]; - g.fg = defaultrcs; - } else { - drawcol = dc.col[defaultrcs]; - g.fg = defaultcs; - } - } else { - if (selected(cx, cy)) { - g.fg = defaultfg; - g.bg = defaultrcs; - } else { - g.fg = defaultbg; - g.bg = defaultcs; - } - drawcol = dc.col[g.bg]; - } - - /* draw the new one */ - if (IS_SET(MODE_FOCUSED)) { - switch (win.cursor) { - case 7: /* st extension */ - g.u = 0x2603; /* snowman (U+2603) */ - /* FALLTHROUGH */ - case 0: /* Blinking Block */ - case 1: /* Blinking Block (Default) */ - case 2: /* Steady Block */ - xdrawglyph(g, cx, cy); - break; - case 3: /* Blinking Underline */ - case 4: /* Steady Underline */ - XftDrawRect(xw.draw, &drawcol, - win.hborderpx + cx * win.cw, - win.vborderpx + (cy + 1) * win.ch - \ - cursorthickness, - win.cw, cursorthickness); - break; - case 5: /* Blinking bar */ - case 6: /* Steady bar */ - XftDrawRect(xw.draw, &drawcol, - win.hborderpx + cx * win.cw, - win.vborderpx + cy * win.ch, - cursorthickness, win.ch); - break; - } - } else { - XftDrawRect(xw.draw, &drawcol, - win.hborderpx + cx * win.cw, - win.vborderpx + cy * win.ch, - win.cw - 1, 1); - XftDrawRect(xw.draw, &drawcol, - win.hborderpx + cx * win.cw, - win.vborderpx + cy * win.ch, - 1, win.ch - 1); - XftDrawRect(xw.draw, &drawcol, - win.hborderpx + (cx + 1) * win.cw - 1, - win.vborderpx + cy * win.ch, - 1, win.ch - 1); - XftDrawRect(xw.draw, &drawcol, - win.hborderpx + cx * win.cw, - win.vborderpx + (cy + 1) * win.ch - 1, - win.cw, 1); - } -} - -void -xsetenv(void) -{ - char buf[sizeof(long) * 8 + 1]; - - snprintf(buf, sizeof(buf), "%lu", xw.win); - setenv("WINDOWID", buf, 1); -} - -void -xseticontitle(char *p) -{ - XTextProperty prop; - DEFAULT(p, opt_title); - - if (p[0] == '\0') - p = opt_title; - - if (Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle, - &prop) != Success) - return; - XSetWMIconName(xw.dpy, xw.win, &prop); - XSetTextProperty(xw.dpy, xw.win, &prop, xw.netwmiconname); - XFree(prop.value); -} - -void -xsettitle(char *p) -{ - XTextProperty prop; - DEFAULT(p, opt_title); - - if (p[0] == '\0') - p = opt_title; - - if (Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle, - &prop) != Success) - return; - XSetWMName(xw.dpy, xw.win, &prop); - XSetTextProperty(xw.dpy, xw.win, &prop, xw.netwmname); - XFree(prop.value); -} - -int -xstartdraw(void) -{ - return IS_SET(MODE_VISIBLE); -} - -void -xdrawline(Line line, int x1, int y1, int x2) -{ - int i, x, ox, numspecs; - Glyph base, new; - XftGlyphFontSpec *specs = xw.specbuf; - - numspecs = xmakeglyphfontspecs(specs, &line[x1], x2 - x1, x1, y1); - i = ox = 0; - for (x = x1; x < x2 && i < numspecs; x++) { - new = line[x]; - if (new.mode == ATTR_WDUMMY) - continue; - if (selected(x, y1)) - new.mode ^= ATTR_REVERSE; - if (i > 0 && ATTRCMP(base, new)) { - xdrawglyphfontspecs(specs, base, i, ox, y1); - specs += i; - numspecs -= i; - i = 0; - } - if (i == 0) { - ox = x; - base = new; - } - i++; - } - if (i > 0) - xdrawglyphfontspecs(specs, base, i, ox, y1); -} - -void -xfinishdraw(void) -{ - XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, win.w, - win.h, 0, 0); - XSetForeground(xw.dpy, dc.gc, - dc.col[IS_SET(MODE_REVERSE)? - defaultfg : defaultbg].pixel); -} - -void -xximspot(int x, int y) -{ - if (xw.ime.xic == NULL) - return; - - xw.ime.spot.x = borderpx + x * win.cw; - xw.ime.spot.y = borderpx + (y + 1) * win.ch; - - XSetICValues(xw.ime.xic, XNPreeditAttributes, xw.ime.spotlist, NULL); -} - -void -expose(XEvent *ev) -{ - redraw(); -} - -void -visibility(XEvent *ev) -{ - XVisibilityEvent *e = &ev->xvisibility; - - MODBIT(win.mode, e->state != VisibilityFullyObscured, MODE_VISIBLE); -} - -void -unmap(XEvent *ev) -{ - win.mode &= ~MODE_VISIBLE; -} - -void -xsetpointermotion(int set) -{ - MODBIT(xw.attrs.event_mask, set, PointerMotionMask); - XChangeWindowAttributes(xw.dpy, xw.win, CWEventMask, &xw.attrs); -} - -void -xsetmode(int set, unsigned int flags) -{ - int mode = win.mode; - MODBIT(win.mode, set, flags); - if ((win.mode & MODE_REVERSE) != (mode & MODE_REVERSE)) - redraw(); -} - -int -xsetcursor(int cursor) -{ - if (!BETWEEN(cursor, 0, 7)) /* 7: st extension */ - return 1; - win.cursor = cursor; - return 0; -} - -void -xseturgency(int add) -{ - XWMHints *h = XGetWMHints(xw.dpy, xw.win); - - MODBIT(h->flags, add, XUrgencyHint); - XSetWMHints(xw.dpy, xw.win, h); - XFree(h); -} - -void -xbell(void) -{ - if (!(IS_SET(MODE_FOCUSED))) - xseturgency(1); - if (bellvolume) - XkbBell(xw.dpy, xw.win, bellvolume, (Atom)NULL); -} - -void -focus(XEvent *ev) -{ - XFocusChangeEvent *e = &ev->xfocus; - - if (e->mode == NotifyGrab) - return; - - if (ev->type == FocusIn) { - if (xw.ime.xic) - XSetICFocus(xw.ime.xic); - win.mode |= MODE_FOCUSED; - xseturgency(0); - if (IS_SET(MODE_FOCUS)) - ttywrite("\033[I", 3, 0); - } else { - if (xw.ime.xic) - XUnsetICFocus(xw.ime.xic); - win.mode &= ~MODE_FOCUSED; - if (IS_SET(MODE_FOCUS)) - ttywrite("\033[O", 3, 0); - } -} - -int -match(uint mask, uint state) -{ - return mask == XK_ANY_MOD || mask == (state & ~ignoremod); -} - -char* -kmap(KeySym k, uint state) -{ - Key *kp; - int i; - - /* Check for mapped keys out of X11 function keys. */ - for (i = 0; i < LEN(mappedkeys); i++) { - if (mappedkeys[i] == k) - break; - } - if (i == LEN(mappedkeys)) { - if ((k & 0xFFFF) < 0xFD00) - return NULL; - } - - for (kp = key; kp < key + LEN(key); kp++) { - if (kp->k != k) - continue; - - if (!match(kp->mask, state)) - continue; - - if (IS_SET(MODE_APPKEYPAD) ? kp->appkey < 0 : kp->appkey > 0) - continue; - if (IS_SET(MODE_NUMLOCK) && kp->appkey == 2) - continue; - - if (IS_SET(MODE_APPCURSOR) ? kp->appcursor < 0 : kp->appcursor > 0) - continue; - - return kp->s; - } - - return NULL; -} - -void -kpress(XEvent *ev) -{ - XKeyEvent *e = &ev->xkey; - KeySym ksym = NoSymbol; - char buf[64], *customkey; - int len; - Rune c; - Status status; - Shortcut *bp; - - if (IS_SET(MODE_KBDLOCK)) - return; - - if (xw.ime.xic) { - len = XmbLookupString(xw.ime.xic, e, buf, sizeof buf, &ksym, &status); - if (status == XBufferOverflow) - return; - } else { - len = XLookupString(e, buf, sizeof buf, &ksym, NULL); - } - /* 1. shortcuts */ - for (bp = shortcuts; bp < shortcuts + LEN(shortcuts); bp++) { - if (ksym == bp->keysym && match(bp->mod, e->state)) { - bp->func(&(bp->arg)); - return; - } - } - - /* 2. custom keys from config.h */ - if ((customkey = kmap(ksym, e->state))) { - ttywrite(customkey, strlen(customkey), 1); - return; - } - - /* 3. composed string from input method */ - if (len == 0) - return; - if (len == 1 && e->state & Mod1Mask) { - if (IS_SET(MODE_8BIT)) { - if (*buf < 0177) { - c = *buf | 0x80; - len = utf8encode(c, buf); - } - } else { - buf[1] = buf[0]; - buf[0] = '\033'; - len = 2; - } - } - ttywrite(buf, len, 1); -} - -void -cmessage(XEvent *e) -{ - /* - * See xembed specs - * http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html - */ - if (e->xclient.message_type == xw.xembed && e->xclient.format == 32) { - if (e->xclient.data.l[1] == XEMBED_FOCUS_IN) { - win.mode |= MODE_FOCUSED; - xseturgency(0); - } else if (e->xclient.data.l[1] == XEMBED_FOCUS_OUT) { - win.mode &= ~MODE_FOCUSED; - } - } else if (e->xclient.data.l[0] == xw.wmdeletewin) { - ttyhangup(); - exit(0); - } -} - -void -resize(XEvent *e) -{ - if (e->xconfigure.width == win.w && e->xconfigure.height == win.h) - return; - - cresize(e->xconfigure.width, e->xconfigure.height); -} - -void -run(void) -{ - XEvent ev; - int w = win.w, h = win.h; - fd_set rfd; - int xfd = XConnectionNumber(xw.dpy), ttyfd, xev, drawing; - struct timespec seltv, *tv, now, lastblink, trigger; - double timeout; - - /* Waiting for window mapping */ - do { - XNextEvent(xw.dpy, &ev); - /* - * This XFilterEvent call is required because of XOpenIM. It - * does filter out the key event and some client message for - * the input method too. - */ - if (XFilterEvent(&ev, None)) - continue; - if (ev.type == ConfigureNotify) { - w = ev.xconfigure.width; - h = ev.xconfigure.height; - } - } while (ev.type != MapNotify); - - ttyfd = ttynew(opt_line, shell, opt_io, opt_cmd); - cresize(w, h); - - for (timeout = -1, drawing = 0, lastblink = (struct timespec){0};;) { - FD_ZERO(&rfd); - FD_SET(ttyfd, &rfd); - FD_SET(xfd, &rfd); - - if (XPending(xw.dpy)) - timeout = 0; /* existing events might not set xfd */ - - seltv.tv_sec = timeout / 1E3; - seltv.tv_nsec = 1E6 * (timeout - 1E3 * seltv.tv_sec); - tv = timeout >= 0 ? &seltv : NULL; - - if (pselect(MAX(xfd, ttyfd)+1, &rfd, NULL, NULL, tv, NULL) < 0) { - if (errno == EINTR) - continue; - die("select failed: %s\n", strerror(errno)); - } - clock_gettime(CLOCK_MONOTONIC, &now); - - if (FD_ISSET(ttyfd, &rfd)) - ttyread(); - - xev = 0; - while (XPending(xw.dpy)) { - xev = 1; - XNextEvent(xw.dpy, &ev); - if (XFilterEvent(&ev, None)) - continue; - if (handler[ev.type]) - (handler[ev.type])(&ev); - } - - /* - * To reduce flicker and tearing, when new content or event - * triggers drawing, we first wait a bit to ensure we got - * everything, and if nothing new arrives - we draw. - * We start with trying to wait minlatency ms. If more content - * arrives sooner, we retry with shorter and shorter periods, - * and eventually draw even without idle after maxlatency ms. - * Typically this results in low latency while interacting, - * maximum latency intervals during `cat huge.txt`, and perfect - * sync with periodic updates from animations/key-repeats/etc. - */ - if (FD_ISSET(ttyfd, &rfd) || xev) { - if (!drawing) { - trigger = now; - drawing = 1; - } - timeout = (maxlatency - TIMEDIFF(now, trigger)) \ - / maxlatency * minlatency; - if (timeout > 0) - continue; /* we have time, try to find idle */ - } - - /* idle detected or maxlatency exhausted -> draw */ - timeout = -1; - if (blinktimeout && tattrset(ATTR_BLINK)) { - timeout = blinktimeout - TIMEDIFF(now, lastblink); - if (timeout <= 0) { - if (-timeout > blinktimeout) /* start visible */ - win.mode |= MODE_BLINK; - win.mode ^= MODE_BLINK; - tsetdirtattr(ATTR_BLINK); - lastblink = now; - timeout = blinktimeout; - } - } - - draw(); - XFlush(xw.dpy); - drawing = 0; - } -} - -void -usage(void) -{ - die("usage: %s [-aiv] [-c class] [-f font] [-g geometry]" - " [-n name] [-o file]\n" - " [-T title] [-t title] [-w windowid]" - " [[-e] command [args ...]]\n" - " %s [-aiv] [-c class] [-f font] [-g geometry]" - " [-n name] [-o file]\n" - " [-T title] [-t title] [-w windowid] -l line" - " [stty_args ...]\n", argv0, argv0); -} - -int -main(int argc, char *argv[]) -{ - xw.l = xw.t = 0; - xw.isfixed = False; - xsetcursor(cursorshape); - - ARGBEGIN { - case 'a': - allowaltscreen = 0; - break; - case 'c': - opt_class = EARGF(usage()); - break; - case 'e': - if (argc > 0) - --argc, ++argv; - goto run; - case 'f': - opt_font = EARGF(usage()); - break; - case 'g': - xw.gm = XParseGeometry(EARGF(usage()), - &xw.l, &xw.t, &cols, &rows); - break; - case 'i': - xw.isfixed = 1; - break; - case 'o': - opt_io = EARGF(usage()); - break; - case 'l': - opt_line = EARGF(usage()); - break; - case 'n': - opt_name = EARGF(usage()); - break; - case 't': - case 'T': - opt_title = EARGF(usage()); - break; - case 'w': - opt_embed = EARGF(usage()); - break; - case 'v': - die("%s " VERSION "\n", argv0); - break; - default: - usage(); - } ARGEND; - -run: - if (argc > 0) /* eat all remaining arguments */ - opt_cmd = argv; - - if (!opt_title) - opt_title = (opt_line || !opt_cmd) ? "st" : opt_cmd[0]; - - setlocale(LC_CTYPE, ""); - XSetLocaleModifiers(""); - cols = MAX(cols, 1); - rows = MAX(rows, 1); - tnew(cols, rows); - xinit(cols, rows); - xsetenv(); - selinit(); - run(); - - return 0; -} diff --git a/programs/tabbed/LICENSE b/programs/tabbed/LICENSE deleted file mode 100644 index d8e96782..00000000 --- a/programs/tabbed/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -MIT/X Consortium License - -© 2009-2011 Enno Boland -© 2011,2015 Connor Lane Smith -© 2012-2015 Christoph Lohmann <20h@r-36.net> - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/programs/tabbed/Makefile b/programs/tabbed/Makefile deleted file mode 100644 index a8ba6238..00000000 --- a/programs/tabbed/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -.POSIX: - -NAME = tabbed -VERSION = 0.8 - -# paths -PREFIX = /usr/local -MANPREFIX = ${PREFIX}/share/man -DOCPREFIX = ${PREFIX}/share/doc/${NAME} - -# use system flags. -TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/include/freetype2 ${CFLAGS} -TABBED_LDFLAGS = -L/usr/X11R6/lib -lX11 -lfontconfig -lXft ${LDFLAGS} -TABBED_CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700L - -# OpenBSD (uncomment) -#TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 ${CFLAGS} - -SRC = tabbed.c xembed.c -OBJ = ${SRC:.c=.o} -BIN = ${OBJ:.o=} -MAN1 = ${BIN:=.1} -HDR = arg.h config.h -DOC = LICENSE README - -all: ${BIN} - -.c.o: - ${CC} -o $@ -c $< ${TABBED_CFLAGS} ${TABBED_CPPFLAGS} - -${OBJ}: config.h - -.o: - ${CC} -o $@ $< ${TABBED_LDFLAGS} - -clean: - rm -f ${BIN} ${OBJ} "${NAME}-${VERSION}.tar.gz" - -install: all - # installing executable files. - mkdir -p "${DESTDIR}${PREFIX}/bin" - cp -f ${BIN} "${DESTDIR}${PREFIX}/bin" - for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done - # installing doc files. - mkdir -p "${DESTDIR}${DOCPREFIX}" - cp -f README "${DESTDIR}${DOCPREFIX}" - # installing manual pages for general commands: section 1. - mkdir -p "${DESTDIR}${MANPREFIX}/man1" - for m in ${MAN1}; do sed "s/VERSION/${VERSION}/g" < $$m > "${DESTDIR}${MANPREFIX}/man1/$$m"; done - -uninstall: - # removing executable files. - for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done - # removing doc files. - rm -f "${DESTDIR}${DOCPREFIX}/README" - # removing manual pages. - for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done - -rmdir "${DESTDIR}${DOCPREFIX}" - -.PHONY: all clean install uninstall diff --git a/programs/tabbed/README b/programs/tabbed/README deleted file mode 100644 index 4ed6bbe2..00000000 --- a/programs/tabbed/README +++ /dev/null @@ -1,22 +0,0 @@ -tabbed - generic tabbed interface -================================= -tabbed is a simple tabbed X window container. - -Requirements ------------- -In order to build tabbed you need the Xlib header files. - -Installation ------------- -Edit config.mk to match your local setup (tabbed is installed into -the /usr/local namespace by default). - -Afterwards enter the following command to build and install tabbed -(if necessary as root): - - make clean install - -Running tabbed --------------- -See the man page for details. - diff --git a/programs/tabbed/arg.h b/programs/tabbed/arg.h deleted file mode 100644 index ba3fb3fd..00000000 --- a/programs/tabbed/arg.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copy me if you can. - * by 20h - */ - -#ifndef ARG_H__ -#define ARG_H__ - -extern char *argv0; - -/* use main(int argc, char *argv[]) */ -#define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ - argv[0] && argv[0][0] == '-'\ - && argv[0][1];\ - argc--, argv++) {\ - char argc_;\ - char **argv_;\ - int brk_;\ - if (argv[0][1] == '-' && argv[0][2] == '\0') {\ - argv++;\ - argc--;\ - break;\ - }\ - for (brk_ = 0, argv[0]++, argv_ = argv;\ - argv[0][0] && !brk_;\ - argv[0]++) {\ - if (argv_ != argv)\ - break;\ - argc_ = argv[0][0];\ - switch (argc_) -#define ARGEND }\ - } - -#define ARGC() argc_ - -#define EARGF(x) ((argv[0][1] == '\0' && argv[1] == NULL)?\ - ((x), abort(), (char *)0) :\ - (brk_ = 1, (argv[0][1] != '\0')?\ - (&argv[0][1]) :\ - (argc--, argv++, argv[0]))) - -#define ARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\ - (char *)0 :\ - (brk_ = 1, (argv[0][1] != '\0')?\ - (&argv[0][1]) :\ - (argc--, argv++, argv[0]))) - -#endif diff --git a/programs/tabbed/config.h b/programs/tabbed/config.h deleted file mode 100644 index 5427c0bf..00000000 --- a/programs/tabbed/config.h +++ /dev/null @@ -1,66 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -/* appearance */ -static const char font[] = "JetBrainsMono NF:size=10"; -static const char* normbgcolor = "#32302f"; -static const char* normfgcolor = "#ebdbb2"; -static const char* selbgcolor = "#ebdbb2"; -static const char* selfgcolor = "#282828"; -static const char* urgbgcolor = "#fb4934"; -static const char* urgfgcolor = "#282828"; -static const char before[] = "<"; -static const char after[] = ">"; -static const char titletrim[] = "..."; -static const int tabwidth = 200; -static const Bool foreground = True; -static Bool urgentswitch = False; - -/* - * Where to place a new tab when it is opened. When npisrelative is True, - * then the current position is changed + newposition. If npisrelative - * is False, then newposition is an absolute position. - */ -static int newposition = 0; -static Bool npisrelative = False; - -#define SETPROP(p) { \ - .v = (char *[]){ "/bin/sh", "-c", \ - "prop=\"`xwininfo -children -id $1 | grep '^ 0x' |" \ - "sed -e's@^ *\\(0x[0-9a-f]*\\) \"\\([^\"]*\\)\".*@\\1 \\2@' |" \ - "xargs -0 printf %b | dmenu -l 10 -w $1`\" &&" \ - "xprop -id $1 -f $0 8s -set $0 \"$prop\"", \ - p, winid, NULL \ - } \ -} - -#define MODKEY Mod1Mask -static const Key keys[] = { - /* modifier key function argument */ - { MODKEY, XK_Return, focusonce, { 0 } }, - { MODKEY, XK_Return, spawn, { 0 } }, - - { MODKEY, XK_l, rotate, { .i = +1 } }, - { MODKEY, XK_h, rotate, { .i = -1 } }, - { MODKEY, XK_j, movetab, { .i = -1 } }, - { MODKEY, XK_k, movetab, { .i = +1 } }, - { MODKEY, XK_Tab, rotate, { .i = 0 } }, - - { MODKEY, XK_grave, spawn, SETPROP("_TABBED_SELECT_TAB") }, - { MODKEY, XK_1, move, { .i = 0 } }, - { MODKEY, XK_2, move, { .i = 1 } }, - { MODKEY, XK_3, move, { .i = 2 } }, - { MODKEY, XK_4, move, { .i = 3 } }, - { MODKEY, XK_5, move, { .i = 4 } }, - { MODKEY, XK_6, move, { .i = 5 } }, - { MODKEY, XK_7, move, { .i = 6 } }, - { MODKEY, XK_8, move, { .i = 7 } }, - { MODKEY, XK_9, move, { .i = 8 } }, - { MODKEY, XK_0, move, { .i = 9 } }, - - { MODKEY, XK_c, killclient, { 0 } }, - - { MODKEY, XK_u, focusurgent, { 0 } }, - { MODKEY|ShiftMask, XK_u, toggle, { .v = (void*) &urgentswitch } }, - - { 0, XK_F11, fullscreen, { 0 } }, -}; diff --git a/programs/tabbed/patches/tabbed-autohide-20201222-dabf6a2.diff b/programs/tabbed/patches/tabbed-autohide-20201222-dabf6a2.diff deleted file mode 100644 index d9f71bae..00000000 --- a/programs/tabbed/patches/tabbed-autohide-20201222-dabf6a2.diff +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/tabbed.c b/tabbed.c -index eafe28a..b0b9662 100644 ---- a/tabbed.c -+++ b/tabbed.c -@@ -152,7 +152,7 @@ static void (*handler[LASTEvent]) (const XEvent *) = { - [MapRequest] = maprequest, - [PropertyNotify] = propertynotify, - }; --static int bh, obh, wx, wy, ww, wh; -+static int bh, obh, wx, wy, ww, wh, vbh; - static unsigned int numlockmask; - static Bool running = True, nextfocus, doinitspawn = True, - fillagain = False, closelastclient = False, -@@ -324,7 +324,7 @@ void - drawbar(void) - { - XftColor *col; -- int c, cc, fc, width; -+ int c, cc, fc, width, nbh, i; - char *name = NULL; - - if (nclients == 0) { -@@ -332,12 +332,21 @@ drawbar(void) - dc.w = ww; - XFetchName(dpy, win, &name); - drawtext(name ? name : "", dc.norm); -- XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, ww, bh, 0, 0); -+ XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, ww, vbh, 0, 0); - XSync(dpy, False); - - return; - } - -+ nbh = nclients > 1 ? vbh : 0; -+ if (bh != nbh) { -+ bh = nbh; -+ for (i = 0; i < nclients; i++) -+ XMoveResizeWindow(dpy, clients[i]->win, 0, bh, ww, wh - bh); -+ } -+ if (bh == 0) -+ return; -+ - width = ww; - cc = ww / tabwidth; - if (nclients > cc) -@@ -984,7 +993,7 @@ setup(void) - screen = DefaultScreen(dpy); - root = RootWindow(dpy, screen); - initfont(font); -- bh = dc.h = dc.font.height + 2; -+ vbh = dc.h = dc.font.height + 2; - - /* init atoms */ - wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); diff --git a/programs/tabbed/tabbed.1 b/programs/tabbed/tabbed.1 deleted file mode 100644 index 07bdbd79..00000000 --- a/programs/tabbed/tabbed.1 +++ /dev/null @@ -1,171 +0,0 @@ -.TH TABBED 1 tabbed\-VERSION -.SH NAME -tabbed \- generic tabbed interface -.SH SYNOPSIS -.B tabbed -.RB [ \-c ] -.RB [ \-d ] -.RB [ \-k ] -.RB [ \-s ] -.RB [ \-v ] -.RB [ \-g -.IR geometry ] -.RB [ \-n -.IR name ] -.RB [ \-p -.RB [ s {+/-} ] \fIpos\fR ] -.RB [ \-o -.IR normbgcol ] -.RB [ \-O -.IR normfgcol ] -.RB [ \-t -.IR selbgcol ] -.RB [ \-T -.IR selfgcol ] -.RB [ \-u -.IR urgbgcol ] -.RB [ \-U -.IR urgfgcol ] -.RB [ \-r -.IR narg ] -.RI [ "command ..." ] -.SH DESCRIPTION -.B tabbed -is a simple tabbed container for applications which support XEmbed. Tabbed -will then run the provided command with the xid of tabbed as appended -argument. (See EXAMPLES.) The automatic spawning of the command can be -disabled by providing the -s parameter. If no command is provided -tabbed will just print its xid and run no command. -.SH OPTIONS -.TP -.B \-c -close tabbed when the last tab is closed. Mutually exclusive with -f. -.TP -.B \-d -detaches tabbed from the terminal and prints its XID to stdout. -.TP -.B \-f -fill up tabbed again by spawning the provided command, when the last tab is -closed. Mutually exclusive with -c. -.TP -.BI \-g " geometry" -defines the X11 geometry string, which will fixate the height and width of -tabbed. -The syntax is -.RI [=][ width {xX} height ][{+-} xoffset {+-} yoffset ]. -See -.BR XParseGeometry (3) -for further details. -.TP -.B \-k -close foreground tabbed client (instead of tabbed and all clients) when -WM_DELETE_WINDOW is sent. -.TP -.BI \-n " name" -will set the WM_CLASS attribute to -.I name. -.TP -.BR \-p " [" s {+-}] \fIpos\fR -will set the absolute or relative position of where to start a new tab. When -.I pos -is is given without 's' in front it is an absolute position. Then negative -numbers will be the position from the last tab, where -1 is the last tab. -If 's' is given, then -.I pos -is a relative position to the current selected tab. If this reaches the limits -of the tabs; those limits then apply. -.TP -.BI \-r " narg" -will replace the -.I narg -th argument in -.I command -with the window id, rather than appending it to the end. -.TP -.B \-s -will disable automatic spawning of the command. -.TP -.BI \-o " normbgcol" -defines the normal background color. -.RI # RGB , -.RI # RRGGBB , -and X color names are supported. -.TP -.BI \-O " normfgcol" -defines the normal foreground color. -.TP -.BI \-t " selbgcol" -defines the selected background color. -.TP -.BI \-T " selfgbcol" -defines the selected foreground color. -.TP -.BI \-u " urgbgcol" -defines the urgent background color. -.TP -.BI \-U " urgfgbcol" -defines the urgent foreground color. -.TP -.B \-v -prints version information to stderr, then exits. -.SH USAGE -.TP -.B Ctrl\-Shift\-Return -open new tab -.TP -.B Ctrl\-Shift\-h -previous tab -.TP -.B Ctrl\-Shift\-l -next tab -.TP -.B Ctrl\-Shift\-j -move selected tab one to the left -.TP -.B Ctrl\-Shift\-k -move selected tab one to the right -.TP -.B Ctrl\-Shift\-u -toggle autofocus of urgent tabs -.TP -.B Ctrl\-Tab -toggle between the selected and last selected tab -.TP -.B Ctrl\-` -open dmenu to either create a new tab appending the entered string or select -an already existing tab. -.TP -.B Ctrl\-q -close tab -.TP -.B Ctrl\-u -focus next urgent tab -.TP -.B Ctrl\-[0..9] -jumps to nth tab -.TP -.B F11 -Toggle fullscreen mode. -.SH EXAMPLES -$ tabbed surf -e -.TP -$ tabbed urxvt -embed -.TP -$ tabbed xterm -into -.TP -$ $(tabbed -d >/tmp/tabbed.xid); urxvt -embed $( -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "arg.h" - -/* XEMBED messages */ -#define XEMBED_EMBEDDED_NOTIFY 0 -#define XEMBED_WINDOW_ACTIVATE 1 -#define XEMBED_WINDOW_DEACTIVATE 2 -#define XEMBED_REQUEST_FOCUS 3 -#define XEMBED_FOCUS_IN 4 -#define XEMBED_FOCUS_OUT 5 -#define XEMBED_FOCUS_NEXT 6 -#define XEMBED_FOCUS_PREV 7 -/* 8-9 were used for XEMBED_GRAB_KEY/XEMBED_UNGRAB_KEY */ -#define XEMBED_MODALITY_ON 10 -#define XEMBED_MODALITY_OFF 11 -#define XEMBED_REGISTER_ACCELERATOR 12 -#define XEMBED_UNREGISTER_ACCELERATOR 13 -#define XEMBED_ACTIVATE_ACCELERATOR 14 - -/* Details for XEMBED_FOCUS_IN: */ -#define XEMBED_FOCUS_CURRENT 0 -#define XEMBED_FOCUS_FIRST 1 -#define XEMBED_FOCUS_LAST 2 - -/* Macros */ -#define MAX(a, b) ((a) > (b) ? (a) : (b)) -#define MIN(a, b) ((a) < (b) ? (a) : (b)) -#define LENGTH(x) (sizeof((x)) / sizeof(*(x))) -#define CLEANMASK(mask) (mask & ~(numlockmask | LockMask)) -#define TEXTW(x) (textnw(x, strlen(x)) + dc.font.height) - -enum { ColFG, ColBG, ColLast }; /* color */ -enum { WMProtocols, WMDelete, WMName, WMState, WMFullscreen, - XEmbed, WMSelectTab, WMLast }; /* default atoms */ - -typedef union { - int i; - const void *v; -} Arg; - -typedef struct { - unsigned int mod; - KeySym keysym; - void (*func)(const Arg *); - const Arg arg; -} Key; - -typedef struct { - int x, y, w, h; - XftColor norm[ColLast]; - XftColor sel[ColLast]; - XftColor urg[ColLast]; - Drawable drawable; - GC gc; - struct { - int ascent; - int descent; - int height; - XftFont *xfont; - } font; -} DC; /* draw context */ - -typedef struct { - char name[256]; - Window win; - int tabx; - Bool urgent; - Bool closed; -} Client; - -/* function declarations */ -static void buttonpress(const XEvent *e); -static void cleanup(void); -static void clientmessage(const XEvent *e); -static void configurenotify(const XEvent *e); -static void configurerequest(const XEvent *e); -static void createnotify(const XEvent *e); -static void destroynotify(const XEvent *e); -static void die(const char *errstr, ...); -static void drawbar(void); -static void drawtext(const char *text, XftColor col[ColLast]); -static void *ecalloc(size_t n, size_t size); -static void *erealloc(void *o, size_t size); -static void expose(const XEvent *e); -static void focus(int c); -static void focusin(const XEvent *e); -static void focusonce(const Arg *arg); -static void focusurgent(const Arg *arg); -static void fullscreen(const Arg *arg); -static char *getatom(int a); -static int getclient(Window w); -static XftColor getcolor(const char *colstr); -static int getfirsttab(void); -static Bool gettextprop(Window w, Atom atom, char *text, unsigned int size); -static void initfont(const char *fontstr); -static Bool isprotodel(int c); -static void keypress(const XEvent *e); -static void killclient(const Arg *arg); -static void manage(Window win); -static void maprequest(const XEvent *e); -static void move(const Arg *arg); -static void movetab(const Arg *arg); -static void propertynotify(const XEvent *e); -static void resize(int c, int w, int h); -static void rotate(const Arg *arg); -static void run(void); -static void sendxembed(int c, long msg, long detail, long d1, long d2); -static void setcmd(int argc, char *argv[], int); -static void setup(void); -static void spawn(const Arg *arg); -static int textnw(const char *text, unsigned int len); -static void toggle(const Arg *arg); -static void unmanage(int c); -static void unmapnotify(const XEvent *e); -static void updatenumlockmask(void); -static void updatetitle(int c); -static int xerror(Display *dpy, XErrorEvent *ee); -static void xsettitle(Window w, const char *str); - -/* variables */ -static int screen; -static void (*handler[LASTEvent]) (const XEvent *) = { - [ButtonPress] = buttonpress, - [ClientMessage] = clientmessage, - [ConfigureNotify] = configurenotify, - [ConfigureRequest] = configurerequest, - [CreateNotify] = createnotify, - [UnmapNotify] = unmapnotify, - [DestroyNotify] = destroynotify, - [Expose] = expose, - [FocusIn] = focusin, - [KeyPress] = keypress, - [MapRequest] = maprequest, - [PropertyNotify] = propertynotify, -}; -static int bh, obh, wx, wy, ww, wh, vbh; -static unsigned int numlockmask; -static Bool running = True, nextfocus, doinitspawn = True, - fillagain = False, closelastclient = False, - killclientsfirst = False; -static Display *dpy; -static DC dc; -static Atom wmatom[WMLast]; -static Window root, win; -static Client **clients; -static int nclients, sel = -1, lastsel = -1; -static int (*xerrorxlib)(Display *, XErrorEvent *); -static int cmd_append_pos; -static char winid[64]; -static char **cmd; -static char *wmname = "tabbed"; -static const char *geometry; - -char *argv0; - -/* configuration, allows nested code to access above variables */ -#include "config.h" - -void -buttonpress(const XEvent *e) -{ - const XButtonPressedEvent *ev = &e->xbutton; - int i, fc; - Arg arg; - - if (ev->y < 0 || ev->y > bh) - return; - - if (((fc = getfirsttab()) > 0 && ev->x < TEXTW(before)) || ev->x < 0) - return; - - for (i = fc; i < nclients; i++) { - if (clients[i]->tabx > ev->x) { - switch (ev->button) { - case Button1: - focus(i); - break; - case Button2: - focus(i); - killclient(NULL); - break; - case Button4: /* FALLTHROUGH */ - case Button5: - arg.i = ev->button == Button4 ? -1 : 1; - rotate(&arg); - break; - } - break; - } - } -} - -void -cleanup(void) -{ - int i; - - for (i = 0; i < nclients; i++) { - focus(i); - killclient(NULL); - XReparentWindow(dpy, clients[i]->win, root, 0, 0); - unmanage(i); - } - free(clients); - clients = NULL; - - XFreePixmap(dpy, dc.drawable); - XFreeGC(dpy, dc.gc); - XDestroyWindow(dpy, win); - XSync(dpy, False); - free(cmd); -} - -void -clientmessage(const XEvent *e) -{ - const XClientMessageEvent *ev = &e->xclient; - - if (ev->message_type == wmatom[WMProtocols] && - ev->data.l[0] == wmatom[WMDelete]) { - if (nclients > 1 && killclientsfirst) { - killclient(0); - return; - } - running = False; - } -} - -void -configurenotify(const XEvent *e) -{ - const XConfigureEvent *ev = &e->xconfigure; - - if (ev->window == win && (ev->width != ww || ev->height != wh)) { - ww = ev->width; - wh = ev->height; - XFreePixmap(dpy, dc.drawable); - dc.drawable = XCreatePixmap(dpy, root, ww, wh, - DefaultDepth(dpy, screen)); - - if (!obh && (wh <= bh)) { - obh = bh; - bh = 0; - } else if (!bh && (wh > obh)) { - bh = obh; - obh = 0; - } - - if (sel > -1) - resize(sel, ww, wh - bh); - XSync(dpy, False); - } -} - -void -configurerequest(const XEvent *e) -{ - const XConfigureRequestEvent *ev = &e->xconfigurerequest; - XWindowChanges wc; - int c; - - if ((c = getclient(ev->window)) > -1) { - wc.x = 0; - wc.y = bh; - wc.width = ww; - wc.height = wh - bh; - wc.border_width = 0; - wc.sibling = ev->above; - wc.stack_mode = ev->detail; - XConfigureWindow(dpy, clients[c]->win, ev->value_mask, &wc); - } -} - -void -createnotify(const XEvent *e) -{ - const XCreateWindowEvent *ev = &e->xcreatewindow; - - if (ev->window != win && getclient(ev->window) < 0) - manage(ev->window); -} - -void -destroynotify(const XEvent *e) -{ - const XDestroyWindowEvent *ev = &e->xdestroywindow; - int c; - - if ((c = getclient(ev->window)) > -1) - unmanage(c); -} - -void -die(const char *errstr, ...) -{ - va_list ap; - - va_start(ap, errstr); - vfprintf(stderr, errstr, ap); - va_end(ap); - exit(EXIT_FAILURE); -} - -void -drawbar(void) -{ - XftColor *col; - int c, cc, fc, width, nbh, i; - char *name = NULL; - - if (nclients == 0) { - dc.x = 0; - dc.w = ww; - XFetchName(dpy, win, &name); - drawtext(name ? name : "", dc.norm); - XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, ww, vbh, 0, 0); - XSync(dpy, False); - - return; - } - - nbh = nclients > 1 ? vbh : 0; - if (bh != nbh) { - bh = nbh; - for (i = 0; i < nclients; i++) - XMoveResizeWindow(dpy, clients[i]->win, 0, bh, ww, wh - bh); - } - if (bh == 0) - return; - - width = ww; - cc = ww / tabwidth; - if (nclients > cc) - cc = (ww - TEXTW(before) - TEXTW(after)) / tabwidth; - - if ((fc = getfirsttab()) + cc < nclients) { - dc.w = TEXTW(after); - dc.x = width - dc.w; - drawtext(after, dc.sel); - width -= dc.w; - } - dc.x = 0; - - if (fc > 0) { - dc.w = TEXTW(before); - drawtext(before, dc.sel); - dc.x += dc.w; - width -= dc.w; - } - - cc = MIN(cc, nclients); - for (c = fc; c < fc + cc; c++) { - dc.w = width / cc; - if (c == sel) { - col = dc.sel; - dc.w += width % cc; - } else { - col = clients[c]->urgent ? dc.urg : dc.norm; - } - drawtext(clients[c]->name, col); - dc.x += dc.w; - clients[c]->tabx = dc.x; - } - XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, ww, bh, 0, 0); - XSync(dpy, False); -} - -void -drawtext(const char *text, XftColor col[ColLast]) -{ - int i, j, x, y, h, len, olen; - char buf[256]; - XftDraw *d; - XRectangle r = { dc.x, dc.y, dc.w, dc.h }; - - XSetForeground(dpy, dc.gc, col[ColBG].pixel); - XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); - if (!text) - return; - - olen = strlen(text); - h = dc.font.ascent + dc.font.descent; - y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent; - x = dc.x + (h / 2); - - /* shorten text if necessary */ - for (len = MIN(olen, sizeof(buf)); - len && textnw(text, len) > dc.w - h; len--); - - if (!len) - return; - - memcpy(buf, text, len); - if (len < olen) { - for (i = len, j = strlen(titletrim); j && i; - buf[--i] = titletrim[--j]) - ; - } - - d = XftDrawCreate(dpy, dc.drawable, DefaultVisual(dpy, screen), DefaultColormap(dpy, screen)); - XftDrawStringUtf8(d, &col[ColFG], dc.font.xfont, x, y, (XftChar8 *) buf, len); - XftDrawDestroy(d); -} - -void * -ecalloc(size_t n, size_t size) -{ - void *p; - - if (!(p = calloc(n, size))) - die("%s: cannot calloc\n", argv0); - return p; -} - -void * -erealloc(void *o, size_t size) -{ - void *p; - - if (!(p = realloc(o, size))) - die("%s: cannot realloc\n", argv0); - return p; -} - -void -expose(const XEvent *e) -{ - const XExposeEvent *ev = &e->xexpose; - - if (ev->count == 0 && win == ev->window) - drawbar(); -} - -void -focus(int c) -{ - char buf[BUFSIZ] = "tabbed-"VERSION" ::"; - size_t i, n; - XWMHints* wmh; - - /* If c, sel and clients are -1, raise tabbed-win itself */ - if (nclients == 0) { - cmd[cmd_append_pos] = NULL; - for(i = 0, n = strlen(buf); cmd[i] && n < sizeof(buf); i++) - n += snprintf(&buf[n], sizeof(buf) - n, " %s", cmd[i]); - - xsettitle(win, buf); - XRaiseWindow(dpy, win); - - return; - } - - if (c < 0 || c >= nclients) - return; - - resize(c, ww, wh - bh); - XRaiseWindow(dpy, clients[c]->win); - XSetInputFocus(dpy, clients[c]->win, RevertToParent, CurrentTime); - sendxembed(c, XEMBED_FOCUS_IN, XEMBED_FOCUS_CURRENT, 0, 0); - sendxembed(c, XEMBED_WINDOW_ACTIVATE, 0, 0, 0); - xsettitle(win, clients[c]->name); - - if (sel != c) { - lastsel = sel; - sel = c; - } - - if (clients[c]->urgent && (wmh = XGetWMHints(dpy, clients[c]->win))) { - wmh->flags &= ~XUrgencyHint; - XSetWMHints(dpy, clients[c]->win, wmh); - clients[c]->urgent = False; - XFree(wmh); - } - - drawbar(); - XSync(dpy, False); -} - -void -focusin(const XEvent *e) -{ - const XFocusChangeEvent *ev = &e->xfocus; - int dummy; - Window focused; - - if (ev->mode != NotifyUngrab) { - XGetInputFocus(dpy, &focused, &dummy); - if (focused == win) - focus(sel); - } -} - -void -focusonce(const Arg *arg) -{ - nextfocus = True; -} - -void -focusurgent(const Arg *arg) -{ - int c; - - if (sel < 0) - return; - - for (c = (sel + 1) % nclients; c != sel; c = (c + 1) % nclients) { - if (clients[c]->urgent) { - focus(c); - return; - } - } -} - -void -fullscreen(const Arg *arg) -{ - XEvent e; - - e.type = ClientMessage; - e.xclient.window = win; - e.xclient.message_type = wmatom[WMState]; - e.xclient.format = 32; - e.xclient.data.l[0] = 2; - e.xclient.data.l[1] = wmatom[WMFullscreen]; - e.xclient.data.l[2] = 0; - XSendEvent(dpy, root, False, SubstructureNotifyMask, &e); -} - -char * -getatom(int a) -{ - static char buf[BUFSIZ]; - Atom adummy; - int idummy; - unsigned long ldummy; - unsigned char *p = NULL; - - XGetWindowProperty(dpy, win, wmatom[a], 0L, BUFSIZ, False, XA_STRING, - &adummy, &idummy, &ldummy, &ldummy, &p); - if (p) - strncpy(buf, (char *)p, LENGTH(buf)-1); - else - buf[0] = '\0'; - XFree(p); - - return buf; -} - -int -getclient(Window w) -{ - int i; - - for (i = 0; i < nclients; i++) { - if (clients[i]->win == w) - return i; - } - - return -1; -} - -XftColor -getcolor(const char *colstr) -{ - XftColor color; - - if (!XftColorAllocName(dpy, DefaultVisual(dpy, screen), DefaultColormap(dpy, screen), colstr, &color)) - die("%s: cannot allocate color '%s'\n", argv0, colstr); - - return color; -} - -int -getfirsttab(void) -{ - int cc, ret; - - if (sel < 0) - return 0; - - cc = ww / tabwidth; - if (nclients > cc) - cc = (ww - TEXTW(before) - TEXTW(after)) / tabwidth; - - ret = sel - cc / 2 + (cc + 1) % 2; - return ret < 0 ? 0 : - ret + cc > nclients ? MAX(0, nclients - cc) : - ret; -} - -Bool -gettextprop(Window w, Atom atom, char *text, unsigned int size) -{ - char **list = NULL; - int n; - XTextProperty name; - - if (!text || size == 0) - return False; - - text[0] = '\0'; - XGetTextProperty(dpy, w, &name, atom); - if (!name.nitems) - return False; - - if (name.encoding == XA_STRING) { - strncpy(text, (char *)name.value, size - 1); - } else if (XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success - && n > 0 && *list) { - strncpy(text, *list, size - 1); - XFreeStringList(list); - } - text[size - 1] = '\0'; - XFree(name.value); - - return True; -} - -void -initfont(const char *fontstr) -{ - if (!(dc.font.xfont = XftFontOpenName(dpy, screen, fontstr)) - && !(dc.font.xfont = XftFontOpenName(dpy, screen, "fixed"))) - die("error, cannot load font: '%s'\n", fontstr); - - dc.font.ascent = dc.font.xfont->ascent; - dc.font.descent = dc.font.xfont->descent; - dc.font.height = dc.font.ascent + dc.font.descent; -} - -Bool -isprotodel(int c) -{ - int i, n; - Atom *protocols; - Bool ret = False; - - if (XGetWMProtocols(dpy, clients[c]->win, &protocols, &n)) { - for (i = 0; !ret && i < n; i++) { - if (protocols[i] == wmatom[WMDelete]) - ret = True; - } - XFree(protocols); - } - - return ret; -} - -void -keypress(const XEvent *e) -{ - const XKeyEvent *ev = &e->xkey; - unsigned int i; - KeySym keysym; - - keysym = XkbKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0, 0); - for (i = 0; i < LENGTH(keys); i++) { - if (keysym == keys[i].keysym && - CLEANMASK(keys[i].mod) == CLEANMASK(ev->state) && - keys[i].func) - keys[i].func(&(keys[i].arg)); - } -} - -void -killclient(const Arg *arg) -{ - XEvent ev; - - if (sel < 0) - return; - - if (isprotodel(sel) && !clients[sel]->closed) { - ev.type = ClientMessage; - ev.xclient.window = clients[sel]->win; - ev.xclient.message_type = wmatom[WMProtocols]; - ev.xclient.format = 32; - ev.xclient.data.l[0] = wmatom[WMDelete]; - ev.xclient.data.l[1] = CurrentTime; - XSendEvent(dpy, clients[sel]->win, False, NoEventMask, &ev); - clients[sel]->closed = True; - } else { - XKillClient(dpy, clients[sel]->win); - } -} - -void -manage(Window w) -{ - updatenumlockmask(); - { - int i, j, nextpos; - unsigned int modifiers[] = { 0, LockMask, numlockmask, - numlockmask | LockMask }; - KeyCode code; - Client *c; - XEvent e; - - XWithdrawWindow(dpy, w, 0); - XReparentWindow(dpy, w, win, 0, bh); - XSelectInput(dpy, w, PropertyChangeMask | - StructureNotifyMask | EnterWindowMask); - XSync(dpy, False); - - for (i = 0; i < LENGTH(keys); i++) { - if ((code = XKeysymToKeycode(dpy, keys[i].keysym))) { - for (j = 0; j < LENGTH(modifiers); j++) { - XGrabKey(dpy, code, keys[i].mod | - modifiers[j], w, True, - GrabModeAsync, GrabModeAsync); - } - } - } - - c = ecalloc(1, sizeof *c); - c->win = w; - - nclients++; - clients = erealloc(clients, sizeof(Client *) * nclients); - - if(npisrelative) { - nextpos = sel + newposition; - } else { - if (newposition < 0) - nextpos = nclients - newposition; - else - nextpos = newposition; - } - if (nextpos >= nclients) - nextpos = nclients - 1; - if (nextpos < 0) - nextpos = 0; - - if (nclients > 1 && nextpos < nclients - 1) - memmove(&clients[nextpos + 1], &clients[nextpos], - sizeof(Client *) * (nclients - nextpos - 1)); - - clients[nextpos] = c; - updatetitle(nextpos); - - XLowerWindow(dpy, w); - XMapWindow(dpy, w); - - e.xclient.window = w; - e.xclient.type = ClientMessage; - e.xclient.message_type = wmatom[XEmbed]; - e.xclient.format = 32; - e.xclient.data.l[0] = CurrentTime; - e.xclient.data.l[1] = XEMBED_EMBEDDED_NOTIFY; - e.xclient.data.l[2] = 0; - e.xclient.data.l[3] = win; - e.xclient.data.l[4] = 0; - XSendEvent(dpy, root, False, NoEventMask, &e); - - XSync(dpy, False); - - /* Adjust sel before focus does set it to lastsel. */ - if (sel >= nextpos) - sel++; - focus(nextfocus ? nextpos : - sel < 0 ? 0 : - sel); - nextfocus = foreground; - } -} - -void -maprequest(const XEvent *e) -{ - const XMapRequestEvent *ev = &e->xmaprequest; - - if (getclient(ev->window) < 0) - manage(ev->window); -} - -void -move(const Arg *arg) -{ - if (arg->i >= 0 && arg->i < nclients) - focus(arg->i); -} - -void -movetab(const Arg *arg) -{ - int c; - Client *new; - - if (sel < 0) - return; - - c = (sel + arg->i) % nclients; - if (c < 0) - c += nclients; - - if (c == sel) - return; - - new = clients[sel]; - if (sel < c) - memmove(&clients[sel], &clients[sel+1], - sizeof(Client *) * (c - sel)); - else - memmove(&clients[c+1], &clients[c], - sizeof(Client *) * (sel - c)); - clients[c] = new; - sel = c; - - drawbar(); -} - -void -propertynotify(const XEvent *e) -{ - const XPropertyEvent *ev = &e->xproperty; - XWMHints *wmh; - int c; - char* selection = NULL; - Arg arg; - - if (ev->state == PropertyNewValue && ev->atom == wmatom[WMSelectTab]) { - selection = getatom(WMSelectTab); - if (!strncmp(selection, "0x", 2)) { - arg.i = getclient(strtoul(selection, NULL, 0)); - move(&arg); - } else { - cmd[cmd_append_pos] = selection; - arg.v = cmd; - spawn(&arg); - } - } else if (ev->state == PropertyNewValue && ev->atom == XA_WM_HINTS && - (c = getclient(ev->window)) > -1 && - (wmh = XGetWMHints(dpy, clients[c]->win))) { - if (wmh->flags & XUrgencyHint) { - XFree(wmh); - wmh = XGetWMHints(dpy, win); - if (c != sel) { - if (urgentswitch && wmh && - !(wmh->flags & XUrgencyHint)) { - /* only switch, if tabbed was focused - * since last urgency hint if WMHints - * could not be received, - * default to no switch */ - focus(c); - } else { - /* if no switch should be performed, - * mark tab as urgent */ - clients[c]->urgent = True; - drawbar(); - } - } - if (wmh && !(wmh->flags & XUrgencyHint)) { - /* update tabbed urgency hint - * if not set already */ - wmh->flags |= XUrgencyHint; - XSetWMHints(dpy, win, wmh); - } - } - XFree(wmh); - } else if (ev->state != PropertyDelete && ev->atom == XA_WM_NAME && - (c = getclient(ev->window)) > -1) { - updatetitle(c); - } -} - -void -resize(int c, int w, int h) -{ - XConfigureEvent ce; - XWindowChanges wc; - - ce.x = 0; - ce.y = wc.y = bh; - ce.width = wc.width = w; - ce.height = wc.height = h; - ce.type = ConfigureNotify; - ce.display = dpy; - ce.event = clients[c]->win; - ce.window = clients[c]->win; - ce.above = None; - ce.override_redirect = False; - ce.border_width = 0; - - XConfigureWindow(dpy, clients[c]->win, CWY | CWWidth | CWHeight, &wc); - XSendEvent(dpy, clients[c]->win, False, StructureNotifyMask, - (XEvent *)&ce); -} - -void -rotate(const Arg *arg) -{ - int nsel = -1; - - if (sel < 0) - return; - - if (arg->i == 0) { - if (lastsel > -1) - focus(lastsel); - } else if (sel > -1) { - /* Rotating in an arg->i step around the clients. */ - nsel = sel + arg->i; - while (nsel >= nclients) - nsel -= nclients; - while (nsel < 0) - nsel += nclients; - focus(nsel); - } -} - -void -run(void) -{ - XEvent ev; - - /* main event loop */ - XSync(dpy, False); - drawbar(); - if (doinitspawn == True) - spawn(NULL); - - while (running) { - XNextEvent(dpy, &ev); - if (handler[ev.type]) - (handler[ev.type])(&ev); /* call handler */ - } -} - -void -sendxembed(int c, long msg, long detail, long d1, long d2) -{ - XEvent e = { 0 }; - - e.xclient.window = clients[c]->win; - e.xclient.type = ClientMessage; - e.xclient.message_type = wmatom[XEmbed]; - e.xclient.format = 32; - e.xclient.data.l[0] = CurrentTime; - e.xclient.data.l[1] = msg; - e.xclient.data.l[2] = detail; - e.xclient.data.l[3] = d1; - e.xclient.data.l[4] = d2; - XSendEvent(dpy, clients[c]->win, False, NoEventMask, &e); -} - -void -setcmd(int argc, char *argv[], int replace) -{ - int i; - - cmd = ecalloc(argc + 3, sizeof(*cmd)); - if (argc == 0) - return; - for (i = 0; i < argc; i++) - cmd[i] = argv[i]; - cmd[replace > 0 ? replace : argc] = winid; - cmd_append_pos = argc + !replace; - cmd[cmd_append_pos] = cmd[cmd_append_pos + 1] = NULL; -} - -void -setup(void) -{ - int bitm, tx, ty, tw, th, dh, dw, isfixed; - XWMHints *wmh; - XClassHint class_hint; - XSizeHints *size_hint; - struct sigaction sa; - - /* do not transform children into zombies when they terminate */ - sigemptyset(&sa.sa_mask); - sa.sa_flags = SA_NOCLDSTOP | SA_NOCLDWAIT | SA_RESTART; - sa.sa_handler = SIG_IGN; - sigaction(SIGCHLD, &sa, NULL); - - /* clean up any zombies that might have been inherited */ - while (waitpid(-1, NULL, WNOHANG) > 0); - - /* init screen */ - screen = DefaultScreen(dpy); - root = RootWindow(dpy, screen); - initfont(font); - vbh = dc.h = dc.font.height + 2; - - /* init atoms */ - wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); - wmatom[WMFullscreen] = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", - False); - wmatom[WMName] = XInternAtom(dpy, "_NET_WM_NAME", False); - wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); - wmatom[WMSelectTab] = XInternAtom(dpy, "_TABBED_SELECT_TAB", False); - wmatom[WMState] = XInternAtom(dpy, "_NET_WM_STATE", False); - wmatom[XEmbed] = XInternAtom(dpy, "_XEMBED", False); - - /* init appearance */ - wx = 0; - wy = 0; - ww = 800; - wh = 600; - isfixed = 0; - - if (geometry) { - tx = ty = tw = th = 0; - bitm = XParseGeometry(geometry, &tx, &ty, (unsigned *)&tw, - (unsigned *)&th); - if (bitm & XValue) - wx = tx; - if (bitm & YValue) - wy = ty; - if (bitm & WidthValue) - ww = tw; - if (bitm & HeightValue) - wh = th; - if (bitm & XNegative && wx == 0) - wx = -1; - if (bitm & YNegative && wy == 0) - wy = -1; - if (bitm & (HeightValue | WidthValue)) - isfixed = 1; - - dw = DisplayWidth(dpy, screen); - dh = DisplayHeight(dpy, screen); - if (wx < 0) - wx = dw + wx - ww - 1; - if (wy < 0) - wy = dh + wy - wh - 1; - } - - dc.norm[ColBG] = getcolor(normbgcolor); - dc.norm[ColFG] = getcolor(normfgcolor); - dc.sel[ColBG] = getcolor(selbgcolor); - dc.sel[ColFG] = getcolor(selfgcolor); - dc.urg[ColBG] = getcolor(urgbgcolor); - dc.urg[ColFG] = getcolor(urgfgcolor); - dc.drawable = XCreatePixmap(dpy, root, ww, wh, - DefaultDepth(dpy, screen)); - dc.gc = XCreateGC(dpy, root, 0, 0); - - win = XCreateSimpleWindow(dpy, root, wx, wy, ww, wh, 0, - dc.norm[ColFG].pixel, dc.norm[ColBG].pixel); - XMapRaised(dpy, win); - XSelectInput(dpy, win, SubstructureNotifyMask | FocusChangeMask | - ButtonPressMask | ExposureMask | KeyPressMask | - PropertyChangeMask | StructureNotifyMask | - SubstructureRedirectMask); - xerrorxlib = XSetErrorHandler(xerror); - - class_hint.res_name = wmname; - class_hint.res_class = "tabbed"; - XSetClassHint(dpy, win, &class_hint); - - size_hint = XAllocSizeHints(); - if (!isfixed) { - size_hint->flags = PSize | PMinSize; - size_hint->height = wh; - size_hint->width = ww; - size_hint->min_height = bh + 1; - } else { - size_hint->flags = PMaxSize | PMinSize; - size_hint->min_width = size_hint->max_width = ww; - size_hint->min_height = size_hint->max_height = wh; - } - wmh = XAllocWMHints(); - XSetWMProperties(dpy, win, NULL, NULL, NULL, 0, size_hint, wmh, NULL); - XFree(size_hint); - XFree(wmh); - - XSetWMProtocols(dpy, win, &wmatom[WMDelete], 1); - - snprintf(winid, sizeof(winid), "%lu", win); - setenv("XEMBED", winid, 1); - - nextfocus = foreground; - focus(-1); -} - -void -spawn(const Arg *arg) -{ - struct sigaction sa; - - if (fork() == 0) { - if(dpy) - close(ConnectionNumber(dpy)); - - setsid(); - - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - sa.sa_handler = SIG_DFL; - sigaction(SIGCHLD, &sa, NULL); - - if (arg && arg->v) { - execvp(((char **)arg->v)[0], (char **)arg->v); - fprintf(stderr, "%s: execvp %s", argv0, - ((char **)arg->v)[0]); - } else { - cmd[cmd_append_pos] = NULL; - execvp(cmd[0], cmd); - fprintf(stderr, "%s: execvp %s", argv0, cmd[0]); - } - perror(" failed"); - exit(0); - } -} - -int -textnw(const char *text, unsigned int len) -{ - XGlyphInfo ext; - XftTextExtentsUtf8(dpy, dc.font.xfont, (XftChar8 *) text, len, &ext); - return ext.xOff; -} - -void -toggle(const Arg *arg) -{ - *(Bool*) arg->v = !*(Bool*) arg->v; -} - -void -unmanage(int c) -{ - if (c < 0 || c >= nclients) { - drawbar(); - XSync(dpy, False); - return; - } - - if (!nclients) - return; - - if (c == 0) { - /* First client. */ - nclients--; - free(clients[0]); - memmove(&clients[0], &clients[1], sizeof(Client *) * nclients); - } else if (c == nclients - 1) { - /* Last client. */ - nclients--; - free(clients[c]); - clients = erealloc(clients, sizeof(Client *) * nclients); - } else { - /* Somewhere inbetween. */ - free(clients[c]); - memmove(&clients[c], &clients[c+1], - sizeof(Client *) * (nclients - (c + 1))); - nclients--; - } - - if (nclients <= 0) { - lastsel = sel = -1; - - if (closelastclient) - running = False; - else if (fillagain && running) - spawn(NULL); - } else { - if (lastsel >= nclients) - lastsel = nclients - 1; - else if (lastsel > c) - lastsel--; - - if (c == sel && lastsel >= 0) { - focus(lastsel); - } else { - if (sel > c) - sel--; - if (sel >= nclients) - sel = nclients - 1; - - focus(sel); - } - } - - drawbar(); - XSync(dpy, False); -} - -void -unmapnotify(const XEvent *e) -{ - const XUnmapEvent *ev = &e->xunmap; - int c; - - if ((c = getclient(ev->window)) > -1) - unmanage(c); -} - -void -updatenumlockmask(void) -{ - unsigned int i, j; - XModifierKeymap *modmap; - - numlockmask = 0; - modmap = XGetModifierMapping(dpy); - for (i = 0; i < 8; i++) { - for (j = 0; j < modmap->max_keypermod; j++) { - if (modmap->modifiermap[i * modmap->max_keypermod + j] - == XKeysymToKeycode(dpy, XK_Num_Lock)) - numlockmask = (1 << i); - } - } - XFreeModifiermap(modmap); -} - -void -updatetitle(int c) -{ - if (!gettextprop(clients[c]->win, wmatom[WMName], clients[c]->name, - sizeof(clients[c]->name))) - gettextprop(clients[c]->win, XA_WM_NAME, clients[c]->name, - sizeof(clients[c]->name)); - if (sel == c) - xsettitle(win, clients[c]->name); - drawbar(); -} - -/* There's no way to check accesses to destroyed windows, thus those cases are - * ignored (especially on UnmapNotify's). Other types of errors call Xlibs - * default error handler, which may call exit. */ -int -xerror(Display *dpy, XErrorEvent *ee) -{ - if (ee->error_code == BadWindow - || (ee->request_code == X_SetInputFocus && - ee->error_code == BadMatch) - || (ee->request_code == X_PolyText8 && - ee->error_code == BadDrawable) - || (ee->request_code == X_PolyFillRectangle && - ee->error_code == BadDrawable) - || (ee->request_code == X_PolySegment && - ee->error_code == BadDrawable) - || (ee->request_code == X_ConfigureWindow && - ee->error_code == BadMatch) - || (ee->request_code == X_GrabButton && - ee->error_code == BadAccess) - || (ee->request_code == X_GrabKey && - ee->error_code == BadAccess) - || (ee->request_code == X_CopyArea && - ee->error_code == BadDrawable)) - return 0; - - fprintf(stderr, "%s: fatal error: request code=%d, error code=%d\n", - argv0, ee->request_code, ee->error_code); - return xerrorxlib(dpy, ee); /* may call exit */ -} - -void -xsettitle(Window w, const char *str) -{ - XTextProperty xtp; - - if (XmbTextListToTextProperty(dpy, (char **)&str, 1, - XCompoundTextStyle, &xtp) == Success) { - XSetTextProperty(dpy, w, &xtp, wmatom[WMName]); - XSetTextProperty(dpy, w, &xtp, XA_WM_NAME); - XFree(xtp.value); - } -} - -void -usage(void) -{ - die("usage: %s [-dfksv] [-g geometry] [-n name] [-p [s+/-]pos]\n" - " [-r narg] [-o color] [-O color] [-t color] [-T color]\n" - " [-u color] [-U color] command...\n", argv0); -} - -int -main(int argc, char *argv[]) -{ - Bool detach = False; - int replace = 0; - char *pstr; - - ARGBEGIN { - case 'c': - closelastclient = True; - fillagain = False; - break; - case 'd': - detach = True; - break; - case 'f': - fillagain = True; - break; - case 'g': - geometry = EARGF(usage()); - break; - case 'k': - killclientsfirst = True; - break; - case 'n': - wmname = EARGF(usage()); - break; - case 'O': - normfgcolor = EARGF(usage()); - break; - case 'o': - normbgcolor = EARGF(usage()); - break; - case 'p': - pstr = EARGF(usage()); - if (pstr[0] == 's') { - npisrelative = True; - newposition = atoi(&pstr[1]); - } else { - newposition = atoi(pstr); - } - break; - case 'r': - replace = atoi(EARGF(usage())); - break; - case 's': - doinitspawn = False; - break; - case 'T': - selfgcolor = EARGF(usage()); - break; - case 't': - selbgcolor = EARGF(usage()); - break; - case 'U': - urgfgcolor = EARGF(usage()); - break; - case 'u': - urgbgcolor = EARGF(usage()); - break; - case 'v': - die("tabbed-"VERSION", © 2009-2016 tabbed engineers, " - "see LICENSE for details.\n"); - break; - default: - usage(); - break; - } ARGEND; - - if (argc < 1) { - doinitspawn = False; - fillagain = False; - } - - setcmd(argc, argv, replace); - - if (!setlocale(LC_CTYPE, "") || !XSupportsLocale()) - fprintf(stderr, "%s: no locale support\n", argv0); - if (!(dpy = XOpenDisplay(NULL))) - die("%s: cannot open display\n", argv0); - - setup(); - printf("0x%lx\n", win); - fflush(NULL); - - if (detach) { - if (fork() == 0) { - fclose(stdout); - } else { - if (dpy) - close(ConnectionNumber(dpy)); - return EXIT_SUCCESS; - } - } - - run(); - cleanup(); - XCloseDisplay(dpy); - - return EXIT_SUCCESS; -} diff --git a/programs/tabbed/xembed.1 b/programs/tabbed/xembed.1 deleted file mode 100644 index 5b0c28c9..00000000 --- a/programs/tabbed/xembed.1 +++ /dev/null @@ -1,35 +0,0 @@ -.TH XEMBED 1 tabbed\-VERSION -.SH NAME -xembed \- XEmbed foreground process -.SH SYNOPSIS -.B xembed -.I flag command -.RI [ "argument ..." ] -.SH DESCRIPTION -If the environment variable XEMBED is set, and -.B xembed -is in the foreground of its controlling tty, it will execute -.IP -command flag $XEMBED [argument ...] -.LP -Otherwise it will execute -.IP -command [argument ...] -.LP -.SH EXAMPLE -In a terminal emulator within a -.B tabbed -session, the shell alias -.IP -$ alias surf='xembed -e surf' -.LP -will cause `surf' to open in a new tab, unless it is run in the background, -i.e. `surf &', in which case it will instead open in a new window. -.SH AUTHORS -See the LICENSE file for the authors. -.SH LICENSE -See the LICENSE file for the terms of redistribution. -.SH SEE ALSO -.BR tabbed (1) -.SH BUGS -Please report them. diff --git a/programs/tabbed/xembed.c b/programs/tabbed/xembed.c deleted file mode 100644 index cbb0e97a..00000000 --- a/programs/tabbed/xembed.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * See LICENSE file for copyright and license details. - */ - -#include -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - char *xembed; - int tty; - pid_t pgrp, tcpgrp; - - if (argc < 3) { - fprintf(stderr, "usage: %s flag cmd ...\n", argv[0]); - return 2; - } - - if (!(xembed = getenv("XEMBED"))) - goto noembed; - - if ((tty = open("/dev/tty", O_RDONLY)) < 0) - goto noembed; - - pgrp = getpgrp(); - tcpgrp = tcgetpgrp(tty); - - close(tty); - - if (pgrp == tcpgrp) { /* in foreground of tty */ - argv[0] = argv[2]; - argv[2] = xembed; - } else { -noembed: - argv += 2; - } - - execvp(argv[0], argv); - - perror(argv[0]); /* failed to execute */ - return 1; -} diff --git a/config-files/.local/bin/dm-bluetooth b/scripts/dm-bluetooth similarity index 100% rename from config-files/.local/bin/dm-bluetooth rename to scripts/dm-bluetooth diff --git a/config-files/.local/bin/dm-kill b/scripts/dm-kill similarity index 100% rename from config-files/.local/bin/dm-kill rename to scripts/dm-kill diff --git a/config-files/.local/bin/dm-mansearch b/scripts/dm-mansearch similarity index 100% rename from config-files/.local/bin/dm-mansearch rename to scripts/dm-mansearch diff --git a/config-files/.local/bin/dm-mpd b/scripts/dm-mpd similarity index 100% rename from config-files/.local/bin/dm-mpd rename to scripts/dm-mpd diff --git a/config-files/.local/bin/dm-pass b/scripts/dm-pass similarity index 100% rename from config-files/.local/bin/dm-pass rename to scripts/dm-pass diff --git a/config-files/.local/bin/dm-todo b/scripts/dm-todo similarity index 100% rename from config-files/.local/bin/dm-todo rename to scripts/dm-todo diff --git a/config-files/.local/bin/dm-usb-mount b/scripts/dm-usb-mount similarity index 100% rename from config-files/.local/bin/dm-usb-mount rename to scripts/dm-usb-mount diff --git a/config-files/.local/bin/dm-usb-poweroff b/scripts/dm-usb-poweroff similarity index 100% rename from config-files/.local/bin/dm-usb-poweroff rename to scripts/dm-usb-poweroff diff --git a/config-files/.local/bin/dm-usb-unmount b/scripts/dm-usb-unmount similarity index 100% rename from config-files/.local/bin/dm-usb-unmount rename to scripts/dm-usb-unmount diff --git a/config-files/.local/bin/dm-web b/scripts/dm-web similarity index 100% rename from config-files/.local/bin/dm-web rename to scripts/dm-web diff --git a/config-files/.local/bin/dm-wifi b/scripts/dm-wifi similarity index 100% rename from config-files/.local/bin/dm-wifi rename to scripts/dm-wifi diff --git a/config-files/.local/bin/multimc b/scripts/multimc similarity index 100% rename from config-files/.local/bin/multimc rename to scripts/multimc diff --git a/config-files/.local/bin/sb-battery b/scripts/sb-battery similarity index 100% rename from config-files/.local/bin/sb-battery rename to scripts/sb-battery diff --git a/config-files/.local/bin/sb-cpu b/scripts/sb-cpu similarity index 100% rename from config-files/.local/bin/sb-cpu rename to scripts/sb-cpu diff --git a/config-files/.local/bin/sb-memory b/scripts/sb-memory similarity index 100% rename from config-files/.local/bin/sb-memory rename to scripts/sb-memory diff --git a/config-files/.local/bin/sb-network b/scripts/sb-network similarity index 100% rename from config-files/.local/bin/sb-network rename to scripts/sb-network diff --git a/config-files/.local/bin/sb-volume b/scripts/sb-volume similarity index 100% rename from config-files/.local/bin/sb-volume rename to scripts/sb-volume diff --git a/settings.dconf b/settings.dconf deleted file mode 100644 index d3926111..00000000 --- a/settings.dconf +++ /dev/null @@ -1,175 +0,0 @@ -[org/gnome/Console] -theme='auto' -use-system-font=true - -[org/gnome/calculator] -accuracy=9 -angle-units='degrees' -base=10 -button-mode='programming' -number-format='automatic' -show-thousands=false -show-zeroes=false -source-currency='' -source-units='degree' -target-currency='' -target-units='radian' -word-size=64 - -[org/gnome/desktop/a11y/interface] -high-contrast=false -show-status-shapes=false - -[org/gnome/desktop/background] -color-shading-type='solid' -picture-options='zoom' -picture-uri='file:///usr/share/backgrounds/gnome/blobs-l.svg' -picture-uri-dark='file:///usr/share/backgrounds/gnome/blobs-d.svg' -primary-color='#241f31' -secondary-color='#000000' - -[org/gnome/desktop/calendar] -show-weekdate=false - -[org/gnome/desktop/datetime] -automatic-timezone=true - -[org/gnome/desktop/input-sources] -current=uint32 0 -mru-sources=[('xkb', 'us+altgr-intl'), ('xkb', 'us+intl')] -sources=[('xkb', 'us+altgr-intl')] -xkb-options=['caps:ctrl_modifier'] - -[org/gnome/desktop/interface] -clock-format='12h' -clock-show-seconds=false -clock-show-weekday=true -color-scheme='prefer-dark' -cursor-theme='Adwaita' -enable-animations=true -font-antialiasing='grayscale' -font-hinting='slight' -gtk-theme='adw-gtk3-dark' -locate-pointer=false -monospace-font-name='JetBrainsMono Nerd Font 11' -overlay-scrolling=true -toolkit-accessibility=false - -[org/gnome/desktop/peripherals/touchpad] -two-finger-scrolling-enabled=true - -[org/gnome/desktop/privacy] -old-files-age=uint32 30 -recent-files-max-age=30 -remove-old-temp-files=true -remove-old-trash-files=true -report-technical-problems=true - -[org/gnome/desktop/screensaver] -color-shading-type='solid' -picture-options='zoom' -picture-uri='file:///usr/share/backgrounds/gnome/blobs-l.svg' -primary-color='#241f31' -secondary-color='#000000' - -[org/gnome/desktop/search-providers] -enabled=['org.gnome.Weather.desktop'] -sort-order=['org.gnome.Contacts.desktop', 'org.gnome.Documents.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.seahorse.Application.desktop', 'org.gnome.Characters.desktop', 'org.gnome.clocks.desktop'] - -[org/gnome/desktop/session] -idle-delay=uint32 300 - -[org/gnome/desktop/sound] -event-sounds=true -theme-name='__custom' - -[org/gnome/desktop/wm/preferences] -button-layout='appmenu:minimize,close' -resize-with-right-button=true -visual-bell=false - -[org/gnome/epiphany] -ask-for-default=false -default-search-engine='Google' -search-engine-providers=[{'url': <'https://www.bing.com/search?q=%s'>, 'bang': <'!b'>, 'name': <'Bing'>}, {'url': <'https://duckduckgo.com/?q=%s&t=epiphany'>, 'bang': <'!ddg'>, 'name': <'DuckDuckGo'>}, {'url': <'https://www.google.com/search?q=%s'>, 'bang': <'!g'>, 'name': <'Google'>}] - -[org/gnome/epiphany/web] -show-developer-actions=true - -[org/gnome/evince/default] -continuous=true -dual-page=false -dual-page-odd-left=true -enable-spellchecking=true -inverted-colors=false -show-sidebar=true -sidebar-page='thumbnails' -sidebar-size=132 -sizing-mode='automatic' - -[org/gnome/evolution-data-server] -migrated=true - -[org/gnome/mutter] -center-new-windows=true -edge-tiling=true -experimental-features=['scale-monitor-framebuffer'] - -[org/gnome/mutter/keybindings] -toggle-tiled-left=@as [] -toggle-tiled-right=@as [] - -[org/gnome/nautilus/icon-view] -default-zoom-level='small' - -[org/gnome/nautilus/preferences] -default-folder-viewer='icon-view' -migrated-gtk-settings=true -search-filter-time-type='last_modified' - -[org/gnome/settings-daemon/plugins/color] -night-light-enabled=true -night-light-temperature=uint32 2410 -sleep-inactive-ac-timeout=3600 -sleep-inactive-ac-type='nothing' - -[org/gnome/settings-daemon/plugins/power] -power-button-action='interactive' -sleep-inactive-ac-type='nothing' - -[org/gnome/shell] -enabled-extensions=['caffeine@patapon.info', 'appindicatorsupport@rgcjonas.gmail.com', 'Vitals@CoreCoding.com', 'logowidget@github.com.howbea', 'gtk4-ding@smedius.gitlab.com', 'blur-my-shell@aunetx'] -favorite-apps=['google-chrome.desktop', 'org.gnome.Epiphany.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Terminal.desktop'] -last-selected-power-profile='performance' - -[org/gnome/shell/extensions/dash-to-dock] -dash-max-icon-size=34 -dock-fixed=false -dock-position='BOTTOM' -extend-height=false - -[org/gnome/shell/extensions/ding] -check-x11wayland=true -icon-size='small' -show-home=false - -[org/gnome/shell/extensions/vitals] -fixed-widths=false -hot-sensors=['_memory_usage_', '_processor_usage_', '__temperature_max__'] -icon-style=1 -use-higher-precision=false - -[org/gnome/shell/world-clocks] -locations=@av [] - -[org/gnome/system/location] -enabled=true - -[org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9] -background-color='rgb(0,0,0)' -backspace-binding='auto' -exit-action='hold' -font='JetBrainsMono Nerd Font 12' -foreground-color='rgb(208,207,204)' -use-system-font=false -use-theme-colors=true