diff --git a/src/styles/colors.css b/src/styles/colors.css new file mode 100644 index 0000000..dbf8860 --- /dev/null +++ b/src/styles/colors.css @@ -0,0 +1,32 @@ +:vars { + --foreground: #dee3e6; + --background: #0f1416; + --cursor: #dee3e6; + --primary: #88d1ec; + --on-primary: #003544; + --secondary: #b3cad4; + --on-secondary: #1e333b; + --tertiary: #c3c3eb; + --on-tertiary: #2c2e4d; + --surface: #0f1416; + --surface-bright: #353a3d; + --error: #ffb4ab; + --error-dim: #000000; + --on-error: #690005; + --error-container: #93000a; + --outline: #8a9296; + --shadow: #000000; + --red: #ffb2b9; + --red-dim: #000000; + --green: #95d5a7; + --green-dim: #000000; + --yellow: #b8cf84; + --yellow-dim: #000000; + --blue: #afc6ff; + --blue-dim: #000000; + --magenta: #e4b7f3; + --magenta-dim: #000000; + --cyan: #82d3e1; + --cyan-dim: #000000; + --white: #82d3e0; +} diff --git a/src/styles/constant.css b/src/styles/constant.css index 850d3d7..4dd4c42 100644 --- a/src/styles/constant.css +++ b/src/styles/constant.css @@ -1,31 +1,73 @@ -@define-color bg alpha(#fff, 0.07); -@define-color hover alpha(#fff, 0.1); -@define-color border var(--outline); -@define-color active alpha(#fff, 0.9); -@define-color urgent alpha(var(--on-error), 0.7); - -/* New common colors */ -@define-color accent #007aff; -@define-color accent-hover #0056cc; -@define-color bg-lighter alpha(#fff, 0.12); -@define-color bg-darker alpha(#000, 0.08); -@define-color text-main #ffffff; -@define-color text-secondary alpha(#fff, 0.6); -@define-color text-dim #999; -@define-color shadow-color alpha(#000, 0.3); - -/* Border and Shadow specific */ -@define-color border-subtle alpha(#111, 0.3); -@define-color border-strong alpha(#111, 0.4); -@define-color inner-shadow alpha(#000, 0.3); - -/* Constants */ -/* :vars replaced by defines */ @define radius-xs 4px; @define radius-sm 8px; @define radius-md 12px; @define radius-lg 16px; @define radius-xl 20px; @define radius-full 999px; +@define radius-2xs 2px; +@define transition-xfast 0.1s; @define transition-fast 0.15s; +@define transition-medium 0.2s; +@define transition-slower 0.25s; @define transition-slow 0.3s; +@define font-2xs 10px; +@define font-xs 11px; +@define font-sm 12px; +@define font-md 13px; +@define font-base 14px; +@define font-lg 16px; + +@define-color bg-hover alpha(@foreground, 0.1); +@define-color bg-active alpha(@foreground, 0.2); +@define-color border-subtle alpha(@outline, 0.3); +@define-color border-strong alpha(@outline, 0.4); +@define-color shadow-main alpha(@shadow, 0.3); +@define-color text-dim alpha(@foreground, 0.6); +@define-color text-muted alpha(@foreground, 0.4); + +@define-color bg-a07 alpha(@background, 0.07); +@define-color bg-a50 alpha(@background, 0.5); +@define-color bg-a08 alpha(@background, 0.08); +@define-color bg-a70 alpha(@background, 0.7); +@define-color bg-a75 alpha(@background, 0.75); +@define-color bg-a80 alpha(@background, 0.8); +@define-color bg-a85 alpha(@background, 0.85); +@define-color bg-a90 alpha(@background, 0.9); +@define-color bg-a95 alpha(@background, 0.95); +@define-color error-a20 alpha(@error, 0.2); +@define-color error-a40 alpha(@error, 0.4); +@define-color error-a70 alpha(@error, 0.7); +@define-color fg-a03 alpha(@foreground, 0.03); +@define-color fg-a05 alpha(@foreground, 0.05); +@define-color fg-a06 alpha(@foreground, 0.06); +@define-color fg-a08 alpha(@foreground, 0.08); +@define-color fg-a09 alpha(@foreground, 0.09); +@define-color fg-a12 alpha(@foreground, 0.12); +@define-color fg-a15 alpha(@foreground, 0.15); +@define-color fg-a18 alpha(@foreground, 0.18); +@define-color fg-a25 alpha(@foreground, 0.25); +@define-color fg-a30 alpha(@foreground, 0.3); +@define-color fg-a50 alpha(@foreground, 0.5); +@define-color fg-a70 alpha(@foreground, 0.7); +@define-color fg-a80 alpha(@foreground, 0.8); +@define-color fg-a85 alpha(@foreground, 0.85); +@define-color fg-a90 alpha(@foreground, 0.9); +@define-color fg-a95 alpha(@foreground, 0.95); +@define-color outline-a40 alpha(@outline, 0.4); +@define-color outline-a70 alpha(@outline, 0.7); +@define-color primary-a20 alpha(@primary, 0.2); +@define-color primary-a30 alpha(@primary, 0.3); +@define-color primary-a40 alpha(@primary, 0.4); +@define-color primary-a50 alpha(@primary, 0.5); +@define-color primary-a60 alpha(@primary, 0.6); +@define-color primary-a80 alpha(@primary, 0.8); +@define-color primary-a90 alpha(@primary, 0.9); +@define-color shadow-a02 alpha(@shadow, 0.02); +@define-color shadow-a05 alpha(@shadow, 0.05); +@define-color shadow-a10 alpha(@shadow, 0.1); +@define-color shadow-a20 alpha(@shadow, 0.2); +@define-color shadow-a25 alpha(@shadow, 0.25); +@define-color shadow-a40 alpha(@shadow, 0.4); +@define-color surface-a05 alpha(@surface, 0.05); +@define-color surface-a90 alpha(@surface, 0.9); +@define-color surface-bright-a90 alpha(@surface-bright, 0.9); diff --git a/src/styles/controlcenter.css b/src/styles/controlcenter.css deleted file mode 100644 index d229886..0000000 --- a/src/styles/controlcenter.css +++ /dev/null @@ -1,889 +0,0 @@ -.title { - font-size: 16px; - font-family: "SF Pro Rounded"; - font-weight: bold; - margin-bottom:10px; -} - -#control-center-menu { - background-color: transparent; - border-radius: apply(radius-md); - box-shadow: none; - margin: 0; -} - -#separator { - min-height: 0.09rem; - margin: 3px 0; - background-color: alpha(@text-main, 0.2); - border-radius: apply(radius-sm); -} - -/* #bluetooth-control-window { */ -/* #wifi-control-window, */ -#battery-control-window { - margin: 6px; - /* background-color: alpha(@text-main, 0.09); */ - border: 1px solid @border-subtle; - box-shadow: inset 0 0 200px 0 @border-subtle; - border-radius: apply(radius-md); -} - -#bluetooth-title, -#wifi-title { - font-size: 16px; - font-weight: bold; -} - -#control-center-widgets { - background-color: alpha(#010101, 0.01); - box-shadow: inset 0 0 0 1px alpha(@text-dim, 0.4); - /* border: 1px solid @border-strong; */ - border-radius: apply(radius-md); - padding: 0.5rem; -} - -#focus-widget {} - -#wb-widget, -#brightness-menu { - background-color: @bg-darker; - box-shadow: inset 0 0 0 0.5px alpha(@text-dim, 0.4); - border: 1px solid @border-strong; - border-radius: apply(radius-md); -} - -/* Widgets */ -#wifi-widget, -#bluetooth-widget, -#nightlight-widget { - min-width: 140px; - padding: 5px 0 0px 0; -} - -.icon { - background-color: #2369ff; - font-size: 15px; - padding: 20px 20px; -} - -#bluetooth-widget-label, -#wifi-widget-label, -#nightlight-widget-label { - font-size: 12px; - margin-left: 5px; - font-weight: 500; - color: @text-dim; -} - -/* WiFi Password Dialog */ -#wifi-password-dialog { - background-color: transparent; -} - -#wifi-dialog-background { - background-color: alpha(@text-main, 0.05); - border-radius: apply(radius-md); - border: 1px solid rgba(255, 255, 255, 0.1); - padding: 20px; - min-width: 450px; -} - -#wifi-dialog-title-container { - /* margin-bottom: 12px; */ -} - -#wifi-dialog-icon { - color: @accent; - margin-right: 4px; -} - -#wifi-dialog-title { - color: @text-main; - font-size: 14px; - font-weight: 500; -} - -#wifi-dialog-error { - color: #ff4444; - font-size: 12px; - font-weight: 500; - /* margin-bottom: 8px; */ -} - -#wifi-dialog-password-container { - margin: 5px 0; -} - -#wifi-dialog-password-label { - color: @text-main; - font-size: 13px; - font-weight: 500; - margin-bottom: 4px; -} - -#wifi-dialog-password-entry { - background-color: rgba(255, 255, 255, 0.1); - border: 1px solid rgba(255, 255, 255, 0.2); - border-radius: apply(radius-xs); - padding: 8px 12px; - color: @text-main; - font-size: 13px; -} - -#wifi-dialog-password-entry:focus { - border-color: @accent; - box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.3); - background-color: rgba(255, 255, 255, 0.15); -} - -#wifi-dialog-show-password-box { - margin-top: 4px; -} - -#wifi-dialog-show-password-button { - background-color: transparent; - border: none; - padding: 4px; - border-radius: apply(radius-xs); - min-width: 24px; - min-height: 24px; -} - -#wifi-dialog-show-password-button:hover { - background-color: @hover; -} - -#wifi-dialog-show-password-button image { - color: @text-main; -} - -#wifi-dialog-show-password-label { - color: @text-main; - font-size: 12px; -} - -#wifi-dialog-button-box { - margin-top: -15px; -} - -#wifi-dialog-cancel-button, -#wifi-dialog-join-button { - border-radius: apply(radius-xs); - font-size: 13px; - font-weight: 500; - min-width: 80px; - min-height: 30px; -} - -#wifi-dialog-cancel-button { - background-color: rgba(255, 255, 255, 0.1); - border: 1px solid rgba(255, 255, 255, 0.2); - color: @text-main; -} - -#wifi-dialog-cancel-button:hover { - background-color: rgba(255, 255, 255, 0.15); -} - -#wifi-dialog-join-button { - background-color: @accent; - border: 1px solid @accent; - color: @text-main; -} - -#wifi-dialog-join-button:hover { - background-color: @accent-hover; - border-color: @accent-hover; -} - -#wifi-dialog-join-button.disabled { - opacity: 0.5; - background-color: #555555; - border-color: #555555; - color: #aaaaaa; -} - -#wifi-dialog-join-button.disabled:hover { - background-color: #555555; - border-color: #555555; - color: #aaaaaa; -} - -#bluetooth-widget-title { - font-size: 12px; - font-weight: 500; - color: @text-main; -} - -/* #bluetooth-widget-top { */ -/* padding-bottom: 10px; */ -/* border-bottom: 1px solid alpha(#aaa, 0.3); */ -/* } */ - -#device-icon { - border-radius: apply(radius-full); - padding: 5px; - margin-bottom: 2.5px; - margin-top: 2.5px; - margin-right: 10px; - background-color: #555; -} - -#devices-title { - color: @text-secondary; -} - -#device-icon.paired { - background-color: #888; -} - -#device-icon.connected { - background-color: #2369ff; -} - -#toggle-button { - min-width: 40px; - min-height: 20px; - background-color: #bababa; - border-radius: apply(radius-md); - padding: 2px; - transition: background-color 0.3s ease; -} - -#toggle-button slider { - background-color: @text-main; - border-radius: apply(radius-full); - min-width: 16px; - min-height: 8px; - transition: background-color 0.1s cubic-bezier(0.5, 0.25, 0, 1.25); -} - -#toggle-button:checked { - background-color: #4487f6; -} - -/* #toggle-button:checked slider { */ -/* background-color: @text-main; */ -/* } */ -/**/ -/* #toggle-button:checked image { */ -/* opacity: 0; */ -/* } */ - -.menu { - background-color: @bg-darker; - box-shadow: inset 0 0 0 0.5px alpha(@text-dim, 0.4); - border: 1px solid @border-strong; - border-radius: apply(radius-md); - margin: 5px; - /* background-color: alpha(@text-dim, 0.1); */ - /* border: 0.5px solid alpha(#000, 0.4); */ - /* border-radius: apply(radius-sm); */ - padding: 1rem; -} - -.title { - padding: 0; - font-weight: 500; - font-size: 12px; -} - -#bluetooth-widget-name, -#wifi-widget-name, -#nightlight-widget-name { - margin-top: 6px; - font-size: 14px; - font-weight: bold; -} - -.ct { - margin-left: 5px; -} - -#vol-slider-box { - /* margin-bottom: 2px; */ - margin-top: -10px; - /* border: 1px solid alpha(@text-main, 1); */ -} - -#volume-widget-slider { - /* margin-bottom: 2px; */ -} - -#volume-widget-icon { - margin-left: 10px; - color: alpha(#000, 0.4); -} - -#brightness-widget-icon { - margin-left: 10px; - color: alpha(#000, 0.4); -} - - -#control-center-menu mark indicator { - background: none; - background-image: none; - color: alpha(@text-main, 0.2); -} - -#control-center-menu mark label { - background: none; - background-image: none; - color: alpha(@text-main, 0.2); -} - -/* Per-app volume control styles */ -#per-app-volume-control { - min-height: 140px; - min-width: 328px; - /* background-color: @shadow-color; */ - /* background-color: alpha(@text-dim, 0.1); */ - /* box-shadow: inset 0 0 200px 0 @border-subtle; */ - /* border: 0.5px solid alpha(#000, 0.4); */ - border-radius: apply(radius-sm); - padding: 1rem; - - /* padding: 1rem; */ -} - -#apps-scrolled-container { - min-height: 120px; - min-width: 120px; -} - -#back-button { - padding: 8px 12px; - background-color: @hover; - border-radius: apply(radius-sm); - border: none; - color: @text-main; - font-size: 13px; - font-weight: 500; - transition: background-color 0.2s ease; -} - -#back-button:hover { - background-color: alpha(@text-main, 0.18); -} - -/* Apple-style app volume items */ -.apple-app-volume-item { - margin: 3px 0; - padding: 16px; - background-color: alpha(@text-main, 0.08); - border-radius: apply(radius-md); - border: 1px solid alpha(@text-main, 0.12); - transition: background-color apply(transition-fast); -} - -.apple-app-volume-item:hover { - background-color: alpha(@text-main, 0.12); -} - -.apple-app-name { - font-size: 14px; - font-weight: 600; - color: @text-main; - margin-bottom: 4px; - letter-spacing: -0.01em; -} - -/* Legacy app volume styles (fallback) */ -.app-volume-item { - margin: 8px 0; - padding: 8px; - background-color: alpha(@text-main, 0.05); - border-radius: apply(radius-xs); - border: 1px solid alpha(@text-main, 0.1); -} - -.app-name { - font-size: 13px; - font-weight: 500; - color: @text-main; - margin-bottom: 5px; -} - -/* Circle button for per-app volume */ -#per-app-volume-button { - background-color: alpha(@text-main, 0.15); - border: 1px solid alpha(@text-dim, 0.6); - /* min-width: 33px; */ - /* min-height: 30px; */ - border-radius: apply(radius-full); -} - -#per-app-volume-button:hover { - background-color: alpha(@text-main, 0.25); - /* border-color: @accent; */ - box-shadow: 0 4px 12px alpha(#000, 0.2); -} - -#per-app-volume-button:active { - background-color: alpha(@text-main, 0.2); - box-shadow: 0 1px 3px alpha(#000, 0.3); -} - -#per-app-volume-icon { - background-color: alpha(@text-main, 0.15); - - border: 2px solid alpha(@text-dim, 0.6); - - border-radius: apply(radius-full); - - min-width: 30px; -} - -/* Apple-style seek bar for expanded player */ -#apple-seek-bar { - background-color: transparent; - margin-top: 8px; - margin-bottom: 4px; - min-height: 10px; -} - -#apple-seek-bar trough { - min-width: 28px; - min-height: 3px; - border-radius: 1.5px; - background-color: alpha(@text-main, 0.3); - border: none; - box-shadow: inset 0 1px 1px alpha(#000, 0.1); -} - -#apple-seek-bar highlight { - background: @accent; - border-radius: 1.5px; - border: none; - box-shadow: 0 0 2px alpha(@accent, 0.4); -} - -#apple-seek-bar slider { - background: #ffffff; - border: 1px solid alpha(@accent, 0.8); - border-radius: apply(radius-full); - min-width: 12px; - min-height: 12px; - margin: -4.5px; - box-shadow: - 0 1px 3px alpha(#000, 0.2), - 0 0 0 1px alpha(@text-main, 0.8); - transition: all 0.1s ease; -} - -#apple-seek-bar slider:hover { - background: @text-main; - border-color: @accent; - min-width: 14px; - min-height: 14px; - margin: -5.5px; - box-shadow: - 0 2px 6px alpha(#000, 0.25), - 0 0 0 2px alpha(@accent, 0.3); -} - -#apple-seek-bar slider:active { - background: #f8f9fa; - min-width: 13px; - min-height: 13px; - margin: -5px; - box-shadow: - 0 1px 3px alpha(#000, 0.3), - 0 0 0 2px alpha(@accent, 0.5); -} - -/* macOS-style expanded player - more compact */ -#macos-outer-player-box { - min-height: 80px; - /* Reduced height */ - min-width: 345px; - /* Match the standard player width */ - /* margin: 10px; */ - padding: 10px; - /* background-color: alpha(#000, 0.4); */ -} - -#macos-main-section { - margin-left: 5px; -} - -#macos-album-cover-image image { - min-width: 70px; - min-height: 70px; - border-radius: 9px; -} - -#macos-album-image { - min-width: 70px; - min-height: 70px; - border-radius: 9px; - background-position: center; - background-size: cover; - box-shadow: 0 2px 8px alpha(#000, 0.3); -} - -#macos-album-image-no { - min-width: 90px; - min-height: 90px; - border-radius: 9px; - margin-left: 12px; - background-position: center; - background-size: cover; - box-shadow: 0 2px 8px alpha(#000, 0.3); -} - -#macos-album-image image { - min-width: 70px; - min-height: 70px; - border-radius: 9px; - box-shadow: 0 2px 8px alpha(#000, 0.3); -} - -/* Track info container that expands to fill available space */ -#macos-track-info { - margin-top: 5px; - margin-left: 15px; - margin-right: 15px; -} - -#macos-player-title { - font-weight: 600; - font-size: 16px; - color: @text-main; - margin-bottom: 2px; -} - -#macos-player-artist { - font-weight: 400; - margin-top: -2px; - font-size: 13px; - color: alpha(@text-dim, 0.8); -} - -#macos-player-album { - font-weight: 400; - margin-top: -4px; - font-size: 13px; - color: alpha(@text-dim, 0.8); - margin-bottom: 8px; -} - -/* macOS seek bar styling */ -#macos-seek-bar { - background-color: transparent; - margin: 8px 0 4px 0; - min-height: 10px; -} - -#macos-seek-bar trough { - min-width: 200px; - - min-height: 2px; - border-radius: 2px; - background-color: alpha(@text-main, 0.25); - border: none; -} - -#macos-seek-bar highlight { - background: @text-main; - border-radius: 2px; - border: none; -} - -#macos-seek-bar slider { - background: #ffffff; - border: none; - border-radius: 20%; - min-width: 1px; - min-height: 8px; - margin: -3px; - box-shadow: 0 1px 3px alpha(#000, 0.3); - transition: all 0.1s ease; -} - -#macos-seek-bar slider:hover { - min-width: 4px; - min-height: 14px; - margin: -5px; - box-shadow: 0 2px 6px alpha(#000, 0.4); -} - -#macos-position-label, -#macos-length-label { - font-size: 11px; - color: alpha(@text-dim, 0.9); - font-weight: 400; -} - -/* macOS control buttons - more compact */ -#macos-button-box { - margin-top: -1px; - /* Reduced top margin */ -} - -#macos-control-button { - background: transparent; - border: none; - border-radius: apply(radius-full); - min-width: 28px; - /* Slightly smaller */ - opacity: 0.7; - min-height: 28px; - padding: 5px; - /* Reduced padding */ - color: @text-main; - transition: all apply(transition-fast) ease; -} - -#macos-control-button:hover { - opacity: 1; -} - -#macos-play-button { - background: transparent; - border: none; - border-radius: apply(radius-full); - min-width: 36px; - /* Slightly smaller */ - opacity: 0.7; - min-height: 36px; - padding: 7px; - /* Reduced padding */ - color: @text-main; - transition: all apply(transition-fast) ease; -} - -#macos-play-button:hover { - opacity: 1; -} - -/* macOS player switcher dots - compact horizontal layout */ -#macos-stack-buttons-box { - margin: 2px 5px; - /* Minimal margins */ -} - -.macos-switcher-dot { - background: alpha(@text-main, 0.3); - /* border: none; */ - border-radius: apply(radius-full); - min-width: 12px; - /* Smaller dots */ - min-height: 12px; - margin: 2px; - /* Reduced margins */ - /* transition: all 0.2s ease; */ -} - -.macos-switcher-dot:hover { - background: alpha(@text-main, 0.5); -} - -.macos-switcher-dot.active { - background: @text-main; - box-shadow: 0 0 0 1px alpha(@text-main, 0.3); - /* Smaller glow */ -} - -/* Per app-volume-item */ - -.compact-app-volume-item { - padding-bottom: 5px; - padding-right: 14px; - border-bottom: 1px solid @hover; -} - -#app-icon { - margin-top: 8px; -} - -.app-name-compact { - font-size: 14px; - font-weight: bold; - margin-top: 8px; -} - -#compact-app-volume-slider scale { - margin-right: 8px; - padding-right: 8px; -} - -#expanded-seek-bar { - background-color: transparent; - margin: 8px 0 4px 0; - min-height: 10px; -} - -#expanded-seek-bar trough { - min-width: 200px; - - min-height: 2px; - border-radius: 2px; - background-color: alpha(@text-main, 0.25); - border: none; -} - -#expanded-seek-bar highlight { - background: #ffffff; - border-radius: 2px; - border: none; -} - -#expanded-seek-bar slider { - background: #ffffff; - border: none; - border-radius: 20%; - min-width: 1px; - min-height: 10px; - margin: -3px; - box-shadow: 0 1px 3px alpha(#000, 0.3); - transition: all 0.1s ease; -} - -#expanded-seek-bar slider:hover { - min-width: 4px; - min-height: 14px; - margin: -5px; - box-shadow: 0 2px 6px alpha(#000, 0.4); -} - -/* macOS-style WiFi interface */ -#wifi-connections, -#bluetooth-connections { - /* background-color: rgba(255, 255, 255, 0.08); */ - background-color: alpha(@text-main, 0.05); - box-shadow: inset 0 0 0 1px alpha(@text-dim, 0.4); - border: 1px solid @border-strong; - border-radius: apply(radius-sm); - /* padding: 0.5rem; */ - /* border-radius: apply(radius-md); */ - padding: 10px; -} - -/* WiFi network slots - macOS style */ -#wifi-network-slot button { - border-radius: apply(radius-sm); - padding: 4px 4px; - /* min-width: 280px; */ - margin: 2px 0; -} - -#wifi-network-slot button:hover { - background-color: rgba(255, 255, 255, 0.1); -} - -/* WiFi-specific device icon styles */ -#wifi-connections #device-icon { - background-color: rgba(255, 255, 255, 0.1); -} - -#wifi-connections #device-icon.connected { - background-color: @accent; - color: @text-main; -} - -#wifi-network-name { - color: @text-main; - font-size: 14px; - font-weight: 500; -} - -#wifi-lock-icon { - color: rgba(255, 255, 255, 0.6); - margin-left: 8px; -} - -/* Other Networks and Settings buttons */ -#wifi-other-button { - background: transparent; - border: none; - padding: 8px 6px; - margin-bottom: -12px; - margin-top: -6px; - border-radius: apply(radius-sm); - /* transition: background-color 0.2s ease; */ -} - -#wifi-other-button:hover { - background-color: rgba(255, 255, 255, 0.1); -} - -#wifi-other-button:last-child { - margin-bottom: 3px; -} - -#device-button { - /* background-color: #000; */ - border-radius: apply(radius-sm); -} - -.device-slot:hover { - background-color: rgba(255, 255, 255, 0.05); -} - -.button-hovered { - background-color: rgba(255, 255, 255, 0.1); -} - -#wifi-other-device label, -#wifi-other-button label { - font-size: 12px; - font-weight: bold; -} - -#app-volume-header { - font-size: 16px; - padding-left: 5px; - margin-top: -2px; - font-weight: bold; - color: @text-main; -} - -.wifi-icon-box { - background-color: #aaaaaa; - border-radius: apply(radius-full); - padding: 2px; - /* margin-right: 8px; */ -} - -.wifi-icon-box-connected { - background-color: @accent; - border-radius: apply(radius-full); - padding: 2px; - /* margin-right: 8px; */ -} - -/* #flight-icon { */ -/* margin-left: -10px; */ -/* } */ - -.title-widget { - /* margin-top: -14px; */ - /* margin-left: 5px; */ - font-size: 13px; - font-family: "SF Pro Rounded"; - font-weight: bold; -} - -.status-label { - font-size: 11px; - font-weight: 500; - color: #aaa; - /* margin-top: -28px; */ - /* margin-left: 5px; */ - font-family: "SF Pro Rounded"; - /* font-weight: bold; */ - /* margin-bottom: 2px; */ -} - -#app-control-box { - min-width: 100px; -} - -#caffeine-widget, -#flight-widget { - padding: 0px 0 5px 0; - min-width: 50px; -} diff --git a/src/styles/password-dialog.css b/src/styles/controlpanel/dialogs.css similarity index 57% rename from src/styles/password-dialog.css rename to src/styles/controlpanel/dialogs.css index c74ad74..738cb6f 100644 --- a/src/styles/password-dialog.css +++ b/src/styles/controlpanel/dialogs.css @@ -2,10 +2,12 @@ background-color: transparent; } +/* WiFi Password Dialog */ + #wifi-dialog-background { - background-color: alpha(@text-main, 0.05); + background-color: @bg-a50; border-radius: apply(radius-md); - border: 1px solid rgba(255, 255, 255, 0.1); + border: 1px solid @fg-a10; padding: 20px; min-width: 450px; } @@ -15,19 +17,19 @@ } #wifi-dialog-icon { - color: @accent; + color: @primary; margin-right: 4px; } #wifi-dialog-title { - color: @text-main; - font-size: 14px; + color: @foreground; + font-size: apply(font-base); font-weight: 500; } #wifi-dialog-error { - color: #ff4444; - font-size: 12px; + color: @error; + font-size: apply(font-sm); font-weight: 500; /* margin-bottom: 8px; */ } @@ -37,25 +39,25 @@ } #wifi-dialog-password-label { - color: @text-main; - font-size: 13px; + color: @foreground; + font-size: apply(font-md); font-weight: 500; margin-bottom: 4px; } #wifi-dialog-password-entry { - background-color: rgba(255, 255, 255, 0.1); - border: 1px solid rgba(255, 255, 255, 0.2); + background-color: @fg-a10; + border: 1px solid @fg-a20; border-radius: apply(radius-xs); padding: 8px 12px; - color: @text-main; - font-size: 13px; + color: @foreground; + font-size: apply(font-md); } #wifi-dialog-password-entry:focus { - border-color: @accent; - box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.3); - background-color: rgba(255, 255, 255, 0.15); + border-color: @primary; + box-shadow: 0 0 0 2px @primary-a30; + background-color: @fg-a15; } #wifi-dialog-show-password-box { @@ -72,16 +74,16 @@ } #wifi-dialog-show-password-button:hover { - background-color: alpha(@text-main, 0.1); + background-color: @fg-a10; } #wifi-dialog-show-password-button image { - color: @text-main; + color: @foreground; } #wifi-dialog-show-password-label { - color: @text-main; - font-size: 12px; + color: @foreground; + font-size: apply(font-sm); } #wifi-dialog-button-box { @@ -91,42 +93,42 @@ #wifi-dialog-cancel-button, #wifi-dialog-join-button { border-radius: apply(radius-xs); - font-size: 13px; + font-size: apply(font-md); font-weight: 500; min-width: 80px; min-height: 30px; } #wifi-dialog-cancel-button { - background-color: rgba(255, 255, 255, 0.1); - border: 1px solid rgba(255, 255, 255, 0.2); - color: @text-main; + background-color: @fg-a10; + border: 1px solid @fg-a20; + color: @foreground; } #wifi-dialog-cancel-button:hover { - background-color: rgba(255, 255, 255, 0.15); + background-color: @fg-a15; } #wifi-dialog-join-button { - background-color: @accent; - border: 1px solid @accent; - color: @text-main; + background-color: @primary; + border: 1px solid @primary; + color: @foreground; } #wifi-dialog-join-button:hover { - background-color: @accent-hover; - border-color: @accent-hover; + background-color: @secondary; + border-color: @secondary; } #wifi-dialog-join-button.disabled { opacity: 0.5; - background-color: #555555; - border-color: #555555; - color: #aaaaaa; + background-color: @bg-a90; + border-color: @bg-a90; + color: @fg-a80; } #wifi-dialog-join-button.disabled:hover { - background-color: #555555; - border-color: #555555; - color: #aaaaaa; + background-color: @bg-a90; + border-color: @bg-a90; + color: @fg-a80; } diff --git a/src/styles/controlpanel/expaned-player.css b/src/styles/controlpanel/expaned-player.css new file mode 100644 index 0000000..afd1dd2 --- /dev/null +++ b/src/styles/controlpanel/expaned-player.css @@ -0,0 +1,288 @@ +/* Apple-style seek bar for expanded player */ +#apple-seek-bar { + background-color: transparent; + margin-top: 8px; + margin-bottom: 4px; + min-height: 10px; +} + +#apple-seek-bar trough { + min-width: 28px; + min-height: 3px; + border-radius: 1.5px; + background-color: @fg-a30; + border: none; + box-shadow: inset 0 1px 1px @shadow-a10; +} + +#apple-seek-bar highlight { + background: @primary; + border-radius: 1.5px; + border: none; + box-shadow: 0 0 2px @primary-a40; +} + +#apple-seek-bar slider { + background: @foreground; + border: 1px solid @primary-a80; + border-radius: apply(radius-full); + min-width: 12px; + min-height: 12px; + margin: -4.5px; + box-shadow: + 0 1px 3px @shadow-a20, + 0 0 0 1px @fg-a80; + transition: all apply(transition-xfast) ease; +} + +#apple-seek-bar slider:hover { + background: @foreground; + border-color: @primary; + min-width: 14px; + min-height: 14px; + margin: -5.5px; + box-shadow: + 0 2px 6px @shadow-a25, + 0 0 0 2px @primary-a30; +} + +#apple-seek-bar slider:active { + background: @foreground; + min-width: 13px; + min-height: 13px; + margin: -5px; + box-shadow: + 0 1px 3px @shadow-a30, + 0 0 0 2px @primary-a50; +} + +/* macOS-style expanded player - more compact */ +#macos-outer-player-box { + min-height: 80px; + /* Reduced height */ + min-width: 345px; + /* Match the standard player width */ + /* margin: 10px; */ + padding: 10px; + /* background-color: @shadow-a40; */ +} + +#macos-main-section { + margin-left: 5px; +} + +#macos-album-cover-image image { + min-width: 70px; + min-height: 70px; + border-radius: 9px; +} + +#macos-album-image { + min-width: 70px; + min-height: 70px; + border-radius: 9px; + background-position: center; + background-size: cover; + box-shadow: 0 2px 8px @shadow-a30; +} + +#macos-album-image-no { + min-width: 90px; + min-height: 90px; + border-radius: 9px; + margin-left: 12px; + background-position: center; + background-size: cover; + box-shadow: 0 2px 8px @shadow-a30; +} + +#macos-album-image image { + min-width: 70px; + min-height: 70px; + border-radius: 9px; + box-shadow: 0 2px 8px @shadow-a30; +} + +/* Track info container that expands to fill available space */ +#macos-track-info { + margin-top: 5px; + margin-left: 15px; + margin-right: 15px; +} + +#macos-player-title { + font-weight: 600; + font-size: apply(font-lg); + color: @foreground; + margin-bottom: 2px; +} + +#macos-player-artist { + font-weight: 400; + margin-top: -2px; + font-size: apply(font-md); + color: alpha(@fg-a40, 0.8); +} + +#macos-player-album { + font-weight: 400; + margin-top: -4px; + font-size: apply(font-md); + color: alpha(@fg-a40, 0.8); + margin-bottom: 8px; +} + +/* macOS seek bar styling */ +#macos-seek-bar { + background-color: transparent; + margin: 8px 0 4px 0; + min-height: 10px; +} + +#macos-seek-bar trough { + min-width: 200px; + + min-height: 2px; + border-radius: apply(radius-2xs); + background-color: @fg-a25; + border: none; +} + +#macos-seek-bar highlight { + background: @foreground; + border-radius: apply(radius-2xs); + border: none; +} + +#macos-seek-bar slider { + background: @foreground; + border: none; + border-radius: 20%; + min-width: 1px; + min-height: 8px; + margin: -3px; + box-shadow: 0 1px 3px @shadow-a30; + transition: all apply(transition-xfast) ease; +} + +#macos-seek-bar slider:hover { + min-width: 4px; + min-height: 14px; + margin: -5px; + box-shadow: 0 2px 6px @shadow-a40; +} + +#macos-position-label, +#macos-length-label { + font-size: apply(font-xs); + color: alpha(@fg-a40, 0.9); + font-weight: 400; +} + +/* macOS control buttons - more compact */ +#macos-button-box { + margin-top: -1px; + /* Reduced top margin */ +} + +#macos-control-button { + background: transparent; + border: none; + border-radius: apply(radius-full); + min-width: 28px; + /* Slightly smaller */ + opacity: 0.7; + min-height: 28px; + padding: 5px; + /* Reduced padding */ + color: @foreground; + transition: all apply(transition-fast) ease; +} + +#macos-control-button:hover { + opacity: 1; +} + +#macos-play-button { + background: transparent; + border: none; + border-radius: apply(radius-full); + min-width: 36px; + /* Slightly smaller */ + opacity: 0.7; + min-height: 36px; + padding: 7px; + /* Reduced padding */ + color: @foreground; + transition: all apply(transition-fast) ease; +} + +#macos-play-button:hover { + opacity: 1; +} + +/* macOS player switcher dots - compact horizontal layout */ +#macos-stack-buttons-box { + margin: 2px 5px; + /* Minimal margins */ +} + +.macos-switcher-dot { + background: @fg-a30; + /* border: none; */ + border-radius: apply(radius-full); + min-width: 12px; + /* Smaller dots */ + min-height: 12px; + margin: 2px; + /* Reduced margins */ + /* transition: all 0.2s ease; */ +} + +.macos-switcher-dot:hover { + background: @fg-a50; +} + +.macos-switcher-dot.active { + background: @foreground; + box-shadow: 0 0 0 1px @fg-a30; + /* Smaller glow */ +} +#expanded-seek-bar { + background-color: transparent; + margin: 8px 0 4px 0; + min-height: 10px; +} + +#expanded-seek-bar trough { + min-width: 200px; + + min-height: 2px; + border-radius: apply(radius-2xs); + background-color: @fg-a25; + border: none; +} + +#expanded-seek-bar highlight { + background: @foreground; + border-radius: apply(radius-2xs); + border: none; +} + +#expanded-seek-bar slider { + background: @foreground; + border: none; + border-radius: 20%; + min-width: 1px; + min-height: 10px; + margin: -3px; + box-shadow: 0 1px 3px @shadow-a30; + transition: all apply(transition-xfast) ease; +} + +#expanded-seek-bar slider:hover { + min-width: 4px; + min-height: 14px; + margin: -5px; + box-shadow: 0 2px 6px @shadow-a40; +} diff --git a/src/styles/controlpanel/general.css b/src/styles/controlpanel/general.css new file mode 100644 index 0000000..e4b914d --- /dev/null +++ b/src/styles/controlpanel/general.css @@ -0,0 +1,31 @@ +.title { + font-size: apply(font-lg); + font-family: "SF Pro Rounded"; + font-weight: bold; + margin-bottom: 10px; +} + +#separator { + min-height: 0.09rem; + margin: 3px 0; + background-color: @fg-a20; + border-radius: apply(radius-sm); +} + + +#control-center-menu { + background-color: @bg-a50; + border-radius: apply(radius-md); + box-shadow: none; + margin: 0; +} + + +#control-center-widgets { + /* background-color: @bg-a50; */ + box-shadow: inset 0 0 0 1px alpha(@text-dim, 0.4); + border: 1px solid @border-strong; + border-radius: apply(radius-md); + padding: 0.5rem; +} + diff --git a/src/styles/controlpanel/index.css b/src/styles/controlpanel/index.css new file mode 100644 index 0000000..7844da5 --- /dev/null +++ b/src/styles/controlpanel/index.css @@ -0,0 +1,8 @@ +@import url("controlpanel/general.css"); +@import url("controlpanel/quicksettings.css"); +@import url("controlpanel/dialogs.css"); +@import url("controlpanel/sliders.css"); +@import url("controlpanel/per_app_volume.css"); +@import url("controlpanel/player.css"); +@import url("controlpanel/expaned-player.css"); +@import url("controlpanel/networks.css"); diff --git a/src/styles/controlpanel/networks.css b/src/styles/controlpanel/networks.css new file mode 100644 index 0000000..d7a342d --- /dev/null +++ b/src/styles/controlpanel/networks.css @@ -0,0 +1,83 @@ +#bluetooth-title, +#wifi-title { + font-size: apply(font-lg); + font-weight: bold; +} + +#wifi-window, +#bluetooth-window { + background-color: @bg-a50; + border-radius: apply(radius-sm); +} + +/* macOS-style WiFi interface */ +#wifi-connections, +#bluetooth-connections { + /* background-color: @fg-a08; */ + background-color: @fg-a05; + box-shadow: inset 0 0 0 1px alpha(@fg-a40, 0.4); + border: 1px solid @outline-a40; + border-radius: apply(radius-sm); + /* padding: 0.5rem; */ + /* border-radius: apply(radius-md); */ + padding: 10px; +} + +/* WiFi network slots - macOS style */ +#wifi-network-slot button { + border-radius: apply(radius-sm); + padding: 4px 4px; + /* min-width: 280px; */ + margin: 2px 0; +} + +#wifi-network-slot button:hover, +#wifi-network-button:hover { + background-color: @fg-a18; + border-radius: apply(radius-sm); +} + +#wifi-network-slot button:hover .wifi-icon-box, +#wifi-network-button:hover .wifi-icon-box { + background-color: @fg-a90; +} + +/* WiFi-specific device icon styles */ +#wifi-connections #device-icon { + background-color: @fg-a10; +} + +#wifi-connections #device-icon.connected { + background-color: @primary; + color: @foreground; +} + +#wifi-network-name { + color: @foreground; + font-size: apply(font-base); + font-weight: 500; +} + +#wifi-lock-icon { + color: @fg-a60; + margin-left: 8px; +} + +/* Other Networks and Settings buttons */ +#wifi-other-button { + background-color: transparent; + border: none; + padding: 8px 6px; + margin-bottom: -12px; + margin-top: -6px; + border-radius: apply(radius-sm); + /* transition: background-color 0.2s ease; */ +} + +#wifi-other-button:hover { + background-color: @fg-a18; +} + +#wifi-other-button:last-child { + margin-bottom: 3px; +} diff --git a/src/styles/controlpanel/per_app_volume.css b/src/styles/controlpanel/per_app_volume.css new file mode 100644 index 0000000..c5217d7 --- /dev/null +++ b/src/styles/controlpanel/per_app_volume.css @@ -0,0 +1,119 @@ +/* Per-app volume control styles */ +#per-app-volume-control { + min-height: 140px; + min-width: 328px; + border-radius: apply(radius-sm); + padding: 1rem; +} + +#apps-scrolled-container { + min-height: 120px; + min-width: 120px; +} + +#back-button { + padding: 8px 12px; + background-color: @fg-a10; + border-radius: apply(radius-sm); + border: none; + color: @foreground; + font-size: apply(font-md); + font-weight: 500; + transition: background-color apply(transition-medium) ease; +} + +#back-button:hover { + background-color: @fg-a18; +} + +.apple-app-volume-item { + margin: 3px 0; + padding: 16px; + background-color: @fg-a08; + border-radius: apply(radius-md); + border: 1px solid @fg-a12; + transition: background-color apply(transition-fast); +} + +.apple-app-volume-item:hover { + background-color: @fg-a12; +} + +.apple-app-name { + font-size: apply(font-base); + font-weight: 600; + color: @foreground; + margin-bottom: 4px; + letter-spacing: -0.01em; +} + +.app-volume-item { + margin: 8px 0; + padding: 8px; + background-color: @fg-a05; + border-radius: apply(radius-xs); + border: 1px solid @fg-a10; +} + +.app-name { + font-size: apply(font-md); + font-weight: 500; + color: @foreground; + margin-bottom: 5px; +} + +#per-app-volume-button { + background-color: @fg-a15; + border: 1px solid alpha(@fg-a40, 0.6); + border-radius: apply(radius-full); +} + +#per-app-volume-button:hover { + background-color: @fg-a25; + box-shadow: 0 4px 12px @shadow-a20; +} + +#per-app-volume-button:active { + background-color: @fg-a20; + box-shadow: 0 1px 3px @shadow-a30; +} + +#per-app-volume-icon { + background-color: @fg-a15; + + border: 2px solid alpha(@fg-a40, 0.6); + + border-radius: apply(radius-full); + + min-width: 30px; +} + +/* Per app-volume-item */ + +.compact-app-volume-item { + padding-bottom: 5px; + padding-right: 14px; + border-bottom: 1px solid @fg-a10; +} + +#app-icon { + margin-top: 8px; +} + +.app-name-compact { + font-size: apply(font-base); + font-weight: bold; + margin-top: 8px; +} + +#compact-app-volume-slider scale { + margin-right: 8px; + padding-right: 8px; +} +#app-volume-header { + font-size: apply(font-lg); + padding-left: 5px; + margin-top: -2px; + font-weight: bold; + color: @foreground; +} diff --git a/src/styles/player.css b/src/styles/controlpanel/player.css similarity index 66% rename from src/styles/player.css rename to src/styles/controlpanel/player.css index 699858f..f9cd5e3 100644 --- a/src/styles/player.css +++ b/src/styles/controlpanel/player.css @@ -6,19 +6,17 @@ } #button-box-c { - /* margin-left: -10px; */ - padding-right: 15px; } #player-stack-button:hover { - background-color: #646464; - box-shadow: inset rgba(255, 255, 255, 0.5) 0 0 10px; + background-color: @bg-a80; + box-shadow: inset @fg-a50 0 0 10px; } #player-stack-button.active { border-radius: apply(radius-xs); - background-color: rgb(221.25, 221.25, 223.65); + background-color: @foreground; } #outer-player-box { @@ -26,47 +24,38 @@ min-width: 320px; border-radius: apply(radius-sm); margin: 0 6px; - background-color: @shadow-color; - box-shadow: inset 0 0 0 1px alpha(@text-dim, 0.4); + background-color: alpha(@background, 0.3); + box-shadow: inset 0 0 0 1px alpha(@fg-a40, 0.4); } #outer-player-box-c { min-height: 55px; min-width: 245px; border-radius: apply(radius-sm); - /* margin: 0 6px; */ - /* background-color: @shadow-color; */ - /* box-shadow: inset 0 0 0 1px alpha(@text-dim, 0.4); */ } + #outer-no-player-box-c { min-height: 55px; min-width: 345px; border-radius: apply(radius-sm); - /* margin: 0 6px; */ - /* background-color: @shadow-color; */ - /* box-shadow: inset 0 0 0 1px alpha(@text-dim, 0.4); */ } + #box-c { - background-color: @bg-darker; - box-shadow: inset 0 0 0 0.5px alpha(@text-dim, 0.4); - border: 1px solid @border-strong; + background-color: alpha(@background, 0.3); + box-shadow: inset 0 0 0 0.5px alpha(@fg-a40, 0.4); + border: 1px solid @outline-a40; border-radius: apply(radius-md); margin-top: 0.5rem; margin-left: 4px; margin-right: 4px; margin-bottom: 0.5rem; - min-height: 50px; min-width: 330px; - /* border-radius: apply(radius-sm); */ - /* margin: 0 6px 10px; */ - /* border: 0.5px solid alpha(#000, 0.4); */ - /* background-color: alpha(@text-dim, 0.1); */ - /* box-shadow: inset 0 0 0 1px alpha(@text-dim, 0.4); */ } + #player-box:disabled highlight, #player-box:disabled progress { - background-color: rgba(205, 214, 244, 0.6); + background-color: @primary-a60; background-image: none; } @@ -80,17 +69,17 @@ #player-title-c { /* margin-top: 18px; */ font-weight: bold; - font-size: 14px; + font-size: apply(font-base); } #player-title { margin-top: 18px; font-weight: 700; - font-size: 16px; + font-size: apply(font-lg); } #player-title-no { font-weight: 700; margin-left: 120px; - font-size: 16px; + font-size: apply(font-lg); } #player-app-icon { margin-bottom: 10px; @@ -98,13 +87,13 @@ #player-artist-c { margin-top: -5px; - color: @text-dim; - font-size: 12px; + color: @fg-a40; + font-size: apply(font-sm); } #player-artist, #player-album { font-weight: 500; - font-size: 12px; + font-size: apply(font-sm); } #player-controls { @@ -113,7 +102,7 @@ } .player-icon { - font-size: 16px; + font-size: apply(font-lg); } .player-button { @@ -121,7 +110,7 @@ } #player-box #player-controls #button-box .player-button:disabled { - color: #5f5f5f; + color: @fg-a85; } #player-button { @@ -168,11 +157,11 @@ #seek-bar trough { min-width: 10px; border-radius: apply(radius-full); - background-color: alpha(#666, 0.5); - border: 1px solid alpha(#444, 0.3); + background-color: alpha(@bg-a80, 0.5); + border: 1px solid alpha(@bg-a95, 0.3); } #seek-bar highlight { - background: alpha(@text-main, 0.8); + background: @fg-a80; border-radius: apply(radius-full); } diff --git a/src/styles/controlpanel/quicksettings.css b/src/styles/controlpanel/quicksettings.css new file mode 100644 index 0000000..5c52ab9 --- /dev/null +++ b/src/styles/controlpanel/quicksettings.css @@ -0,0 +1,186 @@ +/* Widgets */ +#wifi-widget, +#bluetooth-widget, +#nightlight-widget { + min-width: 140px; + padding: 5px 0 0px 0; +} + +.icon { + background-color: @primary; + font-size: 15px; + padding: 20px 20px; +} + +#bluetooth-widget-label, +#wifi-widget-label, +#nightlight-widget-label { + font-size: apply(font-sm); + margin-left: 5px; + font-weight: 500; + color: @fg-a40; +} +#bluetooth-widget-title { + font-size: apply(font-sm); + font-weight: 500; + color: @foreground; +} + +/* #bluetooth-widget-top { */ +/* padding-bottom: 10px; */ +/* border-bottom: 1px solid alpha(@fg-a80, 0.3); */ +/* } */ + +#device-icon { + border-radius: apply(radius-full); + padding: 5px; + margin-bottom: 2.5px; + margin-top: 2.5px; + margin-right: 10px; + background-color: @bg-a50; +} + +#devices-title { + color: @fg-a60; +} + +#device-icon.paired { + background-color: @fg-a60; +} + +#device-icon.connected { + background-color: @primary; +} + +#toggle-button { + min-width: 40px; + min-height: 22px; + background-color: @fg-a30; + border-radius: apply(radius-full); + padding: 3px; + transition: background-color apply(transition-slow) ease; +} + +#toggle-button slider { + background-color: @foreground; + border-radius: apply(radius-full); + min-width: 16px; + min-height: 16px; + margin: -1px; + transition: background-color apply(transition-xfast) cubic-bezier(0.5, 0.25, 0, 1.25); +} + +#toggle-button:checked { + background-color: @primary; +} + + +.menu { + background-color: alpha(@background, 0.3); + box-shadow: inset 0 0 0 0.5px alpha(@fg-a40, 0.4); + border: 1px solid @outline-a40; + border-radius: apply(radius-md); + margin: 5px; + padding: 1rem; +} + +.title { + padding: 0; + font-weight: 500; + font-size: apply(font-sm); +} + +#bluetooth-widget-name, +#wifi-widget-name, +#nightlight-widget-name { + margin-top: 6px; + font-size: apply(font-base); + font-weight: bold; +} + +.ct { + margin-left: 5px; +} +#control-center-menu mark indicator { + background: none; + background-image: none; + color: @fg-a20; +} + +#control-center-menu mark label { + background: none; + background-image: none; + color: @fg-a20; +} + +#device-button { + background-color: transparent; + border-radius: apply(radius-sm); +} + +#device-button button:hover { + background-color: @fg-a18; + border-radius: apply(radius-sm); +} + +#device-button button:hover #device-icon { + background-color: @fg-a25; +} + +.device-slot:hover { + background-color: @fg-a05; +} + +.button-hovered { + background-color: @fg-a10; +} + +#device-button #battery-label { + font-size: apply(font-xs); + color: @fg-a60; + margin-right: 4px; +} + +#wifi-other-device label, +#wifi-other-button label { + font-size: apply(font-sm); + font-weight: bold; +} +.wifi-icon-box { + background-color: @fg-a80; + border-radius: apply(radius-full); + padding: 2px; +} + +.wifi-icon-box-connected { + background-color: @primary; + border-radius: apply(radius-full); + padding: 2px; +} + + + +.title-widget { + font-size: apply(font-md); + font-family: "SF Pro Rounded"; + font-weight: bold; +} + +.status-label { + font-size: apply(font-xs); + font-weight: 500; + color: @fg-a80; + font-family: "SF Pro Rounded"; +} + +#app-control-box { + min-width: 100px; +} + +#caffeine-widget, +#flight-widget { + padding: 0px 0 5px 0; + min-width: 50px; +} + + diff --git a/src/styles/controlpanel/sliders.css b/src/styles/controlpanel/sliders.css new file mode 100644 index 0000000..e10e928 --- /dev/null +++ b/src/styles/controlpanel/sliders.css @@ -0,0 +1,20 @@ +#vol-slider-box { + /* margin-bottom: 2px; */ + margin-top: -10px; + /* border: 1px solid @foreground; */ +} + +#volume-widget-slider { + /* margin-bottom: 2px; */ +} + +#volume-widget-icon { + margin-left: 10px; + color: @shadow-a40; +} + +#brightness-widget-icon { + margin-left: 10px; + color: @shadow-a40; +} + diff --git a/src/styles/launcher.css b/src/styles/launcher.css deleted file mode 100644 index ba899ca..0000000 --- a/src/styles/launcher.css +++ /dev/null @@ -1,230 +0,0 @@ -#launcher { - background-color: @shadow-color; - padding: 0; - border-radius: apply(radius-md); - min-width: 640px; - border: 1px solid rgba(255, 255, 255, 0.1); -} - -/* #launcher-search { */ -/* color: #000; */ -/* } */ -#header_box { - padding: 0px 20px 0 20px; - color: #000; -} - -#close-button, -#config-button { - background-color: transparent; - border-radius: apply(radius-xs); - padding: 6px; - transition: all 0.15s ease; -} - -#close-button:hover, -#close-button:focus, -#config-button:hover, -#config-button:focus { - background-color: rgba(255, 255, 255, 0.1); - border-radius: apply(radius-xs); -} - -#close-button.focused, -#config-button.focused { - background-color: rgba(0, 122, 255, 0.2); - border-radius: apply(radius-xs); - box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.4); -} - -#close-button.focused #close-label { - color: @accent; -} - -#config-button.focused #config-label { - color: @accent; -} - -#close-button:active { - background-color: rgba(255, 255, 255, 0.2); - border-radius: apply(radius-xs); -} - -#close-label { - color: rgba(255, 255, 255, 0.7); - font-size: 18px; -} - -#close-button:active #close-label { - color: rgba(255, 255, 255, 0.9); -} - -#config-button:active { - background-color: rgba(255, 255, 255, 0.2); - border-radius: apply(radius-xs); -} - -#config-label { - color: rgba(255, 255, 255, 0.7); - font-size: 18px; -} - -#config-button:active #config-label { - color: rgba(255, 255, 255, 0.9); -} - -#launcher-icon-label { - font-size: 20px; - padding: 6px; - color: rgba(255, 255, 255, 0.8); -} - -#launcher-search { - font-weight: 400; - font-size: 36px; - background-color: transparent; - color: rgba(255, 255, 255, 0.95); - border: none; - border-radius: 0; - padding: 12px 0; - margin: 0; -} - -#launcher-search:focus { - background-color: transparent; - box-shadow: none; - border: none; -} - -#launcher-search selection { - color: white; - background-color: rgba(0, 122, 255, 0.8); -} - -#launcher-results-scroll { - margin: 0; - border-radius: 0; - background: transparent; - padding: 0 20px 20px 20px; -} - -#launcher-results-scroll scrollbar { - border-radius: 0; - background-color: transparent; - padding: 0; - margin: 0; - min-width: 0; -} - -#launcher-results-scroll scrollbar slider { - border-radius: 2px; - min-width: 4px; - min-height: 20px; - background-color: rgba(255, 255, 255, 0.3); - margin: 0; -} - -#launcher-results-scroll scrollbar:hover slider { - background-color: rgba(255, 255, 255, 0.5); -} - -#launcher-results { - background: transparent; - margin-top: 8px; -} - -#launcher-result-item { - border-radius: apply(radius-sm); - padding: 12px 16px; - margin: 2px 0; - min-height: 64px; - transition: all apply(transition-fast); - background: transparent; -} - -@keyframes loadSlot { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -#launcher-result-item:focus, -#launcher-result-item:selected, -#launcher-result-item:hover, -#launcher-result-item.selected { - border-radius: apply(radius-sm); - background-color: alpha(@accent, 0.8); - padding: 12px 16px; - margin: 2px 0; -} - -#launcher-result-item.selected #result-item-title { - color: white; - font-weight: 600; -} - -#launcher-result-item.selected #result-item-subtitle { - color: rgba(255, 255, 255, 0.8); -} - -#launcher-result-item.selected #result-item-plugin { - color: rgba(255, 255, 255, 0.6); -} - -#result-item-main { - min-height: 56px; -} - -#launcher-result-item { - min-height: 56px; -} - -#result-item-icon { - min-width: 56px; - min-height: 56px; - margin-right: 16px; - border-radius: apply(radius-md); -} - -#result-item-title { - font-size: 18px; - font-weight: 500; - color: rgba(255, 255, 255, 0.95); - margin-top: 4px; - margin-bottom: 2px; -} - -#result-item-subtitle { - font-size: 14px; - color: rgba(255, 255, 255, 0.6); - margin-bottom: 4px; -} - -#result-item-plugin { - font-size: 12px; - color: rgba(255, 255, 255, 0.4); - font-style: normal; - margin-bottom: 4px; - opacity: 1; - font-weight: 400; -} - -#network-password-entry { - border: 1px solid rgba(255, 255, 255, 0.2); - background: rgba(255, 255, 255, 0.05); - color: rgba(255, 255, 255, 0.9); - padding: 12px; - border-radius: apply(radius-sm); - margin-bottom: 8px; - font-size: 14px; -} - -#network-password-entry:focus { - border: 1px solid alpha(@accent, 0.6); - background: rgba(255, 255, 255, 0.1); - box-shadow: 0 0 0 3px alpha(@accent, 0.2); -} diff --git a/src/styles/launcher/general.css b/src/styles/launcher/general.css new file mode 100644 index 0000000..70e396e --- /dev/null +++ b/src/styles/launcher/general.css @@ -0,0 +1,81 @@ +#launcher { + background-color: @bg-a50; + padding: 0; + border-radius: apply(radius-md); + min-width: 640px; + border: 1px solid @fg-a10; +} + +/* #launcher-search { */ +/* color: @shadow; */ +/* } */ +#header_box { + padding: 0px 20px 0 20px; + color: @shadow; +} + +#close-button, +#config-button { + background-color: transparent; + border-radius: apply(radius-xs); + padding: 6px; + transition: all apply(transition-fast) ease; +} + +#close-button:hover, +#close-button:focus, +#config-button:hover, +#config-button:focus { + background-color: @fg-a10; + border-radius: apply(radius-xs); +} + +#close-button.focused, +#config-button.focused { + background-color: @primary-a20; + border-radius: apply(radius-xs); + box-shadow: 0 0 0 2px @primary-a40; +} + +#close-button.focused #close-label { + color: @primary; +} + +#config-button.focused #config-label { + color: @primary; +} + +#close-button:active { + background-color: @fg-a20; + border-radius: apply(radius-xs); +} + +#close-label { + color: @fg-a70; + font-size: 18px; +} + +#close-button:active #close-label { + color: @fg-a90; +} + +#config-button:active { + background-color: @fg-a20; + border-radius: apply(radius-xs); +} + +#config-label { + color: @fg-a70; + font-size: 18px; +} + +#config-button:active #config-label { + color: @fg-a90; +} + +#launcher-icon-label { + font-size: 20px; + padding: 6px; + color: @fg-a80; +} + diff --git a/src/styles/launcher/index.css b/src/styles/launcher/index.css new file mode 100644 index 0000000..fafc186 --- /dev/null +++ b/src/styles/launcher/index.css @@ -0,0 +1,4 @@ +@import url("launcher/general.css"); +@import url("launcher/search.css"); +@import url("launcher/results.css"); +@import url("launcher/network.css"); diff --git a/src/styles/launcher/network.css b/src/styles/launcher/network.css new file mode 100644 index 0000000..138fccc --- /dev/null +++ b/src/styles/launcher/network.css @@ -0,0 +1,15 @@ +#network-password-entry { + border: 1px solid @fg-a20; + background: @fg-a05; + color: @fg-a90; + padding: 12px; + border-radius: apply(radius-sm); + margin-bottom: 8px; + font-size: apply(font-base); +} + +#network-password-entry:focus { + border: 1px solid @primary-a60; + background: @fg-a10; + box-shadow: 0 0 0 3px @primary-a20; +} diff --git a/src/styles/launcher/results.css b/src/styles/launcher/results.css new file mode 100644 index 0000000..160d0d4 --- /dev/null +++ b/src/styles/launcher/results.css @@ -0,0 +1,112 @@ +#launcher-results-scroll { + margin: 0; + border-radius: 0; + background: transparent; + padding: 0 20px 20px 20px; +} + +#launcher-results-scroll scrollbar { + border-radius: 0; + background-color: transparent; + padding: 0; + margin: 0; + min-width: 0; +} + +#launcher-results-scroll scrollbar slider { + border-radius: apply(radius-2xs); + min-width: 4px; + min-height: 20px; + background-color: @fg-a30; + margin: 0; +} + +#launcher-results-scroll scrollbar:hover slider { + background-color: @fg-a50; +} + +#launcher-results { + background: transparent; + margin-top: 8px; +} + +#launcher-result-item { + border-radius: apply(radius-sm); + padding: 12px 16px; + margin: 2px 0; + min-height: 64px; + transition: all apply(transition-fast); + background: transparent; +} + +@keyframes loadSlot { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +#launcher-result-item:focus, +#launcher-result-item:selected, +#launcher-result-item:hover, +#launcher-result-item.selected { + border-radius: apply(radius-sm); + background-color: @primary-a80; + padding: 12px 16px; + margin: 2px 0; +} + +#launcher-result-item.selected #result-item-title { + color: white; + font-weight: 600; +} + +#launcher-result-item.selected #result-item-subtitle { + color: @fg-a80; +} + +#launcher-result-item.selected #result-item-plugin { + color: @fg-a60; +} + +#result-item-main { + min-height: 56px; +} + +#launcher-result-item { + min-height: 56px; +} + +#result-item-icon { + min-width: 56px; + min-height: 56px; + margin-right: 16px; + border-radius: apply(radius-md); +} + +#result-item-title { + font-size: 18px; + font-weight: 500; + color: @fg-a95; + margin-top: 4px; + margin-bottom: 2px; +} + +#result-item-subtitle { + font-size: apply(font-base); + color: @fg-a60; + margin-bottom: 4px; +} + +#result-item-plugin { + font-size: apply(font-sm); + color: @fg-a40; + font-style: normal; + margin-bottom: 4px; + opacity: 1; + font-weight: 400; +} + diff --git a/src/styles/launcher/search.css b/src/styles/launcher/search.css new file mode 100644 index 0000000..9b8fcb1 --- /dev/null +++ b/src/styles/launcher/search.css @@ -0,0 +1,22 @@ +#launcher-search { + font-weight: 400; + font-size: 36px; + background-color: transparent; + color: @fg-a95; + border: none; + border-radius: 0; + padding: 12px 0; + margin: 0; +} + +#launcher-search:focus { + background-color: transparent; + box-shadow: none; + border: none; +} + +#launcher-search selection { + color: white; + background-color: @primary-a80; +} + diff --git a/src/styles/main.css b/src/styles/main.css index e4abf1b..abbd790 100644 --- a/src/styles/main.css +++ b/src/styles/main.css @@ -1,27 +1,16 @@ @import url("./colors.css"); + @import url("./constant.css"); -@import url("./panel.css"); -@import url("./dock.css"); -@import url("./switcher.css"); -@import url("./osd.css"); -@import url("./controlcenter.css"); -@import url("./notification.css"); -@import url("./dropdown.css"); -@import url("./about.css"); -@import url("./notification-center.css"); -@import url("./player.css"); -@import url("./widgets.css"); -@import url("./tray.css"); -@import url("./battery-widget.css"); -@import url("./lock.css"); -@import url("./todo.css"); -@import url("./launcher.css"); -@import url("./switcher.css"); -@import url("./settings.css"); +@import url("./controlpanel/index.css"); +@import url("./notification/index.css"); +@import url("./launcher/index.css"); +@import url("./window/index.css"); +@import url("./widgets/index.css"); * { all: unset; - color: var(--foreground); + color: @foreground; font-size: unset; font-family: "SF Pro Rounded"; -} \ No newline at end of file +} + diff --git a/src/styles/notification-center.css b/src/styles/notification-center.css deleted file mode 100644 index 001b705..0000000 --- a/src/styles/notification-center.css +++ /dev/null @@ -1,297 +0,0 @@ -#noti-center-box { - background-color: transparent; - - /* border: 1px solid @border-subtle; */ - border-radius: apply(radius-xl); - margin-right: 10px; - /* padding: 20px; */ - /* margin: 6px; */ -} - -#noti-clear-button { - /* min-width: 10px; */ - background-color: alpha(#1c2328, 0.05); - min-height: 25px; - min-width: 70px; - border: 1px solid #525155; - border-radius: apply(radius-md); - margin-top: 10px; -} - -#notif-clear-button label { - font-size: 15px; -} - -#noti-clear-button:hover { - background-color: alpha(@text-main, 0.09); -} - -/* Expandable notification group styles */ -#notification-group { - margin: 4px 0; -} - -/* Single notification (no stacking) */ -#single-notification-content { - background-color: alpha(#1c2328, 0.05); - border: 1.5px solid #525155; - border-radius: apply(radius-md); - padding: 12px; - transition: all 0.2s ease; -} - -#single-notification-content:hover { - background-color: alpha(@text-dim, 0.9); - border: 1.5px solid #525155; -} - -/* Stacked notification container */ -#notification-stack-container { - background-color: transparent; - margin: 8px 0; -} - -/* Bottom shadow layer (deepest) - offset to show stacking from below */ -#stack-shadow-bottom { - background-color: alpha(#1c2328, 0.05); - border-top: 1px solid #525155; - border-radius: apply(radius-md); - opacity: 1; - min-height: 16px; - margin-left: 20px; - margin-right: -4px; - margin-bottom: -10px; -} - -/* Middle shadow layer */ -#stack-shadow-middle { - background-color: alpha(#1c2328, 0.05); - - border-top: 1px solid #525155; - border-radius: apply(radius-md); - opacity: 1; - min-height: 20px; - margin-left: 10px; - margin-right: -2px; - margin-bottom: -14px; -} - -/* Main notification content (top layer) */ -#stack-main-notification { - background-color: alpha(#1c2328, 0.05); - - border: 1.2px solid #525155; - border-radius: apply(radius-md); - padding: 12px; - transition: all 0.2s ease; -} - -/* Hover effects for stacked notifications */ -#notification-stack-container:hover #stack-main-notification { - background-color: alpha(#525155, 0.1); - border: 1px solid #525155; -} - -#notification-stack-container:hover #stack-shadow-middle { - opacity: 0.7; -} - -#notification-stack-container:hover #stack-shadow-bottom { - opacity: 0.5; -} - -/* Collapsed notification state */ -#notification-content-collapsed { - background-color: alpha(#000, 0.05); - border: 1px solid #525155; - border-radius: apply(radius-md); - padding: 12px; - margin: 2px 0; - transition: all 0.2s ease; -} - -#notification-content-collapsed:hover { - background-color: alpha(#525155, 0.1); - border: 1px solid #525155; -} - -/* Notification count badge */ -#notification-count-label { - background-color: alpha(@text-main, 0.2); - color: rgba(255, 255, 255, 0.8); - border-radius: 10px; - padding: 2px 6px; - font-size: 10px; - font-weight: 500; - min-width: 16px; -} - -/* Expanded notification group header */ -#notification-group-header { - background-color: alpha(#000, 0.05); - border: 1px solid #525155; - border-radius: 12px 12px 0 0; - padding: 8px 12px; - margin: 2px 0 0 0; -} - -#notification-group-title { - color: @text-main; - font-weight: bold; - font-size: 14px; -} - -#notification-show-less { - background-color: transparent; - color: rgba(255, 255, 255, 0.7); - border: 1px solid alpha(@text-main, 0.2); - border-radius: apply(radius-xs); - padding: 2px 8px; - font-size: 11px; - margin-right: 8px; -} - -#notification-show-less:hover { - background-color: alpha(@text-dim, 0.7); - color: rgba(255, 255, 255, 0.9); -} - -#notification-close-all { - background-color: transparent; - color: rgba(255, 255, 255, 0.7); - border: 1px solid alpha(@text-main, 0.2); - border-radius: apply(radius-xs); - padding: 2px 8px; - font-size: 12px; - min-width: 24px; -} - -#notification-close-all:hover { - background-color: alpha(#ff5555, 0.2); - color: rgba(255, 255, 255, 0.9); - border-color: alpha(#ff5555, 0.4); -} - -/* Expanded notification list */ -#notification-group-expanded { - border: 1px solid #525155; - border-top: none; - border-radius: 0 0 12px 12px; - /* background-color: alpha(#000, 0.02); */ -} - -/* Stacked notification group styles */ -.stacked-notification-group { - margin: 4px 0; -} - -.stacked-notification-container { -} - -.stacked-notification-item { - background-color: alpha(#000, 0.05); - border: 1px solid #525155; - border-radius: apply(radius-md); - transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); -} - -#notif-clear-btn { - border-radius: 10px; - font-size: 12px; - padding: 2px; -} - -#notif-clear-btn:hover { - background-color: var(--surface-bright); -} - -#stacked-notification-item:hover { - background-color: alpha(#525155, 0.1); - border: 1px solid #525155; -} - -/* Stack count indicator */ -#stack-count-indicator { - font-size: 10px; - color: rgba(255, 255, 255, 0.7); - margin: 2px 8px; - font-weight: 500; -} - -/* Expanded view styles - notifications use their default styling */ -#expanded-notification-list { - margin-top: 8px; -} - -/* Make expanded notifications clickable with subtle hover effect */ -#expanded-notification-list:hover { - background-color: alpha(#111, 0.9); - border-radius: apply(radius-sm); - transition: background-color 0.2s ease; -} - -#notification-group-title { - font-size: 19px; - margin: 10px; - font-weight: bold; -} -#notification-show-less { - background-color: alpha(#1c2328, 0.05); - font-size: 12px; - margin: 10px; - border-radius: apply(radius-md); -} - -#notification-close-all { - margin: 10px 10px 10px 0; - background-color: alpha(#1c2328, 0.05); - border-radius: apply(radius-md); -} - -#notif-close-button { - background-color: transparent; -} - -#notification-group-expanded { - background-color: transparent; - border: none; -} - -#notification-content { - background-color: transparent; -} -#notification-count-label { - background-color: transparent; - color: white; - font-size: 13px; -} -#notification-centre-notifs { - background-color: alpha(#1c2328, 0.05); - min-height: 40px; - padding: 10px; - border: 1px solid #525155; - border-radius: apply(radius-md); -} - -#notification-centre-notifs:last-child { - margin-bottom: 10px; -} - -#notification-close-header { - margin-right: 10px; -} -#notification-close, -#notification-close-header { - min-width: 23px; - min-height: 23px; - border-radius: apply(radius-full); -} -#notification-close:hover { - background-color: alpha(#666, 0.8); - min-width: 23px; - min-height: 23px; - border-radius: apply(radius-full); -} -#notification-close-summery:hover .notification-close-header button { - background-color: transparent; -} diff --git a/src/styles/notification.css b/src/styles/notification.css deleted file mode 100644 index a9f91ed..0000000 --- a/src/styles/notification.css +++ /dev/null @@ -1,88 +0,0 @@ -#notification { - padding: 10px; - background-color: alpha(@text-main, 0.03); - border-radius: apply(radius-sm); - margin-top: 10px; - margin-right: 10px; - /* margin: 5px; */ -} - -#notification-close-button { - background-color: alpha(@text-dim, 0.3); - border-radius: apply(radius-sm); -} -#notification-close-button:hover { - background-color: alpha(@accent, 0.9); -} - -#notification-action-buttons button { - background-color: alpha(@text-dim, 0.3); - padding: 4px; - border-radius: apply(radius-sm); - transition: background-color apply(transition-fast); -} - -#notification-action-buttons button:hover { - background-color: alpha(@accent, 0.9); -} - -#notification-action-buttons button:active { - background-color: var(--primary); -} - -#notification-action-buttons button:active #button-label { - color: var(--shadow); -} - -#notification-icon { - border-radius: apply(radius-lg); -} - -#notification-image { - border-radius: apply(radius-lg); - color: var(--on-surface); -} - -#notification-summary, -#button-label { -} - -#notification-summary { - font-weight: bold; - font-size: 16px; - /* color: var(--primary); */ -} - -#notification-app-name { - color: var(--outline); - font-weight: bold; -} - -#action-button { - margin-top: 8px; -} - -#notif-close-button { - background-color: var(--surface); - border-radius: apply(radius-lg); - padding: 4px; - transition: background-color apply(transition-fast); -} - -#notif-close-button:hover, -#notif-close-button:focus { - background-color: var(--surface-bright); -} - -#notif-close-button:active { - background-color: var(--red-dim); -} - -#notif-close-label { - color: var(--red-dim); - font-size: 20px; -} - -#notif-close-button:active #notif-close-label { - color: var(--shadow); -} diff --git a/src/styles/notification/center_base.css b/src/styles/notification/center_base.css new file mode 100644 index 0000000..16ff4c7 --- /dev/null +++ b/src/styles/notification/center_base.css @@ -0,0 +1,28 @@ +#noti-center-box { + background-color: transparent; + + /* border: 1px solid @outline-a30; */ + border-radius: apply(radius-xl); + margin-right: 10px; + /* padding: 20px; */ + /* margin: 6px; */ +} + +#noti-clear-button { + /* min-width: 10px; */ + background-color: @bg-a50; + min-height: 25px; + min-width: 70px; + border: 1px solid @bg-a90; + border-radius: apply(radius-md); + margin-top: 10px; +} + +#notif-clear-button label { + font-size: 15px; +} + +#noti-clear-button:hover { + background-color: @fg-a10; +} + diff --git a/src/styles/notification/center_expanded.css b/src/styles/notification/center_expanded.css new file mode 100644 index 0000000..7071b20 --- /dev/null +++ b/src/styles/notification/center_expanded.css @@ -0,0 +1,54 @@ +/* Expanded notification group header */ +#notification-group-header { + background-color: @bg-a50; + border: 1px solid @bg-a90; + border-radius: apply(radius-md) apply(radius-md) 0 0; + padding: 8px 12px; + margin: 2px 0 0 0; +} + +#notification-group-title { + color: @foreground; + font-weight: bold; + font-size: apply(font-base); +} + +#notification-show-less { + background-color: transparent; + color: @fg-a70; + border: 1px solid @fg-a20; + border-radius: apply(radius-xs); + padding: 2px 8px; + font-size: apply(font-xs); + margin-right: 8px; +} + +#notification-show-less:hover { + background-color: alpha(@fg-a40, 0.7); + color: @fg-a90; +} + +#notification-close-all { + background-color: transparent; + color: @fg-a70; + border: 1px solid @fg-a20; + border-radius: apply(radius-xs); + padding: 2px 8px; + font-size: apply(font-sm); + min-width: 24px; +} + +#notification-close-all:hover { + background-color: @error-a20; + color: @fg-a90; + border-color: @error-a40; +} + +/* Expanded notification list */ +#notification-group-expanded { + border: 1px solid @bg-a90; + border-top: none; + border-radius: 0 0 apply(radius-md) apply(radius-md); + /* background-color: @shadow-a02; */ +} + diff --git a/src/styles/notification/center_overrides.css b/src/styles/notification/center_overrides.css new file mode 100644 index 0000000..b155ba3 --- /dev/null +++ b/src/styles/notification/center_overrides.css @@ -0,0 +1,74 @@ +/* Expanded view styles - notifications use their default styling */ +#expanded-notification-list { + margin-top: 8px; +} + +#expanded-notification-list #notification-group-header:hover { + background-color: @fg-a10; +} + +#notification-group-title { + font-size: 19px; + margin: 10px; + font-weight: bold; +} +#notification-show-less { + background-color: @bg-a50; + font-size: apply(font-sm); + margin: 10px; + border-radius: apply(radius-md); +} + +#notification-close-all { + margin: 10px 10px 10px 0; + background-color: @bg-a95; + border-radius: apply(radius-md); +} + +#notif-close-button { + background-color: transparent; +} + +#notification-group-expanded { + background-color: transparent; + border: none; +} + +#notification-content { + background-color: transparent; +} +#notification-count-label { + background-color: transparent; + color: white; + font-size: apply(font-md); +} +#notification-centre-notifs { + background-color: @bg-a50; + min-height: 40px; + padding: 10px; + border: 1px solid @bg-a90; + border-radius: apply(radius-md); +} + +#notification-centre-notifs:last-child { + margin-bottom: 10px; +} + +#notification-close-header { + margin-right: 10px; +} +#notification-close, +#notification-close-header { + min-width: 23px; + min-height: 23px; + border-radius: apply(radius-full); +} +#notification-close:hover { + background-color: alpha(@bg-a80, 0.8); + min-width: 23px; + min-height: 23px; + border-radius: apply(radius-full); +} +#notification-close-summery:hover .notification-close-header button { + background-color: transparent; +} diff --git a/src/styles/notification/center_stack.css b/src/styles/notification/center_stack.css new file mode 100644 index 0000000..be262d4 --- /dev/null +++ b/src/styles/notification/center_stack.css @@ -0,0 +1,97 @@ +/* Expandable notification group styles */ +#notification-group { + margin: 4px 0; +} + +/* Single notification (no stacking) */ +#single-notification-content { + background-color: @bg-a50; + border: 1.5px solid @bg-a90; + border-radius: apply(radius-md); + padding: 12px; + transition: all apply(transition-medium) ease; +} + +#single-notification-content:hover { + background-color: @fg-a10; +} + +/* Stacked notification container */ +#notification-stack-container { + background-color: transparent; + margin: 8px 0; +} + +/* Bottom shadow layer (deepest) - offset to show stacking from below */ +#stack-shadow-bottom { + background-color: @bg-a50; + border-top: 1px solid @bg-a90; + border-radius: apply(radius-md); + opacity: 1; + min-height: 16px; + margin-left: 20px; + margin-right: -4px; + margin-bottom: -10px; +} + +/* Middle shadow layer */ +#stack-shadow-middle { + background-color: @bg-a50; + + border-top: 1px solid @bg-a90; + border-radius: apply(radius-md); + opacity: 1; + min-height: 20px; + margin-left: 10px; + margin-right: -2px; + margin-bottom: -14px; +} + +/* Main notification content (top layer) */ +#stack-main-notification { + background-color: @bg-a50; + + border: 1.2px solid @bg-a90; + border-radius: apply(radius-md); + padding: 12px; + transition: all apply(transition-medium) ease; +} + +/* Hover effects for stacked notifications */ +#notification-stack-container:hover #stack-main-notification { + background-color: @fg-a10; +} + +#notification-stack-container:hover #stack-shadow-middle { + opacity: 0.7; +} + +#notification-stack-container:hover #stack-shadow-bottom { + opacity: 0.5; +} + +/* Collapsed notification state */ +#notification-content-collapsed { + background-color: @bg-a50; + border: 1px solid @bg-a90; + border-radius: apply(radius-md); + padding: 12px; + margin: 2px 0; + transition: all apply(transition-medium) ease; +} + +#notification-content-collapsed:hover { + background-color: @fg-a10; +} + +/* Notification count badge */ +#notification-count-label { + background-color: @fg-a20; + color: @fg-a80; + border-radius: 10px; + padding: 2px 6px; + font-size: apply(font-2xs); + font-weight: 500; + min-width: 16px; +} + diff --git a/src/styles/notification/center_stacked_items.css b/src/styles/notification/center_stacked_items.css new file mode 100644 index 0000000..0b30443 --- /dev/null +++ b/src/styles/notification/center_stacked_items.css @@ -0,0 +1,37 @@ +/* Stacked notification group styles */ +.stacked-notification-group { + margin: 4px 0; +} + +.stacked-notification-container { +} + +.stacked-notification-item { + background-color: @bg-a50; + border: 1px solid @bg-a90; + border-radius: apply(radius-md); + transition: all apply(transition-slow) cubic-bezier(0.25, 0.46, 0.45, 0.94); +} + +#notif-clear-btn { + border-radius: 10px; + font-size: apply(font-sm); + padding: 2px; +} + +#notif-clear-btn:hover { + background-color: var(--surface-bright); +} + +#stacked-notification-item:hover { + background-color: @fg-a10; +} + +/* Stack count indicator */ +#stack-count-indicator { + font-size: apply(font-2xs); + color: @fg-a70; + margin: 2px 8px; + font-weight: 500; +} + diff --git a/src/styles/notification/index.css b/src/styles/notification/index.css new file mode 100644 index 0000000..202f78c --- /dev/null +++ b/src/styles/notification/index.css @@ -0,0 +1,12 @@ +/* Notification styles */ +@import url("notification/notification_base.css"); +@import url("notification/notification_buttons.css"); +@import url("notification/notification_content.css"); +@import url("notification/notification_close.css"); + +/* Notification Center styles */ +@import url("notification/center_base.css"); +@import url("notification/center_stack.css"); +@import url("notification/center_expanded.css"); +@import url("notification/center_stacked_items.css"); +@import url("notification/center_overrides.css"); diff --git a/src/styles/notification/notification_base.css b/src/styles/notification/notification_base.css new file mode 100644 index 0000000..0ab4ac5 --- /dev/null +++ b/src/styles/notification/notification_base.css @@ -0,0 +1,9 @@ +#notification { + padding: 10px; + background-color: @bg-a50; + border-radius: apply(radius-sm); + margin-top: 10px; + margin-right: 10px; + /* margin: 5px; */ +} + diff --git a/src/styles/notification/notification_buttons.css b/src/styles/notification/notification_buttons.css new file mode 100644 index 0000000..52e353e --- /dev/null +++ b/src/styles/notification/notification_buttons.css @@ -0,0 +1,27 @@ +#notification-close-button { + background-color: alpha(@fg-a40, 0.3); + border-radius: apply(radius-sm); +} +#notification-close-button:hover { + background-color: @primary-a90; +} + +#notification-action-buttons button { + background-color: alpha(@fg-a40, 0.3); + padding: 4px; + border-radius: apply(radius-sm); + transition: background-color apply(transition-fast); +} + +#notification-action-buttons button:hover { + background-color: @primary-a90; +} + +#notification-action-buttons button:active { + background-color: var(--primary); +} + +#notification-action-buttons button:active #button-label { + color: var(--shadow); +} + diff --git a/src/styles/notification/notification_close.css b/src/styles/notification/notification_close.css new file mode 100644 index 0000000..1ddd16d --- /dev/null +++ b/src/styles/notification/notification_close.css @@ -0,0 +1,24 @@ +#notif-close-button { + background-color: var(--surface); + border-radius: apply(radius-lg); + padding: 4px; + transition: background-color apply(transition-fast); +} + +#notif-close-button:hover, +#notif-close-button:focus { + background-color: var(--surface-bright); +} + +#notif-close-button:active { + background-color: var(--red-dim); +} + +#notif-close-label { + color: var(--red-dim); + font-size: 20px; +} + +#notif-close-button:active #notif-close-label { + color: var(--shadow); +} diff --git a/src/styles/notification/notification_content.css b/src/styles/notification/notification_content.css new file mode 100644 index 0000000..28fc7cd --- /dev/null +++ b/src/styles/notification/notification_content.css @@ -0,0 +1,28 @@ +#notification-icon { + border-radius: apply(radius-lg); +} + +#notification-image { + border-radius: apply(radius-lg); + color: var(--on-surface); +} + +#notification-summary, +#button-label { +} + +#notification-summary { + font-weight: bold; + font-size: apply(font-lg); + /* color: var(--primary); */ +} + +#notification-app-name { + color: var(--outline); + font-weight: bold; +} + +#action-button { + margin-top: 8px; +} + diff --git a/src/styles/todo.css b/src/styles/todo.css deleted file mode 100644 index e69de29..0000000 diff --git a/src/styles/about.css b/src/styles/widgets/about.css similarity index 64% rename from src/styles/about.css rename to src/styles/widgets/about.css index 3d4e8a0..826527c 100644 --- a/src/styles/about.css +++ b/src/styles/widgets/about.css @@ -1,17 +1,17 @@ #about-menu { - background-color: alpha(#000, 0.34); + background-color: @bg-a50; box-shadow: - inset 0 -0.5px 0 0.5px alpha(#555, 0.7), - inset 0 0.5px 0 0.5px alpha(#777, 0.7); - border: 1px solid @border-subtle; + inset 0 -0.5px 0 0.5px alpha(@bg-a90, 0.7), + inset 0 0.5px 0 0.5px @outline-a70; + border: 1px solid @outline-a30; border-top: none; border-radius: 1.25rem; padding: 2rem; } #about-options { - background-color: alpha(#333, 0.9); + background-color: @surface-bright-a90; border-radius: apply(radius-md); padding: 2rem; } @@ -25,12 +25,12 @@ padding: 1rem; } #vendor-label { - color: #999999; + color: @fg-a40; margin-top: -1rem; } #info-label { - color: #888888; + color: @fg-a60; } #about-info-title-box { padding-left: 4rem; @@ -43,9 +43,9 @@ } #about-date-label { - font-size: 11px; + font-size: apply(font-xs); margin: 0px; - color: #ddd; + color: @text; font-weight: 400; margin-bottom: 2rem; } @@ -53,26 +53,26 @@ #about-chip-title-label, #about-so-title-label, #about-mem-title-label { - font-size: 12px; + font-size: apply(font-sm); margin: 0px; margin-right: 10px; font-weight: 500; } #more-info-button { - background-color: #888888; + background-color: @fg-a40; border-radius: apply(radius-xs); padding: 0px 10px; margin: 1px 2px; - transition: all 200ms ease-in-out; + transition: all apply(transition-medium) ease-in-out; } #more-info-button:hover { - background-color: rgb(72, 130, 255); + background-color: @primary; } #more-info-button label { - font-size: 12px; + font-size: apply(font-sm); margin: 0px; font-weight: 400; - color: @text-main; + color: @foreground; } diff --git a/src/styles/widgets.css b/src/styles/widgets/desktop-widgets.css similarity index 54% rename from src/styles/widgets.css rename to src/styles/widgets/desktop-widgets.css index 4f6e791..028a6c3 100644 --- a/src/styles/widgets.css +++ b/src/styles/widgets/desktop-widgets.css @@ -4,7 +4,7 @@ min-height: 170px; border-radius: apply(radius-lg); transition: all apply(transition-slow); - background: #202020; + background: @surface; } /* Base Weather Layout */ @@ -13,7 +13,7 @@ } #city { - color: rgba(255, 255, 255, 0.85); + color: @fg-a85; font-weight: 600; font-size: 18px; } @@ -31,7 +31,7 @@ } #condition { - font-size: 16px; + font-size: apply(font-lg); font-weight: 600; color: white; } @@ -39,56 +39,56 @@ #feels-like { font-weight: 500; font-size: 15px; - color: rgba(255, 255, 255, 0.8); + color: @fg-a80; } /* Weather Condition Gradients */ .weather-clear { - background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); + background: linear-gradient(135deg, @primary 0%, @cyan 100%); } .weather-mostly-clear { - background: linear-gradient(135deg, #439cfb 0%, #6bc1f9 100%); + background: linear-gradient(135deg, @primary 0%, @primary 100%); } .weather-partly-cloudy { - background: linear-gradient(135deg, #6a85b6 0%, #bac8e0 100%); + background: linear-gradient(135deg, @outline 0%, #bac8e0 100%); } .weather-overcast { - background: linear-gradient(135deg, #485563 0%, #29323c 100%); + background: linear-gradient(135deg, @bg-a80 0%, @bg-a80 100%); } .weather-fog { - background: linear-gradient(135deg, #757f9a 0%, #d7dde8 100%); + background: linear-gradient(135deg, @outline 0%, @foreground 100%); } .weather-light-rain { - background: linear-gradient(135deg, #4b6cb7 0%, #182848 100%); + background: linear-gradient(135deg, @on-primary 0%, @bg-a90 100%); } .weather-rain { - background: linear-gradient(135deg, #2b5876 0%, #4e4376 100%); + background: linear-gradient(135deg, @bg-a70 0%, @on-tertiary 100%); } .weather-heavy-rain { - background: linear-gradient(135deg, #141e30 0%, #243b55 100%); + background: linear-gradient(135deg, @surface 0%, @bg-a90 100%); } .weather-snow, .weather-heavy-snow { - background: linear-gradient(135deg, #83a4d4 0%, #b6fbff 100%); + background: linear-gradient(135deg, @secondary 0%, @cyan 100%); } .weather-storm { - background: linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%); + background: linear-gradient(135deg, @background 0%, @surface-bright 50%, @outline 100%); } /* # */ /* Calendar Widget */ #calendar-box-widget { - background: linear-gradient(to bottom, #202020, #141414); + background: linear-gradient(to bottom, @surface, @background); margin: 5px 20px 20px 10px; min-width: 170px; min-height: 170px; @@ -100,9 +100,9 @@ } #calendar-month { - font-size: 16px; + font-size: apply(font-lg); font-weight: 600; - color: var(--blue-dim); + color: @primary; margin-bottom: 6px; } @@ -111,43 +111,43 @@ } #calendar-day-header { - font-size: 12px; + font-size: apply(font-sm); font-weight: 600; - color: @text-main; + color: @foreground; min-width: 18px; min-height: 10px; } #calendar-day-header-weekend { - font-size: 12px; + font-size: apply(font-sm); font-weight: 600; - color: #8e8d93; + color: @fg-a50; min-width: 18px; min-height: 10px; } #calendar-day { - font-size: 12px; + font-size: apply(font-sm); margin: 1.4px 0px 1.4px 0px; font-weight: 500; - color: @text-main; + color: @foreground; min-width: 18px; min-height: 10px; } #calendar-day-weekend { - font-size: 12px; + font-size: apply(font-sm); font-weight: 500; - color: #8e8d93; + color: @fg-a50; min-width: 18px; min-height: 16px; } #calendar-day-today { - font-size: 12px; + font-size: apply(font-sm); font-weight: 700; - color: #191919; - background-color: var(--blue-dim); + color: @foreground; + background-color: @primary; border-radius: apply(radius-full); min-width: 18px; min-height: 16px; @@ -174,12 +174,12 @@ padding: 5px; margin-top: 10px; font-size: 30px; - color: alpha(@text-main, 0.9); + color: @fg-a90; font-weight: 600; } #date label { - color: alpha(@text-main, 0.9); + color: @fg-a90; margin-top: -10px; font-size: 90px; @@ -187,11 +187,11 @@ } #day label { - color: alpha(var(--blue-dim), 0.9); + color: alpha(@primary, 0.9); } #date-container { - background: linear-gradient(to bottom, #202020, #141414); + background: linear-gradient(to bottom, @surface, @background); margin: 5px 10px 20px 5px; min-width: 170px; min-height: 170px; @@ -200,7 +200,7 @@ /* System Info Widget CSS */ #info-box-widget { - background: linear-gradient(to bottom, #202020, #141414); + background: linear-gradient(to bottom, @surface, @background); margin: 5px 5px 5px 5px; min-width: 170px; min-height: 170px; @@ -214,45 +214,46 @@ #progress-label { font-weight: 600; - font-size: 13px; + font-size: apply(font-md); } #progress { - border: solid 8px var(--blue-dim); - color: alpha(#aaaaaa, 0.7); + background-color: transparent; + border: solid 8px @primary-a20; + color: @foreground; /* Filled progress as solid white/foreground */ } /* Color indicators for memory usage */ #used-color-indicator { - color: var(--blue-dim); - font-size: 10px; + color: @primary; + font-size: apply(font-2xs); font-weight: 900; } #free-color-indicator { - color: #7c7c7c; - font-size: 10px; + color: @outline; + font-size: apply(font-2xs); font-weight: 900; } #temp-color-indicator { - color: var(--blue-dim); - font-size: 10px; + color: @primary; + font-size: apply(font-2xs); font-weight: 900; } /* Info text styling */ #info-text { - font-size: 13px; + font-size: apply(font-md); font-weight: 500; - color: #8e8e8e; + color: @fg-a60; min-width: 32px; } #info-value { - font-size: 12px; + font-size: apply(font-sm); font-weight: 600; - color: @text-main; + color: @foreground; } #info-container { @@ -263,47 +264,11 @@ #info { margin-left: -13px; margin-top: 5px; - font-size: 14px; + font-size: apply(font-base); font-weight: 600; } #component-name { - font-size: 10px; -} -/* FlatScale styling */ -.flat-scale { - margin: 4px 0px; + font-size: apply(font-2xs); } -.flat-scale slider { - /* background: linear-gradient(135deg, @text-main 0%, #f0f1f2 100%); */ - background-color: white; - min-height: 24px; - min-width: 24px; - border-radius: apply(radius-full); -} - - -.flat-scale trough { - background-color: alpha(#666, 0.5); - min-height: 25px; - border-radius: apply(radius-full); - border: 1px solid alpha(#444, 0.3); -} -.flat-scale highlight { - background-color: alpha(@text-main, 0.8); - min-height: 25px; - border-radius: apply(radius-full); -} - -/* SmoothSwitch styling */ -.smooth-switch { - min-width: 44px; - min-height: 24px; - background-color: alpha(#666, 0.5); - color: @text-main; -} -.smooth-switch.checked { - background-color: alpha(@text-main, 0.8); - color: @background; -} diff --git a/src/styles/dropdown.css b/src/styles/widgets/dropdown.css similarity index 67% rename from src/styles/dropdown.css rename to src/styles/widgets/dropdown.css index f788bbf..02d15bd 100644 --- a/src/styles/dropdown.css +++ b/src/styles/widgets/dropdown.css @@ -6,9 +6,9 @@ } #dropdown-options { - background-color: @shadow-color; - box-shadow: inset 0 0 0 1px alpha(@text-dim, 0.4); - border: 1px solid @border-strong; + background-color: @bg-a50; + box-shadow: inset 0 0 0 1px alpha(@fg-a40, 0.4); + border: 1px solid @outline-a40; border-radius: 0.75rem; padding: 0.5rem; } @@ -22,15 +22,19 @@ } #dropdown-option:hover { + color: @on-primary; transition: all 20ms ease-in-out; - color: #222; - background-color: alpha(#2369ff, 1); + background-color: @primary; +} + +#dropdown-option:hover #dropdown-option-label { + color: @on-primary; } #dropdown-option-label { - font-size: 13px; + font-size: apply(font-md); margin: 0px; - color: @text-main; + color: @foreground; font-weight: 400; } @@ -39,12 +43,12 @@ } #dropdown-option:hover #dropdown-option-keybind { - color: @text-main; + color: @on-primary; } #dropdown-option-keybind { font-weight: 500; - color: #aaa; + color: @fg-a80; } /* Divider */ @@ -56,6 +60,6 @@ margin: 2px; } #dropdown-divider { - border-bottom: 1px solid alpha(#aaa, 0.3); + border-bottom: 1px solid alpha(@fg-a80, 0.3); margin: 2px 0; } diff --git a/src/styles/widgets/index.css b/src/styles/widgets/index.css new file mode 100644 index 0000000..d811204 --- /dev/null +++ b/src/styles/widgets/index.css @@ -0,0 +1,5 @@ +@import url("widgets/dropdown.css"); +@import url("widgets/about.css"); +@import url("widgets/other.css"); +@import url("widgets/desktop-widgets.css"); +@import url("widgets/tray.css"); diff --git a/src/styles/widgets/other.css b/src/styles/widgets/other.css new file mode 100644 index 0000000..4c1a485 --- /dev/null +++ b/src/styles/widgets/other.css @@ -0,0 +1,39 @@ +/* FlatScale styling */ +.flat-scale { + margin: 4px 0px; +} + +.flat-scale slider { + /* background: linear-gradient(135deg, @foreground 0%, @foreground 100%); */ + background-color: white; + min-height: 24px; + min-width: 24px; + border-radius: apply(radius-full); +} + + +.flat-scale trough { + background-color: alpha(@bg-a80, 0.5); + min-height: 25px; + border-radius: apply(radius-full); + border: 1px solid alpha(@bg-a75, 0.3); +} + +.flat-scale highlight { + background-color: @fg-a80; + min-height: 25px; + border-radius: apply(radius-full); +} + +/* SmoothSwitch styling */ +.smooth-switch { + min-width: 44px; + min-height: 24px; + background-color: @bg-a80; + color: @foreground; +} + +.smooth-switch.checked { + background-color: @fg-a80; + color: @foreground; +} diff --git a/src/styles/tray.css b/src/styles/widgets/tray.css similarity index 59% rename from src/styles/tray.css rename to src/styles/widgets/tray.css index dbeb333..8f1dccd 100644 --- a/src/styles/tray.css +++ b/src/styles/widgets/tray.css @@ -1,7 +1,7 @@ tooltip { - border: #474747 solid 1px; + border: @bg-a90 solid 1px; border-radius: 0.75rem; - background-color: alpha(@text-main, 0.05); + background-color: @bg-a50; } @keyframes tooltipShow { @@ -20,17 +20,17 @@ tooltip > * { } menu { - border: #474747 solid 1px; + border: @bg-a90 solid 1px; border-radius: 0.75rem; - transition: all 100ms ease-in-out; - background-color: alpha(@text-main, 0.05); + transition: all apply(transition-xfast) ease-in-out; + background-color: @bg-a50; } menu > menuitem { padding: 5px 10px; margin: 1px 2px; - font-size: 13px; - border-bottom: #474747 solid 1px; + font-size: apply(font-md); + border-bottom: @bg-a90 solid 1px; } menu > menuitem:last-child { @@ -38,13 +38,13 @@ menu > menuitem:last-child { } menu > menuitem:hover { transition: all 20ms ease-in-out; - font-size: 13px; + font-size: apply(font-md); border-radius: apply(radius-xs); - color: #222; - background-color: alpha(#2369ff, 1); + color: @on-primary; + background-color: @primary; } menu > menuitem:hover > label { - color: @text-main; + color: @on-primary; font-weight: 400; } diff --git a/src/styles/battery-widget.css b/src/styles/window/battery.css similarity index 64% rename from src/styles/battery-widget.css rename to src/styles/window/battery.css index c042cd2..95688d2 100644 --- a/src/styles/battery-widget.css +++ b/src/styles/window/battery.css @@ -1,35 +1,41 @@ #battery-window { - margin: 6px; - /* background-color: alpha(@text-main, 0.09); */ - border: 1px solid @border-subtle; - box-shadow: inset 0 0 200px 0 @border-subtle; + background-color: @bg-a50; border-radius: apply(radius-sm); } +#battery-control-window { + margin: 6px; + background-color: @bg-a50; + border: 1px solid @outline-a30; + box-shadow: inset 0 0 200px 0 @outline-a30; + border-radius: apply(radius-sm); +} + + #battery-widget { - background: rgba(0, 0, 0, 0); + background: transparent; padding-left: 5px; padding-right: 5px; } .battery-main-title { - font-size: 16px; + font-size: apply(font-lg); font-weight: bold; - color: rgba(255, 255, 255, 0.95); + color: @fg-a95; margin: 6px 10px; } .battery-power-source { font-size: 0.9em; font-weight: 500; - color: rgba(255, 255, 255, 0.8); + color: @fg-a80; margin: 0px 12px; } .battery-section-title { font-size: 0.9em; font-weight: 500; - color: rgba(255, 255, 255, 0.9); + color: @fg-a90; margin: 8px 12px 4px 12px; } @@ -39,18 +45,18 @@ } .battery-status-section { - /* background: rgba(255, 255, 255, 0.06); */ + /* background: @fg-a06; */ /* border-radius: apply(radius-md); */ padding: 2px; /* margin: 8px 0; */ - /* border: 1px solid rgba(255, 255, 255, 0.08); */ + /* border: 1px solid @fg-a08; */ } .battery-percentage { - font-size: 16px; + font-size: apply(font-lg); margin-right: 8px; font-weight: 500; - color: rgba(255, 255, 255, 0.95); + color: @fg-a95; } #energy-mode-button-clickable { @@ -62,7 +68,11 @@ } #energy-mode-button-clickable:hover { - background: rgba(255, 255, 255, 0.1); + background: @fg-a10; +} + +#energy-mode-button-clickable:hover #energy-mode-icon { + background-color: @fg-a25; } #energy-mode-icon { @@ -72,31 +82,31 @@ margin-bottom: -2px; margin-right: 6px; margin-left: -6px; - background-color: rgba(255, 255, 255, 0.1); - color: rgba(255, 255, 255, 0.7); + background-color: @fg-a10; + color: @fg-a70; } #energy-mode-icon.connected { - background-color: @accent; - color: @text-main; + background-color: @primary; + color: @foreground; } .battery-power-source { - font-size: 12px; + font-size: apply(font-sm); margin-bottom: -4px; - color: alpha(@text-main, 0.5); + color: @fg-a50; } .battery-section-title { - font-size: 14px; - color: alpha(@text-main, 0.7); + font-size: apply(font-base); + color: @fg-a70; margin: 2px 0 0 8px; } .battery-power-mode { - font-size: 13px; + font-size: apply(font-md); } .battery-settings-button:hover { margin-top: -5px; - background: alpha(@text-main, 0.1); + background: @fg-a10; min-height: 30px; border-radius: apply(radius-sm); } @@ -107,7 +117,7 @@ } .battery-settings-button label { font-weight: 500; - color: alpha(@text-main, 1); + color: @foreground; } #energy-mode-button:first-child { margin-top: 0; @@ -115,12 +125,12 @@ #energy-mode-button { margin-top: -8px; margin-bottom: 4px; - color: rgba(255, 255, 255, 0.85); + color: @fg-a85; } .gamemode-button { - font-size: 12px; + font-size: apply(font-sm); margin-left: -6px; - color: rgba(255, 255, 255, 0.85); + color: @fg-a85; } #game-mode-button { @@ -140,18 +150,22 @@ } #game-mode-button-clickable:hover { - background: rgba(255, 255, 255, 0.1); + background: @fg-a10; +} + +#game-mode-button-clickable:hover #game-mode-icon { + background-color: @fg-a25; } #game-mode-icon { border-radius: apply(radius-full); padding: 4px; margin-right: 8px; - background-color: rgba(255, 255, 255, 0.1); - color: rgba(255, 255, 255, 0.7); + background-color: @fg-a10; + color: @fg-a70; } #game-mode-icon.connected { - background-color: @accent; - color: @text-main; + background-color: @primary; + color: @foreground; } diff --git a/src/styles/dock.css b/src/styles/window/dock.css similarity index 77% rename from src/styles/dock.css rename to src/styles/window/dock.css index b2701df..c34fe37 100644 --- a/src/styles/dock.css +++ b/src/styles/window/dock.css @@ -1,5 +1,5 @@ #dock { - background-color: @bg; + background-color: @bg-a50; padding: 4px 4px; margin: 4px 4px; border: none; @@ -8,11 +8,11 @@ } #dock.shown { - transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1); + transition: all apply(transition-medium) cubic-bezier(0.165, 0.84, 0.44, 1); } #dock_item_main_container { - transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1); + transition: all apply(transition-medium) cubic-bezier(0.165, 0.84, 0.44, 1); } #dock_item.shown:hover #dock_item_main_container { @@ -42,13 +42,13 @@ #dock_item.shown.activated #dock_item_icon { opacity: 1; - /* background-color: #01458e; */ + /* background-color: @on-primary; */ } /* #dock_item.shown.activated #dock_item_indicator { */ /* min-width: 4px; */ /* margin-top: 8px; */ -/* background-color: #aac7ff; */ +/* background-color: @primary; */ /* } */ #dock_item_icon { @@ -64,7 +64,7 @@ /* } */ #dock_item { - transition: margin 0.25s cubic-bezier(0.25, 0.1, 0.25, 1); + transition: margin apply(transition-slower) cubic-bezier(0.25, 0.1, 0.25, 1); } #dock_item.shown { @@ -77,12 +77,12 @@ } .dock_separator { - transition: all 0.25s cubic-bezier(0.25, 0.1, 0.25, 1); + transition: all apply(transition-slower) cubic-bezier(0.25, 0.1, 0.25, 1); min-width: 1.5px; min-height: 50px; margin: 0px 4px; - border-radius: 2px; - background-color: @accent; + border-radius: apply(radius-2xs); + background-color: @primary; } .dock_separator.hidden { diff --git a/src/styles/window/index.css b/src/styles/window/index.css new file mode 100644 index 0000000..e5c90ea --- /dev/null +++ b/src/styles/window/index.css @@ -0,0 +1,8 @@ +@import url("window/panel.css"); +@import url("window/battery.css"); +@import url("window/settings.css"); +@import url("window/lock.css"); +@import url("window/dock.css"); +@import url("window/switcher.css"); +@import url("window/osd.css"); + diff --git a/src/styles/lock.css b/src/styles/window/lock.css similarity index 86% rename from src/styles/lock.css rename to src/styles/window/lock.css index d3c8c71..c9db98d 100644 --- a/src/styles/lock.css +++ b/src/styles/window/lock.css @@ -11,14 +11,14 @@ transition: all 0.7s ease-in-out; } #password-entry { - background-color: alpha(@text-main, 0.4); + background-color: @fg-a40; border-radius: apply(radius-xl); color: white; min-width: 220px; min-height: 40px; padding-right: 5px; padding-left: 5px; - font-size: 14px; + font-size: apply(font-base); font-weight: 500; transition: all 0.7s ease-in-out; } @@ -33,7 +33,7 @@ } #lock-date label { background-color: transparent; - color: alpha(@text-main, 0.6); + color: @fg-a60; border: none; font-size: 30px; margin-top: 80px; @@ -41,7 +41,7 @@ } #lock-clock label { background-color: transparent; - color: alpha(@text-main, 0.6); + color: @fg-a60; border: none; font-size: 120px; margin-top: -20px; @@ -61,6 +61,6 @@ } #unlock-text { font-size: 15px; - color: alpha(@text-main, 0.6); + color: @fg-a60; font-weight: bold; } diff --git a/src/styles/osd.css b/src/styles/window/osd.css similarity index 76% rename from src/styles/osd.css rename to src/styles/window/osd.css index f23d697..49b1801 100644 --- a/src/styles/osd.css +++ b/src/styles/window/osd.css @@ -1,5 +1,5 @@ #osd-container { - background-color: alpha(@text-main, 0.09); + background-color: @bg-a50; padding: 12px 20px; margin: 70px; min-width: 180px; @@ -15,14 +15,14 @@ background: var(--surface); min-height: 15px; margin-right: 4px; - transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275); + transition: all apply(transition-slower) cubic-bezier(0.175, 0.885, 0.32, 1.275); border-radius: apply(radius-lg); } #osd-container trough highlight { border-radius: apply(radius-full); background: var(--primary); - transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275); + transition: all apply(transition-slower) cubic-bezier(0.175, 0.885, 0.32, 1.275); } #osd-container.muted trough highlight, @@ -34,4 +34,4 @@ #osd-image.muted { color: var(--outline); -} \ No newline at end of file +} diff --git a/src/styles/panel.css b/src/styles/window/panel.css similarity index 63% rename from src/styles/panel.css rename to src/styles/window/panel.css index edb2f19..23ce2e2 100644 --- a/src/styles/panel.css +++ b/src/styles/window/panel.css @@ -1,5 +1,5 @@ #panel { - background-color: @bg; + background-color: alpha(@background, 0.50); margin: -4px 0; transition: all 120ms ease-in-out; } @@ -23,7 +23,8 @@ #global-menu:hover, #global-menu.active, #workspaces>button:hover { - background-color: @hover; + background-color: @primary; + color: @on-primary; } #panel-button, @@ -57,17 +58,34 @@ padding: 0 16px; border-radius: apply(radius-sm); min-width: 12px; - border: 1px solid @border; + border: 1px solid @outline; } #workspaces>button.active { - background-color: @active; + background-color: alpha(@foreground, 0.4); } #workspaces>button.active label { - color: var(--shadow); + color: @foreground; } #workspaces>button.urgent { - background-color: @urgent; + background-color: alpha(@error, 0.7); +} + + +#panel-button:hover *, +#panel-button.active *, +#battery-button:hover *, +#battery-button.active *, +#network-button:hover *, +#network-button.active *, +#bt-button:hover *, +#bt-button.active *, +#tray-button:hover *, +#tray-button.active *, +#global-menu:hover *, +#global-menu.active *, +#workspaces>button:hover * { + color: @on-primary; } diff --git a/src/styles/settings.css b/src/styles/window/settings.css similarity index 78% rename from src/styles/settings.css rename to src/styles/window/settings.css index 372f746..2b225b0 100644 --- a/src/styles/settings.css +++ b/src/styles/window/settings.css @@ -11,7 +11,7 @@ } #settings-sidebar { - background-color: rgba(0, 0, 0, 0.05); + background-color: @bg-a95; padding: 20px 10px; min-width: 200px; border-right: 1px solid var(--border); @@ -24,11 +24,11 @@ } #settings-sidebar-button:hover { - background-color: rgba(255, 255, 255, 0.05); + background-color: @fg-a05; } #settings-sidebar-button Label { - font-size: 14px; + font-size: apply(font-base); font-weight: 500; } @@ -54,7 +54,7 @@ #settings-row { padding: 12px 15px; border-radius: apply(radius-sm); - background-color: rgba(255, 255, 255, 0.03); + background-color: @fg-a03; margin-bottom: 2px; } @@ -64,16 +64,16 @@ } #settings-row-description { - font-size: 12px; + font-size: apply(font-sm); color: var(--foreground-dim); } #settings-switch { - background-color: rgba(255, 255, 255, 0.1); + background-color: @fg-a10; padding: 6px 12px; border-radius: apply(radius-xl); min-width: 50px; - transition: all 0.2s ease; + transition: all apply(transition-medium) ease; } #settings-switch.active { @@ -82,7 +82,7 @@ } #settings-entry { - background-color: rgba(255, 255, 255, 0.05); + background-color: @fg-a05; padding: 8px 12px; border-radius: apply(radius-xs); border: 1px solid var(--border); @@ -95,7 +95,7 @@ } #settings-combo { - background-color: rgba(255, 255, 255, 0.05); + background-color: @fg-a05; padding: 4px 8px; border-radius: apply(radius-xs); border: 1px solid var(--border); @@ -104,7 +104,7 @@ } #settings-combo:hover { - background-color: rgba(255, 255, 255, 0.1); + background-color: @fg-a10; } #settings-list-tags { @@ -112,7 +112,7 @@ } #settings-list-tag { - background-color: rgba(255, 255, 255, 0.08); + background-color: @fg-a08; border-radius: apply(radius-md); padding: 4px 10px; margin-right: 5px; @@ -120,16 +120,16 @@ } #settings-list-tag:hover { - background-color: rgba(255, 255, 255, 0.15); + background-color: @fg-a15; } #settings-list-tag Label { - font-size: 13px; + font-size: apply(font-md); } #settings-list-tag-close { color: var(--foreground-dim); - font-size: 10px; + font-size: apply(font-2xs); margin-left: 3px; } @@ -138,9 +138,9 @@ } #settings-list-entry { - background-color: rgba(255, 255, 255, 0.03); + background-color: @fg-a03; border: 1px dashed var(--border); padding: 6px 12px; border-radius: apply(radius-xs); - font-size: 13px; + font-size: apply(font-md); } \ No newline at end of file diff --git a/src/styles/switcher.css b/src/styles/window/switcher.css similarity index 61% rename from src/styles/switcher.css rename to src/styles/window/switcher.css index 98ea9e2..16f9819 100644 --- a/src/styles/switcher.css +++ b/src/styles/window/switcher.css @@ -1,5 +1,5 @@ #application-switcher-container { - background-color: var(--shadow); + background-color: @bg-a50; border-radius: apply(radius-xl); padding: 24px; } @@ -12,7 +12,7 @@ #switcher-button { padding: 12px; min-width: 100px; - transition: all 0.2s ease; + transition: all apply(transition-medium) ease; } #window-button { @@ -26,7 +26,7 @@ .switcher-selection-label { color: var(--foreground); - font-size: 16px; + font-size: apply(font-lg); font-weight: 600; margin-top: 8px; } @@ -34,7 +34,7 @@ .switcher-workspace-label { color: var(--foreground); opacity: 0.6; - font-size: 12px; + font-size: apply(font-sm); margin-top: 4px; } @@ -45,4 +45,16 @@ #window-row { padding: 0px; -} \ No newline at end of file +} + +#window-button:hover, +#window-button.active { + background-color: @primary; +} + +#window-button:hover .switcher-selection-label, +#window-button.active .switcher-selection-label, +#window-button:hover .switcher-workspace-label, +#window-button.active .switcher-workspace-label { + color: @on-primary; +}