diff --git a/config.yaml b/config.yaml index d50a841..74229a5 100644 --- a/config.yaml +++ b/config.yaml @@ -23,9 +23,6 @@ dotfiles: d_kitty: src: config/kitty dst: ~/.config/kitty - d_dunst: - src: config/dunst - dst: ~/.config/dunst d_swaylock: src: config/swaylock dst: ~/.config/swaylock @@ -33,13 +30,12 @@ dotfiles: src: software dst: ~/.software profiles: - arch: + lostecho-nuc11pahi5: dotfiles: - f_zshrc - d_hypr - d_waybar - d_wofi - d_kitty - - d_dunst - d_swaylock - f_software diff --git a/dotfiles/config/hypr/hyprland.conf b/dotfiles/config/hypr/hyprland.conf index 229e795..2767f61 100644 --- a/dotfiles/config/hypr/hyprland.conf +++ b/dotfiles/config/hypr/hyprland.conf @@ -55,10 +55,15 @@ input { follow_mouse = 1 touchpad { + disable_while_typing = yes natural_scroll = yes - tap-to-click = yes + #scroll_factor = 1 + #middle_button_emulaton = yes + #tap_buttom_map = lrm + #clickfinger_behavior = false + tap-to-click = yes drag_lock = yes - scroll_factor = 0.3 + scroll_factor = 1 } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. @@ -82,6 +87,7 @@ misc { focus_on_activate = yes animate_manual_resizes = yes animate_mouse_windowdragging = no + suppress_portal_warnings = yes } @@ -133,7 +139,15 @@ master { gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = yes - workspace_swipe_fingers = 3 + workspace_swipe_fingers = 4 + #workspace_swipe_distance = 300 + #workspace_swipe_invert = true + #workspace_swipe_min_speed_to_force = 30 + workspace_swipe_cancel_ratio = 0.15 + #workspace_swipe_create_new = true + #workspace_swipe_forever = false + #workspace_swipe_numbered = false + #workspace_swipe_use_r = false } # Example per-device config @@ -146,6 +160,33 @@ device:apple-inc.-magic-trackpad-1 { #middle_button_emulation=0 } +plugin { + + hyprload { + quiet = true + } + + touch_gestures { + # default sensitivity is probably too low on tablet screens, + # I recommend turning it up to 4.0 + sensitivity = 4.0 + workspace_swipe_fingers = 3 + } + + hyprbars { + # config + buttons { + # button config + } + } + + borders-plus-plus { + #add_borders = 1 # 0 - 2 + #col.border_1 = rgb(ffffff) # example col for border 1 + #col.border_2 = rgb(2222ff) # example col for border 2 + } +} + # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 @@ -170,13 +211,14 @@ $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Q, exec, kitty bind = $mainMod, R, exec, pkill wofi; wofi --show drun -bind = $mainMod, E, exec, dolphin +bind = $mainMod, E, exec, thunar bind = $mainMod, O, exec, obsidian bind = $mainMod, P, exec, logseq bind = $mainMod, L, exec, swaylock # Lock the screen bind = $mainMod, G, exec, google-chrome-stable bind = $mainMod, C, killactive, -bind = $mainMod, M, exec, wlogout --protocol layer-shell # show the logout window +bind = $mainMod, M, exec, nwg-bar +#bind = $mainMod, M, exec, wlogout --protocol layer-shell # show the logout window bind = $mainMod, W, exec, google-chrome-stable --profile-directory=Default --app-id=magamgmomalmppfcmkgppgboggkfiphd # bind = $mainMod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy # bind = $mainMod, U, exec, grim -g "$(slurp)" - | wl-copy @@ -188,6 +230,7 @@ bind = $mainMod SHIFT, I, pseudo, # dwindle bind = $mainMod SHIFT, J, togglesplit, # dwindle bind = $mainMod, Space, fullscreen bind = $mainMod SHIFT, M, exit, +bind = $mainMod, F1, exec, ~/.config/hypr/scripts/gamemode.sh # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l diff --git a/dotfiles/config/hypr/hyprload.toml b/dotfiles/config/hypr/hyprload.toml index c07129e..35e8711 100644 --- a/dotfiles/config/hypr/hyprload.toml +++ b/dotfiles/config/hypr/hyprload.toml @@ -1,9 +1,10 @@ plugins = [ - "horriblename/hyprland-touch-gestures", - # Installs the plugin from https://github.com/Duckonaut/split-monitor-workspaces "Duckonaut/split-monitor-workspaces", - # A more explicit definition of the git install - { git = "https://github.com/Duckonaut/split-monitor-workspaces", branch = "main", name = "split-monitor-workspaces" }, - # Installs the same plugin from a local folder - { local = "/home/duckonaut/repos/split-monitor-workspaces" }, + "zakk4223/hyprNStack", + "zakk4223/hyprRiver", + "VortexCoyote/hyprfocus", + "ItsDrike/hyprland-dwindle-autogroup", + "outfoxxed/hy3", + "horriblename/hyprland-touch-gestures", + "Duckonaut/split-monitor-workspaces", ] diff --git a/dotfiles/config/hypr/scripts/bgaction b/dotfiles/config/hypr/scripts/bgaction index f4aece0..b8efed9 100755 --- a/dotfiles/config/hypr/scripts/bgaction +++ b/dotfiles/config/hypr/scripts/bgaction @@ -7,8 +7,10 @@ swww init THEMEIS=$(readlink -f ~/.config/waybar/style.css | cut -d '-' -f2) #show the correct wallpapper based on the theme -if [ $THEMEIS == "dark.css" ]; then - swww img -o DP-2 ~/.config/hypr/wallpaper-dark.jpg -else - swww img -o DP-2 ~/.config/hypr/wallpaper.jpg -fi +#if [ $THEMEIS == "dark.css" ]; then +# swww img -o DP-2 ~/.config/hypr/wallpaper-dark.jpg +#else +# swww img -o DP-2 ~/.config/hypr/wallpaper.jpg +#fi + +swww img -o DP-2 ~/.config/hypr/wallpaper-dark.jpg diff --git a/dotfiles/config/hypr/scripts/gamemode.sh b/dotfiles/config/hypr/scripts/gamemode.sh new file mode 100755 index 0000000..350f52f --- /dev/null +++ b/dotfiles/config/hypr/scripts/gamemode.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env sh +HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==2{print $2}') +if [ "$HYPRGAMEMODE" = 1 ] ; then + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:drop_shadow 0;\ + keyword decoration:blur 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + exit +fi +hyprctl reload diff --git a/dotfiles/config/swaylock/config b/dotfiles/config/swaylock/config index 7ae89de..11e7bae 100644 --- a/dotfiles/config/swaylock/config +++ b/dotfiles/config/swaylock/config @@ -1,38 +1,24 @@ -daemonize -show-failed-attempts -clock -screenshot -effect-blur=9x5 -effect-vignette=0.5:0.5 -color=1f1d2e80 -font="Inter" -indicator -indicator-radius=200 -indicator-thickness=20 -line-color=1f1d2e -ring-color=191724 -inside-color=1f1d2e -key-hl-color=eb6f92 -separator-color=00000000 -text-color=e0def4 -text-caps-lock-color="" -line-ver-color=eb6f92 -ring-ver-color=eb6f92 -inside-ver-color=1f1d2e -text-ver-color=e0def4 -ring-wrong-color=31748f -text-wrong-color=31748f -inside-wrong-color=1f1d2e -inside-clear-color=1f1d2e -text-clear-color=e0def4 -ring-clear-color=9ccfd8 -line-clear-color=1f1d2e -line-wrong-color=1f1d2e -bs-hl-color=31748f -grace=2 -grace-no-mouse -grace-no-touch -datestr=%a, %B %e -timestr=%I:%M %p -fade-in=0.2 -ignore-empty-password +# indicator +# no-unlock-indicator +# daemonize +indicator-caps-lock +# datestr=%A +image=$HOME/.config/sway/swaylock.png +scaling=fill +font=UbuntuMono +font-size=20 + +# Ring +indicator-radius=115 +# line-uses-ring +line-color=#3b4252 +text-color=#d8dee9 +inside-color=#2e344098 +inside-ver-color=#5e81ac +line-ver-color=#5e81ac +ring-ver-color=#5e81ac98 +ring-color=#4c566a +key-hl-color=#5e81ac +separator-color=#4c566a +layout-text-color=#eceff4 +line-wrong-color=#d08770 diff --git a/dotfiles/config/swaylock/qt5ct/qt5ct.conf b/dotfiles/config/swaylock/qt5ct/qt5ct.conf new file mode 100644 index 0000000..b32291b --- /dev/null +++ b/dotfiles/config/swaylock/qt5ct/qt5ct.conf @@ -0,0 +1,28 @@ +[Appearance] +color_scheme_path=/usr/share/qt5ct/colors/airy.conf +custom_palette=false +icon_theme=Papirus +standard_dialogs=default +style=kvantum-dark + +[Fonts] +fixed=@Variant(\0\0\0@\0\0\0\x12\0\x43\0\x61\0n\0t\0\x61\0r\0\x65\0l\0l@$\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) +general=@Variant(\0\0\0@\0\0\0\x12\0\x43\0\x61\0n\0t\0\x61\0r\0\x65\0l\0l@$\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x80\0\0\0\"\0\0\v:\0\0\x4\x1c\0\0\a\x80\0\0\0\"\0\0\xe\xff\0\0\x4\x37\0\0\0\0\x2\0\0\0\a\x80\0\0\a\x80\0\0\0\"\0\0\v:\0\0\x4\x1c) diff --git a/dotfiles/config/waybar/config-bottom.jsonc b/dotfiles/config/waybar/config-bottom.jsonc deleted file mode 100644 index 391e4f3..0000000 --- a/dotfiles/config/waybar/config-bottom.jsonc +++ /dev/null @@ -1,63 +0,0 @@ -{ - "layer": "top", - "position": "bottom", - "mod": "dock", - "exclusive": true, - "passthrough": false, - "gtk-layer-shell": true, - "height": 25, - "modules-left": [ - "custom/launch_wofi", - "custom/launch_firefox", - "custom/launch_thunderbird", - "custom/launch_kitty", - "custom/launch_dolphin" - ], - "modules-center": ["wlr/taskbar"], - "modules-right": ["custom/weather"], - - "custom/launch_firefox": { - "format": "", - "on-click": "google-chrome-stable", - "tooltip": false - }, - - "custom/launch_thunderbird": { - "format": "󰇰", - "on-click": "thunderbird", - "tooltip": false - }, - - "custom/launch_dolphin": { - "format": "", - "on-click": "exec dolphin", - "tooltip": false - }, - - "custom/launch_kitty": { - "format": "", - "on-click": "exec kitty", - "tooltip": false - }, - - "custom/launch_wofi": { - "format": "󱗼", - "on-click": "sh -c '(sleep 0.5s; pkill wofi || wofi -c ~/.config/wofi/config-lmenu)' & disown", - "tooltip": false - }, - - "wlr/taskbar": { - "format": "{icon}", - "icon-size": 24, - "all-outputs": true, - "tooltip-format": "{name} - {title}", - "on-click": "activate", - "on-click-middle": "close", - "ignore-list": [ - "wofi" - ], - "app_ids-mapping": { - "steam_app_39210": "Final Fantasy 14" - } - } -} diff --git a/dotfiles/config/waybar/config.jsonc b/dotfiles/config/waybar/config.jsonc index 1a939c4..b227774 100644 --- a/dotfiles/config/waybar/config.jsonc +++ b/dotfiles/config/waybar/config.jsonc @@ -5,94 +5,45 @@ "exclusive": true, "passthrough": false, "gtk-layer-shell": true, - "height": 50, + "height": 30, "modules-left": [ - "custom/launch_wofi", - "wlr/workspaces", - - "hyprland/window" + "custom/launcher", + "wlr/workspaces" ], "modules-center": [ - "idle_inhibitor", - "custom/lock_screen", - "custom/power_btn", - "custom/updates", - "clock", + "hyprland/window", "wlr/taskbar" + ], "modules-right": [ "custom/weather", + //"custom/weather_sway", + //"network", + "idle_inhibitor", "cpu", "memory", "disk", "temperature", "battery", - "backlight", + //"custom/PBPbattery", "pulseaudio", - "pulseaudio#microphone", + //"pulseaudio_pamixer", + //"pulseaudio_pamixer#microphone", + //"custom/keyboard-layout", + "backlight#icon", + "backlight#value", + "custom/updates", + "clock", "tray", + //"custom/power", + "custom/lock_screen", "custom/light_dark" ], - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "󰛐", - "deactivated": "󰛑" - }, - "tooltip": true - }, - "hyprland/window": { - "format": "{}" - }, - "custom/launch_wofi": { - "format": "󱗼", + "custom/launcher": { + "format": "  ", "on-click": "sh -c '(sleep 0.5s; pkill wofi || wofi -c ~/.config/wofi/config-lmenu)' & disown", "tooltip": false }, - "custom/lock_screen": { - "format": "", - "on-click": "sh -c '(sleep 0.5s; swaylock)' & disown", - "tooltip": false - }, - "custom/light_dark": { - "format": "󰐾", - "on-click": "~/.config/waybar/scripts/baraction light", - "tooltip": false - }, - "custom/power_btn": { - "format": "", - "on-click": "sh -c '(sleep 0.5s; wlogout --protocol layer-shell)' & disown", - "tooltip": false - }, - "cpu": { - "interval": 10, - "format": " {usage}%", - "max-length": 10, - "on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'" - }, - "disk": { - "interval": 30, - "format": "󰋊 {percentage_used}%", - "path": "/", - "tooltip": true, - "tooltip-format": "HDD - {used} used out of {total} on {path} ({percentage_used}%)", - "on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'" - }, - "memory": { - "interval": 30, - "format": " {}%", - "max-length": 10, - "tooltip": true, - "tooltip-format": "Memory - {used:0.1f}GB used", - "on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'" - }, - "custom/updates": { - "format": "{}", - "exec": "~/.config/waybar/scripts/update-sys", - "on-click": "~/.config/waybar/scripts/update-sys update", - "interval": 300, - "tooltip": true - }, "wlr/workspaces": { "disable-scroll": true, "all-outputs": true, @@ -110,66 +61,12 @@ "10": [] } }, - "tray": { - "icon-size": 18, - "spacing": 10 - }, - "pulseaudio": { - "format": "{icon}", - "format-muted": "", - "on-click": "~/.config/waybar/scripts/volume --toggle", - "on-click-right": "pavucontrol", - "on-scroll-up": "~/.config/waybar/scripts/volume --inc", - "on-scroll-down": "~/.config/waybar/scripts/volume --dec", - "scroll-step": 5, - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "tooltip": true, - "tooltip-format": "{icon} at {volume}%" - }, - "pulseaudio#microphone": { - "format": "{format_source}", - "format-source": "", - "format-source-muted": "", - "on-click": "~/.config/waybar/scripts/volume --toggle-mic", - "on-click-right": "pavucontrol", - "on-scroll-up": "~/.config/waybar/scripts/volume --mic-inc", - "on-scroll-down": "~/.config/waybar/scripts/volume --mic-dec", - "scroll-step": 5, - "tooltip": true, - "tooltip-format": " at {volume}%" - }, - "clock": { - "format": "{:%H:%M}", - "tooltip-format": "{: %A, %e %B %Y}" - }, - "custom/weather": { - //shows the current weather and forecast - "tooltip" : true, - "format" : "{}", - "interval" : 30, - "exec" : "~/.config/waybar/scripts/waybar-wttr.py", - "return-type" : "json" - }, + // -------------------- - "temperature": { - "thermal-zone": 1, - "format": "", - "format-alt-click": "click-right", - "format-alt": " {temperatureC}°C", - "critical-threshold": 70, - "format-critical": " {temperatureC}°C", - "on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'" + "hyprland/window": { + "format": "{}" }, - "wlr/taskbar": { "format": "{icon}", "icon-size": 24, @@ -183,5 +80,189 @@ "app_ids-mapping": { "steam_app_39210": "Final Fantasy 14" } + }, + + + // -------------------- + + + "custom/weather": { + //shows the current weather and forecast + "tooltip" : true, + "format" : "{}", + "interval" : 30, + "exec" : "~/.config/waybar/scripts/waybar-wttr.py", + "return-type" : "json" + }, + // to use the weather module replace with your city or town + // note: do not use spaces: new york would be newyork + "custom/weather_sway": { + "exec": "~/.config/waybar/scripts/weather.sh ", + "return-type": "json", + "interval": 600 + }, + "network": { + "interval": 5, + "format-wifi": " {essid} ({signalStrength}%)", // Icon: wifi + "format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet + "format-disconnected": "⚠ Disconnected", + "tooltip-format": "{ifname}: {ipaddr}", + "on-click": "xfce4-terminal -e 'nmtui'" + }, + "network#vpn": { + "interface": "tun0", + "format": " {essid} ({signalStrength}%)", + "format-disconnected": "⚠ Disconnected", + "tooltip-format": "{ifname}: {ipaddr}/{cidr}" + }, + "idle_inhibitor": { + "format": "{icon} ", + "format-icons":{ + "activated": "", + "deactivated": "" + } + }, + "cpu": { + "interval": 10, + "format": " {usage}%", + "max-length": 10, + "on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'" + }, + "memory": { + "interval": 30, + "format": " {}%", + "max-length": 10, + "tooltip": true, + "tooltip-format": "Memory - {used:0.1f}GB used", + "on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'" + }, + "disk": { + "interval": 30, + "format": "󰋊 {percentage_used}%", + "path": "/", + "tooltip": true, + "tooltip-format": "HDD - {used} used out of {total} on {path} ({percentage_used}%)", + "on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'" + }, + "temperature": { + "thermal-zone": 1, + "format": " {temperatureC}°C", + "format-alt-click": "click-right", + "format-alt": "", + "critical-threshold": 70, + "format-critical": " {temperatureC}°C", + "on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'" + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + + "custom/PBPbattery": { + "exec": "~/.config/waybar/scripts/PBPbattery.sh", + "format": "{}" + }, + "pulseaudio": { + "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon}", + "format-bluetooth": "{volume}% {icon}  {format_source}", + "format-bluetooth-muted": " {icon}  {format_source}", + "format-muted": "婢 {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "וֹ", + "headset": "  ", + "phone": "", + "portable": "", + "car": "", + "default": [""] + }, + "on-click": "pavucontrol", + "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2%", + "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2%", + }, + "pulseaudio_pamixer": { + "format": "{icon}", + "format-muted": "", + "on-click": "~/.config/waybar/scripts/volume --toggle", + "on-click-right": "pavucontrol", + "on-scroll-up": "~/.config/waybar/scripts/volume --inc", + "on-scroll-down": "~/.config/waybar/scripts/volume --dec", + "scroll-step": 1, + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "tooltip": true, + "tooltip-format": "{icon} at {volume}%" + }, + "pulseaudio_pamixer#microphone": { + "format": "{format_source}", + "format-source": "", + "format-source-muted": "", + "on-click": "~/.config/waybar/scripts/volume --toggle-mic", + "on-click-right": "pavucontrol", + "on-scroll-up": "~/.config/waybar/scripts/volume --mic-inc", + "on-scroll-down": "~/.config/waybar/scripts/volume --mic-dec", + "scroll-step": 1, + "tooltip": true, + "tooltip-format": " at {volume}%" + }, + "custom/keyboard-layout": { + "exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4", + // Interval set only as a fallback, as the value is updated by signal + "interval": 30, + "format": " {}", // Icon: keyboard + // Signal sent by Sway key binding (~/.config/sway/key-bindings) + "signal": 1, // SIGHUP + "tooltip": false, + "on-click": "~/.config/waybar/scripts/keyhint.sh" + }, + "backlight#icon": { + "format": "{icon}", + "format-icons": [""], + "on-scroll-down": "brightnessctl -c backlight set 1%-", + "on-scroll-up": "brightnessctl -c backlight set +1%" + }, + + "backlight#value" :{ + "format": "{percent}%", + "on-scroll-down": "brightnessctl -c backlight set 1%-", + "on-scroll-up": "brightnessctl -c backlight set +1%" + }, + "tray": { + "icon-size": 18, + "spacing": 10 + }, + "custom/power": { + "format":"⏻ ", + "on-click": "exec ~/.config/waybar/scripts/power-menu.sh", + "tooltip": false + }, + "custom/lock_screen": { + "format": "", + "on-click": "sh -c '(sleep 0.5s; swaylock)' & disown", + "tooltip": false + }, + "custom/light_dark": { + "format": "󰐾", + "on-click": "~/.config/waybar/scripts/baraction light", + "tooltip": false } } diff --git a/dotfiles/config/waybar/config.sway b/dotfiles/config/waybar/config.sway new file mode 100644 index 0000000..14b6e75 --- /dev/null +++ b/dotfiles/config/waybar/config.sway @@ -0,0 +1,218 @@ +// Global +{ + "layer": "top", + "position": "top", + + // If height property would be not present, it'd be calculated dynamically + "height": 30, + + "modules-left": [ + "custom/launcher", + "sway/workspaces", + "sway/mode", + ], + + "modules-center": [ + ], + + "modules-right": [ + "network", + "idle_inhibitor", + "memory", + "cpu", + "pulseaudio", + "custom/keyboard-layout", + "battery", + //"custom/PBPbattery", + "backlight#icon", + "backlight#value", + "clock", + "tray", + //"custom/weather", + "custom/power", + ], + + // Modules + + "idle_inhibitor": { + "format": "{icon} ", + "format-icons":{ + "activated": "", + "deactivated": "" + } + }, + + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + + "custom/PBPbattery": { + "exec": "~/.config/waybar/scripts/PBPbattery.sh", + "format": "{}", + }, + + "clock": { + "interval": 10, + "format-alt": " {:%e %b %Y}", // Icon: calendar-alt + "format": "{:%H:%M}", + "tooltip-format": "{:%e %B %Y}" + }, + + "cpu": { + "interval": 5, + "format": " {usage}% ({load})", // Icon: microchip + "states": { + "warning": 70, + "critical": 90, + }, + "on-click": "xfce4-terminal -e 'htop'", + }, + + "custom/keyboard-layout": { + "exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4", + // Interval set only as a fallback, as the value is updated by signal + "interval": 30, + "format": " {}", // Icon: keyboard + // Signal sent by Sway key binding (~/.config/sway/key-bindings) + "signal": 1, // SIGHUP + "tooltip": false, + "on-click": "~/.config/waybar/scripts/keyhint.sh", + }, + + "memory": { + "interval": 5, + "format": " {}%", // Icon: memory + "on-click": "xfce4-terminal -e 'htop'", + "states": { + "warning": 70, + "critical": 90 + } + }, + + "network": { + "interval": 5, + "format-wifi": " {essid} ({signalStrength}%)", // Icon: wifi + "format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet + "format-disconnected": "⚠ Disconnected", + "tooltip-format": "{ifname}: {ipaddr}", + "on-click": "xfce4-terminal -e 'nmtui'", + }, + "network#vpn": { + "interface": "tun0", + "format": " {essid} ({signalStrength}%)", + "format-disconnected": "⚠ Disconnected", + "tooltip-format": "{ifname}: {ipaddr}/{cidr}", + }, + + "sway/mode": { + "format": "{}", + "tooltip": false + }, + + "sway/window": { + "format": "{}", + "max-length": 120 + }, + + "sway/workspaces": { + "disable-scroll": true, + "disable-markup" : false, + "all-outputs": true, + "format": " {icon} ", + //"format":"{icon}", + "format-icons": { + "1": "", + "2": "", + "3": "", + "4": "", + } + }, + + "pulseaudio": { + "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon}", + "format-bluetooth": "{volume}% {icon}  {format_source}", + "format-bluetooth-muted": " {icon}  {format_source}", + "format-muted": "婢 {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "וֹ", + "headset": "  ", + "phone": "", + "portable": "", + "car": "", + "default": [""] + }, + "on-click": "pavucontrol", + "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2%", + "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2%", + }, + + // to use the weather module replace with your city or town + // note: do not use spaces: new york would be newyork + "custom/weather": { + "exec": "~/.config/waybar/scripts/weather.sh ", + "return-type": "json", + "interval": 600, + }, + + "tray": { + "icon-size": 18, + "spacing":10, + }, + + "backlight#icon": { + "format": "{icon}", + "format-icons": [""], + "on-scroll-down": "brightnessctl -c backlight set 1%-", + "on-scroll-up": "brightnessctl -c backlight set +1%" + }, + + "backlight#value" :{ + "format": "{percent}%", + "on-scroll-down": "brightnessctl -c backlight set 1%-", + "on-scroll-up": "brightnessctl -c backlight set +1%" + }, + + "custom/firefox": { + "format": " ", + "on-click": "exec firefox", + "tooltip": false + }, + + "custom/terminal": { + "format": " ", + "on-click": "exec xfce4-terminal", + "tooltip": false + }, + + "custom/files": { + "format": " ", + "on-click": "exec thunar", + "tooltip": false + }, + + "custom/launcher": { + "format":" ", + "on-click": "exec wofi -c ~/.config/wofi/config -I", + "tooltip": false, + }, + + "custom/power": { + "format":"⏻", + "on-click": "exec ~/.config/waybar/scripts/power-menu.sh", + "tooltip": false, + }, +} diff --git a/dotfiles/config/waybar/scripts/PBPbattery.sh b/dotfiles/config/waybar/scripts/PBPbattery.sh new file mode 100755 index 0000000..1cf34da --- /dev/null +++ b/dotfiles/config/waybar/scripts/PBPbattery.sh @@ -0,0 +1,21 @@ + +#!/bin/bash +#simple Shellscript for waybar/i3blocks/polybar on Pinebook pro +#05012020 geri123@gmx.net Gerhard S. + +PERCENT=$(cat /sys/class/power_supply/cw2015-battery/capacity) +STATUS=$(cat /sys/class/power_supply/cw2015-battery/status) +case $(( + $PERCENT >= 0 && $PERCENT <= 20 ? 1 : + $PERCENT > 20 && $PERCENT <= 40 ? 2 : + $PERCENT > 40 && $PERCENT <= 60 ? 3 : + $PERCENT > 60 && $PERCENT <= 80 ? 4 : 5)) in +# + (1) echo $STATUS:"":$PERCENT%;; + (2) echo $STATUS:"":$PERCENT%;; + (3) echo $STATUS:"":$PERCENT%;; + (4) echo $STATUS:"":$PERCENT%;; + (5) echo $STATUS:"":$PERCENT%;; +esac + + diff --git a/dotfiles/config/waybar/scripts/keyhint.sh b/dotfiles/config/waybar/scripts/keyhint.sh new file mode 100755 index 0000000..01f3396 --- /dev/null +++ b/dotfiles/config/waybar/scripts/keyhint.sh @@ -0,0 +1,2 @@ +#!/bin/sh +yad --title="EndeavourOS Sway-WM keybindings:" --no-buttons --geometry=400x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(xfce4-terminal)" "+d" "Application Menu" "(wofi)" "+p" "Activities" "(wofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "[Shift]+Print-key" "screenshot" "(grim)" "+Shift+e" "power-menu" "(wofi)" "+t" "open keybinding helper" "full list" diff --git a/dotfiles/config/waybar/scripts/power-menu.sh b/dotfiles/config/waybar/scripts/power-menu.sh new file mode 100755 index 0000000..edaa5d6 --- /dev/null +++ b/dotfiles/config/waybar/scripts/power-menu.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +entries="Logout Suspend Reboot Shutdown" + +selected=$(printf '%s\n' $entries | wofi --conf=$HOME/.config/wofi/config.power --style=$HOME/.config/wofi/style.widgets.css | awk '{print tolower($1)}') + +case $selected in + logout) + swaymsg exit;; + suspend) + exec systemctl suspend;; + reboot) + exec systemctl reboot;; + shutdown) + exec systemctl poweroff -i;; +esac diff --git a/dotfiles/config/waybar/scripts/weather.sh b/dotfiles/config/waybar/scripts/weather.sh new file mode 100755 index 0000000..b03cd1c --- /dev/null +++ b/dotfiles/config/waybar/scripts/weather.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +LOC="$1" +# HTML encode string as %20 +LOCATION=$(sed -e "s/ /%20/g" <<<"$LOC") +content=$(curl -sS "https://thisdavej.azurewebsites.net/api/weather/current?loc=$LOCATION°=C") +ICON=$(curl -s 'https://wttr.in/?format=1' | sed 's/[+0-9a-cA-Z°-]//g' ) +# echo $ICON +TEMP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)"' | sed 's/"//g') +TOOLTIP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)\n\(.skytext)"' | sed 's/"//g') +CLASS=$(echo $content | jq .skytext) +echo '{"text": "'$TEMP'", "tooltip": "'$ICON $TOOLTIP $LOC'", "class": '$CLASS' }' + diff --git a/dotfiles/software b/dotfiles/software index e2a9007..45ddb0a 100644 --- a/dotfiles/software +++ b/dotfiles/software @@ -1,21 +1,24 @@ # core archlinuxcn-keyring yay paru zsh curl \ hyprland xdg-desktop-portal-hyprland \ -kitty dunst swaylock-effects udiskie dolphin\ +kitty mako swaylock-effects udiskie thunar\ polkit-kde-agent wofi waybar-hyprland-git sddm btop timeshift \ ttf-jetbrains-mono-nerd noto-fonts-emoji wqy-zenhei wqy-microhei wqy-microhei-lite wqy-bitmapfont \ -alsa-utils pulseaudio pulseaudio-alsa pamixer pavucontrol blueman network-manager-applet ufw \ +blueman network-manager-applet ufw \ fcitx5-im fcitx5-rime fcitx5-chinese-addons fcitx5-material-color fcitx5-configtool fcitx5-pinyin-zhwiki \ obsidian neofetch notion-app-enhanced neovim github-desktop-bin spotify motrix aria2 \ -kate okular +kate okular jupyterlab \ + +# sound +alsa-utils pulseaudio pulseaudio-alsa pamixer pavucontrol # develop mariadb mariadb-libs -# not necessray +# programming language clang go python-pip cargo npm jdk-openjdk -# other +# pacman other plasma-desktop # yay/paru @@ -24,6 +27,23 @@ google-chrome dotdrop swww wlogout logseq-desktop-wayland-bin anytype-bin \ jetbrains-toolbox typora-free aliyunpan-odomu \ ttf-wps-fonts wps-office-cn +# yay other +sddm-config-editor-git hyprland-autoname-workspace-git + +# git init +git config --global user.name lostecho +git config --global user.email 752549025@qq.com +git config --global credential.helper store + +# hyprload +curl -sSL https://raw.githubusercontent.com/Duckonaut/hyprload/main/install.sh | bash + +# oh-my-zsh +sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" +git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions +git clone https://github.com/z-shell/F-Sy-H.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/F-Sy-H + + ghp_ diff --git a/dotfiles/zshrc b/dotfiles/zshrc index 4b587ff..de00273 100644 --- a/dotfiles/zshrc +++ b/dotfiles/zshrc @@ -118,6 +118,7 @@ alias noproxy="export all_proxy=''" # cancel proxy mode alias dotdrop="dotdrop --cfg=~/.dotfiles/config.yaml" # config file shortcut +alias vim="nvim" alias vhypr="vim ~/.config/hypr/hyprland.conf" # edit hyprland config alias vzsh="vim ~/.zshrc" # edit zsh config alias szsh="source ~/.zshrc" # source the zshrc file