add settings for sway

This commit is contained in:
nnduc
2025-07-21 15:43:56 +07:00
parent dd33bc658f
commit 74a529e5bd
8 changed files with 177 additions and 147 deletions

View File

@@ -8,7 +8,11 @@
### For sway ### For sway
- wl-root - wl-root
- grim
- slurp
- wl-clipboard
- sway - sway
- swaybg
- waybar - waybar
### Others (notifications and icons) ### Others (notifications and icons)
@@ -51,4 +55,4 @@ curl -sL install-node.vercel.app/lts | bash
### coc.vimtex ### coc.vimtex
``` ```
:CocInstall coc-vimtex :CocInstall coc-vimtex
``` ```

View File

@@ -1,20 +1,20 @@
font: font:
normal: normal:
family: MesloLGS NF family: 0xProto Nerd Font
#style: Regular #style: Regular
bold: bold:
family: MesloLGS NF family: 0xProto Nerd Font
#style: Bold #style: Bold
# Italic font face # Italic font face
italic: italic:
# value specified for the normal font. # value specified for the normal font.
family: MesloLGS NF family: 0xProto Nerd Font
#style: Italic #style: Italic
bold_italic: bold_italic:
family: MesloLGS NF family: 0xProto Nerd Font
#style: Bold Italic #style: Bold Italic
# Point size # Point size
size: 13.0 size: 13.0

View File

@@ -25,10 +25,9 @@ exec --no-startup-id dex --autostart --environment i3
# The combination of xss-lock, nm-applet and pactl is a popular choice, so # The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit. # they are included here as an example. Modify as you see fit.
exec --no-startup-id /usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh #exec --no-startup-id /usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen. # screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock --i3lock --nofork --ignore-empty-password -i $wallpaper
exec --no-startup-id xrand --output HDMI-0 --mode 1920x1080 --rate 120 exec --no-startup-id xrand --output HDMI-0 --mode 1920x1080 --rate 120
bindsym $mod+l exec i3lock --ignore-empty-password -i $wallpaper bindsym $mod+l exec i3lock --ignore-empty-password -i $wallpaper

View File

@@ -119,20 +119,18 @@ label-foreground = ${colors.altprime}
[module/battery] [module/battery]
type = internal/battery type = internal/battery
full-at = 99 full-at = 99
low-at = 15 low-at = 5
; Use the following command to list batteries and adapters: ; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/ ; $ ls -1 /sys/class/power_supply/
battery = BAT0 battery = BAT0
adapter = AC adapter = AC
time-format = %H:%M time-format = %H:%M
label-charging = %percentage%% label-charging = Charging %percentage%%
label-discharging = %percentage%% label-discharging = Discharging %percentage%%
format-charging = <animation-charging> <label-charging> format-charging = <animation-charging> <lavel-charging>
format-discharging = <ramp-capacity> <label-discharging> format-discharging = <ramp-capacity> <label-discharging>
;label-full = Fully charged label-full = Fully charged
label-full =
label-low = BATTERY LOW label-low = BATTERY LOW
; Only applies if <ramp-capacity> is used ; Only applies if <ramp-capacity> is used

View File

@@ -5,7 +5,7 @@
display_duration=7.0 display_duration=7.0
# Maximum number of characters: # Maximum number of characters:
char_limit=150 char_limit=120
# Stop old tiramisu processes if any: # Stop old tiramisu processes if any:
pgrep -x tiramisu >/dev/null && killall tiramisu pgrep -x tiramisu >/dev/null && killall tiramisu

View File

