mirror of
https://github.com/zephrynis/nix-flake.git
synced 2026-02-18 20:21:53 +00:00
feat: make AGS colorshell configuration fully declarative
- Add complete colorshell v2.0.3 configuration to home/ags-config/ - Disable runner plugin and NightLight tile (incompatible with NixOS) - Customize SCSS with full opacity (no transparency) - Add dark pale blue color scheme in home/pywal-colors/ - Configure Papirus-Dark icon theme via home-manager - Make ~/.config/ags/ immutable and managed by Nix store - Auto-deploy pywal colors to ~/.cache/wal/colors.json All AGS configuration is now reproducible and version controlled.
This commit is contained in:
50
home/ags-config/resources/styles/_apps-window.scss
Normal file
50
home/ags-config/resources/styles/_apps-window.scss
Normal file
@@ -0,0 +1,50 @@
|
||||
@use "sass:color";
|
||||
@use "./colors";
|
||||
|
||||
.apps-window .popup-window-container {
|
||||
$radius: 48px;
|
||||
|
||||
padding: 28px;
|
||||
background: colors.$bg-translucent;
|
||||
border-radius: $radius $radius 0 0;
|
||||
|
||||
& entry {
|
||||
background: transparent;
|
||||
margin-bottom: 32px;
|
||||
min-width: 450px;
|
||||
padding: 14px;
|
||||
border-radius: 18px;
|
||||
|
||||
&:focus-within {
|
||||
box-shadow: inset 0 0 0 2px colors.$bg-tertiary;
|
||||
background: rgba(colors.$bg-primary, .2);
|
||||
}
|
||||
}
|
||||
|
||||
& flowbox {
|
||||
padding: 16px 24px;
|
||||
|
||||
& > flowboxchild {
|
||||
& > button {
|
||||
padding: 10px;
|
||||
border-radius: 24px;
|
||||
|
||||
& image {
|
||||
-gtk-icon-size: 64px;
|
||||
}
|
||||
|
||||
& label {
|
||||
margin-top: 24px;
|
||||
text-shadow: 1px 1px 1px rgba(colors.$bg-primary, .2);
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
&:focus > button,
|
||||
&:selected > button,
|
||||
& > button:hover {
|
||||
background-color: rgba($color: colors.$bg-secondary, $alpha: .5);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
210
home/ags-config/resources/styles/_bar.scss
Normal file
210
home/ags-config/resources/styles/_bar.scss
Normal file
@@ -0,0 +1,210 @@
|
||||
@use "sass:color";
|
||||
@use "./mixins";
|
||||
@use "./colors";
|
||||
|
||||
|
||||
$radius: 18px;
|
||||
$padding: 4px;
|
||||
$color-hover: colors.$bg-primary;
|
||||
|
||||
|
||||
@mixin button-reactivity {
|
||||
&:active {
|
||||
box-shadow: 0 0 0 2px $color-hover;
|
||||
}
|
||||
}
|
||||
|
||||
.bar-container {
|
||||
padding: 6px;
|
||||
padding-bottom: 0px;
|
||||
|
||||
label {
|
||||
@include mixins.reset-props;
|
||||
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
// Style widget groups
|
||||
& > .bar-centerbox > * {
|
||||
background: rgba(colors.$bg-translucent, 1.0);
|
||||
border-radius: $radius;
|
||||
padding: 0 $padding;
|
||||
|
||||
& > box:not(.workspaces-row):not(.tray):not(.focused-client):not(.media),
|
||||
& > button {
|
||||
@include button-reactivity;
|
||||
|
||||
border-radius: calc($radius - $padding);
|
||||
margin: $padding 0;
|
||||
padding: 0 8px;
|
||||
|
||||
&:hover {
|
||||
background: $color-hover;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.workspaces-row {
|
||||
padding: 4px;
|
||||
|
||||
& .workspace {
|
||||
transition: 80ms linear;
|
||||
margin: 3px 0;
|
||||
border-radius: 16px;
|
||||
min-width: 14px;
|
||||
padding: 0 6px;
|
||||
background: colors.$bg-tertiary;
|
||||
|
||||
&:active {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
& label.id {
|
||||
font-weight: 600;
|
||||
margin-right: 4px;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
&.focus {
|
||||
background: colors.$fg-primary;
|
||||
min-width: 32px;
|
||||
|
||||
& label.id {
|
||||
opacity: 0;
|
||||
color: colors.$fg-light;
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
& icon {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
&.show label.id {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&:hover:not(.last-client-icon):not(.focus) {
|
||||
background: color.scale($color: colors.$bg-tertiary, $lightness: 10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.focused-client {
|
||||
padding: 0 6px;
|
||||
|
||||
& image {
|
||||
margin-right: 6px;
|
||||
-gtk-icon-size: 18px;
|
||||
}
|
||||
|
||||
& .text-content {
|
||||
& .class {
|
||||
font-size: 9px;
|
||||
font-family: monospace;
|
||||
font-weight: 600;
|
||||
color: colors.$fg-disabled;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
& .title {
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
margin-top: -2px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.clock.open {
|
||||
background: colors.$bg-primary;
|
||||
}
|
||||
|
||||
.media {
|
||||
$spacing: 5px;
|
||||
$hover-color: color.scale($color: colors.$bg-primary, $lightness: 15%);
|
||||
|
||||
background: colors.$bg-primary;
|
||||
border-radius: calc($radius - $padding);
|
||||
margin: $padding 0;
|
||||
padding: 0 calc($padding + 3px);
|
||||
|
||||
& image.player-icon {
|
||||
-gtk-icon-size: 14px;
|
||||
margin-right: $spacing;
|
||||
}
|
||||
|
||||
& .buttons {
|
||||
margin-left: $spacing;
|
||||
}
|
||||
|
||||
& .button-row {
|
||||
border-top-right-radius: 12px;
|
||||
border-bottom-right-radius: 12px;
|
||||
padding: 4px 0;
|
||||
|
||||
& > button image {
|
||||
margin: 0;
|
||||
-gtk-icon-size: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&:hover {
|
||||
background: $hover-color;
|
||||
}
|
||||
|
||||
&:active {
|
||||
box-shadow: 0 0 0 2px $hover-color;
|
||||
}
|
||||
}
|
||||
|
||||
.tray {
|
||||
padding: 0 6px;
|
||||
|
||||
& .item {
|
||||
all: unset;
|
||||
}
|
||||
}
|
||||
|
||||
.status {
|
||||
@include mixins.reset-props;
|
||||
|
||||
&.open {
|
||||
background: colors.$bg-primary;
|
||||
}
|
||||
|
||||
& image {
|
||||
-gtk-icon-size: 14px;
|
||||
}
|
||||
|
||||
& revealer > box {
|
||||
background: rgba($color: colors.$bg-tertiary, $alpha: 1.0);
|
||||
border-radius: 12px;
|
||||
margin: 4px 0;
|
||||
margin-left: 5px;
|
||||
padding: 2px 6px;
|
||||
}
|
||||
|
||||
& .status-icons {
|
||||
padding-left: 4px;
|
||||
|
||||
& image.notification-count {
|
||||
-gtk-icon-size: 6px;
|
||||
margin-top: -14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.apps {
|
||||
min-width: 18px;
|
||||
& image {
|
||||
transition: 120ms linear;
|
||||
-gtk-icon-size: 14px;
|
||||
}
|
||||
|
||||
&.open {
|
||||
background: colors.$bg-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
129
home/ags-config/resources/styles/_center-window.scss
Normal file
129
home/ags-config/resources/styles/_center-window.scss
Normal file
@@ -0,0 +1,129 @@
|
||||
@use "sass:color";
|
||||
@use "./wal";
|
||||
@use "./colors";
|
||||
@use "./mixins";
|
||||
|
||||
|
||||
.popup-window.center-window .center-window-container {
|
||||
background: colors.$bg-translucent;
|
||||
border-radius: 24px;
|
||||
padding: 12px;
|
||||
|
||||
& .big-media {
|
||||
margin-top: 9px;
|
||||
& .image {
|
||||
background-size: cover;
|
||||
background-position: center center;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
& .info {
|
||||
padding: {
|
||||
top: 4px;
|
||||
bottom: 6px;
|
||||
};
|
||||
|
||||
& .title {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
& .artist {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: colors.$fg-disabled;
|
||||
}
|
||||
}
|
||||
|
||||
& slider {
|
||||
all: unset;
|
||||
opacity: 0;
|
||||
min-height: .6em;
|
||||
}
|
||||
|
||||
& trough {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
& trough highlight {
|
||||
min-height: .65em;
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
}
|
||||
|
||||
& .bottom {
|
||||
& .button-row {
|
||||
margin-top: 9px;
|
||||
|
||||
& button {
|
||||
padding: 7px;
|
||||
|
||||
& label {
|
||||
font-size: 9px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& .elapsed,
|
||||
& .length {
|
||||
font-size: 12px;
|
||||
color: colors.$fg-disabled;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& .left .datetime {
|
||||
padding-bottom: 10px;
|
||||
|
||||
& .time {
|
||||
font-size: 28px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
& .date {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: colors.$fg-disabled;
|
||||
}
|
||||
}
|
||||
|
||||
& calendar.view {
|
||||
$border-radius: 14px;
|
||||
|
||||
font-weight: 600;
|
||||
background: colors.$bg-primary;
|
||||
border-radius: $border-radius;
|
||||
|
||||
& header {
|
||||
background: colors.$bg-secondary;
|
||||
padding: 6px;
|
||||
border-top-left-radius: $border-radius;
|
||||
border-top-right-radius: $border-radius;
|
||||
}
|
||||
|
||||
& grid {
|
||||
margin: 4px;
|
||||
|
||||
label.day-number {
|
||||
$size: 24px;
|
||||
|
||||
min-height: $size;
|
||||
min-width: $size;
|
||||
}
|
||||
}
|
||||
|
||||
& button {
|
||||
transition: 80ms linear;
|
||||
border-radius: 6px;
|
||||
|
||||
&:hover {
|
||||
background-color: colors.$bg-tertiary;
|
||||
}
|
||||
}
|
||||
|
||||
& label:selected {
|
||||
background: colors.$bg-secondary;
|
||||
border-radius: 6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
13
home/ags-config/resources/styles/_colors.scss
Normal file
13
home/ags-config/resources/styles/_colors.scss
Normal file
@@ -0,0 +1,13 @@
|
||||
@use "sass:color";
|
||||
@use "./wal";
|
||||
|
||||
$bg-primary: color.adjust($color: wal.$color1, $lightness: -34%);
|
||||
$bg-secondary: color.adjust($color: wal.$color1, $lightness: -16%);
|
||||
$bg-tertiary: color.adjust($color: $bg-secondary, $lightness: 10%);
|
||||
$bg-light: wal.$foreground;
|
||||
$bg-translucent: color.change($color: $bg-primary, $alpha: 100%);
|
||||
$bg-translucent-primary: $bg-translucent;
|
||||
$bg-translucent-secondary: color.change($color: $bg-translucent, $alpha: 100%);
|
||||
$fg-primary: wal.$foreground;
|
||||
$fg-light: $bg-primary;
|
||||
$fg-disabled: color.adjust($color: wal.$foreground, $lightness: -11%);
|
||||
301
home/ags-config/resources/styles/_control-center.scss
Normal file
301
home/ags-config/resources/styles/_control-center.scss
Normal file
@@ -0,0 +1,301 @@
|
||||
@use "sass:color";
|
||||
@use "./wal";
|
||||
@use "./colors";
|
||||
@use "./functions" as funs;
|
||||
@use "./mixins";
|
||||
|
||||
.control-center-container {
|
||||
@include mixins.reset-props;
|
||||
|
||||
background: colors.$bg-translucent;
|
||||
border-radius: 28px;
|
||||
padding: 20px;
|
||||
|
||||
& > * {
|
||||
margin: 9px 0;
|
||||
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
& button:focus-visible {
|
||||
box-shadow: inset 0 0 0 1px colors.$fg-primary;
|
||||
}
|
||||
|
||||
& .quickactions {
|
||||
margin-bottom: .8em;
|
||||
|
||||
& .user-face {
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
min-height: 32px;
|
||||
min-width: 34px;
|
||||
margin-right: 6px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
& .user-host {
|
||||
.user {
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.host {
|
||||
color: colors.$fg-disabled;
|
||||
font-size: 10px;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
& > box:not(.button-row) image {
|
||||
-gtk-icon-size: 12px;
|
||||
color: colors.$fg-disabled;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
& .uptime {
|
||||
font-size: 10.1px;
|
||||
font-family: "Symbols Nerd Font Mono";
|
||||
color: colors.$fg-disabled;
|
||||
}
|
||||
|
||||
& .button-row {
|
||||
& button {
|
||||
padding: 7px;
|
||||
margin: {
|
||||
top: 2px;
|
||||
bottom: 2px;
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& .sliders {
|
||||
icon {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 4px;
|
||||
border-radius: 16px;
|
||||
|
||||
icon {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: rgba(colors.$fg-primary, .2);
|
||||
}
|
||||
}
|
||||
|
||||
& .page .content {
|
||||
& label.name {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
& trough {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
& label.sub-header {
|
||||
margin-top: 6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& #page {
|
||||
transition: 120ms linear;
|
||||
background: colors.$bg-secondary;
|
||||
padding: 14px;
|
||||
border-radius: 24px;
|
||||
|
||||
& .header {
|
||||
margin-bottom: 12px;
|
||||
|
||||
& .top .title {
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
& .description {
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: colors.$fg-disabled;
|
||||
}
|
||||
}
|
||||
|
||||
& .sub-header {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
& .page-button, .extra-buttons {
|
||||
& button {
|
||||
padding: 6px;
|
||||
border-radius: 12px;
|
||||
|
||||
&.selected {
|
||||
background: colors.$bg-tertiary;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: rgba(colors.$fg-primary, .1);
|
||||
}
|
||||
|
||||
&:active {
|
||||
border-radius: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
& label.title {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
& label.description {
|
||||
font-size: 10px;
|
||||
font-weight: 400;
|
||||
color: colors.$fg-disabled;
|
||||
}
|
||||
|
||||
& icon {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
& .bottom-buttons button {
|
||||
& label.title {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
& label.description {
|
||||
font-size: 10px;
|
||||
margin-top: -1px;
|
||||
font-weight: 400;
|
||||
color: colors.$fg-disabled;
|
||||
}
|
||||
}
|
||||
|
||||
& .extra-buttons {
|
||||
margin-left: 2px;
|
||||
|
||||
button {
|
||||
border-radius: 10px;
|
||||
|
||||
&:active {
|
||||
border-radius: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tiles-container {
|
||||
@include mixins.reset-props;
|
||||
|
||||
& .tile {
|
||||
$radius: 18px;
|
||||
$padding: 4px;
|
||||
|
||||
background: color.scale($color: colors.$bg-primary, $lightness: -25%);
|
||||
border-radius: $radius;
|
||||
padding: $padding;
|
||||
min-height: 40px;
|
||||
|
||||
& .icon {
|
||||
transition: 120ms ease-in;
|
||||
border-radius: calc($radius - $padding);
|
||||
padding: 8px 12px;
|
||||
margin-right: 6px;
|
||||
background: color.scale($color: colors.$bg-primary, $lightness: 10%);
|
||||
|
||||
& image {
|
||||
-gtk-icon-size: 18px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: color.scale($color: colors.$bg-primary, $lightness: 15%);
|
||||
}
|
||||
|
||||
&:active {
|
||||
border-radius: calc($radius - $padding - 2px);
|
||||
}
|
||||
}
|
||||
|
||||
& .content {
|
||||
& .title {
|
||||
font-weight: 600;
|
||||
font-size: 15.1px;
|
||||
}
|
||||
|
||||
& .description {
|
||||
font-size: 12px;
|
||||
color: colors.$fg-disabled;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
|
||||
& .arrow {
|
||||
-gtk-icon-size: 12px;
|
||||
color: rgba(colors.$fg-disabled, .4);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: color.scale($color: colors.$bg-primary, $lightness: 5%);
|
||||
}
|
||||
|
||||
&.enabled .icon {
|
||||
background: colors.$bg-secondary;
|
||||
|
||||
&:hover {
|
||||
background: colors.$bg-tertiary;
|
||||
}
|
||||
}
|
||||
|
||||
&:active {
|
||||
border-radius: calc($radius - 2px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tile-pages #page {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
box.notif-history {
|
||||
background: colors.$bg-translucent;
|
||||
border-radius: 24px;
|
||||
padding: 18px;
|
||||
transition: 120ms linear;
|
||||
|
||||
&.hide {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
& .notifications {
|
||||
& .notification {
|
||||
background: colors.$bg-translucent-primary;
|
||||
padding: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
& .button-row {
|
||||
margin-top: 12px;
|
||||
|
||||
& button {
|
||||
@include mixins.button-reactive-secondary;
|
||||
padding: 7px;
|
||||
|
||||
& label {
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
18
home/ags-config/resources/styles/_float-notifications.scss
Normal file
18
home/ags-config/resources/styles/_float-notifications.scss
Normal file
@@ -0,0 +1,18 @@
|
||||
@use "./colors";
|
||||
@use "./mixins";
|
||||
|
||||
.floating-notifications-container {
|
||||
padding: 16px;
|
||||
|
||||
& .float-notification {
|
||||
$radius: 18px;
|
||||
|
||||
box-shadow: 0 0 8px 1px colors.$bg-translucent;
|
||||
border-radius: $radius;
|
||||
|
||||
& .notification {
|
||||
padding: 4px;
|
||||
border-radius: $radius;
|
||||
}
|
||||
}
|
||||
}
|
||||
52
home/ags-config/resources/styles/_logout-menu.scss
Normal file
52
home/ags-config/resources/styles/_logout-menu.scss
Normal file
@@ -0,0 +1,52 @@
|
||||
@use "./colors";
|
||||
|
||||
.logout-menu-container {
|
||||
background: rgba($color: colors.$bg-translucent-primary, $alpha: .4);
|
||||
|
||||
.top {
|
||||
.time {
|
||||
font-size: 128px;
|
||||
font-weight: 900;
|
||||
color: colors.$fg-primary;
|
||||
text-shadow: 1px 1px 2px colors.$bg-translucent;
|
||||
}
|
||||
.date {
|
||||
font-size: 24px;
|
||||
font-weight: 500;
|
||||
text-shadow: 1px 1px 2px colors.$bg-translucent;
|
||||
}
|
||||
}
|
||||
.button-row {
|
||||
$radius: 32px;
|
||||
|
||||
all: unset;
|
||||
margin: 0 150px;
|
||||
|
||||
& > button {
|
||||
& image {
|
||||
-gtk-icon-size: 128px;
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
box-shadow: inset 0 0 0 5px colors.$fg-primary;
|
||||
}
|
||||
|
||||
&:active {
|
||||
border-radius: calc($radius - 6px);
|
||||
}
|
||||
|
||||
margin: 0 4px;
|
||||
border-radius: 6px;
|
||||
|
||||
&:first-child:not(:active) {
|
||||
border-top-left-radius: $radius;
|
||||
border-bottom-left-radius: $radius;
|
||||
}
|
||||
|
||||
&:last-child:not(:active) {
|
||||
border-top-right-radius: $radius;
|
||||
border-bottom-right-radius: $radius;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
41
home/ags-config/resources/styles/_mixins.scss
Normal file
41
home/ags-config/resources/styles/_mixins.scss
Normal file
@@ -0,0 +1,41 @@
|
||||
@use "sass:color";
|
||||
@use "./colors";
|
||||
|
||||
@mixin reset-props {
|
||||
all: unset;
|
||||
transition: 120ms linear;
|
||||
font-family: "Adwaita Sans", "Cantarell", "Noto Sans",
|
||||
"Noto Sans CJK JP", "Noto Sans CJK KR",
|
||||
"Noto Sans CJK HK", "Noto Sans CJK SC",
|
||||
"Noto Sans CJK TC", sans-serif,
|
||||
"Symbols Nerd Font Mono";
|
||||
color: colors.$fg-primary;
|
||||
}
|
||||
|
||||
@mixin button-reactive-primary {
|
||||
background: colors.$bg-primary;
|
||||
border-radius: 14px;
|
||||
padding: 6px;
|
||||
|
||||
&:hover {
|
||||
background: colors.$bg-secondary;
|
||||
}
|
||||
|
||||
&:active {
|
||||
border-radius: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin button-reactive-secondary {
|
||||
background: colors.$bg-secondary;
|
||||
border-radius: 12px;
|
||||
padding: 6px;
|
||||
|
||||
&:hover {
|
||||
background: colors.$bg-tertiary;
|
||||
}
|
||||
|
||||
&:active {
|
||||
border-radius: 9px;
|
||||
}
|
||||
}
|
||||
34
home/ags-config/resources/styles/_osd.scss
Normal file
34
home/ags-config/resources/styles/_osd.scss
Normal file
@@ -0,0 +1,34 @@
|
||||
@use "sass:color";
|
||||
@use "colors";
|
||||
|
||||
.osd {
|
||||
background: rgba(colors.$bg-translucent-secondary, .6);
|
||||
padding: 14px 14px;
|
||||
border-radius: 24px;
|
||||
min-width: 180px;
|
||||
|
||||
.icon {
|
||||
margin-right: 10px;
|
||||
-gtk-icon-size: 24px;
|
||||
}
|
||||
|
||||
.level {
|
||||
margin-top: -6px;
|
||||
|
||||
.text {
|
||||
margin-bottom: 4px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
levelbar trough block {
|
||||
border-radius: 4px;
|
||||
background: colors.$bg-primary;
|
||||
|
||||
&.filled {
|
||||
min-height: 10px;
|
||||
background: colors.$bg-secondary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
73
home/ags-config/resources/styles/_runner.scss
Normal file
73
home/ags-config/resources/styles/_runner.scss
Normal file
@@ -0,0 +1,73 @@
|
||||
@use "./colors";
|
||||
|
||||
.runner .popup-window-container {
|
||||
all: unset;
|
||||
|
||||
$radius: 24px;
|
||||
|
||||
background: rgba($color: colors.$bg-primary, $alpha: .8);
|
||||
border-radius: $radius;
|
||||
box-shadow: inset 0 0 0 1px colors.$bg-secondary,
|
||||
0 0 8px 1px colors.$bg-translucent;
|
||||
|
||||
padding: 4px;
|
||||
|
||||
& entry {
|
||||
transition: 80ms ease-in;
|
||||
min-height: 1.6em;
|
||||
padding: 14px;
|
||||
border-radius: inherit;
|
||||
background: none;
|
||||
|
||||
&:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
& image {
|
||||
margin-right: 6px;
|
||||
-gtk-icon-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
& scrolledwindow {
|
||||
margin: 6px;
|
||||
}
|
||||
|
||||
& list {
|
||||
& .result {
|
||||
padding: 10px;
|
||||
background: colors.$bg-primary;
|
||||
margin: 2px 0;
|
||||
border-radius: 14px;
|
||||
|
||||
& image {
|
||||
-gtk-icon-size: 28px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
& .title {
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
& .description {
|
||||
font-size: 12px;
|
||||
color: colors.$fg-disabled;
|
||||
}
|
||||
}
|
||||
|
||||
& > *:selected .result,
|
||||
& > *:active .result,
|
||||
& > *:hover .result {
|
||||
background: colors.$bg-secondary;
|
||||
}
|
||||
|
||||
& > *:first-child {
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
314
home/ags-config/resources/styles/main.scss
Normal file
314
home/ags-config/resources/styles/main.scss
Normal file
@@ -0,0 +1,314 @@
|
||||
@use "sass:color";
|
||||
|
||||
@use "./style/wal";
|
||||
@use "./style/mixins";
|
||||
@use "./style/functions";
|
||||
@use "./style/colors";
|
||||
|
||||
@use "./style/bar";
|
||||
@use "./style/osd";
|
||||
@use "./style/control-center";
|
||||
@use "./style/center-window";
|
||||
@use "./style/float-notifications";
|
||||
@use "./style/logout-menu";
|
||||
@use "./style/apps-window";
|
||||
@use "./style/runner";
|
||||
|
||||
|
||||
* {
|
||||
@include mixins.reset-props;
|
||||
}
|
||||
|
||||
entry {
|
||||
background: colors.$bg-primary;
|
||||
padding: 10px 9px;
|
||||
border-radius: 12px;
|
||||
|
||||
&:focus {
|
||||
box-shadow: inset 0 0 0 2px colors.$bg-secondary;
|
||||
}
|
||||
|
||||
& image.left {
|
||||
margin-right: 6px;
|
||||
}
|
||||
}
|
||||
|
||||
.custom-dialog-container {
|
||||
background: colors.$bg-translucent;
|
||||
padding: 18px;
|
||||
border-radius: 24px;
|
||||
|
||||
& .title {
|
||||
font-size: 21px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
& .text {
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
& .options {
|
||||
& button {
|
||||
@include mixins.button-reactive-primary;
|
||||
background: colors.$bg-primary;
|
||||
border-radius: 12px;
|
||||
padding: 9px 6px;
|
||||
|
||||
& label {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
margin: {
|
||||
left: 4px;
|
||||
right: 4px;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
&.entry-popup-box entry {
|
||||
margin-bottom: 10px;
|
||||
|
||||
&.password {
|
||||
font-size: 14px;
|
||||
font-family: "Adwaita Mono", "Cantarell Mono", "Noto Sans Mono", monospace;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.notification {
|
||||
background: colors.$bg-translucent-secondary;
|
||||
border-radius: 16px;
|
||||
|
||||
& > .top {
|
||||
padding: 8px;
|
||||
padding-bottom: 0;
|
||||
|
||||
& .app-icon {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
& .app-name {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
|
||||
& label.time {
|
||||
font-size: 11px;
|
||||
font-weight: 500;
|
||||
color: colors.$fg-disabled;
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
& button.close {
|
||||
padding: 2px;
|
||||
border-radius: 8px;
|
||||
|
||||
&:hover {
|
||||
background: colors.$bg-secondary;
|
||||
}
|
||||
}
|
||||
|
||||
& icon.close {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
& .content {
|
||||
padding: 6px;
|
||||
padding-top: 0;
|
||||
|
||||
& .image {
|
||||
$size: 78px;
|
||||
min-width: $size;
|
||||
min-height: $size;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
margin: 6px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
& .summary {
|
||||
font-size: 17.3px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
& .body {
|
||||
font-size: 14.5px;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
|
||||
& .actions {
|
||||
padding: 6px;
|
||||
|
||||
& button.action {
|
||||
border-radius: 4px;
|
||||
background: colors.$bg-secondary;
|
||||
padding: 6px;
|
||||
|
||||
& label {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: colors.$bg-tertiary;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
border-top-left-radius: 12px;
|
||||
border-bottom-left-radius: 12px;
|
||||
}
|
||||
&:last-child {
|
||||
border-top-right-radius: 12px;
|
||||
border-bottom-right-radius: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tooltip > box {
|
||||
padding: 7px 8px;
|
||||
margin: 12px;
|
||||
margin-top: 0;
|
||||
border-radius: 12px;
|
||||
background: rgba(colors.$bg-primary, .98);
|
||||
box-shadow: 0 5px 6px 1px colors.$bg-translucent-primary;
|
||||
|
||||
& label {
|
||||
font-size: 13.1px;
|
||||
font-weight: 500;
|
||||
color: colors.$fg-primary;
|
||||
}
|
||||
}
|
||||
|
||||
popover.menu contents {
|
||||
background: wal.$background;
|
||||
border-radius: 14px;
|
||||
padding: 4px;
|
||||
|
||||
& viewport > stack > * > * > * {
|
||||
& > separator {
|
||||
min-height: .5px;
|
||||
margin: 3px 2px;
|
||||
background: rgba(colors.$fg-disabled, .1);
|
||||
}
|
||||
|
||||
& > *:not(separator) > * {
|
||||
padding: 6px;
|
||||
border-radius: 10px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
|
||||
&:hover, &:focus {
|
||||
background: wal.$color1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.button-row {
|
||||
& > button {
|
||||
$active-radius: 8px;
|
||||
$corner-radius: calc($active-radius + 2px);
|
||||
|
||||
background: colors.$bg-secondary;
|
||||
margin: 0 1px;
|
||||
padding: 4px 6px;
|
||||
border-radius: 2px;
|
||||
transition: 120ms linear;
|
||||
|
||||
&:hover {
|
||||
background: colors.$bg-tertiary;
|
||||
}
|
||||
|
||||
&:active {
|
||||
border-radius: $active-radius;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
margin-left: 0;
|
||||
|
||||
&:not(:active) {
|
||||
border-top-left-radius: $corner-radius;
|
||||
border-bottom-left-radius: $corner-radius;
|
||||
}
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
|
||||
&:not(:active) {
|
||||
border-top-right-radius: $corner-radius;
|
||||
border-bottom-right-radius: $corner-radius;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
selection {
|
||||
background: colors.$bg-tertiary;
|
||||
}
|
||||
|
||||
trough {
|
||||
background: color.adjust($color: colors.$bg-primary, $lightness: -5%);
|
||||
border-radius: 8px;
|
||||
margin: 2px 0;
|
||||
}
|
||||
|
||||
trough highlight {
|
||||
background: wal.$color1;
|
||||
min-height: .9em;
|
||||
}
|
||||
|
||||
trough slider {
|
||||
border-radius: 50%;
|
||||
margin: -4px 0;
|
||||
background: wal.$foreground;
|
||||
min-width: 1.2em;
|
||||
min-height: 1.2em;
|
||||
}
|
||||
|
||||
scrollbar trough {
|
||||
@include mixins.reset-props;
|
||||
|
||||
background: colors.$bg-translucent;
|
||||
border-radius: 8px;
|
||||
|
||||
& slider {
|
||||
@include mixins.reset-props;
|
||||
|
||||
min-width: .45em;
|
||||
background: colors.$bg-tertiary;
|
||||
border-radius: 12px;
|
||||
|
||||
&:hover, &:active, &:focus {
|
||||
margin: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover, &:active, &:focus {
|
||||
padding: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
scale {
|
||||
& marks mark {
|
||||
& indicator {
|
||||
color: colors.$fg-disabled;
|
||||
min-width: 1px;
|
||||
min-height: 6px;
|
||||
}
|
||||
|
||||
& label {
|
||||
font-size: 11px;
|
||||
font-weight: 400;
|
||||
color: colors.$fg-disabled;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user