diff --git a/.config/.gitignore b/.config/.gitignore index 558df67..1970b28 100644 --- a/.config/.gitignore +++ b/.config/.gitignore @@ -16,3 +16,7 @@ !backgrounds/** !waybar !waybar/** +!tofi +!tofi/** +!micro +!micro/** diff --git a/.config/backgrounds/akaza.png b/.config/backgrounds/akaza.png new file mode 100644 index 0000000..8c5b06f Binary files /dev/null and b/.config/backgrounds/akaza.png differ diff --git a/.config/backgrounds/cello.jpg b/.config/backgrounds/cello.jpg new file mode 100644 index 0000000..486d7fe Binary files /dev/null and b/.config/backgrounds/cello.jpg differ diff --git a/.config/backgrounds/cross.png b/.config/backgrounds/cross.png new file mode 100644 index 0000000..57373ac Binary files /dev/null and b/.config/backgrounds/cross.png differ diff --git a/.config/backgrounds/earth.jpg b/.config/backgrounds/earth.jpg new file mode 100644 index 0000000..fe67c00 Binary files /dev/null and b/.config/backgrounds/earth.jpg differ diff --git a/.config/backgrounds/jellyfish.png b/.config/backgrounds/jellyfish.png new file mode 100644 index 0000000..a62285b Binary files /dev/null and b/.config/backgrounds/jellyfish.png differ diff --git a/.config/backgrounds/rengoku.png b/.config/backgrounds/rengoku.png new file mode 100644 index 0000000..7b84083 Binary files /dev/null and b/.config/backgrounds/rengoku.png differ diff --git a/.config/backgrounds/rengoku2.png b/.config/backgrounds/rengoku2.png new file mode 100644 index 0000000..4525aa3 Binary files /dev/null and b/.config/backgrounds/rengoku2.png differ diff --git a/.config/backgrounds/shaded_landscape.png b/.config/backgrounds/shaded_landscape.png deleted file mode 100644 index 181c23b..0000000 Binary files a/.config/backgrounds/shaded_landscape.png and /dev/null differ diff --git a/.config/backgrounds/shinobu.png b/.config/backgrounds/shinobu.png new file mode 100644 index 0000000..3b7e269 Binary files /dev/null and b/.config/backgrounds/shinobu.png differ diff --git a/.config/backgrounds/shinobu2.jpg b/.config/backgrounds/shinobu2.jpg new file mode 100644 index 0000000..7aa479b Binary files /dev/null and b/.config/backgrounds/shinobu2.jpg differ diff --git a/.config/backgrounds/tanjiro.png b/.config/backgrounds/tanjiro.png new file mode 100644 index 0000000..10106d9 Binary files /dev/null and b/.config/backgrounds/tanjiro.png differ diff --git a/.config/backgrounds/uzui.jpg b/.config/backgrounds/uzui.jpg new file mode 100644 index 0000000..58241a4 Binary files /dev/null and b/.config/backgrounds/uzui.jpg differ diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 366a252..1c4393c 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -44,6 +44,7 @@ input { kb_rules = follow_mouse = 1 + numlock_by_default = 1 touchpad { natural_scroll = yes; @@ -131,6 +132,19 @@ plugin { verbose_logging = 0 } } +plugin { + hyprexpo { + columns = 3 + gap_size = 5 + bg_col = rgb(111111) + workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1 + + enable_gesture = true # laptop touchpad + gesture_fingers = 3 # 3 or 4 + gesture_distance = 300 # how far is the "max" + gesture_positive = true # positive = swipe down. Negative = swipe up. + } +} # Example per-device config @@ -140,15 +154,6 @@ plugin { # sensitivity = -0.5 # } -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# windowrulev2 = suppressevent maximize, class:.* - -# You'll probably like this. - # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER @@ -215,7 +220,7 @@ bind = $mainMod SHIFT, 0, movetodesk, 10 # Example special workspace (scratchpad) bind = $mainMod, S, togglespecialworkspace, magic bind = $mainMod CTRL, S, movetoworkspace, special:magic - +# bindr = $mainMod, SUPER_L, exec, hyprpanel toggleWindow dashboardmenu bind = $mainMod SHIFT, S, exec, hyprshot -m region @@ -224,13 +229,15 @@ bind = $mainMod SHIFT, S, exec, hyprshot -m region # bind = $mainMod, mouse_up, workspace, e-1 # Scroll through existing workspaces with mainMod + TAB and SHIFT + TAB -# bind = $mainMod, TAB, workspace, e+1 -# bind = $mainMod SHIFT, TAB, workspace, e-1 -bind = $mainMod, TAB, overview:toggle -# bindr = SUPER, SUPER_L, exec, $menu +# Used to use overview:toggle, but that resises the windows +# bind = $mainMod, TAB, overview:toggle +# bind = CTRL ALT, TAB, overview:toggle +bind = $mainMod, TAB, hyprexpo:expo, toggle +bind = CTRL ALT, TAB, hyprexpo:expo, toggle -bind = ALT, TAB, exec, ~/.config/hypr/scripts/search-windows.sh +bind = ALT, TAB, lastdesk +bind = ALT, SPACE, exec, ~/.config/hypr/scripts/search-windows.sh # bind = ALT SHIFT, TAB, workspace, e-1 # bind = ALT, TAB, exec, hyprswitch gui --mod-key alt --key tab --close mod-key-release --reverse-key=key=shift && hyprswitch dispatch # bind = ALT SHIFT, TAB, exec, hyprswitch gui --mod-key alt --key tab --close mod-key-release --reverse-key=key=shift && hyprswitch dispatch -r @@ -255,4 +262,7 @@ bindm = $mainMod, mouse:273, resizewindow # Mouse wheel tilt bind = , mouse_left, exec, ydotool key 56:1 105:1 105:0 56:0 -bind = , mouse_right, exec, ydotool key 56:1 106:1 106:0 56:0 \ No newline at end of file +bind = , mouse_right, exec, ydotool key 56:1 106:1 106:0 56:0 + +# Gromit for drawing +bind = SUPER CTRL, P, exec, ~/.config/hypr/scripts/gromit.py \ No newline at end of file diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf index 447daaa..b72cdec 100644 --- a/.config/hypr/hyprlock.conf +++ b/.config/hypr/hyprlock.conf @@ -9,9 +9,9 @@ general { # BACKGROUND background { # monitor = - path = $HOME/.config/backgrounds/background.png + path = $HOME/.config/backgrounds/rengoku2.png # path = $HOME/.config/hypr/fireplace.mp4 - blur_passes = 1 + blur_passes = 0 # color = $base } @@ -34,50 +34,53 @@ label { color = rgb(255, 255, 255) font_size = 90 font_family = $font - position = -30, 0 - halign = right + position = 75, 0 + halign = left valign = top } # DATE -label { -# monitor = - text = cmd[update:43200000] date +"%A, %d %B %Y" - color = rgb(255, 255, 255) - font_size = 25 - font_family = $font - position = -30, -150 - halign = right - valign = top -} +# label { +# # monitor = +# text = cmd[update:43200000] date +"%A, %d %B %Y" +# color = rgb(255, 255, 255) +# font_size = 25 +# font_family = $font +# position = 30, -150 +# halign = left +# valign = top +# } +shape { + monitor = + size = 500, 100% + color = rgba(255, 255, 255, 0.18) + rounding = 25 + # border_size = 4 + # border_color = rgba(255, 255, 255, 1.0) -# FINGERPRINT -{ -# monitor = ""; - text = $FPRINTPROMPT - color = rgb(255, 255, 255) - font_size = 14; - font_family = $font; - position = "0, -107"; - halign = "center"; - valign = "center"; + position = -25, 0 + halign = left + valign = center } # USER AVATAR image { -# monitor = + # monitor = path = $HOME/.face + rounding = 25 size = 100 - border_color = rgb(0, 0, 0) - position = 0, 75 - halign = center + # border_color = rgb(0, 0, 0) + border_size = 0 + position = 200, 75 + halign = left valign = center } - -# INPUT FIELD + + # INPUT FIELD input-field { # monitor = size = 300, 60 + position = 100, -47 outline_thickness = 4 dots_size = 0.2 dots_spacing = 0.2 @@ -92,7 +95,18 @@ input-field { fail_color = rgb(255, 0, 0) fail_text = $FAIL ($ATTEMPTS) capslock_color = rgb(255, 0, 0) - position = 0, -47 - halign = center + halign = left valign = center +} + +# FINGERPRINT +{ +# monitor = ""; + text = $FPRINTPROMPT + color = rgb(255, 255, 255) + font_size = 14; + font_family = $font; + position = 0, -107; + halign = center; + valign = center; } \ No newline at end of file diff --git a/.config/hypr/hyprpanel.json b/.config/hypr/hyprpanel.json new file mode 100644 index 0000000..9d4372d --- /dev/null +++ b/.config/hypr/hyprpanel.json @@ -0,0 +1,57 @@ +{ + "0": { + "left": [ + "dashboard", + "media" + ], + "middle": [ + + ], + "right": [ + "volume", + "network", + "bluetooth", + "battery", + "systray", + "clock", + "notifications" + ] + }, + "1": { + "left": [ + "dashboard", + "media" + ], + "middle": [ + + ], + "right": [ + "volume", + "network", + "bluetooth", + "battery", + "systray", + "clock", + "notifications", + "cputemp" + ] + }, + "2": { + "left": [ + "dashboard", + "workspaces" + ], + "middle": [ + "media" + ], + "right": [ + "volume", + "network", + "bluetooth", + "battery", + "systray", + "clock", + "notifications" + ] + } +} \ No newline at end of file diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf index bbd52a6..763c868 100644 --- a/.config/hypr/hyprpaper.conf +++ b/.config/hypr/hyprpaper.conf @@ -1,3 +1,16 @@ preload = ~/.config/backgrounds/background.png +preload = ~/.config/backgrounds/akaza.png +preload = ~/.config/backgrounds/background.png +preload = ~/.config/backgrounds/better_shaded_landscape.jpg +preload = ~/.config/backgrounds/car-with-full-moon-background.jpg +preload = ~/.config/backgrounds/cello.jpg +preload = ~/.config/backgrounds/earth.jpg +preload = ~/.config/backgrounds/lofiwallpaper.png +preload = ~/.config/backgrounds/nice-blue-background.png +preload = ~/.config/backgrounds/rengoku.png +preload = ~/.config/backgrounds/shaded.png +preload = ~/.config/backgrounds/shinobu.png + + wallpaper = , ~/.config/backgrounds/background.png ipc = on \ No newline at end of file diff --git a/.config/hypr/scripts/gromit.py b/.config/hypr/scripts/gromit.py new file mode 100755 index 0000000..42937a2 --- /dev/null +++ b/.config/hypr/scripts/gromit.py @@ -0,0 +1,66 @@ +#!/usr/bin/python3 +# import argparse +import os +import sys +import subprocess +import json + + +def get_window(): + print("Getting active window",flush=True) + state = subprocess.run(["hyprctl", "activewindow", "-j"], capture_output=True, text=True) + state = state.stdout + try: + state = json.loads(state) + except json.JSONDecodeError: + print("Error decoding JSON") + return None + if state is None: + print("No active window") + return None + if "class" not in state: + return None + return state["class"] + +def gromit_running(): + clients = subprocess.run(["hyprctl", "clients", "-j"], capture_output=True, text=True) + clients = clients.stdout + try: + clients = json.loads(clients) + except json.JSONDecodeError: + print("Error decoding JSON") + return False + if clients is None: + print("No clients") + return False + for client in clients: + if "class" not in client: + continue + if client["class"] == "Gromit-mpx": + return True + return False + + + +if __name__ == "__main__": + if get_window() == "Gromit-mpx": + print("Gromit is already running") + os.system("hyprctl dispatch togglespecialworkspace gromit") + os.system("gromit-mpx -t") + os.system("hyprctl keyword unbind , mouse_left") + os.system("hyprctl keyword unbind , mouse_right") + print("Rebinding mouse buttons") + os.system("hyprctl keyword bind , mouse_left, exec, 'ydotool key 56:1 105:1 105:0 56:0'") + os.system("hyprctl keyword bind , mouse_right, exec, 'ydotool key 56:1 106:1 106:0 56:0'") + else: + print("Gromit is not running",flush=True) + # Check if gromit-mpx is running + if gromit_running(): + os.system("gromit-mpx -t") + os.system("hyprctl dispatch togglespecialworkspace gromit") + os.system("hyprctl keyword unbind , mouse_left") + os.system("hyprctl keyword unbind , mouse_right") + os.system("hyprctl keyword bind , mouse_left, exec, 'gromit-mpx --undo'") + os.system("hyprctl keyword bind , mouse_right, exec, 'gromit-mpx --redo'") + + \ No newline at end of file diff --git a/.config/hypr/start-exec.conf b/.config/hypr/start-exec.conf index 4360a50..c22b36e 100644 --- a/.config/hypr/start-exec.conf +++ b/.config/hypr/start-exec.conf @@ -1,7 +1,8 @@ exec-once = hyprpm reload -n exec-once = systemctl --user start hyprpolkitagent exec-once = /usr/bin/kdeconnectd & -exec-once = /usr/bin/swaync & +# exec-once = /usr/bin/swaync & +# exec-once = waybar # Start apps in .autostart exec-once = /home/nathan/AppImages/Fingertip-0.0.4-beta2-linux-X64.AppImage & @@ -16,7 +17,7 @@ exec-once = discord --start-minimized exec-once = slack -U -exec-once = waybar +exec-once = hyprpanel exec-once = hyprpaper exec-once = hypridle exec-once = clipse -listen diff --git a/.config/hypr/windowrules.conf b/.config/hypr/windowrules.conf index 9f95141..e1a09d3 100644 --- a/.config/hypr/windowrules.conf +++ b/.config/hypr/windowrules.conf @@ -17,4 +17,12 @@ windowrule = noblur 1 noanim 1 noshadow 1, class:(^$) stickyrule = class:discord,5 stickyrule = class:org.telegram.desktop,5 -stickyrule = class:Slack,5 \ No newline at end of file +stickyrule = class:Slack,5 + + +workspace = special:gromit, gapsin:0, gapsout:0, shadow:0, on-created-empty: gromit-mpx -a +windowrule = noblur, class:^(Gromit-mpx)$ +windowrule = opacity 1 override, 1 override, class:^(Gromit-mpx)$ +windowrule = noshadow, class:^(Gromit-mpx)$ +windowrule = suppressevent fullscreen, class:^(Gromit-mpx)$ +windowrule = size 100% 100%, class:^(Gromit-mpx)$ \ No newline at end of file diff --git a/.config/micro/bindings.json b/.config/micro/bindings.json new file mode 100644 index 0000000..3ce4263 --- /dev/null +++ b/.config/micro/bindings.json @@ -0,0 +1,5 @@ +{ + "Alt-/": "lua:comment.comment", + "CtrlUnderscore": "lua:comment.comment", + "Ctrl-X": "Quit" +} diff --git a/.config/micro/buffers/history b/.config/micro/buffers/history new file mode 100644 index 0000000..d0e89dc Binary files /dev/null and b/.config/micro/buffers/history differ diff --git a/.config/tofi/config b/.config/tofi/config new file mode 100644 index 0000000..d788931 --- /dev/null +++ b/.config/tofi/config @@ -0,0 +1,10 @@ +width = 100% +height = 100% +border-width = 0 +outline-width = 0 +padding-left = 35% +padding-top = 35% +result-spacing = 25 +num-results = 5 +font = monospace +background-color = #000A \ No newline at end of file