sway: cook config a bit more

This commit is contained in:
2024-09-29 23:16:18 +02:00
parent e78db5fb06
commit b44cd15d5c
6 changed files with 389 additions and 16 deletions

View File

@@ -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) - Install based on Fedora Workstation with GNOME (makes everything easier)
- Font: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/JetBrainsMono.zip - 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 - `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` - 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` - `%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 \ sudo dnf install \
@@ -37,6 +38,7 @@ sudo dnf install \
nextcloud keepassxc nextcloud keepassxc
``` ```
- sway fork: https://github.com/WillPower3309/swayfx
- application launcher: https://github.com/philj56/tofi - application launcher: https://github.com/philj56/tofi
- notification daemon + popup: https://github.com/ErikReider/SwayNotificationCenter - notification daemon + popup: https://github.com/ErikReider/SwayNotificationCenter
- screenshot: https://github.com/moverest/sway-interactive-screenshot (checked in as `files/sway/.config/sway/screenshot`) - screenshot: https://github.com/moverest/sway-interactive-screenshot (checked in as `files/sway/.config/sway/screenshot`)

View File

@@ -3,7 +3,7 @@
floating_modifier $mod normal floating_modifier $mod normal
### Output configuration (swaymsg -t get_output) ### 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 * bg ~/downloads/wallpaper.png fill
# output eDP-1 scale 2 # 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+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10 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 # Layout stuff
bindsym $mod+f fullscreen 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 ### Theming
font pango: JetBrainsMono Nerd Font Mono 10 font pango: JetBrainsMono Nerd Font Mono 10
for_window [title="."] title_format "%app_id" 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 { bar {
swaybar_command waybar swaybar_command waybar
} }

View File

@@ -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;
}

View File

@@ -2,18 +2,20 @@ font-size = 12
font = JetBrainsMono NFM font = JetBrainsMono NFM
anchor = top anchor = top
width = 100% width = 100%
height = 25 height = 31
horizontal = true horizontal = true
prompt-text = " run: " prompt-text = " run: "
outline-width = 0 outline-width = 0
border-width = 0 border-width = 0
background-color = #000000 background-color = #11111133
selection-color = #A7C080 selection-color = #A7C080
min-input-width = 120 min-input-width = 120
result-spacing = 15 result-spacing = 15
padding-top = 0 padding-top = 6
padding-bottom = 0 padding-bottom = 0
padding-left = 0 padding-left = 0
padding-right = 0 padding-right = 0
auto-accept-single = true auto-accept-single = false
physical-keybindings = false physical-keybindings = false
text-cursor = false

View File

@@ -17,6 +17,10 @@
// If height property would be not present, it'd be calculated dynamically // If height property would be not present, it'd be calculated dynamically
"height": 25, "height": 25,
"margin-left": 6,
"margin-right": 6,
"margin-top": 6,
"margin-bottom": 0,
"modules-left": [ "modules-left": [
"sway/workspaces", "sway/workspaces",
@@ -48,7 +52,7 @@
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
"battery": { "battery": {
"interval": 10, "interval": 1,
"states": { "states": {
"warning": 30, "warning": 30,
"critical": 15 "critical": 15

View File

@@ -46,8 +46,7 @@
/* The whole bar */ /* The whole bar */
#waybar { #waybar {
/* background: #2D353B; */ background: rgba(100, 100, 100, 0.2);
background: #000000;
color: white; color: white;
/* font-family: Cantarell, Noto Sans, sans-serif; */ /* font-family: Cantarell, Noto Sans, sans-serif; */
font-family: JetBrainsMono Nerd Font; font-family: JetBrainsMono Nerd Font;
@@ -182,18 +181,19 @@
} }
#workspaces button { #workspaces button {
border-top: 2px solid transparent; border-top: 4px solid transparent;
/* To compensate for the top border and still have vertical centering */ /* To compensate for the top border and still have vertical centering */
padding-bottom: 2px; padding-bottom: 2px;
padding-left: 5px; padding-left: 5px;
padding-right: 5px; padding-right: 5px;
color: #888888; color: #ffffff;
} }
#workspaces button.focused { #workspaces button.focused {
border-color: #A7C080; border-color: #A7C080;
/* color: white; */ /* color: white; */
color: #A7C080; color: #A7C080;
text-shadow: 0 0 2px #000;
} }
#workspaces button.urgent { #workspaces button.urgent {