diff --git a/hyprland/.Xresources b/hyprland/.Xresources new file mode 100644 index 0000000..6a1c856 --- /dev/null +++ b/hyprland/.Xresources @@ -0,0 +1 @@ +Xcursor.theme: Bibata-Modern-Ice diff --git a/hyprland/.config/dunst/dunstrc b/hyprland/.config/dunst/dunstrc new file mode 100644 index 0000000..a1bf0f9 --- /dev/null +++ b/hyprland/.config/dunst/dunstrc @@ -0,0 +1,437 @@ +# See dunst(5) for all configuration options + +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = mouse + + ### Geometry ### + + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 400 + + # The maximum height of a single notification, excluding the frame. + height = 300 + + # Position the notification in the top right corner + origin = top-right + + # Offset from the origin + offset = 6x5 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 0 + + ### Progress bar ### + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 80 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 0 + + # Defines color of the frame around the notification window. + frame_color = "#eceff4" + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort messages by urgency. + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + # idle_threshold = 120 + + ### Text ### + + # font = JetBrainsMono Nerd Font 10 + font = Cantarell 12 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 0 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Align icons left/right/off + icon_position = left + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 40 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 70 + + # Paths to default icons. + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/xdg-open + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 3 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#2E3440" + foreground = "#CACFD2" + timeout = 10 + # Icon for notifications with low urgency, uncomment to enable + #new_icon = /path/to/icon + +[urgency_normal] + background = "#2E3440" + foreground = "#CACFD2" + timeout = 10 + # Icon for notifications with normal urgency, uncomment to enable + #new_icon = /path/to/icon + +[urgency_critical] + background = "#E67E80" + foreground = "#CACFD2" + frame_color = "#E67E80" + timeout = 0 + # Icon for notifications with critical urgency, uncomment to enable + #new_icon = /path/to/icon + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# skip_display = true + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/hyprland/.config/hypr/background/arch-rainbow.png b/hyprland/.config/hypr/background/arch-rainbow.png deleted file mode 100644 index 9f00104..0000000 Binary files a/hyprland/.config/hypr/background/arch-rainbow.png and /dev/null differ diff --git a/hyprland/.config/hypr/background/lofiwallpaper.png b/hyprland/.config/hypr/background/lofiwallpaper.png deleted file mode 100644 index 2fe4b8b..0000000 Binary files a/hyprland/.config/hypr/background/lofiwallpaper.png and /dev/null differ diff --git a/hyprland/.config/hypr/hypridle.conf b/hyprland/.config/hypr/hypridle.conf new file mode 100644 index 0000000..5dd4519 --- /dev/null +++ b/hyprland/.config/hypr/hypridle.conf @@ -0,0 +1,47 @@ +# _ _ _ _ +# | |__ _ _ _ __ _ __(_) __| | | ___ +# | '_ \| | | | '_ \| '__| |/ _` | |/ _ \ +# | | | | |_| | |_) | | | | (_| | | __/ +# |_| |_|\__, | .__/|_| |_|\__,_|_|\___| +# |___/|_| +# +# Version 2.8.3 +# DO NOT REMOVE THE REPLACEMENT COMMENTS +# REQUIRED BY THE ML4W SETTINGS APP +# https://wiki.hyprland.org/Hypr-Ecosystem/hypridle/ + +# general { +# ignore_dbus_inhibit = false +# } + +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + +# Screenlock +listener { + # HYPRLOCK TIMEOUT + timeout = 60 + # HYPRLOCK ONTIMEOUT + on-timeout = loginctl lock-session +} + +# dpms +listener { + # DPMS TIMEOUT + timeout = 660 + # DPMS ONTIMEOUT + on-timeout = hyprctl dispatch dpms off + # DPMS ONRESUME + on-resume = hyprctl dispatch dpms on +} + +# Suspend +listener { + # SUSPEND TIMEOUT + timeout = 1800 + #SUSPEND ONTIMEOUT + on-timeout = systemctl suspend +} diff --git a/hyprland/.config/hypr/hyprland.conf b/hyprland/.config/hypr/hyprland.conf index ce38ec6..6878f00 100644 --- a/hyprland/.config/hypr/hyprland.conf +++ b/hyprland/.config/hypr/hyprland.conf @@ -1,181 +1,171 @@ -# ####################################################################################### -# AUTOGENERATED HYPR CONFIG. -# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, -# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. -# ####################################################################################### +# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ -# -# Please note not all available settings / options are set here. -# For a full list, see the wiki -# -source=~/.config/hypr/mocha.conf +# THEME +source = ~/.config/hypr/mocha.conf -exec-once = hyprctl setcursor catppuccin-mocha-dark-cursors 28 -exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +# MONITORS # See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=,preferred,auto,1 -monitor=eDP-1,preferred,auto,1.6 +monitor=,preferred,auto,auto -# See https://wiki.hyprland.org/Configuring/Keywords/ for more +# MY PROGRAMS -# Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox +# See https://wiki.hyprland.org/Configuring/Keywords/ -# Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf # Set programs that you use -#$terminal = wezterm -$terminal = foot +$terminal = kitty $fileManager = dolphin -$menu = ulauncher +$menu = wofi --show drun -exec-once=waybar & swaync & hyprpaper -xwayland { - force_zero_scaling = true +# AUTOSTART +exec-once = hyprpaper +exec-once = hypridle +exec-once = ~/.config/hypr/scripts/waybar.sh +exec-once = systemctl --user start plasma-polkit-agent +exec-once = wl-paste --watch cliphist store +exec-once = mako +# exec-once = dunst -conf ~/.config/dunst/dunstrc +# ENVIRONMENT VARIABLES + +env = XDG_SESSION_TYPE,wayland +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_DESKTOP,Hyprland +env = XCURSOR_SIZE,2 +#env = HYPRCURSOR_SIZE,24 + + +# LOOK AND FEEL + +# Refer to https://wiki.hyprland.org/Configuring/Variables/ + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 5 + gaps_out = 10 + border_size = 2 + col.active_border = 0xffcba6f7 + col.inactive_border = 0xff313244 + no_border_on_floating = true + resize_on_border = true + allow_tearing = false + layout = dwindle } -# Some default env vars. -env = XCURSOR_SIZE,24 -env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that +# https://wiki.hyprland.org/Configuring/Variables/#decoration +decoration { + rounding = 5 + active_opacity = 1.0 + inactive_opacity = 1.0 -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ + drop_shadow = true + shadow_ignore_window = true + shadow_range = 4 + shadow_offset = 2 2 + shadow_render_power = 2 + col.shadow = 0x66000000 + + blur { + enabled = true + size = 10 + passes = 1 + new_optimizations = on + #vibrancy = 0.1696 + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + enabled = true + + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more +dwindle { + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +master { + new_status = master + new_on_top = true +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( +} + + +# INPUT + +# https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = - kb_options = ctrl:nocaps + + numlock_by_default = true follow_mouse = 1 + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + touchpad { - natural_scroll = yes + natural_scroll = false + disable_while_typing = true } - - sensitivity = 0 # -1.0 to 1.0, 0 means no modification. } -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - border_size = 3 - - col.active_border = $mauve $flamingo 90deg - col.inactive_border = $subtext0 - - resize_on_border = true - - gaps_in = 2 - gaps_out = 4 - - layout = dwindle - - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on - allow_tearing = false -} - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 4 - - blur { - enabled = true - size = 3 - passes = 1 - } - - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) -} - -animations { - enabled = true - - bezier = linear, 0.0, 0.0, 1.0, 1.0 - animation = borderangle, 1, 50, linear, loop - - animation=workspaces,0,1,default - animation=windows,0,1,default -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - -# master { -# # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more -# new_is_master = true -# } - +# https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = off -} - -misc { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + workspace_swipe = true } # 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 -} +#device { +# name = epic-mouse-v1 +# 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. -windowrulev2 = noanim,class:^(ulauncher)$ -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = super +# KEYBINDINGS -# Sound through pactl -bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +10% -bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -10% -bind = , XF86AudioMut, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle - -# Brightness through brightnessctl -bind = , XF86MonBrightnessUp, exec, brightnessctl set +5% -bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%- +# 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 -bind = $mainMod, return, exec, $terminal -bind = $mainMod, C, killactive, -bind = $mainMod, M, exit, -bind = $mainMod, V, togglefloating, -bind = $mainMod, space, exec, $menu -bind = $SUPER_SHIFT, l, exec, hyprlock -bind = $SUPER_SHIFT, R, exec, hyprctl reload -bind = $SUPER_SHIFT, D, exec, hyprctl keyword monitor eDP-1, disable -bind = $SUPER_SHIFT, F, exec, hyprctl keyword monitor eDP-1, enable -bind = $SUPER_SHIFT, e, exec, loginctl kill-user $(whoami) -bind = , Print, exec, hyprshot -m window -bind = shift, Print, exec, hyprshot -m region +bind = $mainMod, RETURN, exec, $terminal +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, E, togglesplit, # dwindle -bind = $mainMod, F, fullscreen, # dwindle -bind = $mainMod, W, togglegroup, # dwindle +bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod, L, exec, hyprlock # Move focus with mainMod + arrow keys -bind = $mainMod, h, movefocus, l -bind = $mainMod, l, movefocus, r -bind = $mainMod, k, movefocus, u -bind = $mainMod, j, 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 @@ -212,3 +202,26 @@ 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 + +# Laptop multimedia keys for volume and LCD brightness +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @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 +bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ + +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. diff --git a/hyprland/.config/hypr/hyprlock.conf b/hyprland/.config/hypr/hyprlock.conf index 12af035..535ab32 100644 --- a/hyprland/.config/hypr/hyprlock.conf +++ b/hyprland/.config/hypr/hyprlock.conf @@ -1,79 +1,69 @@ -source = $HOME/.config/hypr/mocha.conf - -$accent = $mauve -$accentAlpha = $mauveAlpha -$font = JetBrainsMono Nerd Font - -# GENERAL -general { - disable_loading_bar = true - hide_cursor = true -} - # BACKGROUND background { monitor = - path = ~/.config/hypr/backgrounds/arch-rainbow.png - blur_passes = 2 - color = $base + path = ~/.config/hypr/walls/1.png + # blur_passes = 0 + # contrast = 1 + # brightness = 1 + # vibrancy = 0.2 + # vibrancy_darkness = 0.2 } -# TIME -label { - monitor = - text = cmd[update:30000] echo "$(date +"%R")" - color = $text - font_size = 90 - font_family = $font - position = -30, 0 - halign = right - valign = top -} - -# DATE -label { - monitor = - text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")" - color = $text - font_size = 25 - font_family = $font - position = -30, -150 - halign = right - valign = top -} - -# USER AVATAR - -image { - monitor = - path = ~/.face - size = 100 - border_color = $accent - - position = 0, 75 - halign = center - valign = center +# GENERAL +general { + no_fade_in = false + no_fade_out = false + hide_cursor = true + grace = 0 + disable_loading_bar = true + ignore_empty_input = true } # INPUT FIELD input-field { monitor = - size = 300, 60 - outline_thickness = 4 - dots_size = 0.2 - dots_spacing = 0.2 + size = 250, 60 + outline_thickness = 2 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0 dots_center = true - outer_color = $accent - inner_color = $surface0 - font_color = $text + outer_color = rgba(0, 0, 0, 0) + inner_color = rgba(0, 0, 0, 0.2) + font_color = rgb(205, 214, 244) fade_on_empty = false - placeholder_text = 󰌾 Logged in as $USER + rounding = -1 + placeholder_text = Password hide_input = false - check_color = $accent - fail_color = $red - fail_text = $FAIL ($ATTEMPTS) - capslock_color = $yellow - position = 0, -35 + position = 0, -200 halign = center valign = center + check_color = rgb(108, 112, 134) + fail_color = rgb(243, 139, 168) # if authentication failed, changes outer_color and fail message color + fail_text = $ATTEMPTS # can be set to empty + fail_timeout = 2000 # milliseconds before fail_text and fail_color disappears + fail_transition = 300 # transition time in ms between normal outer_color and fail_color } + +# DATE +label { + monitor = + text = cmd[update:1000] date +"%Y-%m-%d" + color = rgb(205, 214, 244) + font_size = 22 + font_family = JetBrains Mono + position = 0, 300 + halign = center + valign = center +} + +# TIME +label { + monitor = + text = $TIME + color = rgb(205, 214, 244) + font_size = 95 + font_family = JetBrains Mono Extrabold + position = 0, 200 + halign = center + valign = center +}qqqq diff --git a/hyprland/.config/hypr/hyprpaper.conf b/hyprland/.config/hypr/hyprpaper.conf index 9c24e48..997c850 100644 --- a/hyprland/.config/hypr/hyprpaper.conf +++ b/hyprland/.config/hypr/hyprpaper.conf @@ -1,18 +1,5 @@ -# preload = ~/.config/backgrounds/nice-blue-background.png -# wallpaper = DP-4,~/.config/backgrounds/nice-blue-background.png -# preload = ~/arch-rainbow-1920x1080.png -# wallpaper = DP-4,~/arch-rainbow-1920x1080.png -# wallpaper = eDP-1,~/arch-rainbow-1920x1080.png -# -# preload = ~/wallpaper.webp -# wallpaper = DP-4,~/wallpaper.webp -# wallpaper = eDP-1,~/wallpaper.webp +preload = ~/.config/hypr/walls/2.png +wallpaper = eDP-1,~/.config/hypr/walls/2.png +splash = false - -# preload = ~/flcl.png -# wallpaper = DP-4,~/flcl.png -# wallpaper = eDP-1,~/flcl.png -# -preload = ~/.config/hypr/backgrounds/lofiwallpaper.png -wallpaper = DP-4,~/.config/hypr/backgrounds/lofiwallpaper.png -wallpaper = eDP-1,~/.config/hypr/backgrounds/lofiwallpaper.png +# https://github.com/zhichaoh/catppuccin-wallpapers diff --git a/hyprland/.config/hypr/scripts/waybar.sh b/hyprland/.config/hypr/scripts/waybar.sh new file mode 100755 index 0000000..066b0c4 --- /dev/null +++ b/hyprland/.config/hypr/scripts/waybar.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +CONFIG_FILES="$HOME/.config/waybar/config $HOME/.config/waybar/style.css" + +trap "killall waybar" EXIT + +while true; do + waybar & + inotifywait -e create,modify $CONFIG_FILES + killall waybar +done diff --git a/hyprland/.config/hypr/walls/1.png b/hyprland/.config/hypr/walls/1.png new file mode 100644 index 0000000..05b54f7 Binary files /dev/null and b/hyprland/.config/hypr/walls/1.png differ diff --git a/hyprland/.config/hypr/walls/2.png b/hyprland/.config/hypr/walls/2.png new file mode 100644 index 0000000..010c483 Binary files /dev/null and b/hyprland/.config/hypr/walls/2.png differ diff --git a/hyprland/.config/mako/config b/hyprland/.config/mako/config new file mode 100644 index 0000000..d6e8d98 --- /dev/null +++ b/hyprland/.config/mako/config @@ -0,0 +1,18 @@ +# General +anchor=top-right +font=MesloLGS Nerd Font Mono +margin=0,20,20 +padding=10 +border-size=2 +border-radius=5 +default-timeout=10000 +group-by=summary + +# Colors +background-color=#1e1e2e +text-color=#cdd6f4 +border-color=#a6e3a1 +progress-color=over #313244 + +[urgency=high] +border-color=#fab387 diff --git a/hyprland/.config/waybar/config b/hyprland/.config/waybar/config new file mode 100644 index 0000000..096778f --- /dev/null +++ b/hyprland/.config/waybar/config @@ -0,0 +1,59 @@ +{ + "layer": "top", + "position": "top", + "modules-left": ["hyprland/workspaces"], + "modules-center": ["hyprland/window"], + "spacing":10, + //"modules-right": ["wireplumber", "battery", "clock", "tray"], + "modules-right": ["wireplumber", "tray"], + "hyprland/workspaces": { + "disable-scroll": true, + "sort-by-name": true, + "format": " {icon} ", + "format-icons": { + "default": "", + "urgent": "", + "active": "", + }, + }, + "tray": { + "icon-size": 21, + "spacing": 10 + }, + "clock": { + "timezone": "Canada/Eastern", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": " {:%d/%m/%Y}", + "format": " {:%H:%M}" + }, + "backlight": { + "device": "intel_backlight", + "format": "{icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + "warning": 30, + "critical": 15 + }, + "format": "{icon}", + "format-charging": "", + "format-plugged": "", + "format-alt": "{icon}", + "format-icons": ["", "", "", "", "", "", "", "", "", "", "", ""] + }, + "wireplumber": { + "format": "{volume}% {icon}", + "format-muted": "", + "on-click": "qpwgraph", + "format-icons": ["", "", ""] + }, + "hyprland/window": { + //"format": "👉 {title}", + //"rewrite": { + // "(.*) — LibreWolf": "🌎 $1", + // "(.*) - bash": "> [$1]" + //}, + "separate-outputs": true + } +} diff --git a/hyprland/.config/waybar/mocha.css b/hyprland/.config/waybar/mocha.css new file mode 100644 index 0000000..0eb6a82 --- /dev/null +++ b/hyprland/.config/waybar/mocha.css @@ -0,0 +1,26 @@ +@define-color rosewater #f5e0dc; +@define-color flamingo #f2cdcd; +@define-color pink #f5c2e7; +@define-color mauve #cba6f7; +@define-color red #f38ba8; +@define-color maroon #eba0ac; +@define-color peach #fab387; +@define-color yellow #f9e2af; +@define-color green #a6e3a1; +@define-color teal #94e2d5; +@define-color sky #89dceb; +@define-color sapphire #74c7ec; +@define-color blue #89b4fa; +@define-color lavender #b4befe; +@define-color text #cdd6f4; +@define-color subtext1 #bac2de; +@define-color subtext0 #a6adc8; +@define-color overlay2 #9399b2; +@define-color overlay1 #7f849c; +@define-color overlay0 #6c7086; +@define-color surface2 #585b70; +@define-color surface1 #45475a; +@define-color surface0 #313244; +@define-color base #1e1e2e; +@define-color mantle #181825; +@define-color crust #11111b; diff --git a/hyprland/.config/waybar/style.css b/hyprland/.config/waybar/style.css new file mode 100644 index 0000000..062c1ee --- /dev/null +++ b/hyprland/.config/waybar/style.css @@ -0,0 +1 @@ +@import "mocha.css";