From 579f4c4fa41a9936bc9bcac7d222aa9603fd90b7 Mon Sep 17 00:00:00 2001 From: JaeYoo-Im Date: Thu, 4 Apr 2024 00:26:39 +0900 Subject: [PATCH] hyprland : configure start. --- .config/alacritty/alacritty.toml | 2 +- .config/emacs/lisp/init-funcs.el | 2 +- .config/hypr/hyprland.conf | 196 ++++++++++++++++++++++++++ .config/hypr/hyprpaper/hyprpaper.conf | 6 + .config/hypr/waybar/config-mon1 | 140 ++++++++++++++++++ .config/hypr/waybar/config-mon2 | 115 +++++++++++++++ .config/hypr/waybar/style.css | 107 ++++++++++++++ .config/hypr/waybar/tt | 18 +++ .xprofile | 6 +- .zshrc | 2 +- scripts/random_hyprpaper.sh | 24 ++++ 11 files changed, 612 insertions(+), 6 deletions(-) create mode 100644 .config/hypr/hyprland.conf create mode 100644 .config/hypr/hyprpaper/hyprpaper.conf create mode 100644 .config/hypr/waybar/config-mon1 create mode 100644 .config/hypr/waybar/config-mon2 create mode 100644 .config/hypr/waybar/style.css create mode 100644 .config/hypr/waybar/tt create mode 100755 scripts/random_hyprpaper.sh diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml index eebf134..927ceae 100644 --- a/.config/alacritty/alacritty.toml +++ b/.config/alacritty/alacritty.toml @@ -1,4 +1,3 @@ -#"window.opacity" = 0.75 [colors] draw_bold_text_with_bright_colors = true @@ -140,6 +139,7 @@ history = 10000 [window] title = "Alacritty" +opacity = 0.75 [window.class] general = "Alacritty" diff --git a/.config/emacs/lisp/init-funcs.el b/.config/emacs/lisp/init-funcs.el index a785a69..4e91c7f 100644 --- a/.config/emacs/lisp/init-funcs.el +++ b/.config/emacs/lisp/init-funcs.el @@ -33,7 +33,7 @@ ;; Also handle undocumented ( ) form. ((numberp (cadr alpha)) (cadr alpha))) 100) - '(85 . 50) '(100 . 100))))) + '(85 . 85) '(100 . 100))))) (defun my/transparency-round (val) "Round VAL to the nearest tenth of an integer." (/ (round (* 10 val)) 10.0)) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..7ce620d --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,196 @@ +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=DP-3, 2560x1440,0x0,1 +monitor=HDMI-A-1,1920x1080,2560x-480,1,transform,3 + +workspace= name:work1,monitor:DP-3,1 +workspace= name:work2,monitor:HDMI-A-1,2 + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +exec-once = killall hypaper & hyprpaper -c ~/.config/hypr/hyprpaper/hyprpaper.conf & +exec-once = killall waybar +exec-once = waybar --config ~/.config/hypr/waybar/config-mon1 --style ~/.config/hypr/waybar/style.css & +exec-once = waybar --config ~/.config/hypr/waybar/config-mon2 --style ~/.config/hypr/waybar/style.css & + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# Set programs that you use +$terminal = alacritty +$fileManager = dolphin +$menu = pkill wofi || wofi --show drun --term=alacritty --width=20% --height=50% --columns 1 -I -s ~/.config/wofi/themes/everforest-light.css -o $MAIN_DISPLAY + +# Some default env vars. +env = XCURSOR_SIZE,24 +env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that +env = HYPRLAND_LOG_WLR, 1 +env = _JAVA_AWT_WM_NONREPARENTING, 1 +env = WLR_NO_HARDWARE_CURSORS, 1 +env = XDG_SESSION_TYPE, wayland +env = MOZ_ENABLE_WAYLAND,1 +env = LIBVA_DRIVER_NAME, nvidia +env = GBM_BACKEND, nvidia-drm +env = GDK_BACKEND, wayland,x11 + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 # -1.0 to 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 5 + gaps_out = 20 + border_size = 2 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + 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 = 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 = 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 +} + +# 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 +} + +# 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. + +windowrule = float, ^(vlc)$ +# windowrulev2 = opacity 0.8 override,class:^(emacs) + + +# 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, F, exec, firefox +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, B, exec, vivaldi --disable-gpu +bind = $mainMod, W, exec, ~/scripts/random_hyprpaper.sh +#bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod, SPACE, fullscreen + +# 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 + +# 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 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow diff --git a/.config/hypr/hyprpaper/hyprpaper.conf b/.config/hypr/hyprpaper/hyprpaper.conf new file mode 100644 index 0000000..0db2e5c --- /dev/null +++ b/.config/hypr/hyprpaper/hyprpaper.conf @@ -0,0 +1,6 @@ +preload = ~/walls/normal/from_arcolinux/mystery-3840x2160.jpg +preload = ~/walls/idol/portrait/karina/img2.jpeg + +# My desktop +wallpaper = HDMI-A-1,~/walls/idol/portrait/karina/img2.jpeg +wallpaper = DP-3,~/walls/normal/from_arcolinux/mystery-3840x2160.jpg diff --git a/.config/hypr/waybar/config-mon1 b/.config/hypr/waybar/config-mon1 new file mode 100644 index 0000000..bdf410c --- /dev/null +++ b/.config/hypr/waybar/config-mon1 @@ -0,0 +1,140 @@ +{ + "margin-top": 0, + "margin-left": 120, + "margin-bottom": 0, + "margin-right": 120, + "height": 60, + "layer": "top", + "position": "top", + "output": "DP-3", + "spacing": 15, + "modules-left": ["custom/launcher", "clock", "clock#date"], + "modules-center": ["hyprland/workspaces"], + "modules-right": ["cpu", "memory", "pulseaudio", "keyboard-state", "tray"], + "hyprland/workspaces": { + "format": "{icon}", + "disable-scroll": true, + "all-outputs": true, + "on-click": "activate", + "persistent_workspaces": { + "1": [], + "2": [], + "3": [], + "4": [], + "5": [], + }, + }, + "custom/launcher": { + "interval": "once", + "format": "󰣇", + "on-click": "pkill wofi || wofi --show drun --term=alacritty --width=20% --height=50% --columns 1 -I -s ~/.config/wofi/themes/everforest-light.css -o $MAIN_DISPLAY", + "tooltip": false + }, + + "backlight": { + "device": "nvidia_0", + "max-length": "4", + "format": "{icon}", + "tooltip-format": "{percent}%", + "format-icons": ["","","","", "", "", ""], + "on-click": "", + "on-scroll-up": "brightnessctl set 10%-", + "on-scroll-down": "brightnessctl set +10%" + }, + + "memory": { + "interval": 30, + "format": " {}%", + "format-alt":" {used:0.1f}G", + "max-length": 10 +}, + + "custom/dunst": { + "exec": "~/.config/waybar/scripts/dunst.sh", + "on-click": "dunstctl set-paused toggle", + "restart-interval": 1, + "tooltip": false + }, + + "pulseaudio": { + "format": "{icon} {volume}%", + "format-bluetooth": "{icon}  {volume}%", + "format-bluetooth-muted": "婢  muted", + "format-muted": "婢 muted", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click-right": "pavucontrol", + "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle", + }, + +"network": { + "format-wifi": " {signalStrength}%", + "format-ethernet": " {signalStrength}%", + "format-disconnected": "󰤭", + "on-click": "sh ~/.config/wofi/scripts/wifimenu.sh" +}, + +"battery": { + "bat": "BAT0", + "adapter": "ADP0", + "interval": 60, + "states": { + "warning": 30, + "critical": 15 + }, + "max-length": 10, + "format": "{icon} {capacity}%", + "format-warning": "{icon} {capacity}%", + "format-critical": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {capacity}%", + "format-full": " 100%", + "format-icons": ["", "", "", "", "", "", "", "", "", ""] +}, + +"clock": { + "format": " {:%H:%M}" +}, + +"clock#date": { + "format": " {:%A, %B %d, %Y}" +}, + +"custom/powermenu": { + "format": "", + "on-click": "pkill wofi || sh .config/wofi/scripts/powermenu.sh 'everforest-light' '--height=17% -o $MAIN_DISPLAY'", + "tooltip": false + } +}, + +"tray": { + "icon-size": 21, + "spacing": 10 +}, +"memory": { + "interval": 30, + "format": "{}% ", + "max-length": 10 +}, +"cpu": { + "interval": 10, + "format": "{}% ", + "max-length": 10 +}, +"keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } +} diff --git a/.config/hypr/waybar/config-mon2 b/.config/hypr/waybar/config-mon2 new file mode 100644 index 0000000..851c175 --- /dev/null +++ b/.config/hypr/waybar/config-mon2 @@ -0,0 +1,115 @@ +{ + "margin-top": 0, + "margin-left": 120, + "margin-bottom": 0, + "margin-right": 120, + "height": 60, + "layer": "top", + "position": "top", + "output": "HDMI-A-1", + "spacing": 15, + "modules-left": ["custom/launcher", "clock", "clock#date"], + "modules-center": ["hyprland/workspaces"], + "modules-right": ["pulseaudio", "network", "battery", "custom/powermenu"], + "hyprland/workspaces": { + "format": "{icon}", + "disable-scroll": true, + "on-click": "activate", + "persistent_workspaces": { + "6": [], + "7": [], + "8": [], + "9": [], + "10": [] + }, + }, + "custom/launcher": { + "interval": "once", + "format": "󰣇", + "on-click": "pkill wofi || wofi --show drun --term=kitty --width=20% --height=50% --columns 1 -I -s ~/.config/wofi/themes/everforest-light.css -o $MAIN_DISPLAY", + "tooltip": false + }, + + "backlight": { + "device": "nvidia_0", + "max-length": "4", + "format": "{icon}", + "tooltip-format": "{percent}%", + "format-icons": ["","","","", "", "", ""], + "on-click": "", + "on-scroll-up": "brightnessctl set 10%-", + "on-scroll-down": "brightnessctl set +10%" + }, + + "memory": { + "interval": 30, + "format": " {}%", + "format-alt":" {used:0.1f}G", + "max-length": 10 +}, + + "custom/dunst": { + "exec": "~/.config/waybar/scripts/dunst.sh", + "on-click": "dunstctl set-paused toggle", + "restart-interval": 1, + "tooltip": false + }, + + "pulseaudio": { + "format": "{icon} {volume}%", + "format-bluetooth": "{icon}  {volume}%", + "format-bluetooth-muted": "婢  muted", + "format-muted": "婢 muted", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click-right": "pavucontrol", + "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle", + }, + +"network": { + "format-wifi": " {signalStrength}%", + "format-ethernet": " {signalStrength}%", + "format-disconnected": "󰤭", + "on-click": "sh ~/.config/wofi/scripts/wifimenu.sh" +}, + +"battery": { + "bat": "BAT0", + "adapter": "ADP0", + "interval": 60, + "states": { + "warning": 30, + "critical": 15 + }, + "max-length": 10, + "format": "{icon} {capacity}%", + "format-warning": "{icon} {capacity}%", + "format-critical": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {capacity}%", + "format-full": " 100%", + "format-icons": ["", "", "", "", "", "", "", "", "", ""] +}, + +"clock": { + "format": " {:%H:%M}" +}, + +"clock#date": { + "format": " {:%A, %B %d, %Y}" +}, + +"custom/powermenu": { + "format": "", + "on-click": "pkill wofi || sh .config/wofi/scripts/powermenu.sh 'everforest-light' '--height=17% -o $MAIN_DISPLAY'", + "tooltip": false + } +} diff --git a/.config/hypr/waybar/style.css b/.config/hypr/waybar/style.css new file mode 100644 index 0000000..5e5b0c3 --- /dev/null +++ b/.config/hypr/waybar/style.css @@ -0,0 +1,107 @@ +@define-color bg_dim #efebd4; +@define-color bg0 #fdf6e3; +@define-color bg1 #f4f0d9; +@define-color bg2 #efebd4; +@define-color bg3 #e6e2cc; +@define-color bg4 #e0dcc7; +@define-color bg5 #bdc3af; +@define-color bg_visual #eaedc8; +@define-color bg_red #fbe3da; +@define-color bg_green #f0f1d2; +@define-color bg_blue #e9f0e9; +@define-color bg_yellow #faedcd; +@define-color fg #5c6a72; +@define-color red #f85552; +@define-color orange #f57d26; +@define-color yellow #dfa000; +@define-color green #8da101; +@define-color aqua #35a77c; +@define-color blue #3a94c5; +@define-color purple #df69ba; +@define-color grey0 #a6b0a0; +@define-color grey1 #939f91; +@define-color grey2 #829181; + +/* margin: top right bottom left */ +/* Spacing outside the element */ + +/* padding: top right bottom left */ +/* Spacing inside the element */ + +* { + font-family: JetBrainsMono Nerd Font, FontAwesome; + font-size: 16px; + font-weight: bold; +} + +window#waybar { + background-color: @fg; + color: @bg0; + transition-property: background-color; + transition-duration: 0.5s; + border-radius: 0px 0px 15px 15px; + transition-duration: .5s; + + border-bottom-width: 5px; + border-bottom-color: #2e3538; + border-bottom-style: solid; +} + +#custom-launcher, +#clock, +#clock-date, +#workspaces, +#pulseaudio, +#network, +#battery, +#custom-powermenu { + background-color: @bg0; + color: @fg; + + padding-left: 10px; + padding-right: 10px; + margin-top: 7px; + margin-bottom: 12px; + border-radius: 10px; + + border-bottom-width: 5px; + border-bottom-color: @bg5; + border-bottom-style: solid; +} + +#workspaces { + padding: 0px; +} + +#workspaces button.active { + background-color: @blue; + color: @bg0; + + border-radius: 10px; + + margin-bottom: -5px; + + border-bottom-width: 5px; + border-bottom-color: #1c4a62; + border-bottom-style: solid; +} + +#custom-launcher { + background-color: @green; + color: @bg0; + border-bottom-color: #465000; + + margin-left: 15px; + padding-left: 20px; + padding-right: 21px; +} + +#custom-powermenu { + background-color: @red; + color: @bg0; + border-bottom-color: #9e0906; + + margin-right: 15px; + padding-left: 20px; + padding-right: 23px; +} diff --git a/.config/hypr/waybar/tt b/.config/hypr/waybar/tt new file mode 100644 index 0000000..db35554 --- /dev/null +++ b/.config/hypr/waybar/tt @@ -0,0 +1,18 @@ + "wlr/workspaces": { + "disable-scroll": true, + "all-outputs": true, + "on-click": "activate", + "on-scroll-up": "hyprctl dispatch workspace e+1", + "on-scroll-down": "hyprctl dispatch workspace e-1", + "persistent_workspaces": { + "1": [], + "2": [], + "3": [], + "4": [], + "5": [], + "6": [], + "7": [], + "8": [], + "9": [], + "10": [] + }, diff --git a/.xprofile b/.xprofile index 12711fa..7c8f988 100644 --- a/.xprofile +++ b/.xprofile @@ -1,3 +1,3 @@ -export GTK_IM_MODULE=fcitx -export QT_IM_MODULE=fcitx -export XMODIFIERS="@im=fcitx" +export GTK_IM_MODULE=ibus +export QT_IM_MODULE=ibus +export XMODIFIERS="@im=ibus" diff --git a/.zshrc b/.zshrc index 7e09dfd..ed8d669 100644 --- a/.zshrc +++ b/.zshrc @@ -44,7 +44,7 @@ alias l.='exa -a | egrep "^\."' #cat ~/.cache/wal/sequences & # WSL2 -source ~/scripts/custom_env.sh +#source ~/scripts/custom_env.sh # python env export PYTHONSTARTUP=~/scripts/my_imports.py diff --git a/scripts/random_hyprpaper.sh b/scripts/random_hyprpaper.sh new file mode 100755 index 0000000..8f79f34 --- /dev/null +++ b/scripts/random_hyprpaper.sh @@ -0,0 +1,24 @@ +#!/bin/bash +wal_dir1=~/walls/normal +wal_dir2=~/walls/normal + +# random wallpaper +files=() +while IFS= read -r -d $'\0'; do + files+=("$REPLY") +done < <(find $wal_dir1 -type f -name "*" -print0) +randomfile=$(printf "%s\n" "${files[RANDOM % ${#files[@]}]}") +echo $randomfile + +hyprctl hyprpaper preload $randomfile +hyprctl hyprpaper wallpaper "DP-3,$randomfile" + +files=() +while IFS= read -r -d $'\0'; do + files+=("$REPLY") +done < <(find $wal_dir2 -type f -name "*" -print0) +randomfile=$(printf "%s\n" "${files[RANDOM % ${#files[@]}]}") +echo $randomfile +hyprctl hyprpaper preload $randomfile +hyprctl hyprpaper wallpaper "HDMI-A-1,$randomfile" +