diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf new file mode 100644 index 0000000..5298267 --- /dev/null +++ b/hypr/hyprland.conf @@ -0,0 +1,202 @@ +# +# Please note not all available settings / options are set here. +# For a full list, see the wiki +# + +autogenerated = 0 # remove this line to remove the warning + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=eDP-1,preferred,auto,auto +monitor=HDMI-A-1,preferred,auto,1 + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +exec-once = waybar & hyprpaper + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# Set programs that you use +$terminal = gnome-terminal +$fileManager = nemo +$menu = wofi --show drun +$screenlock = hyprlock + +# Some default env vars. +env = XCURSOR_SIZE,24 +env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that +env = GTK_THEME, adw-gtk3-dark + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us,ru + kb_variant = rus + kb_model = asus_laptop + kb_options = grp:lalt_lshift_toggle + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = yes + drag_lock = false + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 2 + gaps_out = 5 + border_size = 2 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = dwindle + + cursor_inactive_timeout = 1 + resize_on_border = false + hover_icon_on_border = flase + + # 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 = 10 + + blur { + enabled = true + size = 3 + passes = 1 + } + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = yes + + # Some 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 +} + +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 +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = on + workspace_swipe_forever = false +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_splash_rendering = true + disable_hyprland_logo = true +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +device: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 = nomaximizerequest, class:.* # You'll probably like this. + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, W, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# 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 + +# 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 + +# Scroll through existing workspaces with mainMod + scroll +# bind = $mainMod, mouse_down, workspace, e+1 +# bind = $mainMod, mouse_up, workspace, e-1 + +bind = CTRL ALT, right, workspace, e+1 +bind = CTRL ALT, left, workspace, e-1 + +bind = $mainMod, L, exec, $screenlock + +bind = $mainMod, TAB, workspace, e+1 + +bind = $mainMod, F, fullscreen + +bind = , Print, exec, grim -g "$(slurp)" - | wl-copy + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow diff --git a/hypr/hyprlock.conf b/hypr/hyprlock.conf new file mode 100644 index 0000000..5257113 --- /dev/null +++ b/hypr/hyprlock.conf @@ -0,0 +1,90 @@ +general { + +} + +widget_name { + monitor = + # further options +} + +background { + monitor = + # path = /home/me/someImage.png # only png supported for now + color = rgba(25, 20, 20, 1.0) + + # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations + blur_passes = 0 # 0 disables blurring + blur_size = 7 + noise = 0.0117 + contrast = 0.8916 + brightness = 0.8172 + vibrancy = 0.1696 + vibrancy_darkness = 0.0 +} + +input-field { + monitor = + size = 200, 50 + outline_thickness = 3 + dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = false + dots_rounding = -1 # -1 default circle, -2 follow input-field rounding + outer_color = rgb(151515) + inner_color = rgb(200, 200, 200) + font_color = rgb(10, 10, 10) + fade_on_empty = true + fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered. + placeholder_text = Input Password... # Text rendered in the input box when it's empty. + hide_input = false + rounding = -1 # -1 means complete rounding (circle/oval) + check_color = rgb(204, 136, 34) + fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color + fail_text = $FAIL ($ATTEMPTS) # can be set to empty + fail_transition = 300 # transition time in ms between normal outer_color and fail_color + capslock_color = -1 + numlock_color = -1 + bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above) + invert_numlock = false # change color if numlock is off + swap_font_color = false # see below + + position = 0, -20 + halign = center + valign = center +} + +label { + monitor = + text = Hi, $USER + color = rgba(200, 200, 200, 1.0) + font_size = 25 + font_family = Noto Sans + + position = 0, 80 + halign = center + valign = center +} + +label { + monitor = + text = [$TIME] + color = rgba(200, 200, 200, 1.0) + font_size = 40 + font_family = Noto Sans + + position = 0, 170 + halign = center + valign = center +} + +label { + monitor = + text = [$LAYOUT] + color = rgba(200, 200, 200, 1.0) + font_size = 10 + font_family = Noto Sans + + position = -20, 10 + halign = right + valign = bottom +} diff --git a/hypr/hyprpaper.conf b/hypr/hyprpaper.conf new file mode 100644 index 0000000..202d426 --- /dev/null +++ b/hypr/hyprpaper.conf @@ -0,0 +1,8 @@ +preload = /usr/share/backgrounds/manjaro/ostpv3-d.png + +wallpaper = eDP-1,/usr/share/backgrounds/manjaro/ostpv3-d.png +wallpaper = HDMI-A-1,/usr/share/backgrounds/manjaro/ostpv3-d.png + +splash = false + +ipc = off diff --git a/waybar/config b/waybar/config new file mode 100644 index 0000000..cb6b5aa --- /dev/null +++ b/waybar/config @@ -0,0 +1,73 @@ +{ + "layer": "top", + "modules-left": ["custom/launcher","hyprland/workspaces","cpu","memory","tray"], + "modules-center": [], + "modules-right": ["clock","hyprland/language","backlight","pulseaudio","network","battery"], + + "pulseaudio": { + "tooltip": false, + "scroll-step": 5, + "format": "{icon} {volume}%", + "format-muted": "{icon} {volume}%", + "on-click":"pactl set-sink-mute @DEFAULT_SINK@ toggle", + "format-icons": { + "default": ["", "", ""] + } + }, + + "hyprland/workspaces": { + "format": "{id}", + }, + + "hyprland/language": { + "format-en": "🍔", + "format-ru": "🐻", + }, + + "network": { + "tooltip": false, + "format-wifi": " {essid}", + "format-ethernet": "" + }, + "backlight": { + "tooltip": false, + "format": " {}%", + "interval":1, + "on-scroll-up": "light -A 5", + "on-scroll-down": "light -U 5" + }, + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 20 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{time} {icon}", + "format-icons": ["", "", "", "", ""] + }, + "tray":{ + "icon-size":18, + "spacing": 10 + }, + "clock": { + "format": "{: %H:%M  %d/%m/%y}" + }, + "cpu": { + "interval": 15, + "format": " {}%", + "max-length": 10 + }, + "memory": { + "interval": 30, + "format": " {}%", + "max-length": 10 + }, + "custom/launcher":{ + "format": " ", + "on-click": "wofi --show drun", + "on-click-right": "killall rofi" + } +} diff --git a/waybar/style.css b/waybar/style.css new file mode 100644 index 0000000..49ac8f1 --- /dev/null +++ b/waybar/style.css @@ -0,0 +1,191 @@ +* { + border: none; + border-radius: 10; + font-family: "JetbrainsMono Nerd Font" ; + font-size: 15px; + min-height: 10px; +} + +window#waybar { + background: transparent; +} + +window#waybar.hidden { + opacity: 0.2; +} + +#window { + margin-top: 6px; + padding-left: 10px; + padding-right: 10px; + border-radius: 10px; + transition: none; + color: transparent; + background: transparent; +} + +#network { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #bd93f9; +} + +#pulseaudio { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #1A1826; + background: #FAE3B0; +} + +#battery { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #B5E8E0; +} + +#battery.charging, #battery.plugged { + color: #161320; + background-color: #B5E8E0; +} + +#battery.critical:not(.charging) { + background-color: #B5E8E0; + color: #161320; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +@keyframes blink { + to { + background-color: #BF616A; + color: #B5E8E0; + } +} + +#backlight { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #F8BD96; +} +#clock { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #ABE9B3; + /*background: #1A1826;*/ +} + +#memory { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + margin-bottom: 0px; + padding-right: 10px; + border-radius: 10px; + transition: none; + color: #161320; + background: #DDB6F2; +} +#cpu { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + margin-bottom: 0px; + padding-right: 10px; + border-radius: 10px; + transition: none; + color: #161320; + background: #96CDFB; +} + +#tray { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + margin-bottom: 0px; + padding-right: 10px; + border-radius: 10px; + transition: none; + color: #B5E8E0; + background: #161320; +} + +#custom-launcher { + font-size: 24px; + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 5px; + border-radius: 10px; + transition: none; + color: #89DCEB; + background: #161320; +} + +#custom-power { + font-size: 20px; + margin-top: 6px; + margin-left: 8px; + margin-right: 8px; + padding-left: 10px; + padding-right: 5px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #F28FAD; +} + +#workspaces button { + background-color: rgba(0, 0, 0, 0.2); + margin: 0.25em; + color: #d1d1d1; +} + +#workspaces button.active { + color: #b6ddf2; + background-color: rgba(0, 0, 0, 0.5); +} + +#language { + font-size: 20px; + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + background: #abd8e9; +}