diff --git a/dotfiles/config/hypr/hyprland.conf b/dotfiles/config/hypr/hyprland.conf index ebfc276..68e1713 100644 --- a/dotfiles/config/hypr/hyprland.conf +++ b/dotfiles/config/hypr/hyprland.conf @@ -13,33 +13,30 @@ OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. # autogenerated = 1 # remove this line to remove the warning # See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=DP-2,2560x1440@75,auto,1 +monitor = , preferred, auto, auto +monitor = DP-2, 2560x1440@75, auto, 1 # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch -exec-once = ~/.config/hypr/scripts/xdg-portal-hyprland # hyprland init parameter exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Wayland magic (screen sharing etc.) exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # More wayland magic (screen sharing etc.) -exec-once = ~/.config/hypr/scripts/bgaction # swww wallpaper + +exec-once = ~/.config/hypr/scripts/xdg-portal-hyprland +exec-once = ~/.config/hypr/scripts/bgaction exec-once = ~/.local/share/hyprload/hyprload.sh -#exec = ~/.config/HyprV/hyprv_util setbg exec-once = /usr/lib/polkit-kde-authentication-agent-1 -exec-once = waybar # status bar -exec-once = mako # notification daemon -exec-once = blueman-applet -exec-once = nm-applet --indicator # Systray app for Network/Wifi -exec-once = fcitx5 --replace -d # input method -#exec-once = wl-paste --type text --watch cliphist store -#exec-once = wl-paste --type image --watch cliphist store -#exec-once = cliphist wipe # clear clipboard + +exec-once = fcitx5 --replace -d exec-once = udiskie & +exec-once = waybar & +exec-once = mako +exec-once = blueman-applet +exec-once = nm-applet --indicator # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf -#source = ~/.config/hypr/env_var.conf -#source = ~/.config/hypr/media-binds.conf # Some default env vars. env = XCURSOR_SIZE,24 @@ -57,12 +54,8 @@ input { touchpad { disable_while_typing = yes natural_scroll = yes - #scroll_factor = 1 - #middle_button_emulaton = yes - #tap_buttom_map = lrm - #clickfinger_behavior = false - tap-to-click = yes - drag_lock = yes + tap-to-click = yes + drag_lock = yes scroll_factor = 0.5 } @@ -140,14 +133,7 @@ gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = yes workspace_swipe_fingers = 3 - #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 @@ -155,6 +141,7 @@ gestures { device:epic mouse V1 { #sensitivity = -0.5 } + device:apple-inc.-magic-trackpad-1 { #scroll_factor = 1.0 #middle_button_emulation=0 @@ -192,63 +179,70 @@ plugin { # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$ -windowrulev2 = opacity 1.0 1.0, class:^(Google-chrome)$ -windowrulev2 = animation popin,class:^(Google-chrome)$ -windowrulev2 = opacity 0.8 0.9,class:^(kitty)$ -windowrulev2 = animation popin,class:^(kitty)$,title:^(update-sys)$ -windowrulev2 = animation slide,class:^(wofi)$ -windowrulev2 = move 100%-433 53,class:^(wofi)$,title:^(clippick)$ -windowrulev2 = opacity 0.8 0.8,class:^(VSCodium)$ -windowrulev2 = opacity 0.8 1.0,class:^(obsidian)$ -windowrulev2 = tile,title:^(微信读书)$ - +windowrulev2 = opacity 0.8 0.9, class:^(kitty)$ +windowrulev2 = opacity 0.8 0.8, class:^(VSCodium)$ +windowrulev2 = opacity 0.8 1.0, class:^(obsidian)$ +windowrulev2 = opacity 1.0 1.0, class:^(Google-chrome)$ +windowrulev2 = animation popin, class:^(Google-chrome)$ +windowrulev2 = animation slide, class:^(wofi)$ +windowrulev2 = animation popin, class:^(kitty)$, title:^(update-sys)$ +#windowrulev2 = move 100%-433 53, class:^(wofi)$, title:^(clippick)$ +windowrulev2 = tile, title:^(微信读书)$ +windowrulev2 = tile, title:^(Cubox)$ +windowrulev2 = tile, title:^(少数派)$ +windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$ # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER -# $screen_file=~/.screenshot/screen_shot_$(date + "%Y-%m-%d_%H-%M-%S").png # 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, 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-unstable -bind = $mainMod, C, killactive, -bind = $mainMod, M, exec, nwg-bar -#bind = $mainMod, M, exec, wlogout --protocol layer-shell # show the logout window -bind = $mainMod, W, exec, google-chrome-unstable --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 -# bind = $mainMod SHIFT, U, exec, grim $screen_file -# bind = $mainMod, Y, exec, grim -g "$(slurp)" $screen_file -# bind = $mainMod SHIFT, Y, exec, grim - | wl-copy -bind = $mainMod, F, togglefloating, -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 +bind = $mainMod, F1, exec, ~/.config/hypr/scripts/gamemode.sh +bind = $mainMod, A, exec, anytype +bind = $mainMod, E, exec, thunar +bind = $mainMod SHIFT, E, exec, dolphin +bind = $mainMod, G, exec, google-chrome-stable +bind = $mainMod SHIFT, G, exec, github-desktop +bind = $mainMod, I, exec, cd ~/.loacl/share/applications; gtk-launch jetbrains-idea.desktop +bind = $mainMod, J, exec, pkill jupyter-lab; jupyter-lab +bind = $mainMod SHIFT, J, exec, pkill jupyter-lab; cd ~/PycharmProjects/the-craft-of-selfteaching; jupyter-lab +bind = $mainMod, K, exec, kate +bind = $mainMod, L, exec, logseq +bind = $mainMod SHIFT, L, exec, swaylock +bind = $mainMod, M, exec, wlogout --protocol layer-shell +bind = $mainMod, N, exec, notion-app-enhanced +bind = $mainMod, O, exec, obsidian +bind = $mainMod SHIFT, O, exec, okular +bind = $mainMod, Q, exec, kitty +bind = $mainMod, P, exec, cd ~/.loacl/share/applications; gtk-launch jetbrains-pycharm.desktop +bind = $mainMod, R, exec, pkill wofi; wofi --show drun +bind = $mainMod, S, exec, spotify +bind = $mainMod, V, exec, code +bind = $mainMod, W, exec, google-chrome-stable --profile-directory=Default --app-id=magamgmomalmppfcmkgppgboggkfiphd + +bind = $mainMod, Space, fullscreen, +bind = $mainMod, C, killactive, +bind = $mainMod, F, togglefloating, +bind = $mainMod SHIFT, P, pseudo, +bind = $mainMod SHIFT, M, exit, +bind = $mainMod SHIFT, S, togglesplit, # Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d # Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspace, 1 @@ -263,34 +257,32 @@ bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod SHIFT, mouse:272, resizewindow -bindm = $mainMod, mouse:273, resizewindow # Brightness control -binde = $mainMod, XF86AudioRaiseVolume, exec, ddcutil setvcp 10 + 10 -binde = $mainMod, XF86AudioLowerVolume, exec, ddcutil setvcp 10 - 10 -#binde = , XF86MonBrightnessUp, exec, ddcutil setvcp 10 + 10 -#binde = , XF86MonBrightnessDown, exec, ddcutil setvcp 10 - 10 -#binde = $mainMod SHIFT, L, exec, ddcutil setvcp 10 + 10 -#binde = $mainMod SHIFT, K, exec, ddcutil setvcp 10 - 10 -#binde = $mainMod SHIFT, L, exec, brightnessctl set 5%+ -#binde = $mainMod SHIFT, K, exec, brightnessctl set 5%- +binde = $mainMod, F6, exec, ddcutil setvcp 10 + 10 +binde = $mainMod, F5, exec, ddcutil setvcp 10 - 10 +binde = , XF86MonBrightnessUp, exec, ddcutil setvcp 10 + 10 +binde = , XF86MonBrightnessDown, exec, ddcutil setvcp 10 - 10 # Sound control -binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +1% -binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -1% -binde = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle -#binde = $mainMod SHIFT, O, exec, pamixer -d 5 -#binde = $mainMod SHIFT, P, exec, pamixer -i 5 +binde = , F9, exec, pactl set-sink-volume @DEFAULT_SINK@ +1% +binde = , F8, exec, pactl set-sink-volume @DEFAULT_SINK@ -1% +binde = , F7, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle +binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +1% +binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -1% +binde = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle # Player control -#binde = , XF86AudioPlay, exec, playerctl play -#binde = , XF86AudioPause, exec, playerctl pause -binde = , XF86AudioPlay, exec, playerctl play-pause -binde = , XF86AudioNext, exec, playerctl next -binde - , XF86AudioPrev, exec, playerctl previous +binde = $mainMod, F11, exec, playerctl play-pause +binde = $mainMod, F12, exec, playerctl next +binde = $mainMod, F10, exec, playerctl previous +binde = , XF86AudioPlay, exec, playerctl play-pause +binde = , XF86AudioNext, exec, playerctl next +binde = , XF86AudioPrev, exec, playerctl previous diff --git a/dotfiles/config/swaylock/config (copy 1) b/dotfiles/config/swaylock/config (copy 1) new file mode 100644 index 0000000..09695b2 --- /dev/null +++ b/dotfiles/config/swaylock/config (copy 1) @@ -0,0 +1,50 @@ +ignore-empty-password +font=Ubuntu Mono Nerd Font + +clock +timestr=%R + +image=~/.config/hypr/wallpaper-dark.jpg + +fade-in=0.2 + +#effect-blur=15x2 +#effect-greyscale +#effect-scale=0.1 + +indicator +indicator-radius=110 +indicator-thickness=10 +indicator-caps-lock + +key-hl-color=880033ff + +separator-color=00000000 + +inside-color=01010133 +inside-clear-color=ffd20433 +inside-caps-lock-color=009ddc33 +inside-ver-color=d9d8d833 +inside-wrong-color=ee2e2433 + +ring-color=231f20D9 +ring-clear-color=231f20D9 +ring-caps-lock-color=231f20D9 +ring-ver-color=231f20D9 +ring-wrong-color=231f20D9 + +line-color=00000000 +line-clear-color=ffd204FF +line-caps-lock-color=009ddcFF +line-ver-color=d9d8d8FF +line-wrong-color=ee2e24FF + +text-color=dededeff +text-clear-color=ffd204ff +text-ver-color=000000ff +text-wrong-color=ee2e24ff + +bs-hl-color=ffd204ff +caps-lock-key-hl-color=ffd204FF +caps-lock-bs-hl-color=dededeFF +text-caps-lock-color=009ddcff \ No newline at end of file diff --git a/dotfiles/config/waybar/config.jsonc b/dotfiles/config/waybar/config.jsonc index 13b73ef..8388bfd 100644 --- a/dotfiles/config/waybar/config.jsonc +++ b/dotfiles/config/waybar/config.jsonc @@ -8,7 +8,9 @@ "height": 30, "modules-left": [ "custom/launcher", - "wlr/workspaces" + "wlr/workspaces", + "custom/playerctl", + "custom/playerlabel" ], "modules-center": [ "hyprland/window", @@ -48,6 +50,8 @@ "disable-scroll": true, "all-outputs": true, "on-click": "activate", + "on-scroll-up": "hyprctl dispatch workspace -1", + "on-scroll-down": "hyprctl dispatch workspace +1", "persistent_workspaces": { "1": [], "2": [], @@ -61,6 +65,35 @@ "10": [] } }, + "custom/playerctl": { + "format": "{icon}", + "return-type": "json", + "max-length": 64, + "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F", + "on-click-middle": "playerctl play-pause", + "on-click": "playerctl play-pause", + //"on-click": "playerctl previous", + "on-click-right": "playerctl next", + "format-icons": { + "Playing": "󰒮 󰐌 󰒭 ", + "Paused": "󰒮 󰏥 󰒭 " + }, + }, + + "custom/playerlabel": { + "format": "{}", + "return-type": "json", + "max-length": 48, + "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F", + "on-click-middle": "playerctl play-pause", + "on-click": "playerctl play-pause", + //"on-click": "playerctl previous", + "on-click-right": "playerctl next", + "format-icons": { + "Playing": "󰒮 󰐌 󰒭 ", + "Paused": "󰒮 󰏥 󰒭 " + }, + }, // --------------------