diff --git a/README.md b/README.md index ff72cb0..e6581f1 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,11 @@ This repository contains my configuration files for the following tools: - `polybar` (status bar) - `rofi` (launcher) - `dunst` (notification daemon) +- **Wayland Environment** + - `sway` (Window Manager) + - `waybar` (status bar) + - `rofi` (launcher) + - `dunst` (notification daemon) - **Utilities** - `fastfetch` - `zoxide` diff --git a/picom/.config/picom/picom.conf b/i3/.config/picom/picom.conf similarity index 100% rename from picom/.config/picom/picom.conf rename to i3/.config/picom/picom.conf diff --git a/sway/.config/foot/foot.ini b/sway/.config/foot/foot.ini new file mode 100644 index 0000000..e5f341d --- /dev/null +++ b/sway/.config/foot/foot.ini @@ -0,0 +1,69 @@ +# === General settings === +[main] +shell=/bin/zsh -c "exec ~/.profile.d/tmux.sh" # Default shell to launch in the terminal +font=0xProto Nerd Font:size=14 # Font family and size used in the terminal +initial-window-size-chars=160x45 # Initial size in character columns x rows +selection-target=clipboard # Copy selected text directly to system clipboard +term=foot # Terminal type identifier (useful for compatibility) +pad=8x8 # Adds 8-pixel padding around the content (horizontal x vertical) + +# === Mouse settings === +[mouse] +hide-when-typing=yes # Automatically hide the mouse cursor while typing +alternate-scroll-mode=no # Preserves scrollback history when applications exit (does not use alternate screen buffer) + +# === Scrollback bar indicator settings === +[scrollback] +lines=10000 # Number of scrollback lines to keep in history +indicator-format=percentage # Format of scroll indicator (e.g., "50%") + +# === Key bindings === +[key-bindings] +scrollback-up-page=Shift+Page_Up # Scroll up one page +scrollback-down-page=Shift+Page_Down # Scroll down one page +clipboard-copy=Control+Shift+c # Copy selected text to clipboard +clipboard-paste=Control+Shift+v # Paste from clipboard +show-urls-launch=Control+Shift+o # Detects and allows launching URLs found in the terminal output + +# === Cursor appearance === +[cursor] +style=beam # Beam-style (vertical bar) cursor +blink=true # Cursor should blink +beam-thickness=3 # Thickness of the beam cursor + +# === Catppuccin Mocha color scheme === +[colors] +alpha=0.9 +cursor=11111b f5e0dc # Cursor color (background and foreground) +foreground=cdd6f4 # Default text color +background=1e1e2e # Main terminal background color + +regular0=45475a # ANSI Black/Grey +regular1=f38ba8 # ANSI Red +regular2=a6e3a1 # ANSI Green +regular3=f9e2af # ANSI Yellow +regular4=89b4fa # ANSI Blue +regular5=f5c2e7 # ANSI Magenta +regular6=94e2d5 # ANSI Cyan +regular7=bac2de # ANSI White/Light Grey + +bright0=585b70 # Bright ANSI Black/Grey +bright1=f38ba8 # Bright ANSI Red +bright2=a6e3a1 # Bright ANSI Green +bright3=f9e2af # Bright ANSI Yellow +bright4=89b4fa # Bright ANSI Blue +bright5=f5c2e7 # Bright ANSI Magenta +bright6=94e2d5 # Bright ANSI Cyan +bright7=a6adc8 # Bright ANSI White/Light Grey + +16=fab387 # Extended color 16 (Orange-like) +17=f5e0dc # Extended color 17 (Pink/Cream-like) + +selection-foreground=cdd6f4 # Color of selected text +selection-background=414356 # Background color of selected text + +search-box-no-match=11111b f38ba8 # Colors for search box when no match is found +search-box-match=cdd6f0 313244 # Colors for search box when a match is found + +jump-labels=11111b fab387 # Colors for jump labels (e.g., in URL launcher) +urls=89b4fa # Color for detected URLs diff --git a/sway/.config/sway/conf.d/window.conf b/sway/.config/sway/conf.d/window.conf new file mode 100644 index 0000000..e4b1ec5 --- /dev/null +++ b/sway/.config/sway/conf.d/window.conf @@ -0,0 +1,66 @@ +#-----------------------# +# Windows configuration # +# ----------------------# + bindsym $mod+shift+g exec swaymsg gaps outer all set 0 && swaymsg gaps inner all set 5 + bindsym $mod+g exec swaymsg gaps outer all set 0 && swaymsg gaps inner all set 0 + + # No gaps when there is a single window + #smart_gaps on + + # Activate smart borders (always) + #smart_borders on + + default_border pixel 3 + default_floating_border pixel 3 + gaps inner 5 + gaps outer 5 + +#------------------------------# +# Always float certain windows # +#------------------------------# + for_window [app_id="pop-up"] floating enable + for_window [app_id="bubble"] floating enable + for_window [app_id="task_dialog"] floating enable + for_window [app_id="Preferences"] floating enable + for_window [app_id="dialog"] floating enable + for_window [app_id="menu"] floating enable + for_window [app_id="Organizer"] floating enable + for_window [app_id="About"] floating enable + for_window [app_id="toolbox"] floating enable + for_window [app_id="page-info"] floating enable + for_window [app_id="webconsole"] floating enable + for_window [app_id="Authy"] floating enable + for_window [app_id="termfloat"] floating enable + for_window [app_id="termfloat"] resize set height 540 + for_window [app_id="termfloat"] resize set width 960 + for_window [app_id="mpv"] floating enable + for_window [app_id="mpv"] resize set height 540 + for_window [app_id="mpv"] resize set width 960 + +#-------------------------------------------------------# +# Sticky floating windows(sticky enable|disable|toggle) # +#-------------------------------------------------------# + for_window [app_id="nwg-clipman"] floating enable + for_window [app_id="nwg-clipman"] sticky enable + for_window [app_id="nwg-clipman"] resize set height 540 + for_window [app_id="nwg-clipman"] resize set width 960 + +#-----------------# +# Program Opacity # +#-----------------# + for_window [app_id="telegram"] opacity 1.00 + +#------------------------------------------# +# Placing software in a specific workspace # +#------------------------------------------# + assign [app_id="emacs"]: workspace number 1 + for_window [app_id="emacs"]: focus + assign [app_id="firefox"]: workspace number 2 + for_window [app_id="firefox"] focus + assign [app_id="telegram"]: workspace number 3 + for_window [app_id="telegram"] focus + +#---------------------# +# Focus follows mouse # +#---------------------# + focus_follows_mouse no diff --git a/sway/.config/sway/config b/sway/.config/sway/config new file mode 100644 index 0000000..90d3cad --- /dev/null +++ b/sway/.config/sway/config @@ -0,0 +1,341 @@ +### 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 +set $term 'foot' + +# Your preferred application launcher +set $menu 'fuzzel' + +# Your preferred browser +set $browser 'firefox' + +# Your preferred notification daemon +set $notification 'dunst' + +# Your preferred clipboard manager +set $clipboard 'cliphist list | fuzzel --dmenu | cliphist decode | wl-copy' + +# Your preferred file manager +set $filemanager 'foot yazi' + +# Your prefered editor +set $editor 'emacs' + +# Import Catppuccin theme defined colors +include themes/catppuccin-mocha + +# target title bg text indicator border +client.focused $lavender $base $text $rosewater $lavender +client.focused_inactive $overlay0 $base $text $rosewater $overlay0 +client.unfocused $overlay0 $base $text $rosewater $overlay0 +client.urgent $peach $base $peach $overlay0 $peach +client.placeholder $overlay0 $base $text $overlay0 $overlay0 +client.background $base + +# Setting cursor +seat seat0 xcursor_theme catppuccin-mocha-lavender-cursors 25 + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +# output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill +output * bg ~/.config/sway/wallpaper.jpg fill + +# Setting default font +font pango:Noto Sans Regular 10 + +# +# 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 +set $lockman exec bash ~/.config/sway/scripts/lockman.sh +exec swayidle -w \ + timeout 300 'swaylock -f --font "Noto Sans Regular" --font-size 16' \ + timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ + before-sleep 'swaylock -f --font "Noto Sans Regular" --font-size 16' + +# 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. + +### Run in background notification daemon +exec $notification + +### Run in background Pipewire session +exec pipewire + +### Run clipboard manager +exec wl-paste -t text --watch cliphist store +exec wl-paste -t image --watch cliphist store + +### OSD server +exec swayosd-server + +### +exec $editor + +### Screenshot tool +exec flameshot + +# Simulate master layout +exec autotiling --limit 2 + +exec dbus-update-activation-environment DISPLAY XAUTHORITY WAYLAND_DISPLAY + +#----------------# +# set gtk+ theme # +#----------------# +set $gnome-schema org.gnome.desktop.interface +exec_always { + gsettings set $gnome-schema gtk-theme 'Catppuccin' + gsettings set $gnome-schema icon-theme 'Papirus-Dark' + gsettings set $gnome-schema cursor-theme 'Catppuccin-cursor' + gsettings set $gnome-schema font-name 'Noto Sans Regular 10' +} + +### Input configuration +# +# Example configuration: +# +# input type:touchpad { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# input type:keyboard { +# xkb_layout "eu" +# } +# +# You can also configure each device individually. +# Read `man 5 sway-input` for more information about this section. + + input type:touchpad { + dwt enabled + tap enabled + natural_scroll enabled + middle_emulation enabled + } + + input type:keyboard { + xkb_layout "us(intl)" + xkb_options "grp:win_space_toggle" + } + +### 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 + + # Start my browser + bindsym $mod+Shift+b exec $browser + + # Start my clipboard manager + bindsym $mod+Shift+v exec $clipboard + + # Start my file manager + bindsym $mod+Shift+f exec $filemanager + + # 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' + bindsym $mod+Shift+e exec wlogout + + # Waybar toggle + bindsym $mod+o exec killall -SIGUSR1 waybar + +# +# 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 + + bindsym $mod+period workspace next + bindsym $mod+comma workspace prev + +# +# 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" + +# +# Utilities: +# + # Special keys to adjust volume via PulseAudio + # bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle + # bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% + # bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% + # bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle + # Special keys to adjust brightness via brightnessctl + # bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- + # bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + + # Client commands for SwayOSD + # For enable this service start systemd service swayosd-libinput-backend.service + + # Sink volume toggle mute + bindsym XF86AudioMute exec swayosd-client --output-volume mute-toggle + # Source volume toggle mute + bindsym XF86AudioMicMute exec swayosd-client --input-volume mute-toggle + # Volume raise with custom value + bindsym XF86AudioRaiseVolume exec swayosd-client --output-volume 5 + # Volume lower with custom value + bindsym XF86AudioLowerVolume exec swayosd-client --output-volume -5 + # Capslock (If you don't want to use the backend) + bindsym --release Caps_Lock exec swayosd-client --caps-lock + # Brightness raise with custom value('+' sign needed) + bindsym XF86MonBrightnessUp exec swayosd-client --brightness +5 + # Brightness lower with custom value('-' sign needed) + bindsym XF86MonBrightnessDown exec swayosd-client --brightness -5 + # Special key to take a screenshot with grim + # bindsym Print exec ~/.config/sway/scripts/screenshot.sh + bindsym Print exec flameshot gui + # Lock the screen + bindsym $mod+Alt+l exec $lockman + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + swaybar_command waybar +} + +include $HOME/.config/sway/conf.d/*.conf diff --git a/sway/.config/sway/outputs b/sway/.config/sway/outputs new file mode 100644 index 0000000..e69de29 diff --git a/sway/.config/sway/scripts/lockman.sh b/sway/.config/sway/scripts/lockman.sh new file mode 100755 index 0000000..a959d3d --- /dev/null +++ b/sway/.config/sway/scripts/lockman.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Times the screen off and puts it to background +swayidle \ + timeout 10 'swaymsg "output * dpms off"' \ + resume 'swaymsg "output * dpms on"' & +# Locks the screen immediately +swaylock -f --font "Noto Sans Regular" --font-size 16 +# Kills last background task so idle timer doesn't keep running +kill %% diff --git a/sway/.config/sway/scripts/monitor_layout_selector.sh b/sway/.config/sway/scripts/monitor_layout_selector.sh new file mode 100755 index 0000000..ebb03f6 --- /dev/null +++ b/sway/.config/sway/scripts/monitor_layout_selector.sh @@ -0,0 +1,43 @@ +#!/bin/sh + +CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/wlr-layouts" +LAYOUT_TOOL="wlr-randr" + +mkdir -p "$CONFIG_DIR" + +# Verifica che fzf sia installato +if ! command -v fzf > /dev/null 2>&1; then + echo "Errore: fzf non รจ installato." >&2 + exit 1 +fi + +# Verifica che fyi sia installato +if ! command -v fyi > /dev/null 2>&1; then + echo "Errore: fyi non รจ installato." >&2 + exit 1 +fi + +# Funzione: applica layout selezionato +apply_layout() { + local layout_file="$1" + if [ -f "$layout_file" ]; then + while IFS= read -r line; do + [ -n "$line" ] && eval "$line" + done < "$layout_file" + fyi "Applied layout: $(basename "$layout_file")" + else + echo "File layout non trovato: $layout_file" >&2 + exit 2 + fi +} + +# Seleziona layout via fzf con preview +SELECTED_FILE=$(find "$CONFIG_DIR" -type f -name '*.layout' \ + | fzf --prompt="Select layout > " \ + --preview="cat {}" \ + --preview-window=down:50%:wrap) + +# Applica se selezionato +if [ -n "$SELECTED_FILE" ]; then + apply_layout "$SELECTED_FILE" +fi diff --git a/sway/.config/sway/scripts/screenshot.sh b/sway/.config/sway/scripts/screenshot.sh new file mode 100755 index 0000000..15a4a7e --- /dev/null +++ b/sway/.config/sway/scripts/screenshot.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +file="$HOME/Pictures/Screenshots/$(date +%Y-%m-%dT%H:%M:%S).png" +thumb="/tmp/screenshot-thumb.png" +grim "$file" \ + && wl-copy < "$file" \ + && magick "$file" -resize 640x480 "$thumb" \ + && fyi -i "$thumb" "๐Ÿ“ธ Catch screenshot" diff --git a/sway/.config/sway/themes/catppuccin-frappe b/sway/.config/sway/themes/catppuccin-frappe new file mode 100644 index 0000000..227d2cb --- /dev/null +++ b/sway/.config/sway/themes/catppuccin-frappe @@ -0,0 +1,26 @@ +set $rosewater #f2d5cf +set $flamingo #eebebe +set $pink #f4b8e4 +set $mauve #ca9ee6 +set $red #e78284 +set $maroon #ea999c +set $peach #ef9f76 +set $yellow #e5c890 +set $green #a6d189 +set $teal #81c8be +set $sky #99d1db +set $sapphire #85c1dc +set $blue #8caaee +set $lavender #babbf1 +set $text #c6d0f5 +set $subtext1 #b5bfe2 +set $subtext0 #a5adce +set $overlay2 #949cbb +set $overlay1 #838ba7 +set $overlay0 #737994 +set $surface2 #626880 +set $surface1 #51576d +set $surface0 #414559 +set $base #303446 +set $mantle #292c3c +set $crust #232634 diff --git a/sway/.config/sway/themes/catppuccin-latte b/sway/.config/sway/themes/catppuccin-latte new file mode 100644 index 0000000..b5164c6 --- /dev/null +++ b/sway/.config/sway/themes/catppuccin-latte @@ -0,0 +1,26 @@ +set $rosewater #dc8a78 +set $flamingo #dd7878 +set $pink #ea76cb +set $mauve #8839ef +set $red #d20f39 +set $maroon #e64553 +set $peach #fe640b +set $yellow #df8e1d +set $green #40a02b +set $teal #179299 +set $sky #04a5e5 +set $sapphire #209fb5 +set $blue #1e66f5 +set $lavender #7287fd +set $text #4c4f69 +set $subtext1 #5c5f77 +set $subtext0 #6c6f85 +set $overlay2 #7c7f93 +set $overlay1 #8c8fa1 +set $overlay0 #9ca0b0 +set $surface2 #acb0be +set $surface1 #bcc0cc +set $surface0 #ccd0da +set $base #eff1f5 +set $mantle #e6e9ef +set $crust #dce0e8 diff --git a/sway/.config/sway/themes/catppuccin-macchiato b/sway/.config/sway/themes/catppuccin-macchiato new file mode 100644 index 0000000..7523f26 --- /dev/null +++ b/sway/.config/sway/themes/catppuccin-macchiato @@ -0,0 +1,26 @@ +set $rosewater #f4dbd6 +set $flamingo #f0c6c6 +set $pink #f5bde6 +set $mauve #c6a0f6 +set $red #ed8796 +set $maroon #ee99a0 +set $peach #f5a97f +set $yellow #eed49f +set $green #a6da95 +set $teal #8bd5ca +set $sky #91d7e3 +set $sapphire #7dc4e4 +set $blue #8aadf4 +set $lavender #b7bdf8 +set $text #cad3f5 +set $subtext1 #b8c0e0 +set $subtext0 #a5adcb +set $overlay2 #939ab7 +set $overlay1 #8087a2 +set $overlay0 #6e738d +set $surface2 #5b6078 +set $surface1 #494d64 +set $surface0 #363a4f +set $base #24273a +set $mantle #1e2030 +set $crust #181926 diff --git a/sway/.config/sway/themes/catppuccin-mocha b/sway/.config/sway/themes/catppuccin-mocha new file mode 100644 index 0000000..77749f6 --- /dev/null +++ b/sway/.config/sway/themes/catppuccin-mocha @@ -0,0 +1,26 @@ +set $rosewater #f5e0dc +set $flamingo #f2cdcd +set $pink #f5c2e7 +set $mauve #cba6f7 +set $red #f38ba8 +set $maroon #eba0ac +set $peach #fab387 +set $yellow #f9e2af +set $green #a6e3a1 +set $teal #94e2d5 +set $sky #89dceb +set $sapphire #74c7ec +set $blue #89b4fa +set $lavender #b4befe +set $text #cdd6f4 +set $subtext1 #bac2de +set $subtext0 #a6adc8 +set $overlay2 #9399b2 +set $overlay1 #7f849c +set $overlay0 #6c7086 +set $surface2 #585b70 +set $surface1 #45475a +set $surface0 #313244 +set $base #1e1e2e +set $mantle #181825 +set $crust #11111b diff --git a/sway/.config/sway/wallpaper.jpg b/sway/.config/sway/wallpaper.jpg new file mode 100644 index 0000000..4df9b54 Binary files /dev/null and b/sway/.config/sway/wallpaper.jpg differ diff --git a/sway/.config/sway/workspaces b/sway/.config/sway/workspaces new file mode 100644 index 0000000..e69de29 diff --git a/sway/.config/swaylock/config b/sway/.config/swaylock/config new file mode 100644 index 0000000..2f465a1 --- /dev/null +++ b/sway/.config/swaylock/config @@ -0,0 +1,30 @@ +image=~/.config/swaylock/current_bg +color=1e1e2e +bs-hl-color=f5e0dc +caps-lock-bs-hl-color=f5e0dc +caps-lock-key-hl-color=a6e3a1 +inside-color=00000000 +inside-clear-color=00000000 +inside-caps-lock-color=00000000 +inside-ver-color=00000000 +inside-wrong-color=00000000 +key-hl-color=a6e3a1 +layout-bg-color=00000000 +layout-border-color=00000000 +layout-text-color=cdd6f4 +line-color=00000000 +line-clear-color=00000000 +line-caps-lock-color=00000000 +line-ver-color=00000000 +line-wrong-color=00000000 +ring-color=b4befe +ring-clear-color=f5e0dc +ring-caps-lock-color=fab387 +ring-ver-color=89b4fa +ring-wrong-color=eba0ac +separator-color=00000000 +text-color=cdd6f4 +text-clear-color=f5e0dc +text-caps-lock-color=fab387 +text-ver-color=89b4fa +text-wrong-color=eba0ac diff --git a/sway/.config/swaylock/current_bg b/sway/.config/swaylock/current_bg new file mode 100644 index 0000000..becfe68 Binary files /dev/null and b/sway/.config/swaylock/current_bg differ diff --git a/sway/.config/swayosd/style.css b/sway/.config/swayosd/style.css new file mode 100644 index 0000000..ac58701 --- /dev/null +++ b/sway/.config/swayosd/style.css @@ -0,0 +1,43 @@ +* { + font-family: "Noto Sans Regular"; + font-size: 12pt; +} + +window#osd { + border-radius: 999px; + border: none; + background: #{"alpha(@theme_bg_color, 0.8)"}; + + #container { + margin: 16px; + } + + image, + label { + color: #{"@theme_fg_color"}; + } + + progressbar:disabled, + image:disabled { + opacity: 0.5; + } + + progressbar { + min-height: 6px; + border-radius: 999px; + background: transparent; + border: none; + } + trough { + min-height: inherit; + border-radius: inherit; + border: none; + background: #{"alpha(@theme_fg_color, 0.5)"}; + } + progress { + min-height: inherit; + border-radius: inherit; + border: none; + background: #{"@theme_fg_color"}; + } +} diff --git a/sway/.config/waybar/config.jsonc b/sway/.config/waybar/config.jsonc new file mode 100644 index 0000000..b27244d --- /dev/null +++ b/sway/.config/waybar/config.jsonc @@ -0,0 +1,164 @@ +{ + "layer": "top", // Waybar at top layer + "position": "top", // Waybar position (top|bottom|left|right) + "modules-left": [ + "sway/workspaces" + ], + "modules-center": [ + "custom/music" + ], + "modules-right": [ + "temperature", + "memory", + "cpu", + "pulseaudio", + "backlight", + "network", + "bluetooth", + "battery", + "clock", + "custom/powermenu", + "tray" + ], + "custom/launcher": { + "format": "๏ " , + "on-click": "fuzzel &", + "tooltip": false + }, + "sway/workspaces": { + "disable-scroll": true, + "disable-markup": false, + "all-outputs": true, + "sort-by-number": true, + "format": "{index}", + "on-click": "activate", + "format-icons": { + "1": "๏„ ", + "2": "๏‰ฉ", + "3": "๏„ก", + "4": "๏†ผ", + "5": "๏ต", + "urgent": "๏ช", + "active": "๏†’", + "default": "๏„‘" + }, + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "๏ฎ", + "deactivated": "๏ฐ" + }, + "tooltip": false + }, + "backlight": { + "device": "intel_backlight", + "on-scroll-up": "light -A 5", + "on-scroll-down": "light -U 5", + "format": "{percent}% {icon}", + "format-icons": [ "๎Ž", "๎“", "๎‘", "๎", "๎Ž", "๎", "๎Š", "๎ˆ", "๎Ž›" ] + }, + "pulseaudio": { + "scroll-step": 1, + "format": "{volume}% {icon}", + "format-muted": "๏‘ฆ {format_source}", + "format-icons": { + "headphone": "๏€ฅ", + "phone": "๏‚•", + "portable": "๏‚•", + "car": "๏†น", + "default": ["๏€ฆ", "๏€ง", "๏€จ "] + }, + "on-click": "pavucontrol &", + //"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle", + }, + "battery": { + "interval": 10, + "states": { + "warning": 20, + "critical": 10 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ๓ฐ‚„", + "format-plugged": "{capacity}% ๏‡ฆ", + "format-alt": "{time} {icon}", + "format-icons": [ "๓ฐบ", "๓ฐป", "๓ฐผ", "๓ฐฝ", "๓ฐพ", "๓ฐฟ", "๓ฐ‚€", "๓ฐ‚", "๓ฐ‚‚" ] + }, + "clock": { + "interval": 1, + "timezone": "Europe/Rome", + "format": "{:%I:%M %p}", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%A %d/%m/%Y}", + }, + "memory": { + "interval": 1, + "format": "{percentage}% ๏ƒ‰", + "states": { + "warning": 85, + }, + }, + "cpu": { + "interval": 1, + "format": "{usage}% ๏‹›", + "tooltip": false + }, + "mpd": { + "max-length": 25, + "format": "๏€ {title}", + "format-paused": "๏€ {title}", + "format-stopped":"๏€", + "format-disconnected": "", + "on-click": "mpc --quiet toggle", + "on-click-right": "mpc ls | mpc add", + "on-click-middle": "kitty ncmpcpp", + "on-scroll-up": "mpc --quiet prev", + "on-scroll-down": "mpc --quiet next", + "smooth-scrolling-threshold":5, + "tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})" + }, + "network": { + "interval": 1, + "tooltip": true, + "format-wifi": "{icon}", + "format-ethernet": "{icon}", + "format-linked": "๓ฐˆ", + "format-icons": ["๓ฐคŸ", "๓ฐคข", "๓ฐคฅ", "๓ฐคจ"], + "format-disconnected": "๓ฐˆ‚", + "tooltip-format": "{ifname}", + "tooltip-format-wifi": "{essid} ({signalStrength}%) ๏‡ซ ", + "tooltip-format-ethernet": "{ifname} ๏ƒ ", + "tooltip-format-disconnected": "Disconnected", + "on-click": "nm-connection-editor &", + }, + "temperature": { + "hwmon-path": "/sys/class/hwmon/hwmon6/temp2_input", + "tooltip": false, + "format": "{temperatureC}ยฐC ๏‹‰" + }, + "custom/powermenu": { + "format": "๏€‘", + "on-click": "wlogout &", + "tooltip": false + }, + "tray": { + "icon-size": 15, + "spacing": 5 + }, + "bluetooth": { + "format": "๏Š”", + "format-connected": "{device_alias} ๏Š”", + "format-connected-battery": "{device_alias} {device_battery_percentage}% ๏Š”", + "format-off": "๓ฐ‚ฒ", // "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device + "tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected", + "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", + "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%", + "on-click": "blueman-manager &" + }, + "custom/music": { + "format": "{}", + "return-type": "json", + "exec": "waybar-module-music", + } +} diff --git a/sway/.config/waybar/style.css b/sway/.config/waybar/style.css new file mode 100644 index 0000000..38a2baa --- /dev/null +++ b/sway/.config/waybar/style.css @@ -0,0 +1,145 @@ +@import "themes/mocha.css"; + +* { + font-family: "ComicShannsMono Nerd Font"; + font-size: 12pt; + font-weight: bold; + border-radius: 0px; + transition-property: background-color; + transition-duration: 0.5s; +} +@keyframes blink_red { + to { + background-color: @flamingo; + color: @mantle; + } +} +.warning, .critical, .urgent { + animation-name: blink_red; + animation-duration: 1s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} +window#waybar { + background-color: transparent; +} +window > box { + /* margin-left: 5px; */ + /* margin-right: 5px; */ + /* margin-top: 5px; */ + background-color: @base; +} +#workspaces { + padding-left: 0px; + padding-right: 4px; +} +#workspaces button { + color: @teal; + padding-top: 5px; + padding-bottom: 5px; + padding-left: 6px; + padding-right: 6px; +} +#workspaces button.focused { + background-color: @teal; + color: @mantle; +} +#workspaces button.urgent { + color: @mantle; +} +#workspaces button:hover { + background-color: @peach; + color: @mantle; +} +tooltip { + background: @surface0; +} +tooltip label { + color: @text; +} +#custom-launcher { + padding-left: 8px; + padding-right: 6px; + color: @mauve; +} +#mode, #clock, #memory, #temperature, #cpu, #mpd, #idle_inhibitor, #temperature, #backlight, #pulseaudio, #network, #battery, #custom-powermenu, #bluetooth, #custom-music { + padding-left: 10px; + padding-right: 10px; +} +#memory { + color: @teal; +} +#cpu { + color: @pink; +} +#clock { + color: @text; +} +#idle_inhibitor { + color: @mauve; +} +#temperature { + color: @sapphire; +} +#backlight { + color: @peach; +} +#pulseaudio { + color: @rosewater; +} +#network { + color: @green; +} +#network.disconnected { + color: @text; +} +#battery { + color: @sky; +} +#battery.charging { + color: @green; +} +#battery.full, #battery.discharging { + color: @yellow; +} +#battery.critical:not(.charging) { + color: @red; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} +#custom-powermenu { + color: @red; +} +#tray { + padding-right: 8px; + padding-left: 10px; +} +#mpd.paused { + color: @blue; + font-style: italic; +} +#mpd.stopped { + background: transparent; +} +#mpd { + color: @sky; +} +#bluetooth { + color: @blue; +} +#custom-launcher { + color: @text; +} +#custom-music.playing { + color: @green; +} +#custom-music.paused { + color: @maroon; +} +#custom-music.stopped { + color: @peach; +} diff --git a/sway/.config/waybar/themes/frappe.css b/sway/.config/waybar/themes/frappe.css new file mode 100644 index 0000000..c06b8fb --- /dev/null +++ b/sway/.config/waybar/themes/frappe.css @@ -0,0 +1,26 @@ +@define-color rosewater #f2d5cf; +@define-color flamingo #eebebe; +@define-color pink #f4b8e4; +@define-color mauve #ca9ee6; +@define-color red #e78284; +@define-color maroon #ea999c; +@define-color peach #ef9f76; +@define-color yellow #e5c890; +@define-color green #a6d189; +@define-color teal #81c8be; +@define-color sky #99d1db; +@define-color sapphire #85c1dc; +@define-color blue #8caaee; +@define-color lavender #babbf1; +@define-color text #c6d0f5; +@define-color subtext1 #b5bfe2; +@define-color subtext0 #a5adce; +@define-color overlay2 #949cbb; +@define-color overlay1 #838ba7; +@define-color overlay0 #737994; +@define-color surface2 #626880; +@define-color surface1 #51576d; +@define-color surface0 #414559; +@define-color base #303446; +@define-color mantle #292c3c; +@define-color crust #232634; diff --git a/sway/.config/waybar/themes/latte.css b/sway/.config/waybar/themes/latte.css new file mode 100644 index 0000000..bb101b1 --- /dev/null +++ b/sway/.config/waybar/themes/latte.css @@ -0,0 +1,26 @@ +@define-color rosewater #dc8a78; +@define-color flamingo #dd7878; +@define-color pink #ea76cb; +@define-color mauve #8839ef; +@define-color red #d20f39; +@define-color maroon #e64553; +@define-color peach #fe640b; +@define-color yellow #df8e1d; +@define-color green #40a02b; +@define-color teal #179299; +@define-color sky #04a5e5; +@define-color sapphire #209fb5; +@define-color blue #1e66f5; +@define-color lavender #7287fd; +@define-color text #4c4f69; +@define-color subtext1 #5c5f77; +@define-color subtext0 #6c6f85; +@define-color overlay2 #7c7f93; +@define-color overlay1 #8c8fa1; +@define-color overlay0 #9ca0b0; +@define-color surface2 #acb0be; +@define-color surface1 #bcc0cc; +@define-color surface0 #ccd0da; +@define-color base #eff1f5; +@define-color mantle #e6e9ef; +@define-color crust #dce0e8; diff --git a/sway/.config/waybar/themes/macchiato.css b/sway/.config/waybar/themes/macchiato.css new file mode 100644 index 0000000..112ee32 --- /dev/null +++ b/sway/.config/waybar/themes/macchiato.css @@ -0,0 +1,26 @@ +@define-color rosewater #f4dbd6; +@define-color flamingo #f0c6c6; +@define-color pink #f5bde6; +@define-color mauve #c6a0f6; +@define-color red #ed8796; +@define-color maroon #ee99a0; +@define-color peach #f5a97f; +@define-color yellow #eed49f; +@define-color green #a6da95; +@define-color teal #8bd5ca; +@define-color sky #91d7e3; +@define-color sapphire #7dc4e4; +@define-color blue #8aadf4; +@define-color lavender #b7bdf8; +@define-color text #cad3f5; +@define-color subtext1 #b8c0e0; +@define-color subtext0 #a5adcb; +@define-color overlay2 #939ab7; +@define-color overlay1 #8087a2; +@define-color overlay0 #6e738d; +@define-color surface2 #5b6078; +@define-color surface1 #494d64; +@define-color surface0 #363a4f; +@define-color base #24273a; +@define-color mantle #1e2030; +@define-color crust #181926; diff --git a/sway/.config/waybar/themes/mocha.css b/sway/.config/waybar/themes/mocha.css new file mode 100644 index 0000000..0eb6a82 --- /dev/null +++ b/sway/.config/waybar/themes/mocha.css @@ -0,0 +1,26 @@ +@define-color rosewater #f5e0dc; +@define-color flamingo #f2cdcd; +@define-color pink #f5c2e7; +@define-color mauve #cba6f7; +@define-color red #f38ba8; +@define-color maroon #eba0ac; +@define-color peach #fab387; +@define-color yellow #f9e2af; +@define-color green #a6e3a1; +@define-color teal #94e2d5; +@define-color sky #89dceb; +@define-color sapphire #74c7ec; +@define-color blue #89b4fa; +@define-color lavender #b4befe; +@define-color text #cdd6f4; +@define-color subtext1 #bac2de; +@define-color subtext0 #a6adc8; +@define-color overlay2 #9399b2; +@define-color overlay1 #7f849c; +@define-color overlay0 #6c7086; +@define-color surface2 #585b70; +@define-color surface1 #45475a; +@define-color surface0 #313244; +@define-color base #1e1e2e; +@define-color mantle #181825; +@define-color crust #11111b; diff --git a/sway/.config/wlogout/icons/hibernate.svg b/sway/.config/wlogout/icons/hibernate.svg new file mode 100644 index 0000000..dc9dcf8 --- /dev/null +++ b/sway/.config/wlogout/icons/hibernate.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + diff --git a/sway/.config/wlogout/icons/lock.svg b/sway/.config/wlogout/icons/lock.svg new file mode 100644 index 0000000..a7832ba --- /dev/null +++ b/sway/.config/wlogout/icons/lock.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + diff --git a/sway/.config/wlogout/icons/logout.svg b/sway/.config/wlogout/icons/logout.svg new file mode 100644 index 0000000..3e0cc80 --- /dev/null +++ b/sway/.config/wlogout/icons/logout.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + diff --git a/sway/.config/wlogout/icons/reboot.svg b/sway/.config/wlogout/icons/reboot.svg new file mode 100644 index 0000000..bfa5403 --- /dev/null +++ b/sway/.config/wlogout/icons/reboot.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + diff --git a/sway/.config/wlogout/icons/shutdown.svg b/sway/.config/wlogout/icons/shutdown.svg new file mode 100644 index 0000000..2892505 --- /dev/null +++ b/sway/.config/wlogout/icons/shutdown.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + diff --git a/sway/.config/wlogout/icons/suspend.svg b/sway/.config/wlogout/icons/suspend.svg new file mode 100644 index 0000000..c10fb47 --- /dev/null +++ b/sway/.config/wlogout/icons/suspend.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + diff --git a/sway/.config/wlogout/style.css b/sway/.config/wlogout/style.css new file mode 100644 index 0000000..fa7279e --- /dev/null +++ b/sway/.config/wlogout/style.css @@ -0,0 +1,53 @@ +* { + font-family: "Noto Sans Regular"; + font-size: 12pt; + background-image: none; + box-shadow: none; +} + +window { + background-color: rgba(30, 30, 46, 0.90); +} + +button { + border-radius: 0; + border-color: #89b4fa; + text-decoration-color: #cdd6f4; + color: #cdd6f4; + background-color: #181825; + border-style: solid; + border-width: 1px; + background-repeat: no-repeat; + background-position: center; + background-size: 25%; +} + +button:focus, button:active, button:hover { + /* 20% Overlay 2, 80% mantle */ + background-color: rgb(48, 50, 66); + outline-style: none; +} + +#lock { + background-image: url("/home/fscotto/.config/wlogout/icons/lock.svg"); +} + +#logout { + background-image: url("/home/fscotto/.config/wlogout/icons/logout.svg"); +} + +#suspend { + background-image: url("/home/fscotto/.config/wlogout/icons/suspend.svg"); +} + +#hibernate { + background-image: url("/home/fscotto/.config/wlogout/icons/hibernate.svg"); +} + +#shutdown { + background-image: url("/home/fscotto/.config/wlogout/icons/shutdown.svg"); +} + +#reboot { + background-image: url("/home/fscotto/.config/wlogout/icons/reboot.svg"); +}