diff --git a/config/.config/hypr/config/custom/plugins.lua b/config/.config/hypr/config/custom/plugins.lua deleted file mode 100644 index bdeb8f4..0000000 --- a/config/.config/hypr/config/custom/plugins.lua +++ /dev/null @@ -1,3 +0,0 @@ ------- Plugins - --- This file is meant to contain all user plugins declaration and configuration diff --git a/config/.config/hypr/config/custom/user.conf b/config/.config/hypr/config/custom/user.conf new file mode 100644 index 0000000..1b41f68 --- /dev/null +++ b/config/.config/hypr/config/custom/user.conf @@ -0,0 +1,5 @@ +################### +## USER SETTINGS ## +################### + +# This is meant to contain all user-defined settings (to not break all settings after updates) \ No newline at end of file diff --git a/config/.config/hypr/config/custom/user.lua b/config/.config/hypr/config/custom/user.lua deleted file mode 100644 index ccf3873..0000000 --- a/config/.config/hypr/config/custom/user.lua +++ /dev/null @@ -1,3 +0,0 @@ ------- User settings - --- This file is meant to contain all user-defined settings (to not break all settings after updates) diff --git a/config/.config/hypr/config/default/appearance.conf b/config/.config/hypr/config/default/appearance.conf new file mode 100644 index 0000000..c2bbc6b --- /dev/null +++ b/config/.config/hypr/config/default/appearance.conf @@ -0,0 +1,274 @@ +##################### +### LOOK AND FEEL ### +##################### + +# Refer to https://wiki.hyprland.org/Configuring/Variables/ +source = ~/.config/hypr/config/default/colors.conf + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 1 + gaps_out = 1 + + border_size = 1 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = $active_color + col.inactive_border = $inactive_color + + # Resizing windows by clicking and dragging on borders and gaps + resize_on_border = true + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false + + layout = dwindle +} + +# https://wiki.hyprland.org/Configuring/Variables/#decoration +decoration { + rounding = 2 + + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 + + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 6 + passes = 4 + + vibrancy = 0.1696 + } + +} + +# Layer rules + +layerrule { + name = side-panel + blur = on + ignore_alpha = 0.2 + animation = slide right + dim_around = on + match:namespace = ^(swaync-control-center)$ +} + +layerrule { + name = launcher + blur = off + animation = popin 90% + match:namespace = ^(rofi)$ +} + +layerrule { + name = status-bar + blur = on + animation = slide up + match:namespace = ^(waybar)$ +} + +layerrule { + name = screenshot-selection + blur = off + animation = fade + match:namespace = ^(selection)$ +} + +## Old +# layerrule = blur, swaync-control-center +# layerrule = blur, swaync-notification-window +# layerrule = ignorezero, swaync-control-center +# layerrule = ignorezero, swaync-notification-window +# layerrule = ignorealpha 0.5, swaync-control-center +# layerrule = ignorealpha 0.5, swaync-notification-window + + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + enabled = yes, please :) + + # See https://wiki.hyprland.org/Configuring/Animations/ for more + + # Bezier curves + bezier = easeOutQuint,0.23,1,0.32,1 + bezier = easeInOutCubic,0.65,0.05,0.36,1 + bezier = linear,0,0,1,1 + bezier = almostLinear,0.5,0.5,0.75,1.0 + bezier = quick,0.15,0,0.1,1 + + bezier = easeInOutExpo,0.87,0,0.13,1 + + # Animations + animation = global, 1, 10, default + animation = border, 1, 4, easeOutQuint + + animation = windows, 1, 3.5, easeOutQuint + animation = windowsIn, 1, 3.1, easeOutQuint, popin 87% + animation = windowsOut, 1, 1.49, linear, popin 87% + + animation = fadeIn, 1, 1.73, easeOutQuint + animation = fadeOut, 1, 1.46, easeOutQuint + animation = fade, 1, 3.03, easeOutQuint + + animation = layers, 1, 3, easeOutQuint + # animation = layersIn, 1, 2.4, easeOutQuint, popin 85% + # animation = layersOut, 1, 2.4, easeOutQuint, popin 85% + animation = layersIn, 1, 2.4, easeOutQuint, fade + animation = layersOut, 1, 2.4, easeOutQuint, fade + animation = fadeLayersIn, 1, 2, easeOutQuint + animation = fadeLayersOut, 1, 2, easeOutQuint + + animation = workspaces, 1, 2.8 , easeOutQuint, slidefadevert + animation = workspacesIn, 1, 2.6, easeOutQuint, slide + animation = workspacesOut, 1, 2.6, easeOutQuint, slide + +} + +# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ +# "Smart gaps" / "No gaps when only" +# uncomment all if you wish to use that. +# workspace = w[tv1], gapsout:0, gapsin:0 +# workspace = f[1], gapsout:0, gapsin:0 +# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1] +# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1] +# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] +# windowrulev2 = rounding 0, floating:0, onworkspace:f[1] + +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more +dwindle { + preserve_split = true # You probably want this +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +master { + new_status = master +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( + disable_splash_rendering = true # Disable default wallpapers rendering +} + + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +# Ignore maximize requests from apps. You'll probably like this. +windowrule { + name = suppress-maximize-events + suppress_event = maximize + match:class = .* +} + +# Fix some dragging issues with XWayland +windowrule { + name = fix-xwayland-drags + match:class = ^$ + match:title = ^$ + match:xwayland = true + match:float = true + match:fullscreen = false + match:pin = false + + no_focus = true +} + +# Albert +windowrule { + name = albert + border_size = 0 + no_blur = on + no_shadow = on + float = on + stay_focused = on + no_dim = on + match:class = ^(albert)$ +} + +# Prism Launcher +windowrule { + name = prismlauncher-all + pseudo = on + match:class = (org.prismlauncher.PrismLauncher) +} +windowrule { + name = prismlauncher-main + size = (monitor_w*0.65) (monitor_h*0.7) + match:class = (org.prismlauncher.PrismLauncher) + match:title = ^(Prism Launcher .*)$ +} + +# Nautilus +windowrule { + name = nautilus-main + pseudo = on + size = (monitor_w*0.65) (monitor_h*0.7) + match:class = (org.gnome.Nautilus) # initialTitle:^(Loading…)$ +} + +# GTK file picker +windowrule { + name = gtk-file-picker + float = on + size = (monitor_w*0.65) (monitor_h*0.7) + match:class = (xdg-desktop-portal-gtk) +} + +# Vivado +## Loading screen +windowrule { + name = vivado-loading-screen + float = on + center = on + match:class = (ui-PlanAhead) +} +windowrule { + name = vivado-loading-screen-2 + size = 397 295 + match:class = (ui-PlanAhead) title:^(win0)$ +} +## Main window +windowrule { + name = vivado-main + tile = on + match:class = (Vivado) +} + +# Kdenlive +windowrule { + name = kdenlive-all + pseudo = on + match:class = (org.kde.kdenlive) +} +windowrule { + name = kdenlive-welcome + size = (512) (544) + match:class = (org.kde.kdenlive) # initialTitle:^(Kdenlive)$ +} + + +# TODO Automatically fullscreen single apps +# - Seems impossible for now (try mixing with workspace rules) + +# Default size for floating windows +## TODO +#windowrulev2 = size 100 100,floating:1 + +# Increase gaps for single apps +## Usless since I changed the default gap but may be useful if you decide to reset it to 0 +#workspace=w[t1], gapsout:2 diff --git a/config/.config/hypr/config/default/appearance.lua b/config/.config/hypr/config/default/appearance.lua deleted file mode 100644 index 56014cd..0000000 --- a/config/.config/hypr/config/default/appearance.lua +++ /dev/null @@ -1,301 +0,0 @@ -require("config/colors") - ------- General appearance - -hl.config({ - general = { - gaps_in = 1, - gaps_out = 1, - border_size = 1, - -- Resizing windows by clicking and dragging on borders and gaps - resize_on_border = false, - allow_tearing = false, - layout = "dwindle", - col = { - active_border = Active_color, - inactive_border = Inactive_color, - }, - }, -}) - -hl.config({ - decoration = { - rounding = 2, - -- Change transparency of focused and unfocused windows - active_opacity = 1.0, - inactive_opacity = 1.0, - shadow = { - enabled = true, - range = 4, - render_power = 3, - color = "rgba(1a1a1aee)", - }, - blur = { - enabled = true, - size = 6, - passes = 4, - vibrancy = 0.1696, - }, - }, -}) - ----- Cursor -hl.config({ - cursor = { - hide_on_key_press = true, - hide_on_touch = true, - hide_on_tablet = true, - } -}) - - ------- Layer rules - --- Side panel (swaync) -hl.layer_rule({ - match = { - namespace = "^(swaync-control-center)$", - }, - blur = true, - ignore_alpha = 0.2, - animation = "slide right", - dim_around = true, -}) - --- Omnibar (rofi) -hl.layer_rule({ - match = { - namespace = "^(rofi)$", - }, - blur = false, - animation = "popin 90%", -}) - --- Status bar (waybar) -hl.layer_rule({ - match = { - namespace = "^(waybar)$", - }, - blur = false, - animation = "slide up", -}) - --- Screenshot selction (slurp) -hl.layer_rule({ - match = { - namespace = "^(selection)$", - }, - blur = false, - animation = "fade", -}) - --- Color picker (hyprpicker) -hl.layer_rule({ - match = { - namespace = "^(hyprpicker)$", - }, - blur = false, - animation = "fade", -}) - - ------- Animations - -hl.config({ - animations = { - enabled = true, - }, -}) - ----- Bezier curves -hl.curve( "easeOutQuint", { type = "bezier", points = { {0.23, 1}, { 0.32,1} } }) -hl.curve( "easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, { 0.36,1} } }) -hl.curve( "linear", { type = "bezier", points = { {0, 0}, { 0, 1 } } }) -hl.curve( "almostLinear", { type = "bezier", points = { {0.5, 0.5}, { 0.75, 1.0} } }) -hl.curve( "quick", { type = "bezier", points = { {0.15, 0}, { 0.1, 1} } }) -hl.curve( "easeInOutExpo", { type = "bezier", points = { {0.87, 0}, { 0.13, 1} } }) - ----- Components animations - -hl.animation({ leaf="global", enabled=true, speed=10, bezier="default" }) -hl.animation({ leaf="border", enabled=true, speed=4, bezier="easeOutQuint" }) - -hl.animation({ leaf="windows", enabled=true, speed=3.5, bezier="easeOutQuint" }) -hl.animation({ leaf="windowsIn", enabled=true, speed=3.1, bezier="easeOutQuint", style="popin 87%" }) -hl.animation({ leaf="windowsOut", enabled=true, speed=1.49, bezier="linear", style="popin 87%" }) - -hl.animation({ leaf="fadeIn", enabled=true, speed=1.73, bezier="easeOutQuint" }) -hl.animation({ leaf="fadeOut", enabled=true, speed=1.46, bezier="easeOutQuint" }) -hl.animation({ leaf="fade", enabled=true, speed=3.03, bezier="easeOutQuint" }) - -hl.animation({ leaf="layers", enabled=true, speed=3, bezier="easeOutQuint" }) -hl.animation({ leaf="layersIn", enabled=true, speed=2.4, bezier="easeOutQuint", style="fade" }) -hl.animation({ leaf="layersOut", enabled=true, speed=2.4, bezier="easeOutQuint", style="fade" }) -hl.animation({ leaf="fadeLayersIn", enabled=true, speed=2, bezier="easeOutQuint" }) -hl.animation({ leaf="fadeLayersOut", enabled=true, speed=2, bezier="easeOutQuint" }) - -hl.animation({ leaf="workspaces", enabled=true, speed=2.8, bezier="easeOutQuint", style="slidefadevert" }) -hl.animation({ leaf="workspacesIn", enabled=true, speed=2.6, bezier="easeOutQuint", style="slide" }) -hl.animation({ leaf="workspacesOut", enabled=true, speed=2.6, bezier="easeOutQuint", style="slide" }) - - ------- Layouts - --- Dwindle -hl.config({ - dwindle = { - preserve_split = true, -- You probably want this - }, -}) --- Master -hl.config({ - master = { - new_status = "master", - }, -}) --- Wallpaper -hl.config({ - misc = { - force_default_wallpaper = 0, -- Set to 0 or 1 to disable the anime mascot wallpapers - disable_hyprland_logo = true, -- If true disables the random hyprland logo / anime girl background. :( - disable_splash_rendering = true, -- Disable default wallpapers rendering - }, -}) - - ------- Window rules - ----- Desktop behavior - --- Ignore maximize requests from apps. You'll probably like this. -hl.window_rule({ - name = "suppress-maximize-events", - match = { class = ".*" }, - - suppress_event = "maximize", -}) - --- Fix some dragging issues with XWayland -hl.window_rule({ - -- Fix some dragging issues with XWayland - name = "fix-xwayland-drags", - match = { - class = "^$", - title = "^$", - xwayland = true, - float = true, - fullscreen = false, - pin = false, - }, - - no_focus = true, -}) - ----- Applications - --- Prism Launcher -hl.window_rule({ - name = "prismlauncher-all", - match = { - class = "(org.prismlauncher.PrismLauncher)", - }, - pseudo = true, -}) -hl.window_rule({ - name = "prismlauncher-main", - match = { - class = "(org.prismlauncher.PrismLauncher)", - title = "^(Prism Launcher.*)$", - }, - size = { "(monitor_w*0.65)", "(monitor_h*0.7)" }, -}) - --- Nautilus -hl.window_rule({ - name = "nautilus-main", - match = { - class = "(org.gnome.Nautilus)", - }, - pseudo = true, - size = { "(monitor_w*0.65)", "(monitor_h*0.7)" }, -}) - --- GTK file picker -hl.window_rule({ - name = "gtk-file-picker", - match = { - class = "(xdg-desktop-portal-gtk)", - }, - float = true, - size = { "(monitor_w*0.65)", "(monitor_h*0.7)" }, -}) - --- Vivado - ---# Loading screen -hl.window_rule({ - name = "vivado-loading-screen", - match = { - class = "(ui-PlanAhead)", - }, - float = true, - center = true, -}) -hl.window_rule({ - name = "vivado-loading-screen-2", - match = { - class = "(ui-PlanAhead) title:^(win0)$", - }, - size = { 397, 295 }, -}) ---# Main window -hl.window_rule({ - name = "vivado-main", - match = { - class = "(Vivado)", - }, - tile = true, -}) - --- Kdenlive -hl.window_rule({ - name = "kdenlive-all", - match = { - class = "(org.kde.kdenlive)", - }, - pseudo = true, -}) -hl.window_rule({ - name = "kdenlive-welcome", - match = { - class = "(org.kde.kdenlive)", - }, - size = { "(512)", "(544)" }, -}) - --- Gnome characters -hl.window_rule({ - name = "gnome-characters", - match = { - class = "(org.gnome.Characters)", - }, - float = true, - size = { "(849)", "(566)" }, -}) - --- Albert -hl.window_rule({ - name = "albert", - match = { - class = "^(albert)$", - }, - border_size = 0, - no_blur = true, - no_shadow = true, - float = true, - stay_focused = true, - no_dim = true, -}) - - --- TODO Automatically reduce outer gaps for single apps diff --git a/config/.config/hypr/config/default/colors.conf b/config/.config/hypr/config/default/colors.conf new file mode 120000 index 0000000..413c779 --- /dev/null +++ b/config/.config/hypr/config/default/colors.conf @@ -0,0 +1 @@ +../../../colors/hyprland.conf \ No newline at end of file diff --git a/config/.config/hypr/config/default/colors.lua b/config/.config/hypr/config/default/colors.lua deleted file mode 120000 index 4e4bb04..0000000 --- a/config/.config/hypr/config/default/colors.lua +++ /dev/null @@ -1 +0,0 @@ -../../../colors/hyprland.lua \ No newline at end of file diff --git a/config/.config/hypr/config/default/environment.conf b/config/.config/hypr/config/default/environment.conf new file mode 100644 index 0000000..c3493bd --- /dev/null +++ b/config/.config/hypr/config/default/environment.conf @@ -0,0 +1,62 @@ +################### +### MY PROGRAMS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ + +# Set programs that you use +$terminal = foot +$fileManager = nautilus +$menu = rofi -show drun +$notificationManager = swaync-client -t + + +################# +### AUTOSTART ### +################# + +# Autostart necessary processes (like notifications daemons, status bars, etc.) +exec-once = ~/.config/hypr/scripts/autostart.sh +# Or execute your favorite apps at launch like this: +# exec-once = firefox + + +############################# +### ENVIRONMENT VARIABLES ### +############################# + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + +# HyprCursor +env = HYPRCURSOR_THEME,VolantesCursors +env = XCURSOR_THEME,VolantesCursors +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 +# XDG Desktop Portal +env = XDG_SESSION_DESKTOP,Hyprland +env = XDG_CURRENT_DESKTOP,Hyprland + +# Experimental + +# GTK +# env = GTK_USE_PORTAL,1 +# env = GDK_SCALE,2 # Xwayland scale +# Qt +# env = QT_WAYLAND_DISABLE_WINDOWDECORATION, +# Firefox +# env = MOZ_ENABLE_WAYLAND,1 +# env = MOZ_USE_XINPUT2,1 +# WLRoots +# env = WLR_NO_HARDWARE_CURSORS,1 +# env = WLR_RENDERER,vulkan +# SDL +# env = SDL_VIDEODRIVER,wayland + +# Nvidia + +# GBM backend +# env = GBM_BACKEND,nvidia-drm +# env = __GLX_VENDOR_LIBRARY_NAME,nvidia +# Hardware acceleration +# env = LIBVA_DRIVER_NAME,nvidia +# env = NVD_BACKEND,direct diff --git a/config/.config/hypr/config/default/environment.lua b/config/.config/hypr/config/default/environment.lua deleted file mode 100644 index 2f4fb45..0000000 --- a/config/.config/hypr/config/default/environment.lua +++ /dev/null @@ -1,54 +0,0 @@ ------- Programs - -Terminal = "foot" -FileManager = "nautilus" -AppLauncher = "rofi -show drun" -NotificationManager = "swaync-client -t" -- Side panel with notifications history -TextEditor = "vi" -local textEditorType = "tui" -- Change to "tui" or "gui" based on the type of editor you use - -- Example: vim->tui, vscode->gui - --- Handle tui text editors -if textEditorType == "tui" then - TextEditor = Terminal .. " " .. TextEditor -end - ------- Autostart - --- Autostart necessary processes (like notifications daemons, status bars, etc.) - -hl.on("hyprland.start", function() - hl.exec_cmd("~/.config/hypr/scripts/autostart.sh") -end) - - ------- Permissions - --- Please note permission changes here require a Hyprland restart and are not applied on-the-fly --- for security reasons - -hl.config({ - ecosystem = { - enforce_permissions = false, -- Disabled for the moment - }, -}) - -hl.permission({ binary = "/usr/bin/grim", type = "screencopy", mode = "allow" }) -hl.permission({ binary = "/usr/bin/hyprlock", type = "screencopy", mode = "allow" }) --- XDG Desktop Portal -hl.permission({ binary = "/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", type = "screencopy", mode = "allow" }) - ------------------------------- ----- ENVIRONMENT VARIABLES --- ------------------------------- - --- HyprCursor -hl.env("HYPRCURSOR_THEME", "VolantesCursors") -hl.env("XCURSOR_THEME", "VolantesCursors") -hl.env("XCURSOR_SIZE", 24) -hl.env("HYPRCURSOR_SIZE", 24) - --- XDG Desktop Portal -hl.env("XDG_SESSION_DESKTOP", "Hyprland") -hl.env("XDG_CURRENT_DESKTOP", "Hyprland") - diff --git a/config/.config/hypr/config/default/input.conf b/config/.config/hypr/config/default/input.conf new file mode 100644 index 0000000..29406ed --- /dev/null +++ b/config/.config/hypr/config/default/input.conf @@ -0,0 +1,169 @@ +############# +### INPUT ### +############# + +# https://wiki.hyprland.org/Configuring/Variables/#input +input { + + numlock_by_default = true + + follow_mouse = 1 + + sensitivity = 0.1 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = true + disable_while_typing = false + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#gestures +gesture = 3, horizontal, workspace + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + + +################### +### KEYBINDINGS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more + +# Main desktop controls +bind = $mainMod, Q, killactive, +bind = $mainMod, R, exec, $menu # Omnibar +bind = $mainMod, D, exec, $menu # Legacy menu shortcut +bind = $mainMod, I, exec, hyprlock # Lockscreen +bind = $mainMod, B, exec, ~/.config/hypr/scripts/toggle-waybar.sh # Toggle sidebar +bind = $mainMod SHIFT, R, exec, ~/.config/hypr/scripts/reload.sh # Reload desktop +bind = $mainMod, F11, exec, ~/.config/hypr/scripts/game-mode.sh # Gamemode +bind = $mainMod, F10, exec, ~/.config/hypr/scripts/sharp-mode.sh # Sharp mode +bind = $mainMod SHIFT, M, exit, # Exit desktop session + +# Shortcuts +bind = $mainMod, RETURN, exec, $terminal +bind = $mainMod, X, exec, $terminal # Absolutely not because I dislocated my arm +bind = $mainMod, SPACE, exec, $menu +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, A, exec, $notificationManager +bindel = , XF86Launch1, exec, $terminal hx ~/.config/hypr/config # Replace by default editor + +# Move focus with mainMod + hjkl (vim keybinds) +bind = $mainMod, H, movefocus, l +bind = $mainMod, L, movefocus, r +bind = $mainMod, K, movefocus, u +bind = $mainMod, J, movefocus, d + +# 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 + +# Move windows with mainMod + shift + arrow keys +bind = $mainMod SHIFT, left, movewindow, l +bind = $mainMod SHIFT, right, movewindow, r +bind = $mainMod SHIFT, up, movewindow, u +bind = $mainMod SHIFT, down, movewindow, d + +# Layout +bind = $mainMod, F, fullscreen, +bindd = $mainMod, V, $d toggle split, layoutmsg, togglesplit # Horizontal/vertical split +bind = $mainMod, T, togglefloating, +bind = $mainMod, Y, pseudo, # Toggle pseudo-tiling + +# 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 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Minimize function (uses scratchpad) +# For testing, may be removed in future releases +bind = $mainMod, N, togglespecialworkspace, magic +bind = $mainMod, N, movetoworkspace, +0 +bind = $mainMod, N, togglespecialworkspace, magic +bind = $mainMod, N, movetoworkspace, special:magic +bind = $mainMod, N, togglespecialworkspace, magic + +# Scroll through existing workspaces with mainMod + scroll +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:273, resizewindow + + +# Function keys + +## Volume +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle + +## Brightness +bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 5%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 5%- +bindel = SHIFT, XF86MonBrightnessUp, exec, brightnessctl s 1%+ +bindel = SHIFT, XF86MonBrightnessDown, exec, brightnessctl s 1%- + +## Player controls +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous + +## Screenshot +bind = , Print, exec, ~/.config/hypr/scripts/screenshot.sh +bind = SHIFT, Print, exec, ~/.config/hypr/scripts/screenshot.sh --fullscreen + +# Color picker +bind = $mainMod SHIFT, C, exec, hyprpicker -a + +## Touchpad toggle +### On galaxy books, pressing the disable touchpad key also triggers SUPER and +### CONTROL keys, this is why there are present here +bind = SUPER CONTROL, XF86TouchpadToggle, exec, ~/.config/hypr/scripts/toggle-touchpad.sh + +## Keyboard layout toggle +### Only works between AZERTY and QWERTY because of differences in the numbers row +### that prevent using the default way provided by hyprland +bind = $mainMod CONTROL, SPACE, exec, ~/.config/hypr/scripts/change-kb-layout.sh + +# Lock laptop on lid close +bindl=,switch:off:Lid Switch, exec, hyprlock --immediate + +## Overview plugin +#bind = $mainMod, TAB, overview:toggle, toggle diff --git a/config/.config/hypr/config/default/input.lua b/config/.config/hypr/config/default/input.lua deleted file mode 100644 index 8b6ee9e..0000000 --- a/config/.config/hypr/config/default/input.lua +++ /dev/null @@ -1,154 +0,0 @@ ------- Functions - -function ToggleFloatingWindow() - local monitor = hl.get_active_monitor() - local width = math.floor(monitor.width * 0.8) - local height = math.floor(monitor.height * 0.8) - - hl.dispatch(hl.dsp.window.float({ action = "toggle" })) - hl.dispatch(hl.dsp.window.resize({ x = width, y = height, window = "active", })) -end - - ------- Input - -hl.config({ - input = { - numlock_by_default = true, - follow_mouse = 1, - sensitivity = 0.1, -- -1.0 - 1.0, 0 means no modification. - touchpad = { - natural_scroll = true, - disable_while_typing = false, - }, - }, -}) - ----- Gestures - -hl.gesture({ - fingers = 3, - direction = "horizontal", - action = "workspace", -}) - -hl.gesture({ - fingers = 3, - direction = "vertical", - action = ToggleFloatingWindow, -}) - - ------- Keybindigs - -MainMod = "SUPER" -- Sets META ("Windows") key as main modifier - --- Main desktop controls -hl.bind(MainMod .. " + Q" , hl.dsp.window.close()) -hl.bind(MainMod .. " + R" , hl.dsp.exec_cmd(AppLauncher)) -- Omnibar -hl.bind(MainMod .. " + D" , hl.dsp.exec_cmd(AppLauncher)) -- Legacy menu shortcut -hl.bind(MainMod .. " + I" , hl.dsp.exec_cmd("hyprlock")) -- Lockscreen -hl.bind(MainMod .. " + B" , hl.dsp.exec_cmd("~/.config/hypr/scripts/toggle-waybar.sh")) -- Toggle sidebar -hl.bind(MainMod .. " + SHIFT + R", hl.dsp.exec_cmd("~/.config/hypr/scripts/reload.sh")) -- Reload desktop -hl.bind(MainMod .. " + F11" , hl.dsp.exec_cmd("~/.config/hypr/scripts/gamemode.sh")) -- Gamemode -hl.bind(MainMod .. " + F10" , hl.dsp.exec_cmd("~/.config/hypr/scripts/sharp_mode.sh")) -- Sharp mode -hl.bind(MainMod .. " + SHIFT + M", hl.dsp.exit()) -- Exit desktop session - --- Shortcuts -hl.bind(MainMod .. " + RETURN", hl.dsp.exec_cmd(Terminal)) -hl.bind(MainMod .. " + X" , hl.dsp.exec_cmd(Terminal)) -- Absolutely not because I dislocated my arm -hl.bind(MainMod .. " + SPACE" , hl.dsp.exec_cmd(AppLauncher)) -hl.bind(MainMod .. " + E" , hl.dsp.exec_cmd(FileManager)) -hl.bind(MainMod .. " + A" , hl.dsp.exec_cmd(NotificationManager)) - --- Move focus with mainMod + arrow keys -hl.bind(MainMod .. " + left" , hl.dsp.focus({ direction = "left" })) -hl.bind(MainMod .. " + right", hl.dsp.focus({ direction = "right" })) -hl.bind(MainMod .. " + up" , hl.dsp.focus({ direction = "up" })) -hl.bind(MainMod .. " + down" , hl.dsp.focus({ direction = "down" })) - --- Move focus with mainMod + hjkl (vim keybinds) -hl.bind(MainMod .. " + H", hl.dsp.focus({ direction = "left" })) -hl.bind(MainMod .. " + L", hl.dsp.focus({ direction = "right" })) -hl.bind(MainMod .. " + K", hl.dsp.focus({ direction = "up" })) -hl.bind(MainMod .. " + J", hl.dsp.focus({ direction = "down" })) - --- Move windows with mainMod + shift + arrow keys -hl.bind(MainMod .. " + SHIFT + left" , hl.dsp.window.move{ direction = "left" }) -hl.bind(MainMod .. " + SHIFT + right", hl.dsp.window.move{ direction = "right" }) -hl.bind(MainMod .. " + SHIFT + up" , hl.dsp.window.move{ direction = "up" }) -hl.bind(MainMod .. " + SHIFT + down" , hl.dsp.window.move{ direction = "down" }) - --- Layout -hl.bind(MainMod .. " + " .. "F", hl.dsp.window.fullscreen()) -hl.bind(MainMod .. " + " .. "V", hl.dsp.layout("togglesplit")) -- Horizontal/vertical split --- Toggle floating -hl.bind(MainMod .. " + T", ToggleFloatingWindow ) -hl.bind(MainMod .. " + " .. "Y", hl.dsp.window.pseudo()) -- Toggle pseudo-tiling - --- Switch workspaces with mainMod + [0-9] --- Move active window to a workspace with mainMod + SHIFT + [0-9] -for i = 0, 10 do - local key = i % 10 - hl.bind(MainMod .. " + " .. key, hl.dsp.focus({ workspace = i})) - hl.bind(MainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i })) -end - --- Example special workspace (scratchpad) -hl.bind(MainMod .. " + S", hl.dsp.workspace.toggle_special("magic")) -hl.bind(MainMod .. " + SHIFT + S", hl.dsp.window.move({ workspace = "special:magic" })) - --- TODO Bring back --- Minimize function (uses scratchpad) - --- Scroll through existing workspaces with mainMod + scroll -hl.bind(MainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" })) -hl.bind(MainMod .. " + mouse_up" , hl.dsp.focus({ workspace = "e-1" })) - --- Move/resize windows with mainMod + LMB/RMB and dragging -hl.bind(MainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true }) -hl.bind(MainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true }) - ------ Function keys - --- Volume -hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true }) -hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true }) -hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true }) -hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { locked = true }) - --- Brightness -hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl s 5%+"), { locked = true }) -hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl s 5%-"), { locked = true }) -hl.bind("SHIFT" .. " + XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl s 1%+"), { locked = true }) -hl.bind("SHIFT" .. " + XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl s 1%-"), { locked = true }) - --- Player controls -hl.bind("XF86AudioNext" , hl.dsp.exec_cmd("playerctl next") , { locked = true }) -hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true }) -hl.bind("XF86AudioPlay" , hl.dsp.exec_cmd("playerctl play-pause"), { locked = true }) -hl.bind("XF86AudioPrev" , hl.dsp.exec_cmd("playerctl previous") , { locked = true }) - --- Lock laptop on lid close -hl.bind("switch:off:Lid Switch", hl.dsp.exec_cmd("hyprlock --immediate"), { locked = true }) - --- Screenshot -hl.bind("Print", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot.sh")) -hl.bind("SHIFT" .. " + " .. "Print", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot.sh --fullscreen")) - --- Color picker -hl.bind(MainMod .. " + " .. "SHIFT" .. " + " .. "C", hl.dsp.exec_cmd("hyprpicker -a")) - --- Touchpad toggle -hl.bind("XF86TouchpadToggle", hl.dsp.exec_cmd("~/.config/hypr/scripts/toggle-touchpad.sh"), { locked = true }) ----- On galaxy books, pressing the disable touchpad key also triggers SUPER and ----- CONTROL keys, this is why there are present here -hl.bind("SUPER + CONTROL" .. " + " .. "XF86TouchpadToggle", hl.dsp.exec_cmd("~/.config/hypr/scripts/toggle-touchpad.sh")) - --- Keyboard layout toggle ----- Only works between AZERTY and QWERTY because of differences in the numbers row ----- that prevent using the default way provided by hyprland -hl.bind(MainMod .. " + " .. "CONTROL" .. " + " .. "SPACE", hl.dsp.exec_cmd("~/.config/hypr/scripts/change-kb-layout.sh")) - --- Settings launcher -hl.bind("XF86Launch1", hl.dsp.exec_cmd(TextEditor .. " ~/.config/hypr/config")) diff --git a/config/.config/hypr/config/default/kb_layouts/fr.conf b/config/.config/hypr/config/default/kb_layouts/fr.conf new file mode 100644 index 0000000..89133a9 --- /dev/null +++ b/config/.config/hypr/config/default/kb_layouts/fr.conf @@ -0,0 +1,35 @@ +## Overrides inputs for AZERTY layout + +input { + kb_layout = fr + kb_variant = + kb_model = + kb_options = + kb_rules = +} + +## Keybindings + +## Switch workspaces with mainMod + [0-9] +bind = $mainMod, ampersand, workspace, 1 +bind = $mainMod, eacute, workspace, 2 +bind = $mainMod, quotedbl, workspace, 3 +bind = $mainMod, apostrophe, workspace, 4 +bind = $mainMod, parenleft, workspace, 5 +bind = $mainMod, minus, workspace, 6 +bind = $mainMod, egrave, workspace, 7 +bind = $mainMod, underscore, workspace, 8 +bind = $mainMod, ccedilla, workspace, 9 +bind = $mainMod, agrave, workspace, 10 + +## Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, ampersand, movetoworkspace, 1 +bind = $mainMod SHIFT, eacute, movetoworkspace, 2 +bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3 +bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4 +bind = $mainMod SHIFT, parenleft, movetoworkspace, 5 +bind = $mainMod SHIFT, minus, movetoworkspace, 6 +bind = $mainMod SHIFT, egrave, movetoworkspace, 7 +bind = $mainMod SHIFT, underscore, movetoworkspace, 8 +bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9 +bind = $mainMod SHIFT, agrave, movetoworkspace, 10 \ No newline at end of file diff --git a/config/.config/hypr/config/default/kb_layouts/fr.lua b/config/.config/hypr/config/default/kb_layouts/fr.lua deleted file mode 100644 index f2f6742..0000000 --- a/config/.config/hypr/config/default/kb_layouts/fr.lua +++ /dev/null @@ -1,18 +0,0 @@ ---# Overrides inputs for AZERTY layout -hl.config({ - input = { - kb_layout = "fr", - }, -}) - ---# Keybindings - --- Switch workspaces with mainMod + [0-9] --- Move active window to a workspace with mainMod + SHIFT + [0-9] -local fr_digits_layout = { "ampersand", "eacute", "quotedbl", "apostrophe", "parenleft", "minus", "egrave", "underscore", "ccedilla", "agrave", } -for i = 1, 10 do - local key = fr_digits_layout[(i%11)] - hl.bind(MainMod.. " + " .. key, hl.dsp.focus({ workspace = i })) - hl.bind(MainMod.. " + SHIFT + " .. key, hl.dsp.focus({ workspace = i })) -end - diff --git a/config/.config/hypr/config/default/kb_layouts/us.conf b/config/.config/hypr/config/default/kb_layouts/us.conf new file mode 100644 index 0000000..8fe85bc --- /dev/null +++ b/config/.config/hypr/config/default/kb_layouts/us.conf @@ -0,0 +1,33 @@ +## Overrides inputs for QWERTY layout + +input { + kb_layout = fr + kb_variant = us + kb_model = + kb_options = + kb_rules = +} + +# 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 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 diff --git a/config/.config/hypr/config/default/kb_layouts/us.lua b/config/.config/hypr/config/default/kb_layouts/us.lua deleted file mode 100644 index a0f4f9b..0000000 --- a/config/.config/hypr/config/default/kb_layouts/us.lua +++ /dev/null @@ -1,9 +0,0 @@ -hl.config({ - input = { - kb_layout = "fr", - kb_variant = "us", - }, -}) - --- No need to update the default input layout - diff --git a/config/.config/hypr/config/default/monitors_default.conf b/config/.config/hypr/config/default/monitors_default.conf new file mode 100644 index 0000000..6ecd178 --- /dev/null +++ b/config/.config/hypr/config/default/monitors_default.conf @@ -0,0 +1,6 @@ +################ +### MONITORS ### +################ + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,auto \ No newline at end of file diff --git a/config/.config/hypr/config/default/plugins.conf b/config/.config/hypr/config/default/plugins.conf new file mode 100644 index 0000000..b281ebb --- /dev/null +++ b/config/.config/hypr/config/default/plugins.conf @@ -0,0 +1,12 @@ +# Plugins settings + +plugin { + overview { +# disableGestures = true + reverseSwipe = true + + overrideGaps = false + gapsIn = 10 + gapsOut = 20 + } +} diff --git a/config/.config/hypr/hyprland.conf b/config/.config/hypr/hyprland.conf new file mode 100644 index 0000000..2f5e63c --- /dev/null +++ b/config/.config/hypr/hyprland.conf @@ -0,0 +1,25 @@ +# Config is based on the example Hyprland config file provided on the project's repo. +# Refer to the wiki for more information. +# https://wiki.hyprland.org/Configuring/ + +# Please note not all available settings / options are set here. +# For a full list, see the wiki + +# If you want to modify some settings, go to ./config/custom/user.conf and add them +# They'll automatically override the default ones + +# Default settings +source = ~/.config/hypr/config/monitors/default.conf +source = ~/.config/hypr/config/default/environment.conf +source = ~/.config/hypr/config/default/input.conf +source = ~/.config/hypr/config/default/kb_layouts/us.conf +source = ~/.config/hypr/config/default/appearance.conf + +# Hyprland plugins +# source = ~/.config/hypr/config/default/plugins.conf + +# Desktop mods +#source = ~/.config/hypr/config/default/minimalist_mod.conf + +# Custom settings +source = ~/.config/hypr/config/custom/user.conf diff --git a/config/.config/hypr/hyprland.lua b/config/.config/hypr/hyprland.lua deleted file mode 100644 index fa5b8fc..0000000 --- a/config/.config/hypr/hyprland.lua +++ /dev/null @@ -1,23 +0,0 @@ --- Config is based on the example Hyprland config file provided on the project's repo. --- Refer to the wiki for more information. --- https://wiki.hypr.land/Configuring/Start/ - --- Please note not all available settings / options are set here. --- For a full list, see the wiki - --- If you want to modify some settings, go to ./config/custom/user.conf and add them --- They'll automatically override the default ones - --- Default settings -require("config.default.environment") -require("config.default.input") -require("config.default.kb_layouts.fr") -require("config.default.appearance") - --- Desktop mods ---require("config.default.minimalist_mod") - --- Custom settings -require("config.custom.user") -require("config.custom.plugins") - diff --git a/config/.config/hypr/scripts/change-kb-layout.sh b/config/.config/hypr/scripts/change-kb-layout.sh index 4d81753..7261fc5 100755 --- a/config/.config/hypr/scripts/change-kb-layout.sh +++ b/config/.config/hypr/scripts/change-kb-layout.sh @@ -1,7 +1,7 @@ #!/bin/sh status_file="$HOME/.config/hypr/status/kb_layout" -hyprland_cfg_file="$HOME/.config/hypr/hyprland.lua" +hyprland_cfg_file="$HOME/.config/hypr/hyprland.conf" fr_to_en() { @@ -9,7 +9,7 @@ fr_to_en() { hyprctl notify 1 2000 0 "Keyboard set to QWERTY" - sed -i 's/kb_layouts.fr/kb_layouts.us/g' "$hyprland_cfg_file" + sed -i 's/kb_layouts\/fr/kb_layouts\/us/g' "$hyprland_cfg_file" } en_to_fr() { @@ -17,13 +17,12 @@ en_to_fr() { hyprctl notify 1 2000 0 "Keyboard set to AZERTY" - sed -i 's/kb_layouts.us/kb_layouts.fr/g' "$hyprland_cfg_file" + sed -i 's/kb_layouts\/us/kb_layouts\/fr/g' "$hyprland_cfg_file" } if ! [ -f "${status_file}" ]; then - hyprctl notify 3 3000 0 "Status file missing" hyprctl notify 2 6000 0 "Use Mod + Ctrl + Space to change keyboard layout" - en_to_fr + fr_to_en else if [ $(cat "${status_file}") = "fr" ]; then fr_to_en diff --git a/config/.config/hypr/scripts/game-mode.sh b/config/.config/hypr/scripts/game-mode.sh index f068cc8..b67ae03 100755 --- a/config/.config/hypr/scripts/game-mode.sh +++ b/config/.config/hypr/scripts/game-mode.sh @@ -1,35 +1,22 @@ #!/usr/bin/env sh -# Disables animations accros the desktop (as well as some other tweaks) -# Similar to game mode but with the goal to cure motion sickness +# From Hyprland documentation - https://wiki.hyprland.org/0.41.2/Configuring/Uncommon-tips--tricks/#toggle-animationsbluretc-hotkey -if [[ "$(hyprctl getoption animations:enabled)" =~ "bool: true" ]] ; then - hyprctl eval " - hl.config({ - general = { - gaps_in = 0, - gaps_out = 0, - border_size = 0, - }, - decoration = { - rounding = 0, - drop_shadow = false, - blur = { - enabled = false, - }, - - }, - animations = { - enabled = false, - }, - }) - " - - hyprctl notify 1 2000 0 "Enabled Sharp mode" +HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}') +if [ "$HYPRGAMEMODE" = 1 ] ; then + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:drop_shadow 0;\ + keyword decoration:blur:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + killall waybar + hyprctl notify 1 2000 0 "Enabled game mode" exit fi hyprctl reload -# ~/.config/hypr/scripts/restore-waybar.sh -hyprctl notify 1 2000 0 "Disabled Sharp mode" - +~/.config/hypr/scripts/restore-waybar.sh +hyprctl notify 1 2000 0 "Disabled game mode" diff --git a/config/.config/hypr/scripts/sharp-mode.sh b/config/.config/hypr/scripts/sharp-mode.sh index 6374d3b..0a237ea 100755 --- a/config/.config/hypr/scripts/sharp-mode.sh +++ b/config/.config/hypr/scripts/sharp-mode.sh @@ -1,26 +1,17 @@ #!/usr/bin/env sh # Disables animations accros the desktop (as well as some other tweaks) -# Similar to game mode but with the goal to cure motion sickness - -if [[ "$(hyprctl getoption animations:enabled)" =~ "bool: true" ]] ; then - hyprctl eval " - hl.config({ - general = { - gaps_in = 0, - gaps_out = 0, - border_size = 0, - }, - decoration = { - rounding = 0, - - }, - animations = { - enabled = false, - }, - }) - " +# Similar to game mode but with the goal to enhance productivity +# From Hyprland documentation - https://wiki.hyprland.org/0.41.2/Configuring/Uncommon-tips--tricks/#toggle-animationsbluretc-hotkey +HYPRSHARPMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}') +if [ "$HYPRSHARPMODE" = 1 ] ; then + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" hyprctl notify 1 2000 0 "Enabled Sharp mode" exit fi diff --git a/config/.local/share/applications/bluetooth_menu.desktop b/config/.local/share/applications/bluetooth_menu.desktop deleted file mode 100644 index d7b32f6..0000000 --- a/config/.local/share/applications/bluetooth_menu.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=Bluetooth -Comment=Launch the bluetooth bar menu -Exec=rofi-bluetooth -Icon=blueman -Terminal=False -Type=Application diff --git a/config/.local/share/applications/calc_menu.desktop b/config/.local/share/applications/calc_menu.desktop deleted file mode 100644 index 244b57d..0000000 --- a/config/.local/share/applications/calc_menu.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=Calc -Comment=Launch the integrated bar calculator -Exec=rofi -show calc -modi calc -no-show-match -no-sort -Icon=gnome-calculator -Terminal=False -Type=Application diff --git a/config/.local/share/applications/emojis-menu.desktop b/config/.local/share/applications/emojis-menu.desktop deleted file mode 100644 index 642b7c8..0000000 --- a/config/.local/share/applications/emojis-menu.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=Emojis -Comment=Launch the emojis bar selector -Exec=rofimoji -Icon=rofi -Terminal=False -Type=Application diff --git a/config/.local/share/applications/lock.desktop b/config/.local/share/applications/lock.desktop deleted file mode 100644 index a7467ea..0000000 --- a/config/.local/share/applications/lock.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=Lock screen -Comment=Locks the session -Exec=hyprlock -Icon=lock -Terminal=False -Type=Application diff --git a/config/.local/share/applications/poweroff.desktop b/config/.local/share/applications/poweroff.desktop deleted file mode 100644 index c0f652f..0000000 --- a/config/.local/share/applications/poweroff.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=Poweroff -Comment=Shutdown the computer -Exec=poweroff -Icon=system-shutdown -Terminal=False -Type=Application diff --git a/config/.local/share/applications/reboot.desktop b/config/.local/share/applications/reboot.desktop deleted file mode 100644 index 014e942..0000000 --- a/config/.local/share/applications/reboot.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=Reboot -Comment=Reboots the computer -Exec=reboot -Icon=system-reboot -Terminal=False -Type=Application diff --git a/config/.local/share/applications/wifi-menu.desktop b/config/.local/share/applications/wifi-menu.desktop deleted file mode 100644 index f62b48e..0000000 --- a/config/.local/share/applications/wifi-menu.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=Wifi Networks -Comment=Launch the networks bar menu -Exec=rofi-wifi -Icon=network-wireless -Terminal=False -Type=Application