@@ -23,14 +23,15 @@ set $menu wofi --show drun
### Output configuration ### Output configuration
# #
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
#output * bg /data/sync/images/wallpapers/stonebeach.jpg fill set $bg /data/sync/images/wallpapers/0002.png
output * bg /usr/share/wallpapers/openSUSEdefault/contents/images/default-dark.png fill
set $screenlock 'swaylock --config /etc/swaylock/openSUSEway.conf' set $screenlock 'swaylock --config /etc/swaylock/openSUSEway.conf'
set $images $(xdg-user-dir PICTURES)/$(date +'%s_grim.png')
# #
exec --no-startup-id swaybg -m fill -i $bg
# Example configuration: # Example configuration:
# #
output HDMI-A-1 resolution 1920x1080@120hz position 1920,0 #output HDMI-A-1 resolution 1920x1080@120hz position 1920,0
# #
# You can get the names of your outputs by running: swaymsg -t get_outputs # You can get the names of your outputs by running: swaymsg -t get_outputs
@@ -69,26 +70,31 @@ input "2:7:SynPS/2_Synaptics_TouchPad" {
events disabled_on_external_mouse events disabled_on_external_mouse
} }
#exec --no-startup-id /usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh
exec --no-startup-id kwalletd6
exec --no-startup-id fcitx5 exec --no-startup-id fcitx5
exec --no-startup-id blueman-applet #exec --no-startup-id blueman-applet
#exec --no-startup-id feh --bg-fill '/data/sync/images/wallpapers/stonebeach.jpg'
exec --no-startup-id owncloud exec --no-startup-id owncloud
exec --no-startup-id waybar exec --no-startup-id waybar
exec --no-startup-id nm-applet --indicator exec --no-startup-id nm-applet --indicator
#exec --no-startup-id nohup gentoo-pipewire-launcher restart >/dev/null 2>&1 & exec --no-startup-id nohup gentoo-pipewire-launcher restart >/dev/null 2>&1 &
exec --no-startup-id xset m 1/1 0 exec --no-startup-id xset m 1/1 0
exec --no-startup-id /usr/lib/pam_kwallet_init
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status # Use pactl to adjust volume in PulseAudio.
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status bindsym XF86AudioRaiseVolume exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 0.02+ --limit 1 && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status bindsym XF86AudioLowerVolume exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 0.02- --limit 0 && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status bindsym XF86AudioMute exec --no-startup-id wpctl set-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindcode $mod+60 exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status bindsym XF86AudioMicMute exec --no-startup-id wpctl set-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
bindcode $mod+59 exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status bindsym $mod+slash exec --no-startup-id wpctl set-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindcode $mod+61 exec playerctl play-pause bindsym $mod+period exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 0.02+ --limit 1 && $refresh_i3status
bindsym $mod+comma exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 0.02- --limit 0 && $refresh_i3status
bindsym $mod+Shift+comma exec playerctl previous
bindsym $mod+Shift+period exec playerctl next # Brightness key bindings
bindsym XF86MonBrightnessUp exec brightnessctl set +5%
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
# Media player key bindings (need media-sound/playerctl for playerctl.) # Media player key bindings (need media-sound/playerctl for playerctl.)
bindsym XF86AudioPlay exec playerctl play bindsym XF86AudioPlay exec playerctl play
@@ -96,9 +102,12 @@ bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous bindsym XF86AudioPrev exec playerctl previous
# Brightness key bindings bindsym $mod+Shift+comma exec playerctl previous
bindsym XF86MonBrightnessUp exec brightnessctl set +5% bindsym $mod+Shift+period exec playerctl next
bindsym XF86MonBrightnessDown exec brightnessctl set 5%- bindsym $mod+Shift+slash exec playerctl play-pause
bindsym Print exec grim -g "$(slurp)" - | wl-copy
bindsym $mod+Print exec grim -o $images
### Key bindings ### Key bindings
# #
# Basics: # Basics:
@@ -126,7 +135,7 @@ bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session) # 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 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+p exec systemctl poweroff bindsym $mod+Shift+p exec systemctl poweroff
bindsym $mod+Shift+e exec swaymsg exit bindsym $mod+Shift+l exec swaymsg exit
# #
# Moving around: # Moving around:
# #
@@ -137,10 +146,10 @@ bindsym $mod+Up focus up
bindsym $mod+Right focus right bindsym $mod+Right focus right
# move focused window # move focused window
bindsym $mod+Shift+j move left #bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down #bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up #bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right #bindsym $mod+Shift+semicolon move right
# alternatively, you can use the cursor keys: # alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left bindsym $mod+Shift+Left move left
@@ -188,10 +197,10 @@ bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split bindsym $mod+e layout toggle split
# Make the current focus fullscreen # Make the current focus fullscreen
bindsym $mod+f fullscreen bindsym $mod+Shift+space fullscreen
# Toggle the current focus between tiling and floating mode # Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle bindsym $mod+f floating toggle
# Swap focus between the tiling area and the floating area # Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle bindsym $mod+space focus mode_toggle
@@ -249,8 +258,14 @@ bar {
for_window [class="^.*"] border pixel 1 for_window [class="^.*"] border pixel 1
#floating #floating
for_window [class="Signal"] floating enable for_window [app_id="signal"] floating enable
for_window [class="Gajim"] floating enable for_window [app_id="fluffychat"] floating enable
for_window [app_id="im.dino.Dino"] floating enable
for_window [app_id="desktopclient.owncloud.com.owncloud"] floating enable
for_window [app_id="firefox-bin"] move to workspace 1
for_window [app_id="thunderbird"] move container to workspace 4
for_window [app_id="thunar"] move container to workspace 3
for_window [title="wtui"] floating enable
include ~./config/sway/* include ~./config/sway/*
#include /etc/sway/config.d/* #include /etc/sway/config.d/*

View File

@@ -4,8 +4,8 @@
// Choose the order of the modules // Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/window"], "modules-left": ["sway/workspaces", "sway/window"],
"modules-center": ["clock"], "modules-center": ["clock"],
"modules-right": ["custom/tiramisu","battery", "wireplumber", "tray"], "modules-right": ["custom/tiramisu","battery", "bluetooth", "network", "wireplumber", "tray"],
//"modules-right": ["custom/tiramisu", "network", "wireplumber", "tray"], //"modules-right": ["custom/tiramisu", "bluetooth",network", "wireplumber", "tray"],
// Modules configuration // Modules configuration
// "hyprland/workspaces": { // "hyprland/workspaces": {
// "disable-scroll": true, // "disable-scroll": true,
@@ -17,7 +17,7 @@
"format": "{icon}", "format": "{icon}",
}, },
"tray": { "tray": {
"icon-size": 21, "icon-size": 18,
"spacing": 10 "spacing": 10
}, },
"clock": { "clock": {
@@ -25,18 +25,32 @@
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d %H:%M}" "format-alt": "{:%Y-%m-%d %H:%M}"
}, },
"bluetooth": {
//"format": "{status}  ",
"format-on": "",
"format-off": "󰂲",
"format-connected": "{device_alias} 󰂱",
// "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": "~/.local/bin/rofi-bluetooth"
//"on-click": "blueman-manager"
},
"network": { "network": {
"format-wifi": " {icon}", "interface": "wls2",
"format-ethernet": "  ", "format": "{ifname}",
"format-disconnected": "󰌙", "format-wifi": "{essid} {icon}",
"format-icons": [ "format-ethernet": "{ipaddr}/{cidr} 󰊗",
"󰤯 ", "format-disconnected": "", //An empty format will hide the module.
"󰤟 ", "tooltip-format": "{ifname} via {gwaddr} 󰊗",
"󰤢 ", "tooltip-format-wifi": "{essid} ({signalStrength}%) ",
"󰤢 ", "tooltip-format-ethernet": "{ifname} ",
"󰤨 " "tooltip-format-disconnected": "Disconnected",
], "max-length": 50,
"on-click": "alacritty -e nmtui" "format-icons": ["󰤟 ", "󰤢 ","󰤥 ","󰤨 "],
"on-click": "swaymsg exec '$term -t wtui -e nmtui-connect'"
}, },
"battery": { "battery": {
"interval": 1, "interval": 1,
@@ -57,18 +71,18 @@
"tooltip": false "tooltip": false
}, },
"wireplumber": { "wireplumber": {
"format": "{volume}%", //"format": "{icon}",
"format-muted": "{node_name} off", "format": "{volume}% {icon}",
"format-muted": "{node_name} 󰝟",
"on-click-right": "pactl set-default-sink $((s=$(pactl list short sinks | sed -e 's:^[0-9]\\+\\s\\+::' | grep -oP '^\\S+'); echo \"$s\"; echo \"$s\") | fgrep $(pactl get-default-sink) -m 1 -A 1 | tail -1)", "on-click-right": "pactl set-default-sink $((s=$(pactl list short sinks | sed -e 's:^[0-9]\\+\\s\\+::' | grep -oP '^\\S+'); echo \"$s\"; echo \"$s\") | fgrep $(pactl get-default-sink) -m 1 -A 1 | tail -1)",
"on-click": "pavucontrol", "on-click": "pavucontrol",
"max-volume": 100, "max-volume": 100,
"scroll-step": 2, "scroll-step": 2,
"format-icons": ["", ""], "format-icons":["󰕿","","󰕾"]
}, },
"custom/tiramisu": { "custom/tiramisu": {
"format": "{} ", "format": "{} ",
"exec": "sh ~/.config/polybar/scripts/polytiramisu.sh", "exec": "sh ~/.config/polybar/scripts/polytiramisu.sh",
}, },
} },

View File

@@ -17,166 +17,166 @@
@define-color content_inactive rgba(255, 255, 255, 0.69); @define-color content_inactive rgba(255, 255, 255, 0.69);
* { * {
text-shadow: none; text-shadow: none;
box-shadow: none; box-shadow: none;
border: none; border: none;
border-radius: 0; border-radius: 0;
font-family: "Hack Nerd Font" ; font-family: "0xProto Nerd Font" ;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
} }
window#waybar { window#waybar {
background: @bg_main; background: @bg_main;
border-top: 1px solid @border_main; border-top: 1px solid @border_main;
color: @content_main; color: @content_main;
} }
tooltip { tooltip {
background: @bg_main_tooltip; background: @bg_main_tooltip;
border-radius: 5px; border-radius: 5px;
border-width: 1px; border-width: 1px;
border-style: solid; border-style: solid;
border-color: @border_main; border-color: @border_main;
} }
tooltip label{ tooltip label{
color: @content_main; color: @content_main;
} }
#custom-os_button { #custom-os_button {
font-family: "JetBrainsMono Nerd Font"; font-family: "JetBrainsMono Nerd Font";
font-size: 24px; font-size: 24px;
padding-left: 12px; padding-left: 12px;
padding-right: 20px; padding-right: 20px;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
} }
#custom-os_button:hover { #custom-os_button:hover {
background: @bg_hover; background: @bg_hover;
color: @content_main; color: @content_main;
} }
#workspaces { #workspaces {
color: transparent; color: transparent;
margin-right: 1.5px; margin-right: 1.5px;
margin-left: 1.5px; margin-left: 1.5px;
} }
#workspaces button { #workspaces button {
padding: 3px; padding: 3px;
color: @content_inactive; color: @content_inactive;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
} }
#workspaces button.active { #workspaces button.active {
color: @content_main; color: @content_main;
border-bottom: 3px solid white; border-bottom: 3px solid white;
} }
#workspaces button.focused { #workspaces button.focused {
color: @bg_active; color: @bg_active;
} }
#workspaces button.urgent { #workspaces button.urgent {
background: rgba(255, 200, 0, 0.35); background: rgba(255, 200, 0, 0.35);
border-bottom: 3px dashed @warning_color; border-bottom: 3px dashed @warning_color;
color: @warning_color; color: @warning_color;
} }
#workspaces button:hover { #workspaces button:hover {
background: @bg_hover; background: @bg_hover;
color: @content_main; color: @content_main;
} }
#taskbar { #taskbar {
} }
#taskbar button { #taskbar button {
min-width: 130px; min-width: 130px;
border-bottom: 3px solid rgba(255, 255, 255, 0.3); border-bottom: 3px solid rgba(255, 255, 255, 0.3);
margin-left: 2px; margin-left: 2px;
margin-right: 2px; margin-right: 2px;
padding-left: 8px; padding-left: 8px;
padding-right: 8px; padding-right: 8px;
color: white; color: white;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
} }
#taskbar button.active { #taskbar button.active {
border-bottom: 3px solid white; border-bottom: 3px solid white;
background: @bg_active; background: @bg_active;
} }
#taskbar button:hover { #taskbar button:hover {
border-bottom: 3px solid white; border-bottom: 3px solid white;
background: @bg_hover; background: @bg_hover;
color: @content_main; color: @content_main;
} }
#cpu, #disk, #memory { #cpu, #disk, #memory {
padding:3px; padding:3px;
} }
#temperature { #temperature {
color: transparent; color: transparent;
font-size: 0px; font-size: 0px;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
} }
#temperature.critical { #temperature.critical {
padding-right: 3px; padding-right: 3px;
color: @warning_color; color: @warning_color;
font-size: initial; font-size: initial;
border-bottom: 3px dashed @warning_color; border-bottom: 3px dashed @warning_color;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
} }
#window { #window {
border-radius: 10px; border-radius: 10px;
margin-left: 20px; margin-left: 20px;
margin-right: 20px; margin-right: 20px;
} }
#tray{ #tray{
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
} }
#tray > .passive { #tray > .passive {
border-bottom: none; border-bottom: none;
} }
/*#tray > .active {*/ /*#tray > .active {*/
/*border-bottom: 3px solid white;*/ /*border-bottom: 3px solid white;*/
/*}*/ /*}*/
#tray > .needs-attention { #tray > .needs-attention {
border-bottom: 3px solid @warning_color; border-bottom: 3px solid @warning_color;
} }
#tray > widget { #tray > widget {
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
} }
#tray > widget:hover { #tray > widget:hover {
background: @bg_hover; background: @bg_hover;
} }
#pulseaudio { #wireplumber {
font-family: "JetBrainsMono Nerd Font"; font-family: "0xProto Nerd Font";
padding-left: 3px; padding-left: 3px;
padding-right: 3px; padding-right: 3px;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
} }
#pulseaudio:hover { #pulseaudio:hover {
background: @bg_hover; background: @bg_hover;
} }
#network { #network {
padding-left: 3px; padding-left: 3px;
padding-right: 3px; padding-right: 3px;
} }
#language { #language {
padding-left: 5px; padding-left: 5px;
padding-right: 5px; padding-right: 5px;
} }
#clock { #clock {
padding-right: 5px; padding-right: 5px;
padding-left: 5px; padding-left: 5px;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
} }
#clock:hover { #clock:hover {
background: @bg_hover; background: @bg_hover;
} }