diff --git a/README.md b/README.md index 6e3e660..145c6c5 100644 --- a/README.md +++ b/README.md @@ -17,14 +17,15 @@ $ gsettings set org.gnome.desktop.wm.preferences button-layout '' ``` -### Dependencies +### Dependencies (and quirks) - Install based on Fedora Workstation with GNOME (makes everything easier) - Font: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/JetBrainsMono.zip -- Keyring provided by GNOME and startet in `sway(1)` +- Keyring provided by GNOME and started with `sway(1)` - `keepassxc(1)` should use `/run/user/1000/keyring/ssh` as SSH Auth Socket - Env Vars exported via `systemd` in `files/environment/.config/environment.d/envvars.conf` - `%wheel ALL=(ALL) NOPASSWD: /usr/bin/tee /sys/bus/platform/drivers/ideapad_acpi/VPC????\:??/conservation_mode` +- Brave Flags: `/usr/bin/brave-browser-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4 --enable-wayland-ime --enable-features=TouchpadOverscrollHistoryNavigation` ``` sudo dnf install \ @@ -37,6 +38,7 @@ sudo dnf install \ nextcloud keepassxc ``` +- sway fork: https://github.com/WillPower3309/swayfx - application launcher: https://github.com/philj56/tofi - notification daemon + popup: https://github.com/ErikReider/SwayNotificationCenter - screenshot: https://github.com/moverest/sway-interactive-screenshot (checked in as `files/sway/.config/sway/screenshot`) diff --git a/files/sway/.config/sway/config b/files/sway/.config/sway/config index 2f98c31..f8cd9cd 100644 --- a/files/sway/.config/sway/config +++ b/files/sway/.config/sway/config @@ -3,7 +3,7 @@ floating_modifier $mod normal ### Output configuration (swaymsg -t get_output) - # output * bg ~/cloud/images/wallpaper/wallpaper.png fill + # output * bg ~/cloud/images/wallpaper/wallpaper.png fit output * bg ~/downloads/wallpaper.png fill # output eDP-1 scale 2 @@ -113,16 +113,39 @@ bindgesture swipe:4:left focus left bindsym $mod+Shift+9 move container to workspace number 9 bindsym $mod+Shift+0 move container to workspace number 10 + # Scratchpad + bindsym $mod+minus move scratchpad + bindsym $mod+equal scratchpad show, border pixel 2 + # Layout stuff bindsym $mod+f fullscreen - bindsym $mod+Shift+space floating toggle + bindsym $mod+Shift+space floating toggle; \ + [tiling con_id=__focused__] border pixel 2; \ + [floating con_id=__focused__] border pixel 2 ### Theming font pango: JetBrainsMono Nerd Font Mono 10 for_window [title="."] title_format "%app_id" - default_border none - default_floating_border none + + hide_edge_borders --i3 smart + default_border pixel pixel 2 + default_floating_border pixel 2 + + gaps inner 6 + smart_gaps off + + # swayfx start + + blur enable + shadows enable + corner_radius 6 + layer_effects "waybar" blur enable; shadows enable; corner_radius 6 + layer_effects "launcher" blur enable; shadows enable + layer_effects "wofi" blur enable; shadows enable + + # swayfx end + bar { swaybar_command waybar } diff --git a/files/swaync/.config/swaync/style.css b/files/swaync/.config/swaync/style.css new file mode 100644 index 0000000..04f4b7b --- /dev/null +++ b/files/swaync/.config/swaync/style.css @@ -0,0 +1,342 @@ +* { + all: unset; + font-size: 14px; + font-family: "JetBrainsMono Nerd Font Mono"; + transition: 200ms; +} + +trough highlight { + background: #cdd6f4; +} + +scale trough { + margin: 0rem 1rem; + background-color: #A7C080; + min-height: 8px; + min-width: 70px; +} + +slider { + background-color: #89b4fa; +} + +.floating-notifications.background .notification-row .notification-background { + box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #A7C080; + border-radius: 12.6px; + margin: 18px; + background-color: #1e1e2e; + color: #cdd6f4; + padding: 0; +} + +.floating-notifications.background .notification-row .notification-background .notification { + padding: 7px; + border-radius: 12.6px; +} + +.floating-notifications.background .notification-row .notification-background .notification.critical { + box-shadow: inset 0 0 7px 0 #A7C080; +} + +.floating-notifications.background .notification-row .notification-background .notification .notification-content { + margin: 7px; +} + +.floating-notifications.background .notification-row .notification-background .notification .notification-content .summary { + color: #cdd6f4; +} + +.floating-notifications.background .notification-row .notification-background .notification .notification-content .time { + color: #a6adc8; +} + +.floating-notifications.background .notification-row .notification-background .notification .notification-content .body { + color: #cdd6f4; +} + +.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * { + min-height: 3.4em; +} + +.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action { + border-radius: 7px; + color: #1e1e2e; + background-color: #A7C080; + box-shadow: inset 0 0 0 1px #45475a; + margin: 7px; +} + +.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:hover { + box-shadow: inset 0 0 0 1px #45475a; + background-color: #A7C080; + color: #cdd6f4; +} + +.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:active { + box-shadow: inset 0 0 0 1px #45475a; + background-color: #74c7ec; + color: #cdd6f4; +} + +.floating-notifications.background .notification-row .notification-background .close-button { + margin: 7px; + padding: 2px; + border-radius: 6.3px; + color: #1e1e2e; + background-color: #A7C080; +} + +.floating-notifications.background .notification-row .notification-background .close-button:hover { + background-color: #eba0ac; + color: #1e1e2e; +} + +.floating-notifications.background .notification-row .notification-background .close-button:active { + background-color: #f38ba8; + color: #1e1e2e; +} + +.control-center { + box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #A7C080; + border-radius: 12.6px; + margin: 18px; + background-color: #1e1e2e; + color: #cdd6f4; + padding: 14px; +} + +.control-center .widget-title > label { + color: #cdd6f4; + font-size: 1.3em; +} + +.control-center .widget-title button { + border-radius: 7px; + color: #cdd6f4; + background-color: #A7C080; + box-shadow: inset 0 0 0 1px #45475a; + padding: 8px; +} + +.control-center .widget-title button:hover { + box-shadow: inset 0 0 0 1px #45475a; + background-color: #585b70; + color: #cdd6f4; +} + +.control-center .widget-title button:active { + box-shadow: inset 0 0 0 1px #45475a; + background-color: #74c7ec; + color: #1e1e2e; +} + +.control-center .notification-row .notification-background { + border-radius: 7px; + color: #cdd6f4; + background-color: #A7C080; + box-shadow: inset 0 0 0 1px #45475a; + margin-top: 14px; +} + +.control-center .notification-row .notification-background .notification { + padding: 7px; + border-radius: 7px; +} + +.control-center .notification-row .notification-background .notification.critical { + box-shadow: inset 0 0 7px 0 #f38ba8; +} + +.control-center .notification-row .notification-background .notification .notification-content { + margin: 7px; +} + +.control-center .notification-row .notification-background .notification .notification-content .summary { + color: #cdd6f4; +} + +.control-center .notification-row .notification-background .notification .notification-content .time { + color: #a6adc8; +} + +.control-center .notification-row .notification-background .notification .notification-content .body { + color: #cdd6f4; +} + +.control-center .notification-row .notification-background .notification > *:last-child > * { + min-height: 3.4em; +} + +.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action { + border-radius: 7px; + color: #cdd6f4; + background-color: #11111b; + box-shadow: inset 0 0 0 1px #45475a; + margin: 7px; +} + +.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:hover { + box-shadow: inset 0 0 0 1px #45475a; + background-color: #A7C080; + color: #cdd6f4; +} + +.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:active { + box-shadow: inset 0 0 0 1px #45475a; + background-color: #74c7ec; + color: #cdd6f4; +} + +.control-center .notification-row .notification-background .close-button { + margin: 7px; + padding: 2px; + border-radius: 6.3px; + color: #1e1e2e; + background-color: #eba0ac; +} + +.close-button { + border-radius: 6.3px; +} + +.control-center .notification-row .notification-background .close-button:hover { + background-color: #f38ba8; + color: #1e1e2e; +} + +.control-center .notification-row .notification-background .close-button:active { + background-color: #f38ba8; + color: #1e1e2e; +} + +.control-center .notification-row .notification-background:hover { + box-shadow: inset 0 0 0 1px #45475a; + background-color: #7f849c; + color: #cdd6f4; +} + +.control-center .notification-row .notification-background:active { + box-shadow: inset 0 0 0 1px #45475a; + background-color: #74c7ec; + color: #cdd6f4; +} + +.notification.critical progress { + background-color: #f38ba8; +} + +.notification.low progress, +.notification.normal progress { + background-color: #89b4fa; +} + +.control-center-dnd { + margin-top: 5px; + border-radius: 8px; + background: #A7C080; + border: 1px solid #45475a; + box-shadow: none; +} + +.control-center-dnd:checked { + background: #A7C080; +} + +.control-center-dnd slider { + background: #45475a; + border-radius: 8px; +} + +.widget-dnd { + margin: 0px; + font-size: 1.1rem; +} + +.widget-dnd > switch { + font-size: initial; + border-radius: 8px; + background: #A7C080; + border: 1px solid #45475a; + box-shadow: none; +} + +.widget-dnd > switch:checked { + background: #A7C080; +} + +.widget-dnd > switch slider { + background: #45475a; + border-radius: 8px; + border: 1px solid #6c7086; +} + +.widget-mpris .widget-mpris-player { + background: #A7C080; + padding: 7px; +} + +.widget-mpris .widget-mpris-title { + font-size: 1.2rem; +} + +.widget-mpris .widget-mpris-subtitle { + font-size: 0.8rem; +} + +.widget-menubar > box > .menu-button-bar > button > label { + font-size: 3rem; + padding: 0.5rem 2rem; +} + +.widget-menubar > box > .menu-button-bar > :last-child { + color: #f38ba8; +} + +.power-buttons button:hover, +.powermode-buttons button:hover, +.screenshot-buttons button:hover { + background: #A7C080; +} + +.control-center .widget-label > label { + color: #cdd6f4; + font-size: 2rem; +} + +.widget-buttons-grid { + padding-top: 1rem; +} + +.widget-buttons-grid > flowbox > flowboxchild > button label { + font-size: 2.5rem; +} + +.widget-volume { + padding-top: 1rem; +} + +.widget-volume label { + font-size: 1.5rem; + color: #74c7ec; +} + +.widget-volume trough highlight { + background: #74c7ec; +} + +.widget-backlight trough highlight { + background: #f9e2af; +} + +.widget-backlight label { + font-size: 1.5rem; + color: #f9e2af; +} + +.widget-backlight .KB { + padding-bottom: 1rem; +} + +.image { + padding-right: 0.5rem; +} diff --git a/files/tofi/.config/tofi/config b/files/tofi/.config/tofi/config index a828b9a..3e8e4cf 100644 --- a/files/tofi/.config/tofi/config +++ b/files/tofi/.config/tofi/config @@ -2,18 +2,20 @@ font-size = 12 font = JetBrainsMono NFM anchor = top width = 100% -height = 25 +height = 31 horizontal = true prompt-text = " run: " outline-width = 0 border-width = 0 -background-color = #000000 +background-color = #11111133 selection-color = #A7C080 min-input-width = 120 result-spacing = 15 -padding-top = 0 +padding-top = 6 padding-bottom = 0 padding-left = 0 padding-right = 0 -auto-accept-single = true -physical-keybindings = false \ No newline at end of file +auto-accept-single = false +physical-keybindings = false +text-cursor = false + diff --git a/files/waybar/.config/waybar/config b/files/waybar/.config/waybar/config index 4218a86..9b3954e 100755 --- a/files/waybar/.config/waybar/config +++ b/files/waybar/.config/waybar/config @@ -17,6 +17,10 @@ // If height property would be not present, it'd be calculated dynamically "height": 25, + "margin-left": 6, + "margin-right": 6, + "margin-top": 6, + "margin-bottom": 0, "modules-left": [ "sway/workspaces", @@ -48,7 +52,7 @@ // ------------------------------------------------------------------------- "battery": { - "interval": 10, + "interval": 1, "states": { "warning": 30, "critical": 15 diff --git a/files/waybar/.config/waybar/style.css b/files/waybar/.config/waybar/style.css index 83e4091..2dc8fd5 100755 --- a/files/waybar/.config/waybar/style.css +++ b/files/waybar/.config/waybar/style.css @@ -46,8 +46,7 @@ /* The whole bar */ #waybar { - /* background: #2D353B; */ - background: #000000; + background: rgba(100, 100, 100, 0.2); color: white; /* font-family: Cantarell, Noto Sans, sans-serif; */ font-family: JetBrainsMono Nerd Font; @@ -182,18 +181,19 @@ } #workspaces button { - border-top: 2px solid transparent; + border-top: 4px solid transparent; /* To compensate for the top border and still have vertical centering */ padding-bottom: 2px; padding-left: 5px; padding-right: 5px; - color: #888888; + color: #ffffff; } #workspaces button.focused { border-color: #A7C080; /* color: white; */ color: #A7C080; + text-shadow: 0 0 2px #000; } #workspaces button.urgent {