2023-02-26 14:51:13 +08:00

1426 lines
33 KiB
SCSS

/******************
* Budgie Desktop *
******************/
$raven_base_color: $base_color;
$raven_bg_color: $menu_bg;
$raven_fg_color: $text_color;
$raven_header_bg_color: darken($raven_base_color, 3%);
$raven_header_fg_color: $text_color;
$raven_button_bg_color: $button_bg;
$raven_border_color: if($variant =='light', $borders_color, rgba(black, 0.75));
$raven_radius: 10px;
$raven_padding: 8px;
%raven_middle_button {
border-radius: 0;
border-right-style: none;
border-bottom-style: none;
}
%raven_last_button {
border-radius: 0 0 ($raven_radius - 1px) 0;
border-right-style: none;
border-bottom-style: none;
}
%raven_first_button {
border-radius: 0 0 0 ($raven_radius - 1px);
border-left-style: none;
border-bottom-style: none;
}
%raven_single_button {
border-radius: 0 0 $raven_radius $raven_radius;
border-left-style: none;
border-right-style: none;
border-bottom-style: none;
}
%budgie_button {
@include button(flat-normal);
&:hover { @include button(flat-hover); }
&:checked { @include button(flat-checked); }
&:active { @include button(flat-active); }
&:disabled { @include button(flat-insensitive); }
}
%raven_button {
@include button(header-normal);
&:hover { @include button(header-hover); }
&:active { @include button(header-active); }
&:checked { @include button(header-checked); }
&:disabled { @include button(header-insensitive); }
&.linked {
@include button(undecorated);
background-color: $menu_bg;
&:hover {
background-color: if($variant =='light', darken($menu_bg, 5%), lighten($menu_bg, 5%));
}
&:active, &:checked {
color: $selected_fg_color;
background-color: $selected_bg_color;
}
&:disabled { @include button(flat-insensitive); }
}
}
.budgie-container { background-color: transparent; }
.budgie-settings-window {
&.background {
background-color: rgba($base_color, if($trans == 'true', 0.97, 1));
buttonbox.inline-toolbar {
border-style: none none solid;
button {
border-radius: $bt_radius;
@extend %budgie_button;
}
}
}
list.sidebar {
background-color: transparent;
border-radius: 0 0 0 $wm_radius;
border-color: if($variant =='light', $solid_borders_color, $header_border);
}
}
.budgie-popover.background {
margin: 0;
padding: 0;
border: 1px solid if($variant=='light', rgba($borders_color, 0.2), lighten($menu_bg, 6%));
border-radius: $wm_radius;
background-color: $menu_bg;
background-clip: padding-box;
box-shadow: 0 0 3px 0 rgba(black, 0.15),
0 0 0 1px if($variant=='light', rgba(black, 0.03), rgba(black, 0.65));
.container {
padding: 0;
margin: 0;
border: none;
}
separator { margin: $container_padding / 2 0; }
border { border: none; }
list {
background-color: transparent;
row {
button {
background: none;
border: none;
box-shadow: none;
}
}
}
&:not(.budgie-menu) button.flat:not(.image-button) {
@extend %budgie_button;
min-height: 28px;
padding: 0 8px;
color: $fg_color;
font-weight: normal;
&:disabled { color: $disabled_fg_color; }
}
treeview.view.sidebar {
background: none;
border-right: none;
color: $fg_color;
padding: 3px 0;
&:hover { background-color: rgba($fg_color, 0.05); }
&:selected {
background-color: rgba($fg_color, 0.1);
color: $fg_color;
}
}
scrolledwindow.sidebar:not(.categories) { //AppMenu (Elementary)
background: none;
border-right: none;
color: $fg_color;
label { padding: 3px 8px; }
&:hover { background-color: rgba($fg_color, 0.05); }
&:active { background-color: rgba($fg_color, 0.1); }
&:selected, &:selected:hover {
color: $selected_fg_color;
background-color: $selected_bg_color;
}
}
> frame.container > grid.horizontal > grid.horizontal {
> widget > grid.horizontal > stack {
border-top: 1px solid $borders_color;
}
}
&.bottom > frame.container > grid.horizontal > grid.horizontal {
> widget > grid.horizontal > stack {
border-top: none;
border-bottom: 1px solid $borders_color;
}
}
calendar { border-radius: $bt_radius; }
&.budgie-menu {
.container { padding: 0; }
&.background {
padding: 0;
background-color: $base_color;
}
scrollbar,
entry.search { background-color: transparent; }
entry.search {
padding: 5px 10px;
border: none;
border-bottom: 1px solid rgba(black, if($variant == 'light', 0.1, 0.75));
border-radius: 0;
box-shadow: none;
font-size: 110%;
}
scrolledwindow.sidebar.categories { //AppMenu (budgie)
&:dir(ltr) {
margin: 0 0 1px 1px;
border-bottom-left-radius: $bt_radius;
}
&:dir(rtl) {
margin: 0 1px 1px 0;
border-bottom-right-radius: $bt_radius;
}
button.flat.category-button {
min-height: 28px;
border-radius: 0;
&:disabled {
color: $alt_disabled_fg_color;
background-color: transparent;
}
&:checked:disabled {
color: $disabled_fg_color;
background-color: $fill_color;
}
}
}
> frame > box > overlay > box > box > scrolledwindow.sidebar.categories {
&:dir(ltr) {
margin: 0 0 0 1px;
border-bottom-left-radius: 0;
}
&:dir(rtl) {
margin: 0 1px 0 0;
border-bottom-right-radius: 0;
}
}
row {
padding: 0;
&:hover { box-shadow: none; }
button.flat {
min-height: 32px;
border-radius: 0;
}
}
list.left-overlay-menu {
box-shadow: 0 5px 8px rgba(black, 0.15), 0 8px 15px rgba(black, 0.08), $wm_outline, inset 0 0 0 1px $highlight_color;
background-color: $base_color;
padding: $container_padding;
margin: $container_padding;
border-radius: $mn_radius;
> row.activatable {
border-radius: $bt_radius;
&, &:hover, &:selected, &:active, &:active:hover {
background-color: transparent;
}
&:not(:last-child) {
margin-bottom: $container_padding / 2;
}
&:active {
background-color: $selected_bg_color;
label, button { color: $selected_fg_color; }
}
button.menuitem {
border-radius: $bt_radius;
@extend %flat_button;
}
}
}
.budgie-menu-footer {
border-top: 1px solid $borders_color;
padding: $container_padding;
button {
min-height: 16px;
min-width: 16px;
padding: $container_padding;
&.image-button {
border-radius: $circular_radius;
&:not(.last-child) {
margin-right: $container_padding;
}
}
}
}
}
// Clipboard popover
> frame > box.vertical {
> box.horizontal {
> entry {
padding: $container_padding / 2 $container_padding * 2;
border: none;
border-bottom: 1px solid $borders_color;
border-radius: 0;
box-shadow: none;
background: none;
}
}
> box.vertical {
> box.vertical {
margin: 0 $container_padding $container_padding * 1.5;
}
> box.horizontal > button.image-button.toggle {
@extend %flat_button;
margin-right: $container_padding;
}
> scrolledwindow > viewport.frame {
border-bottom: 1px solid $borders_color;
}
}
}
&.user-menu {
.container { padding: $container_padding; }
.content-box { background-color: transparent; }
row {
padding: 0;
background: 0;
border: none;
box-shadow: none;
}
}
&.sound-popover {
buttonbox.linked > button { border-radius: $bt_radius; }
}
&.caffeine-popover {
.container { padding: $container_padding; }
}
&.night-light-indicator {
.container { padding: $container_padding; }
.view-header { padding: 0 $container_padding 0 ($container_padding - 2px); }
}
&.icon-popover {
.container { padding: $container_padding; }
}
&.places-menu {
.container { padding: $container_padding; }
row.activatable {
padding: 0;
background: 0;
border: none;
box-shadow: none;
}
.places-list:not(.always-expand) {
margin-top: $container_padding / 2;
padding-top: $container_padding / 2;
border-top: 1px solid $borders_color;
}
// I guess this really should be hard-coded as well as other dim-labels.
.alternative-label {
padding: $container_padding / 2;
font-size: 15px;
}
}
&.workspace-popover {
.container { padding: 2px $container_padding $container_padding; }
flowboxchild { padding: 0; }
}
// &.budgie-screenshot-applet {
// }
}
// budgie specific popover widgets
window.budgie-popover:not(.csd) {
> frame.container {
margin: 0 -1px -1px; // remove gap
.bottom & { padding: 2px 0 2px; } // revive bottom padding
&,
> border {
border-style: none; // hide container borders
}
}
}
// FIXME: workspace has unnecessary/unknown margin
.workspace-switcher {
.workspace-layout {
border: 0 solid $borders_color;
.top &,
.bottom & {
&:dir(ltr) { border-left-width: 1px; }
&:dir(rtl) { border-right-width: 1px; }
}
.left &,
.right & { border-top-width: 1px; }
}
.workspace-item,
.workspace-add-button {
border: 0 solid $borders_color;
.top &,
.bottom & {
&:dir(ltr) { border-right-width: 1px; }
&:dir(rtl) { border-left-width: 1px; }
}
.left &,
.right & { border-bottom-width: 1px; }
}
.workspace-item {
transition: $shorter_transition;
&.current-workspace { background-color: $borders_color; }
}
.workspace-add-button {
background-color: transparent;
background-image: none;
@extend %budgie_button;
&:hover { box-shadow: none; }
&:active { background-image: none; }
&:active image { margin: 1px 0 -1px; }
}
.workspace-icon-button {
.budgie-panel & { // to overwrite the .budgie-panel button style below
min-height: 24px;
min-width: 24px;
padding: 0;
border-radius: $bt_radius;
}
}
}
// Menu Button
button.budgie-menu-launcher {
@extend %flat_button;
}
// Raven Trigger
button.raven-trigger {
padding: 0 4px;
}
// Places Menu
popover.background.places-menu {
padding: 8px;
.name-button.text-button {
// padding: 4px 8px;
padding-left: 8px;
padding-right: 8px;
image {
&:dir(ltr) { margin-right: 8px - 5px; }
&:dir(rtl) { margin-left: 8px - 5px; }
}
}
.places-section-header > image {
&:dir(ltr) { margin: 0 8px - 10px 0 8px - 3px; }
&:dir(rtl) { margin: 0 8px - 3px 0 8px - 10px; }
}
.places-list {
margin-top: 4px;
padding-top: 4px;
border-top: 1px solid $borders_color;
background-color: transparent;
}
row {
padding: 0;
box-shadow: none;
background-image: none;
}
}
$budgie_panel_radius: $wm_radius + $container_padding / 2;
// Panel
.budgie-panel.background {
transition: background-color 0.2s cubic-bezier(0, 0, 0.2, 1);
background-color: opacify($header_bg, 1);
color: $header_fg;
font-weight: 500;
border-width: 0;
&.transparent {
background-color: $panel_bg;
color: $panel_fg;
border-width: 0;
}
.bottom & {
&.dock-mode {
padding: $container_padding / 2 $container_padding / 2 - 1px;
margin-bottom: $container_padding;
.icon-tasklist {
.launcher {
margin: 0 1px;
}
}
}
}
.left & {
&.dock-mode {
margin-left: $container_padding;
padding: $container_padding / 2 - 1px $container_padding / 2;
.icon-tasklist {
.launcher {
margin: 1px 0;
}
}
}
}
.right & {
&.dock-mode {
margin-right: $container_padding;
padding: $container_padding / 2 - 1px $container_padding / 2;
.icon-tasklist {
.launcher {
margin: 1px 0;
}
}
}
}
.bottom &, .left &, .right & {
border-radius: 0;
&.dock-mode {
border-radius: $budgie_panel_radius;
border: 1px solid if($variant == 'light', rgba(black, 0.08), rgba(black, 0.75));
box-shadow: inset 0 0 0 1px rgba(white, 0.05);
background-color: $dash_bg;
.icon-tasklist {
.launcher {
border-radius: $wm_radius;
}
}
}
}
.system-tray-applet {
margin: $container_padding 0;
}
button {
min-height: 16px;
min-width: 16px;
padding: 0;
border-radius: 0;
border-top-width: 0;
border-bottom-width: 0;
border: none;
box-shadow: none;
color: rgba($header_fg, 0.85);
background: none;
&:hover {
background-color: rgba($header_fg, 0.10);
color: rgba($header_fg, 0.95);
background-image: none;
}
&:active {
background-color: rgba($header_fg, 0.15);
color: $header_fg;
background-image: none;
}
&:checked {
background-color: rgba($header_fg, 0.12);
color: $header_fg;
}
}
&.transparent button {
color: rgba($panel_fg, 0.85);
&:hover {
background-color: rgba($panel_fg, 0.10);
color: rgba($panel_fg, 0.95);
}
&:active {
background-color: rgba($panel_fg, 0.15);
color: $panel_fg;
}
&:checked {
background-color: rgba($panel_fg, 0.12);
color: $panel_fg;
}
}
&.horizontal button { padding: 0 4px; }
&.vertical button { padding: 4px 0; }
separator { background-color: rgba($panel_fg, 0.15); }
// Budgie styled Gtk Menus
menubar,
.menubar {
box-shadow: none;
background-image: none;
background-color: transparent;
> menuitem {
border: none;
background-image: none;
font-weight: normal;
color: $header_fg;
&:hover {
color: $header_fg;
background-color: rgba($header_fg, 0.1);
}
&:disabled { color: transparentize($header_fg, 0.6); }
}
}
&.transparent menubar,
&.transparent .menubar {
> menuitem {
color: $panel_fg;
&:hover {
color: $panel_fg;
background-color: rgba($panel_fg, 0.1);
}
&:disabled { color: transparentize($panel_fg, 0.6); }
}
}
menubar.-vala-panel-appmenu-private { // appmenu plugin
> menuitem {
font-weight: normal;
}
}
// used to indicate unread notifications
.alert { color: $destructive_color; }
&.vertical #tasklist-button { min-height: 32px; }
// Icon Tasklist
button.flat.launcher {
padding: 0;
@extend %flat_button;
// for indicator colors
&:not(:checked) {
color: $fg_color;
&:hover, &:active { color: rgba($fg_color, 0.8); }
&:disabled { color: rgba($fg_color, 0.5); }
}
&:active { background-color: rgba($fg_color, 0.20); }
&:checked { background-color: rgba($fg_color, 0.15); }
}
}
%underscores {
@each $pos, $b_pos, $b_wid in (top, center calc(1px), 3 0 0 0 / 3px 0 0 0),
(bottom, center calc(100% - 1px), 0 0 3 0 / 0 0 3px 0),
(left, calc(1px) center, 0 0 0 3 / 0 0 0 3px),
(right, calc(100% - 1px) center, 0 3 0 0 / 0 3px 0 0) {
.#{$pos} & {
& {
border-image: radial-gradient(circle closest-corner at #{$b_pos},
$selection_mode_bg 0%,
transparent 0%)
0 0 0 0 / 0 0 0 0;
}
&:checked {
border-image: radial-gradient(circle closest-corner at #{$b_pos},
$selection_mode_bg 100%,
transparent 0%)
#{$b_wid};
}
}
}
}
// Tasklist
#tasklist-button {
padding: 0 4px;
box-shadow: none;
background-image: none;
color: $fg_color;
@extend %underscores;
&:active {
background-color: rgba($fg_color, 0.15);
color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 5%));
}
&:checked {
background-color: rgba($fg_color, 0.12);
color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 5%));
}
}
.budgie-panel {
@at-root %budgie_icon_tasklist_button,
button.flat.launcher {
min-width: 16px;
min-height: 16px;
padding: 0;
border-radius: 0;
background-position: center center;
> image { opacity: 0.87; }
&:hover {
-gtk-icon-effect: highlight;
> image { opacity: 1.0; }
}
&:active {
> image { opacity: 1.0; }
}
&:checked {
&:hover { -gtk-icon-effect: highlight; }
> image { opacity: 1.0; }
}
}
@at-root %running_budgie_icon_tasklist_button,
.unpinned button.flat.launcher,
.pinned button.flat.launcher.running,
.pinned button.launcher.running.sidebar-button {
&:hover { -gtk-icon-effect: highlight; }
> image {
background-repeat: no-repeat;
opacity: 1.0;
}
&:checked {
> image { background-image: none; }
}
}
}
// draw underscores and dots
@each $position, $_dot in (top, 6px 3px),
(bottom, 6px 3px),
(left, 3px 6px),
(right, 3px 6px) {
.#{$position} .budgie-panel {
.unpinned button.flat.launcher,
.pinned button.flat.launcher.running,
.pinned button.launcher.running.sidebar-button {
> image {
background-size: #{$_dot};
background-position: #{$position} center;
background-image: image($selected_bg_color);
}
&:checked { > image { background-image: none; } }
}
}
}
box:not(.unpinned):not(.pinned) > revealer > button.flat.launcher { border-image: none; } // unset before drawing indicators
$pos_list: ((top, bottom), (bottom, top), (left, right), (right, left));
@each $pos, $b_pos in $pos_list {
// Shadows
.#{$pos} .shadow-block {
background-image: linear-gradient(to $b_pos, rgba(black, 0.05) 0%, rgba(black, 0.03) 15%, rgba(black, 0.02) 60%, transparent);
}
// Raven borders
.#{$pos} frame.raven-frame > border {
border: none;
border-#{$b_pos}: 1px solid $raven_border_color;
}
}
$raven_opacity: if($variant =='light', 0.95, 0.95);
$raven_shadow: 0 0 3px 0 rgba(black, 0.2), 0 0 8px 0 rgba(black, 0.15), 0 0 16px 0 rgba(black, 0.1);
// Raven
.background .raven {
background-color: if($trans == 'true', rgba($raven_bg_color, $raven_opacity), $raven_bg_color);
color: $raven_fg_color;
box-shadow: $shadow_4;
button {
@extend %raven_button;
&.image-button { @extend %circular_button; }
}
stackswitcher { padding: 0 8px 12px 8px; }
stackswitcher.linked > button { @extend %raven_button; }
.raven-header {
min-height: $medium_size;
padding: 2px;
&:not(.top) {
button.image-button {
@extend %flat_button;
min-height: 32px;
min-width: 32px;
margin: 0;
padding: 0;
border-radius: $circular_radius;
}
}
&.top {
padding: 2px 12px $raven_padding;
// background-color: rgba($raven_bg_color, 0.95);
color: $raven_fg_color;
border-bottom: 1px solid $raven_border_color;
> stackswitcher.linked {
padding: 2px;
margin: $container_padding 0 0 0;
background-color: rgba($fg_color, 0.05);
border-radius: $bt_radius + 2px;
> button {
border-radius: $bt_radius;
margin: 0;
padding: 2px $container_padding * 3;
min-height: $small_size;
&:hover {
background-color: rgba($button_bg, 0.35);
}
&:active, &:checked {
background-color: $button_bg;
}
&:checked {
box-shadow: 0 1px 2px rgba(black, 0.08), 0 2px 3px rgba(black, 0.05);
}
}
}
}
&.bottom { border-top: 1px solid $raven_border_color; }
}
scrolledwindow > .frame { // stacking raised-grid
padding: 0 $raven_padding;
transition-duration: 0s;
border: none;
> box.vertical > box.vertical {
margin: $raven_padding 0; // do not set L/R margins
border-radius: $raven_radius;
background-color: $raven_header_bg_color;
transition-duration: 0s;
border: 1px solid $raven_border_color;
.raven-header {
margin-top: -$raven_padding * 2; // unset parent margin
border-radius: $raven_radius $raven_radius 0 0;
}
.raven-background {
margin-bottom: -$raven_padding * 2; // unset parent margin
border-radius: 0 0 $raven_radius $raven_radius;
background-color: $raven_base_color;
}
}
> box.vertical > widget > box.vertical { // > = 10.7
border-radius: $raven_radius;
background-color: $raven_header_bg_color;
border: 1px solid $raven_border_color;
.raven-header {
border-radius: $raven_radius $raven_radius 0 0;
background-color: transparent;
}
.raven-background {
border-radius: 0 0 $raven_radius $raven_radius;
background-color: $raven_base_color;
border-top: 1px solid $raven_border_color;
}
image.raven-mpris {
background-color: rgba(white, 0.1);
border-radius: $raven_radius;
}
}
.raven-mpris-controls {
margin-top: $container_padding;
> button.image-button {
padding: $container_padding;
}
}
@if $variant == 'light' {
> box.vertical > box.vertical:last-child,
> box.vertical > widget:last-child > box.vertical {
border: none;
background-color: rgba(black, 0.85);
color: rgba(white, 0.65);
button {
border: none;
color: rgba(white, 0.65);
background-color: transparent;
&:hover {
color: rgba(white, 0.85);
background-color: rgba(white, 0.15);
}
&:active {
color: rgba(white, 0.85);
background-color: rgba(white, 0.25);
}
&:disabled {
color: rgba(white, 0.3);
background-color: transparent;
}
}
.raven-background {
background-color: rgba(white, 0.05);
margin-bottom: 0; // unset parent margin
border-top: none;
}
}
// MPRIS Applet
> box.vertical > box.vertical:last-child .raven-mpris {
background-color: rgba(black, 0.35);
color: white;
image { //reset image color
color: rgba(white, 0.85);
&:disabled { color: rgba(white, 0.35); }
}
}
}
> box.vertical > box.vertical:last-child .raven-mpris {
border-radius: 0 0 $raven_radius $raven_radius;
label { min-height: 24px; }
}
.audio-widget {
stackswitcher.linked { // audio app/device switcher
padding: 0; // limit child horizontal spacing
> button.text-button.radio {
padding-top: $raven_padding;
padding-bottom: $raven_padding;
border-top: 1px solid $dark_borders_color;
background-color: $menu_bg;
@extend %raven_middle_button;
&:hover {
background-color: if($variant =='light', darken($menu_bg, 5%), lighten($menu_bg, 5%));
}
&:active, &:checked {
color: $selected_fg_color;
background-color: $selected_bg_color;
}
&:disabled { @include button(flat-insensitive); }
&:first-child { @extend %raven_first_button; }
&:last-child { @extend %raven_last_button; }
&:only-child { @extend %raven_single_button; }
}
}
}
list.devices-list {
padding: $container_padding;
background-color: transparent;
> row.activatable {
border-radius: $bt_radius;
label { padding: 0 $container_padding; }
&:not(:last-child) {
margin-bottom: $container_padding / 2;
}
}
}
}
.expander-button {
border-radius: $circular_radius;
}
.raven-background {
&.middle { border-bottom-style: none; } // applet background between two headers
checkbutton, radiobutton { // this is for a nice focus on check and radios text
&.text-button {
&:hover { color: darken($raven_fg_color, 15%); }
&:disabled { color: rgba($raven_fg_color, 0.45); }
}
}
list { color: $raven_fg_color; background-color: $raven_base_color; }
}
scrolledwindow.raven-background { border-bottom-style: none; }
.powerstrip button.image-button {
min-height: 28px;
min-width: 28px;
margin: 0 4px;
padding: 6px;
}
.option-subtitle { font-size: smaller; }
// notification list
.raven-notifications-view {
> .raven-header {
background-color: transparent;
border-bottom: 1px solid $raven_border_color;
}
> .raven-background > viewport.frame {
padding: 0; // reset padding for full-width list node
list { background-color: transparent; }
> list > row.activatable {
margin-left: -8px;
margin-right: -2px;
background-color: transparent;
> grid > *, // legacy
> box.vertical * { color: $raven_fg_color; }
image { padding-left: 8px; }
button.image-button { // 'dismiss'
@extend %circular_button;
margin: 8px;
padding: 2px;
image { padding: 0; }
&:active, &:checked {
image { color: white; }
}
}
// sub-list rows grouping
list {
border-radius: 0;
// border-top: 1px solid $borders_color;
// border-bottom: 1px solid $borders_color;
padding: $container_padding;
background: none;
> row.activatable {
border: none;
margin: $container_padding / 2;
border-radius: $bt_radius;
background-color: if($variant == 'light', lighten($raven_bg_color, 5%), darken($raven_bg_color, 5%));
box-shadow: 0 2px 3px rgba(black, 0.08);
&:hover, &:selected {
background-color: if($variant == 'light', $raven_bg_color, darken($raven_bg_color, 8%));
box-shadow: 0 2px 4px rgba(black, 0.15);
}
&:active {
background-color: if($variant == 'light', darken($raven_bg_color, 5%), darken($raven_bg_color, 10%));
box-shadow: none;
}
label { padding: 0 16px; }
button.image-button { // 'close'
min-height: 24px;
min-width: 24px;
image { padding: 0; }
&:active { image { color: $fg_color; }}
}
}
}
&:selected {
background-color: rgba($selected_bg_color, 0.75);
> grid > *,
> box.vertical * { color: $selected_fg_color; }
button.image-button { // 'dismiss'
border: none;
&:hover { background-color: rgba(white, 0.25); }
&:active, &:checked { background-color: rgba(white, 0.35); }
}
list {
border: 1px solid rgba(white, 0.12);
background: none;
> row.activatable {
border-bottom: 1px solid rgba(white, 0.12);
&:last-child { border-bottom: none; }
&:selected {
background-color: rgba($selected_bg_color, 0.65);
}
}
}
}
}
}
}
}
// some specific scale styling
box.audio-widget,
window.sound-popover.background {
scale.horizontal.marks-after { // overdrive-mode scale
padding-top: 0; // unset default padding
padding-bottom: 0;
trough { // overdrive-mode trough styling
background-color: transparent; // unset default trough color
@each $_dir, $_opp_end in (ltr, right),
(rtl, left) {
&:dir(#{$_dir}) {
background-image:
linear-gradient(to $_opp_end,
rgba($success_color, 0.25) calc(66% - 3px),
rgba($destructive_color, 0.25) calc(66% - 3px),
rgba($destructive_color, 0.25) 100%);
}
}
}
mark {
// hide label for vertically centered troughs
label { font-size: 0; }
}
}
}
// Calendar
calendar.raven-calendar {
border-style: none;
background-color: transparent;
color: $raven_fg_color;
padding: $container_padding / 2;
&:selected {
border-radius: $bt_radius;
background-color: $selected_bg_color;
color: $selected_fg_color;
}
&.button {
@extend %undecorated_button;
color: transparentize($raven_fg_color, 0.55);
&:hover { color: $raven_fg_color; }
&:disabled { color: transparentize($raven_fg_color, 0.75); }
}
&:indeterminate { color: gtkalpha($raven_fg_color, 0.35); }
&.highlight { color: $raven_fg_color; }
}
// Notifications
%budgie-notification-window {
background: none;
> stack {
margin: 0;
padding: $container_padding;
border-radius: $wm_radius;
box-shadow: 0 3px 3px 0 rgba(black, 0.15),
0 0 0 1px rgba(black, if($variant == 'light', 0.1, 0.75)),
inset 0 0 0 1px $highlight_color;
background-color: $menu_bg;
}
}
.budgie-notification-window {
@extend %budgie-notification-window;
button.image-button { // 'close'
margin: 0;
padding: 0;
min-height: 28px;
min-width: 28px;
border-radius: $circular_radius;
}
}
.budgie-notification {
background: none;
margin: 0;
padding: 0;
.notification-title { font-size: 120%; }
.notification-body { @extend %dim-label; }
}
// On Screen Display in Budgie
.budgie-osd-window {
@extend %budgie-notification-window;
}
// Internal part of the OSD
.budgie-osd {
background: none;
.budgie-osd-text { font-size: 120%; }
}
// Alt+tab switcher in Budgie
.budgie-switcher-window {
@extend %budgie-notification-window;
}
window.budgie-switcher-window {
border-radius: $wm_radius;
background-color: transparent;
background-image: none;
flowboxchild { // icon-tiles
margin: 2px;
border-radius: $wm_radius;
background-image: none;
}
}
// Internal part of the Switcher
.budgie-switcher {
@extend .budgie-notification;
}
.drop-shadow {
margin: 6px 10px 16px;
padding: $container_padding;
border-radius: $wm_radius;
box-shadow: 0 3px 3px 0 $wm_shadow,
0 3px 8px 0 $wm_shadow,
$wm_outline, inset 0 0 0 1px $highlight_color;
background-color: $menu_bg;
.dim-label { opacity: 0.55; }
// used to indicate unread notifications
.alert { color: $fg_color; }
button { @extend %budgie_button; }
.linked > button { border-radius: $bt_radius; }
}
%budgie_dialog {
background-color: $bg_color;
@if $variant == 'dark' { box-shadow: inset 0 0 0 1px $highlight_color; }
&.background.csd {
border-radius: $wm_radius;
}
}
// Session Dialog
.budgie-session-dialog,
.budgie-polkit-dialog {
@extend %budgie_dialog;
label:not(:last-child),
.dialog-title { font-size: 120%; }
buttonbox.linked.horizontal > button {
padding: 8px 16px;
margin: 8px 3px;
border: none;
border-radius: $wm_radius - 8px;
&:first-child { margin-left: 8px; }
&:last-child { margin-right: 8px; }
}
buttonbox.linked.horizontal > button:not(.suggested-action):not(.destructive-action) {
@include button(flat-normal);
&:hover {
@include button(flat-hover);
transition: $button_transition;
}
&:active, &:checked {
@include button(flat-active);
}
}
}
// PolKit Dialog
.budgie-polkit-dialog {
.message { color: gtkalpha(currentColor, 0.6); }
.failure { color: $destructive_color; }
}
// Run Dialog
.budgie-run-dialog {
@extend %budgie_dialog;
background-color: $base_color;
entry.search {
font-size: 120%;
padding: 6px 12px;
box-shadow: inset 0 1px $highlight_color;
background-color: transparent;
}
list .dim-label { opacity: 1; }
scrolledwindow { border-top: 1px solid $borders_color; }
}
// pixel-saver(?) applet
.budgie-panel box.titlebar {
min-width: 20px;
min-height: 20px;
border-radius: 0;
background: none;
box-shadow: none;
border: none;
> widget > label { color: rgba($panel_fg, 0.75); } // titles
> button.image-button.titlebutton {
padding: 0 3px;
// Load png assets for each button, Fix the Chrome window restore button bug
@each $k in ('close', 'maximize', 'minimize') {
@each $l, $m in (':backdrop',''), (':backdrop:hover','-hover'), (':backdrop:active','-active') {
&.#{$k}#{$l} {
background-image: -gtk-scaled(url('windows-assets/titlebutton-#{$k}#{$m}#{$asset_suffix}.png'),
url('windows-assets/titlebutton-#{$k}#{$m}#{$asset_suffix}@2.png'));
}
}
}
}
&.horizontal { // spacing
padding: 0 3px;
> widget > label {
&:dir(ltr) { padding-right: 3px; }
&:dir(rtl) { padding-left: 3px; }
}
> button.image-button.titlebutton { padding: 0 3px; }
}
}