commit fc4a744e12e0eddfe418e489ad68405bf9b82bc8 Author: aibrash Date: Tue Oct 27 23:44:59 2026 +0500 Monochrome SwayFX glass rice Co-Authored-By: Claude Sonnet 5.5 diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc new file mode 100644 index 0000000..7c95221 --- /dev/null +++ b/.config/dunst/dunstrc @@ -0,0 +1,37 @@ +[global] + monitor = 0 + follow = mouse + width = (250, 360) + origin = top-right + offset = (12, 48) + gap_size = 8 + corner_radius = 14 + frame_width = 1 + padding = 12 + horizontal_padding = 14 + font = JetBrains Mono 10 + format = "%s\n%b" + icon_position = left + max_icon_size = 48 + transparency = 0 + icon_corner_radius = 8 + progress_bar_corner_radius = 4 + progress_bar_height = 8 + +[urgency_low] + background = "#0c0c0c99" + foreground = "#e8e8e8" + frame_color = "#e8e8e815" + timeout = 5 + +[urgency_normal] + background = "#0c0c0c99" + foreground = "#e8e8e8" + frame_color = "#e8e8e830" + timeout = 8 + +[urgency_critical] + background = "#0c0c0c99" + foreground = "#e8e8e8" + frame_color = "#ff5c5c" + timeout = 0 diff --git a/.config/rofi/catppuccin.rasi b/.config/rofi/catppuccin.rasi new file mode 100644 index 0000000..4fccbf3 --- /dev/null +++ b/.config/rofi/catppuccin.rasi @@ -0,0 +1,23 @@ +* { + base: #0c0c0c; surface: #1c1c1c; text: #e8e8e8; mauve: #e8e8e8; subtext: #8c8c8c; + background-color: transparent; + text-color: @text; + font: "JetBrains Mono 12"; +} +window { + background-color: rgba(12,12,12,0.60); + border: 1px; border-color: rgba(232,232,232,0.14); border-radius: 20px; + padding: 18px; + width: 600px; +} +mainbox { spacing: 10px; } +inputbar { + background-color: rgba(255,255,255,0.07); border-radius: 14px; padding: 12px 16px; spacing: 8px; + children: [ prompt, entry ]; +} +prompt { text-color: @mauve; } +entry { placeholder: "Search..."; placeholder-color: @subtext; } +listview { lines: 8; scrollbar: false; spacing: 4px; fixed-height: true; } +element { padding: 9px 14px; border-radius: 14px; spacing: 10px; } +element selected { background-color: rgba(232,232,232,0.92); text-color: #0c0c0c; } +element-icon { size: 1.4em; } diff --git a/.config/rofi/cyberpunk.rasi b/.config/rofi/cyberpunk.rasi new file mode 100644 index 0000000..f6a13e2 --- /dev/null +++ b/.config/rofi/cyberpunk.rasi @@ -0,0 +1,23 @@ +* { + background-color: #05050a; + text-color: #fcee09; + border-color: #fcee09; + font: "monospace 11"; +} + +window { + border: 2px; + padding: 15px; + width: 500px; +} + +element selected { + background-color: #fcee09; + text-color: #000000; +} + +entry { + placeholder: "OVERRIDE_SYSTEM..."; + placeholder-color:#444444; + text-color: #ff003c; +} diff --git a/.config/rofi/powermenu.sh b/.config/rofi/powermenu.sh new file mode 100755 index 0000000..5ae590d --- /dev/null +++ b/.config/rofi/powermenu.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# Power menu in rofi +opts=$' Lock\n Logout\n Suspend\n Reboot\n Shutdown' +choice=$(printf '%s' "$opts" | rofi -dmenu -i -p "Power" -theme ~/.config/rofi/catppuccin.rasi -theme-str 'window {width: 300px;} listview {lines: 5;} entry {enabled: false;}') +case "$choice" in + *Lock) swaylock -f ;; + *Logout) swaymsg exit ;; + *Suspend) systemctl suspend ;; + *Reboot) systemctl reboot ;; + *Shutdown) systemctl poweroff ;; +esac diff --git a/.config/rofi/style.css b/.config/rofi/style.css new file mode 100644 index 0000000..4efbf70 --- /dev/null +++ b/.config/rofi/style.css @@ -0,0 +1,17 @@ +window { + background-color: #050B14; + border: 2px solid #FF0055; + font-family: "Orbitron", sans-serif; +} + +#input { + background-color: #0D0F18; + color: #00F0FF; + border: 1px solid #FF0055; + margin: 10px; +} + +#entry:selected { + background-color: #FF0055; + color: #050B14; +} diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..9da4aa8 --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,235 @@ +# Default config for sway +# +# Copy this to ~/.config/sway/config and edit it to your liking. +# +# Read `man 5 sway` for a complete reference. + +### Variables +# +# Logo key. Use Mod1 for Alt. +set $mod Mod4 +# Home row direction keys, like vim +set $left h +set $down j +set $up k +set $right l +# Your preferred terminal emulator +# Recommends: foot +set $term kitty +# Your preferred application launcher +# Note: pass the final command to swaymsg so that the resulting window can be opened +# on the original workspace that the command was run on. +# Recommends: rofi-wayland +set $rofi_cmd rofi -theme ~/.config/rofi/catppuccin.rasi \ + -terminal '$term' +# Shows a combined list of the applications with desktop files and +# executables from PATH. +# TODO: add window with the next release of rofi-wayland +set $menu $rofi_cmd -show combi -combi-modes drun#run -modes combi + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +# Requires: desktop-backgrounds-compat, swaybg, jxl-pixbuf-loader +output * bg /usr/share/backgrounds/default.jxl fill +# +# Example configuration: +# +# output HDMI-A-1 resolution 1920x1080 position 1920,0 +# +# You can get the names of your outputs by running: swaymsg -t get_outputs + +### Idle configuration +# +# Example configuration: +# +# exec swayidle -w \ +# timeout 300 'swaylock -f -c 000000' \ +# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ +# before-sleep 'swaylock -f -c 000000' +# +# This will lock your screen after 300 seconds of inactivity, then turn off +# your displays after another 300 seconds, and turn your screens back on when +# resumed. It will also lock your screen before your computer goes to sleep. + +# Example configuration: +# +# input "2:14:SynPS/2_Synaptics_TouchPad" { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# You can get the names of your inputs by running: swaymsg -t get_inputs +# Read `man 5 sway-input` for more information about this section. + +### Key bindings +# +# Basics: +# + # Start a terminal + bindsym $mod+Return exec $term + + # Kill focused window + bindsym $mod+Shift+q kill + + # Start your launcher + bindsym $mod+d exec $menu + + # Drag floating windows by holding down $mod and left mouse button. + # Resize them with right mouse button + $mod. + # Despite the name, also works for non-floating windows. + # Change normal to inverse to use left mouse button for resizing and right + # mouse button for dragging. + floating_modifier $mod normal + + # Reload the configuration file + bindsym $mod+Shift+c reload + + # Exit sway (logs you out of your Wayland session) + bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' + # +# Moving around: +# + # Move your focus around + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + # Or use $mod+[up|down|left|right] + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + # Move the focused window with the same, but add Shift + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + # Ditto, with arrow keys + bindsym $mod+Shift+Left move left + bindsym $mod+Shift+Down move down + bindsym $mod+Shift+Up move up + bindsym $mod+Shift+Right move right +# +# Workspaces: +# + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. +# +# Layout stuff: +# + # You can "split" the current object of your focus with + # $mod+b or $mod+v, for horizontal and vertical splits + # respectively. + bindsym $mod+b splith + bindsym $mod+v splitv + + # Switch the current container between different layout styles + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split + + # Make the current focus fullscreen + bindsym $mod+f fullscreen + + # Toggle the current focus between tiling and floating mode + bindsym $mod+Shift+space floating toggle + + # Swap focus between the tiling area and the floating area + bindsym $mod+space focus mode_toggle + + # Move focus to the parent container + bindsym $mod+a focus parent +# +# Scratchpad: +# + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + + # Move the currently focused window to the scratchpad + bindsym $mod+Shift+minus move scratchpad + + # Show the next scratchpad window or hide the focused scratchpad window. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +# Include configs from 3 locations: +# - /usr/share/sway/config.d +# - /etc/sway/config.d +# - $XDG_CONFIG_HOME/sway/config.d ($HOME/.config/sway/config.d) +# +# If multiple directories contain the files with the same name, the later +# directory takes precedence; `$XDG_CONFIG_HOME/sway/config.d/20-swayidle.conf` +# will always be loaded instead of `/usr/share/sway/config.d/20-swayidle.conf` +# or `/etc/sway/config.d/20-swayidle.conf` +# +# This mechanism permits overriding our default configuration per-system +# (/etc) or per-user ($XDG_CONFIG_HOME) basis. Just create the file you +# want to modify/override in the higher-level directory. +# +# For example, to disable the default bar from Fedora configs, you'll need to +# $ echo -n > "$HOME/.config/sway/config.d/90-bar.conf" +# +# Note the quoting, the $() and the arguments quoting. All the parts are equally +# important to make the magic work. And if you want to learn the secret behind +# the trick, it's all in the `wordexp(3)`. +# +include '$(/usr/libexec/sway/layered-include "/usr/share/sway/config.d/*.conf" "/etc/sway/config.d/*.conf" "${XDG_CONFIG_HOME:-$HOME/.config}/sway/config.d/*.conf")' + + + +input "type:keyboard" { + xkb_layout "us,ru" + xkb_options "grp:alt_shift_toggle,grp_led:scroll" +} + + diff --git a/.config/sway/config.d/10-appearance.conf b/.config/sway/config.d/10-appearance.conf new file mode 100644 index 0000000..2fc6b72 --- /dev/null +++ b/.config/sway/config.d/10-appearance.conf @@ -0,0 +1,54 @@ +# Monochrome +set $base #0c0c0c +set $mantle #000000 +set $surface0 #1c1c1c +set $surface1 #2e2e2e +set $text #e8e8e8 +set $subtext #8c8c8c +set $accent #f5f5f5 +set $red #ff5c5c + +font pango:JetBrains Mono 10 + +default_border pixel 1 +default_floating_border pixel 1 +hide_edge_borders smart +gaps inner 10 +gaps outer 6 +smart_gaps on + +# border background text indicator child_border +client.focused $accent $base $text $accent $accent +client.focused_inactive $surface1 $base $subtext $surface1 $surface1 +client.unfocused $surface0 $base $subtext $surface0 $surface0 +client.urgent $red $base $text $red $red +client.placeholder $base $base $text $base $base +client.background $base + +# Autostart +exec_always sh -c 'pkill -x dunst; exec dunst' +exec_always sh -c 'pkill -x nm-applet; exec nm-applet --indicator' +bindsym $mod+Shift+x exec swaylock -f + +# Touchpad +input type:touchpad { + tap enabled + tap_button_map lrm + natural_scroll enabled + dwt enabled + middle_emulation enabled + pointer_accel 0.3 +} + +# Window rules +for_window [app_id="pavucontrol|nm-connection-editor|blueman-manager"] floating enable, resize set 700 500, border pixel 2 +for_window [window_role="pop-up"] floating enable +for_window [app_id="rofi"] border none +titlebar_padding 6 3 +focus_follows_mouse no +workspace_auto_back_and_forth yes +bindsym $mod+Shift+p exec ~/.config/rofi/powermenu.sh + +# Wallpaper + idle/lock +output * bg ~/Pictures/wallpapers/mono-glow.jpg fill +exec_always ~/.config/sway/idle.sh diff --git a/.config/sway/config.d/20-swayfx.conf b/.config/sway/config.d/20-swayfx.conf new file mode 100644 index 0000000..7c8d172 --- /dev/null +++ b/.config/sway/config.d/20-swayfx.conf @@ -0,0 +1,42 @@ +# SwayFX effects (swayfx 0.6) + +corner_radius 16 +smart_corner_radius on + +# Frosted-glass blur +blur enable +blur_xray disable +blur_passes 4 +blur_radius 7 +blur_noise 0.03 +blur_brightness 0.85 +blur_contrast 1.1 +blur_saturation 1.2 + +# Shadows: soft white-ish glow on focused window, deep shadow on the rest +shadows enable +shadows_on_csd enable +shadow_blur_radius 30 +shadow_offset 0 6 +shadow_color #ffffff18 +shadow_inactive_color #00000099 + +# Dim inactive windows +default_dim_inactive 0.15 +dim_inactive_colors.unfocused #000000 +dim_inactive_colors.urgent #ff5c5c + +# Thin outline instead of fat border -> cleaner look +titlebar_separator disable + +# Frosted glass for layers +layer_effects "waybar" blur enable; blur_ignore_transparent enable; corner_radius 14; shadows enable +layer_effects "rofi" blur enable; blur_ignore_transparent enable; corner_radius 20; shadows enable +layer_effects "notifications" blur enable; blur_ignore_transparent enable; corner_radius 14; shadows enable +layer_effects "swaynag" blur enable; blur_ignore_transparent enable; corner_radius 12 + +# Translucent terminals, glass shows through +for_window [app_id="kitty"] opacity 0.88 +for_window [app_id="scratch"] opacity 0.82 +for_window [app_id="(?i)thunar|org.gnome.Nautilus"] opacity 0.92 +for_window [app_id="pavucontrol|nm-connection-editor|blueman-manager"] opacity 0.92 diff --git a/.config/sway/config.d/30-workflow.conf b/.config/sway/config.d/30-workflow.conf new file mode 100644 index 0000000..78f5ae0 --- /dev/null +++ b/.config/sway/config.d/30-workflow.conf @@ -0,0 +1,27 @@ +# Workflow helpers + +# Drop-down scratchpad terminal: $mod+grave +exec kitty --class scratch +for_window [app_id="scratch"] move scratchpad, resize set 1000 560, move position center, border pixel 2 +bindsym $mod+grave scratchpad show + +# Workspace navigation +bindsym $mod+Tab workspace next_on_output +bindsym $mod+Shift+Tab workspace prev_on_output +bindsym $mod+Ctrl+Right workspace next_on_output +bindsym $mod+Ctrl+Left workspace prev_on_output + +# Quick layout / window helpers +bindsym $mod+Shift+f floating toggle, resize set 1000 600, move position center +bindsym $mod+c exec swaymsg [con_id=__focused__] move position center + +# Screenshots: area -> clipboard, area -> file +bindsym Shift+Print exec ~/.config/sway/screenshot.sh clip +bindsym $mod+Print exec ~/.config/sway/screenshot.sh file + +# Keep video/browser-video windows undimmed +for_window [app_id="firefox"] inhibit_idle fullscreen +for_window [app_id="mpv"] floating enable, dim_inactive 0 + +# Mirror internal screen to HDMI/TV on hotplug +exec_always ~/.config/sway/mirror.sh diff --git a/.config/sway/idle.sh b/.config/sway/idle.sh new file mode 100755 index 0000000..aa4db40 --- /dev/null +++ b/.config/sway/idle.sh @@ -0,0 +1,6 @@ +#!/bin/sh +pkill -x swayidle +exec swayidle -w \ + timeout 300 'swaylock -f' \ + timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ + before-sleep 'swaylock -f' diff --git a/.config/sway/mirror.sh b/.config/sway/mirror.sh new file mode 100755 index 0000000..eb37c51 --- /dev/null +++ b/.config/sway/mirror.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Mirror the internal display to any external output (sway has no native mirroring). +# Watches output hotplug events; needs wl-mirror. +exec 9>"${XDG_RUNTIME_DIR:-/tmp}/sway-mirror.lock" +flock -n 9 || exit 0 + +internal=eDP-1 + +sync() { + pkill -x wl-mirror + for ext in $(swaymsg -t get_outputs -r | jq -r --arg i "$internal" '.[] | select(.active and .name != $i) | .name'); do + wl-mirror --fullscreen-output "$ext" "$internal" & + done +} + +sync +swaymsg -t subscribe -m '["output"]' | while read -r _; do + sleep 1 + sync +done diff --git a/.config/sway/screenshot.sh b/.config/sway/screenshot.sh new file mode 100755 index 0000000..1e8cf9c --- /dev/null +++ b/.config/sway/screenshot.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# usage: screenshot.sh clip | file +geo=$(slurp) || exit 0 +if [ "$1" = file ]; then + dir=$HOME/Pictures/Screenshots + mkdir -p "$dir" + grim -g "$geo" "$dir/$(date +%F_%H-%M-%S).png" +else + grim -g "$geo" - | wl-copy +fi diff --git a/.config/swaylock/config b/.config/swaylock/config new file mode 100644 index 0000000..4d6a2b3 --- /dev/null +++ b/.config/swaylock/config @@ -0,0 +1,25 @@ +image=~/Pictures/wallpapers/mono-glow.jpg +scaling=fill +font=JetBrains Mono +indicator-radius=90 +indicator-thickness=5 +inside-color=0c0c0c99 +inside-clear-color=0c0c0c99 +inside-ver-color=0c0c0c99 +inside-wrong-color=0c0c0c99 +ring-color=e8e8e8 +ring-clear-color=8c8c8c +ring-ver-color=ffffff +ring-wrong-color=ff5c5c +line-color=00000000 +line-clear-color=00000000 +line-ver-color=00000000 +line-wrong-color=00000000 +separator-color=00000000 +key-hl-color=ffffff +bs-hl-color=ff5c5c +text-color=e8e8e8 +text-clear-color=e8e8e8 +text-ver-color=e8e8e8 +text-wrong-color=ff5c5c +show-failed-attempts diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc new file mode 100644 index 0000000..76f8725 --- /dev/null +++ b/.config/waybar/config.jsonc @@ -0,0 +1,44 @@ +{ + "layer": "top", + "position": "top", + "height": 34, + "margin-top": 8, + "margin-left": 10, + "margin-right": 10, + "spacing": 6, + "modules-left": ["sway/workspaces", "sway/mode", "sway/window"], + "modules-center": ["clock", "mpris"], + "modules-right": ["idle_inhibitor", "sway/language", "temperature", "cpu", "memory", "backlight", "pulseaudio", "network", "battery", "tray", "custom/power"], + + "sway/workspaces": { "disable-scroll": true, "all-outputs": true, "format": "{icon}", "format-icons": {"1": "", "2": "", "3": "", "4": "", "5": "", "urgent": "", "default": ""} }, + "sway/window": { "max-length": 45, "format": "{title}", "rewrite": { "(.*) — Mozilla Firefox": " $1", "(.*) - Chromium": " $1" } }, + "sway/language": { "format": " {short}" }, + "clock": { "format": " {:%H:%M}", "format-alt": " {:%A, %d %B %Y}", "tooltip-format": "{calendar}" }, + "mpris": { "format": "{player_icon} {title}", "format-paused": " {title}", "player-icons": { "default": "" }, "max-length": 36, "tooltip-format": "{artist} — {title}" }, + "idle_inhibitor": { "format": "{icon}", "format-icons": { "activated": "", "deactivated": "" }, "tooltip-format-activated": "Idle inhibited", "tooltip-format-deactivated": "Idle allowed" }, + "temperature": { "critical-threshold": 85, "format": " {temperatureC}°", "interval": 5 }, + "cpu": { "format": " {usage}%", "interval": 3 }, + "memory": { "format": " {percentage}%", "interval": 5 }, + "backlight": { "format": "{icon} {percent}%", "format-icons": ["", ""], "on-scroll-up": "brightnessctl set 5%+", "on-scroll-down": "brightnessctl set 5%-" }, + "pulseaudio": { + "format": "{icon} {volume}%", + "format-muted": " muted", + "format-icons": { "default": ["", "", ""] }, + "on-click": "pavucontrol", + "on-click-right": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + }, + "network": { + "format-wifi": " {essid}", + "format-ethernet": " {ipaddr}", + "format-disconnected": " offline", + "tooltip-format": "{ifname} {signalStrength}%" + }, + "battery": { + "states": { "warning": 25, "critical": 12 }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-icons": ["", "", "", "", ""] + }, + "tray": { "spacing": 8 }, + "custom/power": { "format": "", "tooltip": false, "on-click": "~/.config/rofi/powermenu.sh" } +} diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..8f98a53 --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,67 @@ +@define-color base #0c0c0c; +@define-color surface0 #1c1c1c; +@define-color surface1 #2e2e2e; +@define-color text #e8e8e8; +@define-color subtext #8c8c8c; +@define-color red #ff5c5c; +@define-color yellow #d9c99a; + +* { + font-family: "JetBrains Mono", "Font Awesome 6 Free"; + font-size: 13px; + border: none; + border-radius: 0; + min-height: 0; +} + +window#waybar { background: transparent; color: @text; } + +/* glass pills: translucent so swayfx blur shows through */ +#workspaces, #window, #clock, #language, #cpu, #memory, #pulseaudio, #network, #battery, +#tray, #mode, #custom-power, #backlight, #idle_inhibitor, #temperature, #mpris { + background: alpha(@base, 0.55); + border: 1px solid alpha(@text, 0.08); + border-radius: 14px; + padding: 0 12px; + margin: 0; + color: @text; + transition: all 0.25s ease; +} + +#workspaces { padding: 0 4px; } +#workspaces button { + color: @subtext; + padding: 0 9px; + margin: 4px 2px; + border-radius: 10px; + background: transparent; + transition: all 0.25s ease; +} +#workspaces button:hover { background: alpha(@text, 0.12); color: @text; box-shadow: none; text-shadow: none; } +#workspaces button.focused { background: alpha(@text, 0.92); color: @base; padding: 0 16px; box-shadow: 0 0 12px alpha(@text, 0.35); } +#workspaces button.urgent { background: @red; color: @base; } + +#mode { background: @text; color: @base; font-weight: bold; } +#window { color: @subtext; } +window#waybar.empty #window { background: transparent; border-color: transparent; } +#clock { font-weight: bold; padding: 0 16px; } +#mpris { color: @subtext; } + +#cpu:hover, #memory:hover, #pulseaudio:hover, #network:hover, #battery:hover, +#language:hover, #backlight:hover, #idle_inhibitor:hover, #temperature:hover, #mpris:hover { + background: alpha(@text, 0.14); + border-color: alpha(@text, 0.25); +} +#idle_inhibitor.activated { background: @text; color: @base; } +#network.disconnected { color: @red; } +#battery.charging { color: @text; } +#battery.warning:not(.charging) { color: @yellow; } +#battery.critical:not(.charging) { color: @red; animation: blink 1s steps(2) infinite; } +#temperature.critical { color: @red; } +#custom-power { padding: 0 14px; } +#custom-power:hover { background: @red; color: @base; border-color: @red; } + +@keyframes blink { to { background: alpha(@red, 0.5); } } + +tooltip { background: alpha(@base, 0.85); border: 1px solid alpha(@text, 0.12); border-radius: 12px; } +tooltip label { color: @text; padding: 2px; } diff --git a/README.md b/README.md new file mode 100644 index 0000000..077b7e5 --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# sway-rising + +Monochrome glass rice for SwayFX 0.6: frosted blur, rounded corners, glow on the focused window, floating waybar pills, translucent rofi / dunst / swaylock. + +## Contents +- `.config/sway` – config + `config.d/` (appearance, swayfx effects, workflow), idle/screenshot/mirror scripts +- `.config/waybar`, `.config/rofi`, `.config/dunst`, `.config/swaylock` +- `wallpapers/mono-glow.jpg` + +## Install +Requires: swayfx, waybar, rofi, dunst, swaylock, swayidle, kitty, JetBrains Mono, Font Awesome 6. + + cp -r .config/* ~/.config/ + mkdir -p ~/Pictures/wallpapers && cp wallpapers/* ~/Pictures/wallpapers/ + swaymsg reload + +Waybar is started by sway itself (`/usr/share/sway/config.d/90-bar.conf`); reload its style with `pkill -SIGUSR2 waybar`. diff --git a/wallpapers/mono-glow.jpg b/wallpapers/mono-glow.jpg new file mode 100644 index 0000000..8d5dbae Binary files /dev/null and b/wallpapers/mono-glow.jpg differ