.dock-surface { padding: 10px 14px; border-radius: 12px; border: none; background: #07090b; /*backdrop-filter: blur(20px);*/ /*box-shadow: 0 8px 32px rgba(0, 0, 0, 0.37), inset 0 1px 0 rgba(255, 255, 255, 0.2); */ } .dock-item, .picker-button { min-width: 48px; min-height: 48px; border-radius: 14px; border: 0px solid rgba(255, 255, 255, 1); background: #343849; transition: all 0.2s ease; } .dock-item:hover, .picker-button:hover { background: #1f2830; border-color: rgba(255, 255, 255, 0.25); transform: scale(1.05); border-radius: 14px; } .dock-item.is-active { background: #00fed4; border-color: #00fed4; /*box-shadow: 0 0 15px rgba(120, 180, 255, 0.3); */ } .dock-indicator { min-width: 6px; min-height: 6px; border-radius: 999px; background: #1f2830; } .dock-indicator.is-active { min-width: 20px; background: #00fed4; /*linear-gradient(90deg, #7ec8e3, #a8d5e5);*/ } /* ============================================================ * PICKER POPUP STYLING (applies to all themes) * ============================================================ */ .picker { padding: 16px; background: rgba(30, 30, 35, 0.9); border-radius: 16px; border: 0px solid rgba(255, 255, 255, 0.1); } .picker-row { padding: 12px 16px; border-radius: 12px; border: 1px solid transparent; background: rgba(255, 255, 255, 0.03); transition: all 0.15s ease; } .picker-row:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.15); } .picker-row-title { font-weight: 600; font-size: 14px; } .picker-row-subtitle { font-size: 12px; opacity: 0.5; } .picker-empty { padding: 40px; font-size: 14px; opacity: 0.5; } /* ============================================================ * CONTEXT MENU STYLING * ============================================================ */ .item-menu { padding: 12px; background: #1f2830; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); min-width: 200px; } .item-menu-title { font-weight: 700; font-size: 15px; padding: 4px 8px; } .item-menu-subtitle { font-size: 12px; opacity: 0.5; padding: 0 8px 8px; } .item-menu-section { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.4; padding: 8px; } .item-menu button { padding: 8px 12px; border-radius: 8px; border: none; background: rgba(255, 255, 255, 0.05); margin: 2px 0; } .item-menu button:hover { background: rgba(255, 255, 255, 0.1); } .item-menu button.is-active { background: rgba(120, 180, 255, 0.2); } /* ============================================================ * ADVANCED: Animations & Transitions * ============================================================ */ /* Smooth reveal animation */ .dock-surface { animation: dock-appear 0.2s spring; } @keyframes dock-appear { from { opacity: 0; transform: translateY(20px) scale(0.95); } to { opacity: 1; transform: translateY(0) scale(1); } } /* Bounce effect on launch */ .dock-item.is-launching { animation: launching-pulse 1s ease-in-out infinite; } @keyframes launching-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(0.95); } } /* Glow effect for active items */ .dock-item.is-active { background: #1f2830; } /* ============================================================ * UTILITY: Hide elements * ============================================================ */ /* Hide the pin button completely (alternative to settings.json) */ /* .picker-button { display: none; } */ /* Hide separators */ /* .dock-separator { display: none; } */ /* Hide hover strip (if autohide is on but you want invisible trigger) */ /* .dock-hover-strip { background: transparent; } */ /* ============================================================ * INDIVIDUAL ELEMENT REFERENCE * ============================================================ Available CSS Classes: ---------------------- - .rudo-window - Main window container - .dock-surface - The dock bar itself - .dock-item - App icons/buttons - .picker-button - "Pin an application" button - .dock-indicator - Dot below icons - .dock-separator - Line between pinned/running - .dock-hover-strip - Hover area for autohide - .is-active - Modifier: active window - .is-running - Modifier: has open windows - .is-launching - Modifier: app is launching - .is-drop-target - Modifier: drag hover state - .launch-spinner - Loading spinner - .picker - App picker popup container - .picker-row - Picker list items - .picker-row-title - App name in picker - .picker-row-subtitle - App ID in picker - .picker-empty - No results message - .item-menu - Right-click context menu - .item-menu-title - App name in menu - .item-menu-subtitle - App ID in menu - .item-menu-section - "Windows" header in menu Tips: ----- 1. Use browser DevTools (GTK Inspector) to debug live: GTK_DEBUG=interactive rudo 2. Changes to style.css are detected every 700ms and reload automatically 3. Combine multiple themes by uncommenting sections or mixing properties 4. RGBA format for transparency: rgba(R, G, B, 0.0-1.0) Example: rgba(255, 100, 50, 0.8) = orange at 80% opacity 5. Common effects: - backdrop-filter: blur(20px) // Glass effect (requires compositor) - box-shadow: 0 4px 20px rgba(0,0,0,0.3) // Soft shadow - transition: all 0.2s ease // Smooth animations - transform: scale(1.1) // Grow effect */