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": " "
+ },
+ },
// --------------------