diff --git a/.config/hypr/animations.conf b/.config/hypr/animations.conf new file mode 100644 index 0000000..4e33fd3 --- /dev/null +++ b/.config/hypr/animations.conf @@ -0,0 +1,21 @@ + +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ + +# See https://wiki.hyprland.org/Configuring/Animations/ + +animations { + enabled = yes + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, loop + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/.config/hypr/custom/env.conf b/.config/hypr/custom/env.conf new file mode 100644 index 0000000..a7d721d --- /dev/null +++ b/.config/hypr/custom/env.conf @@ -0,0 +1,2 @@ +env = PRIMARY_MONITOR_WORKSPACE,3 +env = SECONDARY_MONITOR_WORKSPACE,4 diff --git a/.config/hypr/custom/execs.conf b/.config/hypr/custom/execs.conf new file mode 100644 index 0000000..16fa65c --- /dev/null +++ b/.config/hypr/custom/execs.conf @@ -0,0 +1,7 @@ +# You can make apps auto-start here +# Relevant Hyprland wiki section: https://wiki.hyprland.org/Configuring/Keywords/#executing +# +exec-once = corectrl +exec-once = otd-daemon # run driver veikk +exec-once = fcitx5 +exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-blue' diff --git a/.config/hypr/custom/fusion.conf b/.config/hypr/custom/fusion.conf new file mode 100644 index 0000000..a774acb --- /dev/null +++ b/.config/hypr/custom/fusion.conf @@ -0,0 +1,6 @@ + +source = ~/.config/hypr/custom/general.conf +source = ~/.config/hypr/custom/execs.conf +source = ~/.config/hypr/custom/keybinding.conf +source = ~/.config/hypr/custom/windowrules.conf +source = ~/.config/hypr/custom/env.conf diff --git a/.config/hypr/custom/general.conf b/.config/hypr/custom/general.conf new file mode 100644 index 0000000..c5680cf --- /dev/null +++ b/.config/hypr/custom/general.conf @@ -0,0 +1,90 @@ +# Put general config stuff here +# Here's a list of every variable: https://wiki.hyprland.org/Configuring/Variables/ + +monitor = DP-1, highres, 0x0, 1 +monitor = HDMI-A-1, highres, 1920x0, 1 + +workspace = 1, monitor:DP-1, +workspace = 3, monitor:DP-1, +workspace = 5, monitor:DP-1, +workspace = 7, monitor:DP-1, +workspace = 9, monitor:DP-1, + + +workspace = 2, monitor:HDMI-A-1, +workspace = 4, monitor:HDMI-A-1, +workspace = 6, monitor:HDMI-A-1, +workspace = 8, monitor:HDMI-A-1, +workspace = 10, monitor:HDMI-A-1, + +decoration { + blur { + enabled = false + } + drop_shadow = false +} + +input { + kb_layout = us + kb_variant = ,qwerty + # kb_options = grp:alt_shift_toggle + kb_options = grp:win_space_toggle + repeat_delay = 155 + repeat_rate = 55 +} + + + +general { + # Gaps and border + gaps_in = 8 + gaps_out = 8 + border_size = 6 + + # Fallback colors + col.active_border = rgba(0DB7D4FF) rgba(7AA2F7FF) rgba(9778D0FF) rgb(24C6DC) rgb(93EDC7) 45deg + col.inactive_border = rgba(12131CFF) + + # Functionality + # resize_on_border = true + layout = master +} + +dwindle { + preserve_split = true # you probably want this + #no_gaps_when_only = true + + smart_resizing = false +} + +misc { + background_color = rgba(12131CFF) + vfr = true +} + +plugin { + hyprbars { + # Honestly idk if it works like css, but well, why not + bar_text_font = VictorMono NF SemiBold Italic + bar_text_size = 18 + bar_height = 30 + bar_padding = 10 + bar_button_padding = 15 + bar_precedence_over_border = false + bar_part_of_window = false + + bar_color = rgba(12131CFF) + col.text = rgba(E2E1EFFF) + + # example buttons (R -> L) + # hyprbars-button = color, size, on-click + hyprbars-button = rgba(12131CFF), 25, 󰖭, hyprctl dispatch killactive + hyprbars-button = rgba(12131CFF), 25,  , hyprctl + hyprbars-button = rgba(12131CFF), 25, , hyprctl + hyprbars-button = rgba(12131CFF), 25, , hyprctl + hyprbars-button = rgba(12131CFF), 25, , hyprctl + hyprbars-button = rgba(12131CFF), 25, , hyprctl + hyprbars-button = rgba(12131CFF), 25, , hyprctl + hyprbars-button = rgba(12131CFF), 25, , hyprctl + } +} diff --git a/.config/hypr/custom/keybinding.conf b/.config/hypr/custom/keybinding.conf new file mode 100644 index 0000000..c2d0ff4 --- /dev/null +++ b/.config/hypr/custom/keybinding.conf @@ -0,0 +1,78 @@ + +# You can put your preferred keybinds here +# https://wiki.hyprland.org/Configuring/Binds/ + +unbind = Super, W +unbind = Super, T +unbind = Alt, E + +# disbale side +unbind = Super, B +unbind = Super, M +unbind = Super, N +unbind = Super, E + +# monve workspace +unbind = Super, H +unbind = Super, J +unbind = Super, K +unbind = Super, L + + +# move windown +bind = Alt, H, fullscreenstate, 0 # [hidden] +bind = Alt, H, movefocus, l # [hidden] + +bind = Alt, L, fullscreenstate, 0 # [hidden] +bind = Alt, L, movefocus, r # [hidden] + +bind = Alt, K, fullscreenstate, 0 # [hidden] +bind = Alt, K, movefocus, u # [hidden] + +bind = Alt, J, fullscreenstate, 0 # [hidden] +bind = Alt, J, movefocus, d # [hidden] + +##! Window arrangement +#/# bind = Super+Shift, ←/↑/→/↓,, # Window: move in direction +bind = Ctrl+Alt, H, fullscreenstate, 0 # [hidden] +bind = Ctrl+Alt, H, movewindow, l # [hidden] + +bind = Ctrl+Alt, L, fullscreenstate, 0 # [hidden] +bind = Ctrl+Alt, L, movewindow, r # [hidden] + +bind = Ctrl+Alt, K, movewindow, u # [hidden] +bind = Ctrl+Alt, J, movewindow, d # [hidden] +# bind = Ctrl+Alt, M, exec, pavucontrol # Launch pavucontrol (volume mixer) + +bind = Alt, Q, killactive, + +bind = Alt, F, fullscreen, 0 +bind = Alt, R, exec, killall ags ydotool; ags & # Restart widgets +bind = Alt, E, exec, nautilus --new-window # Launch Nautilus (file manager) +# bind = Alt, M, exec, ags run-js 'openMusicControls.value = (!mpris.getPlayer() ? false : !openMusicControls.value);' # Toggle music controls +# bind = Alt, N, exec, ags -t 'sideright' # Toggle right sidebar + +bind = Alt, T, exec, kitty +bind = Alt, B, exec, brave +# bind = Alt, F, exec, rofi +bind = Alt, O, exec, obsidian --no-sandbox --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations %U +bind = Alt, V, exec, vesktop --no-sandbox --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations %U + +# bind = Ctrl+Super+Shift, Right, movetoworkspace, +1 # [hidden] +# bind = Shift+Alt, L, focusmonitor, 1 +# bind = Shift+Alt, H, focusmonitor, 0 + +bind = SUPER, SUPER_L, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher +# bind = Ctrl+Alt, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer + +# bind = Shift+Alt, L, exec, source /home/duckq1u/.config/hypr/scripts/workspacePLUS.sh +# bind = Shift+Alt, H, exec, source /home/duckq1u/.config/hypr/scripts/workspaceEXCEPT.sh +bind = Shift+Alt, L, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2.sh +bind = Shift+Alt, H, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2except.sh + + +$mainMod = Super # super / meta / windows key +$scrPath = $HOME/.local/share/bin # set scripts path + +bind = $mainMod+Shift, S, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen) +bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture diff --git a/.config/hypr/custom/windowrules.conf b/.config/hypr/custom/windowrules.conf new file mode 100644 index 0000000..52a6ba4 --- /dev/null +++ b/.config/hypr/custom/windowrules.conf @@ -0,0 +1,4 @@ + +windowrulev2 = bordercolor rgb(FF0000) rgb(880808),fullscreen:1 + + diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..f7c8303 --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,140 @@ + +#   ░▒▒▒░░░░░▓▓          ___________ +# ░░▒▒▒░░░░░▓▓        //___________/ +# ░░▒▒▒░░░░░▓▓     _   _ _    _ _____ +# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/ +# ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___ +#  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/ +#    ░▒▓▓   ▓▓  //____/ + + +$scrPath = $HOME/.local/share/bin # set scripts path + + +# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ +# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ + +# See https://wiki.hyprland.org/Configuring/Monitors/ + +monitor = ,preferred,auto,auto + + +# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█ +# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█ + +# See https://wiki.hyprland.org/Configuring/Keywords/ + +exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH +exec-once = dbus-update-activation-environment --systemd --all # for XDPH +exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH +exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps +exec-once = waybar # launch the system bar +exec-once = blueman-applet # systray app for Bluetooth +exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media +exec-once = nm-applet --indicator # systray app for Network/Wifi +exec-once = dunst # start notification demon +exec-once = wl-paste --type text --watch cliphist store # clipboard store text data +exec-once = wl-paste --type image --watch cliphist store # clipboard store image data +exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon +exec-once = $scrPath/batterynotify.sh # battery nnotification + + +# █▀▀ █▄░█ █░█ +# ██▄ █░▀█ ▀▄▀ + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + +env = PATH,$PATH:$scrPath +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland +env = QT_QPA_PLATFORM,wayland;xcb +env = QT_QPA_PLATFORMTHEME,qt6ct +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = MOZ_ENABLE_WAYLAND,1 +env = GDK_SCALE,1 + + +# █ █▄░█ █▀█ █░█ ▀█▀ +# █ █░▀█ █▀▀ █▄█ ░█░ + +# See https://wiki.hyprland.org/Configuring/Variables/ + +input { + kb_layout = us + follow_mouse = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 + force_no_accel = 1 + numlock_by_default = true +} + +# See https://wiki.hyprland.org/Configuring/Keywords/#executing + +device { + name = epic mouse V1 + sensitivity = -0.5 +} + +# See https://wiki.hyprland.org/Configuring/Variables/ + +gestures { + workspace_swipe = true + workspace_swipe_fingers = 3 +} + + +# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀ +# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█ + +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ + +dwindle { + pseudotile = yes + preserve_split = yes +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ + +master { + new_status = master +} + + +# █▀▄▀█ █ █▀ █▀▀ +# █░▀░█ █ ▄█ █▄▄ + +# See https://wiki.hyprland.org/Configuring/Variables/ + +misc { + vrr = 0 + disable_hyprland_logo = true + disable_splash_rendering = true + force_default_wallpaper = 0 +} + +xwayland { + force_zero_scaling = true +} + + +# █▀ █▀█ █░█ █▀█ █▀▀ █▀▀ +# ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄ + +source = ~/.config/hypr/animations.conf +source = ~/.config/hypr/keybindings.conf +source = ~/.config/hypr/windowrules.conf +source = ~/.config/hypr/themes/common.conf # shared theme settings +source = ~/.config/hypr/themes/theme.conf # theme specific settings +source = ~/.config/hypr/themes/colors.conf # wallbash color override +source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static +source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static +source = ~/.config/hypr/custom/fusion.conf + +# Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults diff --git a/.config/hypr/keybindings.conf b/.config/hypr/keybindings.conf new file mode 100644 index 0000000..0c31b6b --- /dev/null +++ b/.config/hypr/keybindings.conf @@ -0,0 +1,168 @@ + +# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀ +# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█ + +# See https://wiki.hyprland.org/Configuring/Keywords/ +# & https://wiki.hyprland.org/Configuring/Binds/ + +# Main modifier +$mainMod = Super # super / meta / windows key + +# Assign apps +$term = kitty +$editor = code +$file = nautilus +$browser = brave + +# Window/Session actions +bindd = $mainMod+Shift, P,Color Picker , exec, hyprpicker -a # Pick color (Hex) >> clipboard# +bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window +bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window +bind = $mainMod, Delete, exit, # kill hyprland session +bind = $mainMod, W, togglefloating, # toggle the window between focus and float +bind = $mainMod, G, togglegroup, # toggle the window between focus and group +bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen +bind = $mainMod, L, exec, swaylock # launch lock screen +bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window +bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu +bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar + +# Application shortcuts +bind = $mainMod, T, exec, $term # launch terminal emulator +bind = $mainMod, E, exec, $file # launch file manager +bind = $mainMod, C, exec, $editor # launch text editor +bind = $mainMod, F, exec, $browser # launch web browser +bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top) + +# Rofi menus +bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher +bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher +bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer + +# Audio control +bindl = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute +bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume +bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume +bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute +bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute +bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume +bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume + +# Media control +bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause +bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause +bindl = , XF86AudioNext, exec, playerctl next # media next +bindl = , XF86AudioPrev, exec, playerctl previous # media previous + +# Brightness control +bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness +bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness + +# Move between grouped windows +bind = $mainMod CTRL , H, changegroupactive, b +bind = $mainMod CTRL , L, changegroupactive, f + +# Screenshot/Screencapture +bind = $mainMod, P, exec, $scrPath/screenshot.sh s # partial screenshot capture +bind = $mainMod+Ctrl, P, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen) +bind = $mainMod+Alt, P, exec, $scrPath/screenshot.sh m # monitor screenshot capture +bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture + +# Custom scripts +bind = $mainMod+Alt, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode +bind = $mainMod+Alt, Right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper +bind = $mainMod+Alt, Left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper +bind = $mainMod+Alt, Up, exec, $scrPath/wbarconfgen.sh n # next waybar mode +bind = $mainMod+Alt, Down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode +bind = $mainMod+Shift, R, exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu +bind = $mainMod+Shift, T, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu +bind = $mainMod+Shift, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu +bind = $mainMod+Shift, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # launch wallpaper select menu +bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard +bind = $mainMod+Shift, V, exec, pkill -x rofi || $scrPath/cliphist.sh # launch clipboard Manager +bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # switch keyboard layout +bind = $mainMod, slash, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint + +# Move/Change window focus +bind = $mainMod, Left, movefocus, l +bind = $mainMod, Right, movefocus, r +bind = $mainMod, Up, movefocus, u +bind = $mainMod, Down, movefocus, d +bind = Alt, Tab, movefocus, d + +# Switch workspaces +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 + +# Switch workspaces to a relative workspace +bind = $mainMod+Ctrl, Right, workspace, r+1 +bind = $mainMod+Ctrl, Left, workspace, r-1 + +# Move to the first empty workspace +bind = $mainMod+Ctrl, Down, workspace, empty + +# Resize windows +binde = $mainMod+Shift, Right, resizeactive, 30 0 +binde = $mainMod+Shift, Left, resizeactive, -30 0 +binde = $mainMod+Shift, Up, resizeactive, 0 -30 +binde = $mainMod+Shift, Down, resizeactive, 0 30 + +# Move focused window to a workspace +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 + +# Move focused window to a relative workspace +bind = $mainMod+Ctrl+Alt, Right, movetoworkspace, r+1 +bind = $mainMod+Ctrl+Alt, Left, movetoworkspace, r-1 + +# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓] +$moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive +binded = $mainMod SHIFT $CONTROL, left,Move activewindow to the right,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l +binded = $mainMod SHIFT $CONTROL, right,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r +binded = $mainMod SHIFT $CONTROL, up,Move activewindow to the right,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u +binded = $mainMod SHIFT $CONTROL, down,Move activewindow to the right,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d + +# Scroll through existing workspaces +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/Resize focused window +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow +bindm = $mainMod, Z, movewindow +bindm = $mainMod, X, resizewindow + +# Move/Switch to special workspace (scratchpad) +bind = $mainMod+Alt, S, movetoworkspacesilent, special +bind = $mainMod, S, togglespecialworkspace, + +# Toggle focused window split +bind = $mainMod, J, togglesplit + +# Move focused window to a workspace silently +bind = $mainMod+Alt, 1, movetoworkspacesilent, 1 +bind = $mainMod+Alt, 2, movetoworkspacesilent, 2 +bind = $mainMod+Alt, 3, movetoworkspacesilent, 3 +bind = $mainMod+Alt, 4, movetoworkspacesilent, 4 +bind = $mainMod+Alt, 5, movetoworkspacesilent, 5 +bind = $mainMod+Alt, 6, movetoworkspacesilent, 6 +bind = $mainMod+Alt, 7, movetoworkspacesilent, 7 +bind = $mainMod+Alt, 8, movetoworkspacesilent, 8 +bind = $mainMod+Alt, 9, movetoworkspacesilent, 9 +bind = $mainMod+Alt, 0, movetoworkspacesilent, 10 diff --git a/.config/hypr/monitors.conf b/.config/hypr/monitors.conf new file mode 100644 index 0000000..ebcdd1f --- /dev/null +++ b/.config/hypr/monitors.conf @@ -0,0 +1,4 @@ +# Generated by nwg-displays on 2024-10-20 at 23:56:52. Do not edit manually. + +monitor=DP-1,1920x1080@165.0,0x0,1.0 +monitor=HDMI-A-1,1920x1080@100.0,1920x0,1.0 diff --git a/.config/hypr/scripts/workspaceEXCEPT.sh b/.config/hypr/scripts/workspaceEXCEPT.sh new file mode 100644 index 0000000..0505ab7 --- /dev/null +++ b/.config/hypr/scripts/workspaceEXCEPT.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +current_monitor=$(hyprctl activewindow | grep 'monitor' | awk '{print $2}') +export PRIMARY_MONITOR_WORKSPACE=$((PRIMARY_MONITOR_WORKSPACE-2)) +export SECONDARY_MONITOR_WORKSPACE=$((SECONDARY_MONITOR_WORKSPACE-2)) + +if [ "$PRIMARY_MONITOR_WORKSPACE" -lt 1 ]; then + export PRIMARY_MONITOR_WORKSPACE=1 + exit 1 +elif [ "$SECONDARY_MONITOR_WORKSPACE" -gt 10 ]; then + export SECONDARY_MONITOR_WORKSPACE=10 + exit 1 +fi + + +hyprctl dispatch focusmonitor 0 +# hyprctl dispatch fullscreenstate 0 +hyprctl dispatch workspace $PRIMARY_MONITOR_WORKSPACE + +hyprctl dispatch focusmonitor 1 +# hyprctl dispatch fullscreenstate 0 +hyprctl dispatch workspace $SECONDARY_MONITOR_WORKSPACE +# hyprctl dispatch workspace 4 + +hyprctl dispatch focusmonitor $current_monitor diff --git a/.config/hypr/scripts/workspacePLUS.sh b/.config/hypr/scripts/workspacePLUS.sh new file mode 100755 index 0000000..bec83d9 --- /dev/null +++ b/.config/hypr/scripts/workspacePLUS.sh @@ -0,0 +1,20 @@ +#!/bin/bash +current_monitor=$(hyprctl activewindow | grep 'monitor' | awk '{print $2}') +export PRIMARY_MONITOR_WORKSPACE=$((PRIMARY_MONITOR_WORKSPACE+2)) +export SECONDARY_MONITOR_WORKSPACE=$((SECONDARY_MONITOR_WORKSPACE+2)) + +if [ "$PRIMARY_MONITOR_WORKSPACE" -lt 1 ]; then + export PRIMARY_MONITOR_WORKSPACE=1 + exit 1 +elif [ "$SECONDARY_MONITOR_WORKSPACE" -gt 10 ]; then + export SECONDARY_MONITOR_WORKSPACE=10 + exit 1 +fi + +hyprctl dispatch focusmonitor 0 +hyprctl dispatch workspace $PRIMARY_MONITOR_WORKSPACE + +hyprctl dispatch focusmonitor 1 +hyprctl dispatch workspace $SECONDARY_MONITOR_WORKSPACE + +hyprctl dispatch focusmonitor $current_monitor diff --git a/.config/hypr/scripts/workspaceV2.sh b/.config/hypr/scripts/workspaceV2.sh new file mode 100644 index 0000000..1307a2e --- /dev/null +++ b/.config/hypr/scripts/workspaceV2.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Extract workspace ID from the output of hyprctl activewindow +current_monitor=$(hyprctl activeworkspace | grep 'monitorID' | awk '{print $2}') +current_workspace=$(hyprctl activeworkspace | grep 'workspace' | awk '{print $3}') + +# Determine the second workspace based on whether the current workspace is even or odd +if [ $((current_workspace % 2)) -eq 0 ]; then + second_workspace=$((current_workspace - 1)) +else + second_workspace=$((current_workspace + 1)) +fi + +# Assign primary and secondary monitor workspaces based on the current workspace +if [ $((current_workspace % 2)) -eq 0 ]; then + primary_monitor_workspace=$((second_workspace + 2)) # left + secondary_monitor_workspace=$((current_workspace + 2)) # right +else + primary_monitor_workspace=$((current_workspace + 2)) + secondary_monitor_workspace=$((second_workspace + 2)) +fi + +# Check if primary_monitor_workspace is less than or equal to 0 +# or if secondary_monitor_workspace is greater than or equal to 11 +if [ "$primary_monitor_workspace" -le 0 ] || [ "$secondary_monitor_workspace" -ge 7 ]; then + exit 1 +fi + + +# Switch focus and workspace for both monitors +hyprctl dispatch focusmonitor 0 +hyprctl dispatch workspace $primary_monitor_workspace + +hyprctl dispatch focusmonitor 1 +hyprctl dispatch workspace $secondary_monitor_workspace + +# Optionally focus back to the original monitor if desired (adjust this part if needed) +hyprctl dispatch focusmonitor $current_monitor diff --git a/.config/hypr/scripts/workspaceV2except.sh b/.config/hypr/scripts/workspaceV2except.sh new file mode 100644 index 0000000..a941de4 --- /dev/null +++ b/.config/hypr/scripts/workspaceV2except.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Extract workspace ID from the output of hyprctl activewindow +current_monitor=$(hyprctl activeworkspace | grep 'monitorID' | awk '{print $2}') +current_workspace=$(hyprctl activeworkspace | grep 'workspace' | awk '{print $3}') + +# Determine the second workspace based on whether the current workspace is even or odd +if [ $((current_workspace % 2)) -eq 0 ]; then + second_workspace=$((current_workspace - 1)) +else + second_workspace=$((current_workspace + 1)) +fi + +# Assign primary and secondary monitor workspaces based on the current workspace +if [ $((current_workspace % 2)) -eq 0 ]; then + primary_monitor_workspace=$((second_workspace - 2)) # left + secondary_monitor_workspace=$((current_workspace - 2)) # right +else + primary_monitor_workspace=$((current_workspace - 2)) + secondary_monitor_workspace=$((second_workspace - 2)) +fi + +# Check if primary_monitor_workspace is less than or equal to 0 +# or if secondary_monitor_workspace is greater than or equal to 11 +if [ "$primary_monitor_workspace" -le 0 ] || [ "$secondary_monitor_workspace" -ge 7 ]; then + exit 1 +fi + + +# Switch focus and workspace for both monitors +hyprctl dispatch focusmonitor 0 +hyprctl dispatch workspace $primary_monitor_workspace + +hyprctl dispatch focusmonitor 1 +hyprctl dispatch workspace $secondary_monitor_workspace + +# Optionally focus back to the original monitor if desired (adjust this part if needed) +hyprctl dispatch focusmonitor $current_monitor diff --git a/.config/hypr/themes/colors.conf b/.config/hypr/themes/colors.conf new file mode 100644 index 0000000..e69de29 diff --git a/.config/hypr/themes/common.conf b/.config/hypr/themes/common.conf new file mode 100644 index 0000000..45759cc --- /dev/null +++ b/.config/hypr/themes/common.conf @@ -0,0 +1,28 @@ + +# █▀▀ █░█ █▀█ █▀ █▀█ █▀█ +# █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄ + +exec = hyprctl setcursor Bibata-Modern-Ice 20 +exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice' +exec = gsettings set org.gnome.desktop.interface cursor-size 20 + + +# █▀▀ █▀█ █▄░█ ▀█▀ +# █▀░ █▄█ █░▀█ ░█░ + +exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10' +exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10' +exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9' +exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba' +exec = gsettings set org.gnome.desktop.interface font-hinting 'full' + + +# █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░ +# ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄ + +decoration { + dim_special = 0.3 + blur { + special = true + } +} diff --git a/.config/hypr/themes/theme.conf b/.config/hypr/themes/theme.conf new file mode 100644 index 0000000..d8fe3cf --- /dev/null +++ b/.config/hypr/themes/theme.conf @@ -0,0 +1,47 @@ +# ___________ _________ __ +# \__ ___/ \_ ___ \_______ ___.__._______/ |_ +# | | ______ / \ \/\_ __ < | |\____ \ __\ +# | | /_____/ \ \____| | \/\___ || |_> > | +# |____| \______ /|__| / ____|| __/|__| +# \/ \/ |__| + +exec = gsettings set org.gnome.desktop.interface icon-theme 'Gruvbox-Plus-Dark' +# exec = gsettings set org.gnome.desktop.interface gtk-theme 'Gruvbox-Retro' +# exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' + +# exec = gsettings set org.gnome.desktop.interface cursor-theme 'Gruvbox-Retro' +# exec = gsettings set org.gnome.desktop.interface cursor-size 20 +exec = hyprctl setcursor Gruvbox-Retro 20 + +general { + gaps_in = 3 + gaps_out = 8 + border_size = 2 + col.active_border = rgba(90ceaaff) rgba(ecd3a0ff) 45deg + col.inactive_border = rgba(1e8b50d9) rgba(50b050d9) 45deg + layout = dwindle + resize_on_border = true +} + +group { + col.border_active = rgba(90ceaaff) rgba(ecd3a0ff) 45deg + col.border_inactive = rgba(1e8b50d9) rgba(50b050d9) 45deg + col.border_locked_active = rgba(90ceaaff) rgba(ecd3a0ff) 45deg + col.border_locked_inactive = rgba(1e8b50d9) rgba(50b050d9) 45deg +} + +decoration { + rounding = 3 + drop_shadow = false + + blur { + enabled = yes + size = 4 + passes = 2 + new_optimizations = on + ignore_opacity = on + xray = false + } +} + +layerrule = blur,waybar diff --git a/.config/hypr/userprefs.conf b/.config/hypr/userprefs.conf new file mode 100644 index 0000000..7ee4618 --- /dev/null +++ b/.config/hypr/userprefs.conf @@ -0,0 +1,6 @@ + +# █░█ █▀ █▀▀ █▀█   █▀█ █▀█ █▀▀ █▀▀ █▀ +# █▄█ ▄█ ██▄ █▀▄   █▀▀ █▀▄ ██▄ █▀░ ▄█ + +# Set your personal hyprland configuration here +# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/userprefs.t2 diff --git a/.config/hypr/windowrules.conf b/.config/hypr/windowrules.conf new file mode 100644 index 0000000..71af27c --- /dev/null +++ b/.config/hypr/windowrules.conf @@ -0,0 +1,99 @@ + +# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀ +# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█ + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ + +# windowrulev2 = opacity 0.90 0.90,class:^(firefox)$ +# windowrulev2 = opacity 0.90 0.90,class:^(Brave-browser)$ +# windowrulev2 = opacity 0.80 0.80,class:^(code-oss)$ +# windowrulev2 = opacity 0.80 0.80,class:^(Code)$ +# windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$ +# windowrulev2 = opacity 0.80 0.80,class:^(code-insiders-url-handler)$ +# windowrulev2 = opacity 0.80 0.80,class:^(kitty)$ +# windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$ +# windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$ +# windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$ +# windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$ +# windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$ +# windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$ +# windowrulev2 = opacity 0.80 0.70,class:^(org.pulseaudio.pavucontrol)$ +# windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$ +# windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$ +# windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$ +# windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$ +# windowrulev2 = opacity 0.80 0.70,class:^(polkit-gnome-authentication-agent-1)$ +# windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$ +# windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$ +# windowrulev2 = opacity 0.70 0.70,class:^([Ss]team)$ +# windowrulev2 = opacity 0.70 0.70,class:^(steamwebhelper)$ +# windowrulev2 = opacity 0.70 0.70,class:^([Ss]potify)$ +# windowrulev2 = opacity 0.70 0.70,initialTitle:^(Spotify Free)$ +# windowrulev2 = opacity 0.70 0.70,initialTitle:^(Spotify Premium)$ + +# windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt +# windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(vesktop)$ # Vesktop +# windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron +# windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron +# windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron +# windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt +# windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk +# windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk + +windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$ +windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$ +windowrulev2 = float,title:^(About Mozilla Firefox)$ +windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ +windowrulev2 = float,class:^(firefox)$,title:^(Library)$ +windowrulev2 = float,class:^(kitty)$,title:^(top)$ +windowrulev2 = float,class:^(kitty)$,title:^(btop)$ +windowrulev2 = float,class:^(kitty)$,title:^(htop)$ +windowrulev2 = float,class:^(vlc)$ +windowrulev2 = float,class:^(kvantummanager)$ +windowrulev2 = float,class:^(qt5ct)$ +windowrulev2 = float,class:^(qt6ct)$ +windowrulev2 = float,class:^(nwg-look)$ +windowrulev2 = float,class:^(org.kde.ark)$ +windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$ +windowrulev2 = float,class:^(blueman-manager)$ +windowrulev2 = float,class:^(nm-applet)$ +windowrulev2 = float,class:^(nm-connection-editor)$ +windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ + +windowrulev2 = float,class:^(Signal)$ # Signal-Gtk +windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk +windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk +windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt +windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk +windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk +windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk +windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk +windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk +windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk +windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk + +windowrule = pseudo,fcitx + +# █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀ +# █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█ + +layerrule = blur,rofi +layerrule = ignorezero,rofi +layerrule = blur,notifications +layerrule = ignorezero,notifications +layerrule = blur,swaync-notification-window +layerrule = ignorezero,swaync-notification-window +layerrule = blur,swaync-control-center +layerrule = ignorezero,swaync-control-center +layerrule = blur,logout_dialog diff --git a/.config/hypr/workspaces.conf b/.config/hypr/workspaces.conf new file mode 100644 index 0000000..d84db71 --- /dev/null +++ b/.config/hypr/workspaces.conf @@ -0,0 +1,12 @@ +# Generated by nwg-displays on 2024-10-20 at 23:53:28. Do not edit manually. + +workspace=1,monitor:DP-1,default:true +workspace=2,monitor:DP-1 +workspace=3,monitor:DP-1 +workspace=4,monitor:DP-1 +workspace=5,monitor:DP-1 +workspace=6,monitor:HDMI-A-1,default:true +workspace=7,monitor:HDMI-A-1 +workspace=8,monitor:HDMI-A-1 +workspace=9,monitor:HDMI-A-1 +workspace=10,monitor:HDMI-A-1 diff --git a/.config/waybar/Goal /config.jsonc b/.config/waybar/Goal /config.jsonc deleted file mode 100644 index 93b2a77..0000000 --- a/.config/waybar/Goal /config.jsonc +++ /dev/null @@ -1,217 +0,0 @@ -// -*- mode: jsonc -*- -[{ - "output": ["DP-1", "eDP-2"], - // "layer": "top", // Waybar at top layer - // "position": "bottom", // Waybar position (top|bottom|left|right) - "height": 24, // Waybar height (to be removed for auto height) - // "width": 1280, // Waybar width - "spacing": 8, // Gaps between modules (4px) - // Choose the order of the modules - "modules-left": [ - "sway/workspaces", - "cava", - "sway/mode", - "sway/scratchpad" - ], - "modules-center": [ - "sway/window" - ], - "modules-right": [ - "mpris", - "idle_inhibitor", - "load", - "wireplumber", - "backlight", - "clock", - "battery", - "tray" - ], - // Modules configuration - "sway/workspaces": { - "all-outputs": true, - "warp-on-scroll": false, - "enable-bar-scroll": true, - "disable-scroll-wraparound": true, - "format": "{icon}", - "format-icons": { - "1": "", - "2": "", - "3": "", - "4": "", - "5": "", - "9": "", - "10": "" - } - }, - "sway/window": { - "format": "{title}", - "max-length": 60, - "all-outputs": true - }, - "cava": { - // "cava_config": "$XDG_CONFIG_HOME/cava/cava.conf", - "framerate": 30, - "autosens": 1, - "bars": 14, - "lower_cutoff_freq": 50, - "higher_cutoff_freq": 10000, - "method": "pipewire", - "source": "auto", - "stereo": true, - "bar_delimiter": 0, - "noise_reduction": 0.77, - "input_delay": 2, - "hide_on_silence": true, - "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" ], - "actions": { - "on-click-right": "mode" - } - }, - "mpris": { - "format": " {status_icon} {dynamic}", - "interval": 1, - "dynamic-len": 40, - "status-icons": { - "playing": "▶", - "paused": "⏸", - "stopped": "" - }, - "dynamic-order": ["title", "artist"], - "ignored-players": ["firefox"] - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - } - }, - "sway/mode": { - "format": "{}" - }, - "sway/scratchpad": { - "format": "{icon} {count}", - "show-empty": false, - "format-icons": ["", ""], - "tooltip": true, - "tooltip-format": "{app}: {title}" - }, - "tray": { - "icon-size": 14, - "spacing": 10 - }, - "load": { - "format": " {}" - }, - "clock": { - // "timezone": "America/New_York", - "tooltip-format": "{:%Y %B}\n{calendar}", - "format-alt": "{:%Y-%m-%d}" - }, - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{}% " - }, - "temperature": { - // "thermal-zone": 2, - // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - // "format-critical": "{temperatureC}°C {icon}", - "format": "{temperatureC}°C {icon}", - "format-icons": ["", "", ""] - }, - "backlight": { - // "device": "acpi_video1", - "format": "{icon} {percent}%", - "format-icons": ["", "", "", "", "", "", "", "", ""] - }, - "battery": { - "states": { - // "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{icon} {capacity}%", - "format-full": "{icon} {capacity}%", - "format-charging": " {capacity}%", - "format-plugged": " {capacity}%", - "format-alt": "{icon} {time}", - // "format-good": "", // An empty format will hide the module - // "format-full": "", - "format-icons": ["", "", "", "", ""] - }, - "wireplumber": { - "scroll-step": 5, // %, can be a float - "format": "{icon} {volume}%", - "format-bluetooth": "{icon} {volume}% ", - "format-bluetooth-muted": " {icon}", - "format-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - } -},{ - "output": ["HDMI-A-1"], - // "layer": "top", // Waybar at top layer - // "position": "bottom", // Waybar position (top|bottom|left|right) - "height": 24, // Waybar height (to be removed for auto height) - // "width": 1280, // Waybar width - "spacing": 4, // Gaps between modules (4px) - // Choose the order of the modules - "modules-left": [ - "sway/workspaces", - "sway/mode", - "sway/scratchpad" - ], - "modules-center": [ - "clock" - ], - "modules-right": [ - "sway/window" - ], - "sway/workspaces": { - "all-outputs": true, - "warp-on-scroll": true, - "enable-bar-scroll": true, - "format": "{icon}", - "format-icons": { - "1": "", - "2": "", - "3": "", - "4": "", - "5": "", - "9": "", - "10": "" - } - }, - "sway/window": { - "format": "{title}", - "max-length": 60, - "all-outputs": true - }, - "sway/mode": { - "format": "{}" - }, - "sway/scratchpad": { - "format": "{icon} {count}", - "show-empty": false, - "format-icons": ["", ""], - "tooltip": true, - "tooltip-format": "{app}: {title}" - }, - "clock": { - // "timezone": "America/New_York", - "tooltip-format": "{:%Y %B}\n{calendar}", - "format-alt": "{:%Y-%m-%d}" - } -}] diff --git a/.config/waybar/Goal /style.css b/.config/waybar/Goal /style.css deleted file mode 100644 index b4eec29..0000000 --- a/.config/waybar/Goal /style.css +++ /dev/null @@ -1,175 +0,0 @@ -* { - font-size: 20px; - border-radius: 5px; -} - -window#waybar { - /* `otf-font-awesome` is required to be installed for icons */ - font-family: JetBrainsMonoNL NF SemiBold; - background-color: transparent; - border-bottom: 0px; - color: #ebdbb2; - transition-property: background-color; - transition-duration: .5s; -} - -window#waybar.hidden { - opacity: 0.2; -} - -window#waybar.empty #window { - background-color: transparent; -} - -/* -window#waybar.empty { - background-color: transparent; -} -window#waybar.solo { - background-color: #FFFFFF; -} -*/ - -.modules-right { - margin: 10px 10px 0 0; -} -.modules-center { - margin: 10px 0 0 0; -} -.modules-left { - margin: 10px 0 0 10px; -} - -button { - /* Use box-shadow instead of border so the text isn't offset */ - /* box-shadow: inset 0 -3px transparent; */ - border: none; -} - -/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ -/* -button:hover { - background: inherit; - box-shadow: inset 0 -3px #ebdbb2; -} */ - -#workspaces { - background-color: #282828; -} - -#workspaces button { - padding: 0 5px; - background-color: transparent; - color: #ebdbb2; - border-radius: 0; -} - -#workspaces button:first-child { - border-radius: 5px 0 0 5px; -} - -#workspaces button:last-child { - border-radius: 0 5px 5px 0; -} - -#workspaces button:hover { - color: #d79921; -} - -#workspaces button.focused { - background-color: #665c54; - /* box-shadow: inset 0 -3px #ffffff; */ -} - -#workspaces button.urgent { - background-color: #b16286; -} - -#idle_inhibitor, -#cava, -#scratchpad, -#mode, -#window, -#clock, -#battery, -#backlight, -#wireplumber, -#tray, -#mpris, -#load { - padding: 0 10px; - background-color: #282828; - color: #ebdbb2; -} - -#mode { - background-color: #689d6a; - color: #282828; - /* box-shadow: inset 0 -3px #ffffff; */ -} - -/* If workspaces is the leftmost module, omit left margin */ -.modules-left > widget:first-child > #workspaces { - margin-left: 0; -} - -/* If workspaces is the rightmost module, omit right margin */ -.modules-right > widget:last-child > #workspaces { - margin-right: 0; -} - -#cava { - padding: 0 5px; -} - -#battery.charging, #battery.plugged { - background-color: #98971a; - color: #282828; -} - -@keyframes blink { - to { - background-color: #282828; - color: #ebdbb2; - } -} - -/* Using steps() instead of linear as a timing function to limit cpu usage */ -#battery.critical:not(.charging) { - background-color: #cc241d; - color: #ebdbb2; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: steps(12); - animation-iteration-count: infinite; - animation-direction: alternate; -} - -label:focus { - background-color: #000000; -} - -#wireplumber.muted { - background-color: #458588; -} - -#tray > .passive { - -gtk-icon-effect: dim; -} - -#tray > .needs-attention { - -gtk-icon-effect: highlight; -} - -#mpris.playing { - background-color: #d79921; - color: #282828; -} - -#tray menu { - font-family: sans-serif; -} - -#scratchpad.empty { - background: transparent; -} diff --git a/.config/waybar/Goal/config.ctl b/.config/waybar/Goal/config.ctl new file mode 100644 index 0000000..d59e0f3 --- /dev/null +++ b/.config/waybar/Goal/config.ctl @@ -0,0 +1,25 @@ +0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|top|( cpu memory custom/cpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0||bottom|( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0||top|( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|31|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/notifications custom/keybindhint ) +0|31|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint ) +1|31|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint ) +0|31|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint ) +0|32|bottom||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|left||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|top||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|right||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|31|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|31|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|bottom|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|left|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|top|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|right|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|40|top|( hyprland/workspaces )|( custom/cava idle_inhibitor clock )|( backlight pulseaudio pulseaudio#microphone tray battery custom/keybindhint custom/cliphist custom/power ) diff --git a/.config/waybar/Goal/config.jsonc b/.config/waybar/Goal/config.jsonc new file mode 100644 index 0000000..f030e91 --- /dev/null +++ b/.config/waybar/Goal/config.jsonc @@ -0,0 +1,346 @@ +// --// waybar config generated by wbarconfgen.sh //-- // +{ + // sourced from header module // + "layer": "top", + "position": "bottom", + "mod": "dock", + "height": 20, + "exclusive": true, + "passthrough": false, + "gtk-layer-shell": true, + "reload_style_on_change": true, + // positions generated based on config.ctl // + "modules-left": [ + "custom/padd", + + "custom/l_end", + "memory", + "cpu", + "network", + "custom/r_end", + + "custom/l_end", + "canva", + "custom/r_end", + "custom/padd", + ], + "modules-center": [ + "custom/padd", + "custom/l_end", + "hyprland/workspaces", + "custom/r_end", + "custom/padd", + ], + "modules-right": [ + "custom/padd", + + "custom/l_end", + "custom/r_end", + + "custom/l_end", + "custom/r_end", + "custom/padd", + ], + // sourced from modules based on config.ctl // + + "hyprland/workspaces": { + "disable-scroll": true, + "rotate": 0, + "all-outputs": true, + "active-only": false, + "on-click": "activate", + "disable-scroll": false, + "on-scroll-up": "hyprctl dispatch workspace -1", + "on-scroll-down": "hyprctl dispatch workspace +1", + "persistent-workspaces": { + } + }, + + "custom/cava": { + "format": "{}", + "exec": "waybar_cava.sh", + "restart-interval": 1, + "hide-empty": true, + }, + "mpris": { + "format": "{player_icon} {dynamic}", + "rotate": 0, + "format-paused": "{status_icon} {dynamic}", + "player-icons": { + "default": "▶", + "mpv": "🎵", + }, + "status-icons": { + "paused": "", + }, + // "ignored-players": ["firefox"] + "max-length": 1000, + "interval": 1, + }, + "cpu": { + "interval": 10, + "format": " 󰍛 {usage}%", + "rotate": 0, + "format-alt": "{icon0}{icon1}{icon2}{icon3}", + "format-icons": [ + "▁", + "▂", + "▃", + "▄", + "▅", + "▆", + "▇", + "█" + ], + }, + "memory": { + "states": { + "c": 90, // critical + "h": 60, // high + "m": 30, // medium + }, + "interval": 30, + "format": "󰾆 {used}gb", + "rotate": 0, + "format-m": "󰾅 {used}gb", + "format-h": "󰓅 {used}gb", + "format-c": " {used}gb", + "format-alt": "󰾆 {percentage}%", + "max-length": 10, + "tooltip": true, + "tooltip-format": "󰾆 {percentage}%\n {used:0.1f}gb/{total:0.1f}gb", + }, + "custom/power": { + "format": " {}", + "rotate": 0, + "exec": "echo ; echo  logout", + "on-click": "logoutlaunch.sh 2", + "on-click-right": "logoutlaunch.sh 1", + "interval": 86400, // once every day + "tooltip": true, + }, + "custom/cliphist": { + "format": " {}", + "rotate": 0, + "exec": "echo ; echo 󰅇 clipboard history", + "on-click": "sleep 0.1 && cliphist.sh c", + "on-click-right": "sleep 0.1 && cliphist.sh d", + "on-click-middle": "sleep 0.1 && cliphist.sh w", + "interval": 86400, // once every day + "tooltip": true, + }, + "wlr/taskbar": { + "format": "{icon}", + "rotate": 0, + "icon-size": 25, + "icon-theme": "Gruvbox-Plus-Dark", + "spacing": 0, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": [ + "Alacritty" + ], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition", + "jetbrains-datagrip": "DataGrip", + }, + }, + "custom/spotify": { + "exec": "mediaplayer.py --player spotify", + "format": " {}", + "rotate": 0, + "return-type": "json", + "on-click": "playerctl play-pause --player spotify", + "on-click-right": "playerctl next --player spotify", + "on-click-middle": "playerctl previous --player spotify", + "on-scroll-up": "volumecontrol.sh -p spotify i", + "on-scroll-down": "volumecontrol.sh -p spotify d", + "max-length": 25, + "escape": true, + "tooltip": true, + }, + "idle_inhibitor": { + "format": "{icon}", + "rotate": 0, + "format-icons": { + "activated": "󰥔 ", + "deactivated": " ", + }, + }, + "clock": { + "format": "{:%I:%M %p}", + "rotate": 0, + "format-alt": "{:%R 󰃭 %d·%m·%y}", + "tooltip-format": "{calendar}", + "calendar": { + "mode": "month", + "mode-mon-col": 3, + "on-scroll": 1, + "on-click-right": "mode", + "format": { + "months": "{}", + "weekdays": "{}", + "today": "{}", + }, + }, + "actions": { + "on-click-right": "mode", + "on-click-forward": "tz_up", + "on-click-backward": "tz_down", + "on-scroll-up": "shift_up", + "on-scroll-down": "shift_down", + }, + }, + "privacy": { + "icon-size": 14, + "icon-spacing": 5, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 24, + }, + { + "type": "audio-in", + "tooltip": true, + "tooltip-icon-size": 24, + }, + ], + }, + "tray": { + "icon-size": 25, + "rotate": 0, + "spacing": 5, + }, + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 20, + }, + "format": "{icon} {capacity}%", + "rotate": 0, + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{time} {icon}", + "format-icons": [ + "󰂎", + "󰁺", + "󰁻", + "󰁼", + "󰁽", + "󰁾", + "󰁿", + "󰂀", + "󰂁", + "󰂂", + "󰁹" + ], + }, + "backlight": { + "device": "intel_backlight", + "rotate": 0, + "format": "{icon} {percent}%", + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "on-scroll-up": "brightnessctl set 1%+", + "on-scroll-down": "brightnessctl set 1%-", + "min-length": 6, + }, + "network": { + "tooltip": true, + "format-wifi": " ", + "rotate": 0, + "format-ethernet": "  {bandwidthDownBytes}  {bandwidthUpBytes}", + "tooltip-format": "Network: {essid}\nSignal strength: {signaldBm}dBm ({signalStrength}%)\nFrequency: {frequency}MHz\nInterface: {ifname}\nIP: {ipaddr}/{cidr}\nGateway: {gwaddr}\nNetmask: {netmask}", + "format-linked": "󰈀 {ifname} (No IP)", + "format-disconnected": "󰖪 ", + "tooltip-format-disconnected": "Disconnected", + // "format-alt": " {bandwidthDownBytes}  {bandwidthUpBytes}", + "interval": 2, + }, + "pulseaudio": { + "format": "{icon} {volume}", + "rotate": 0, + "format-muted": "婢", + "on-click": "pavucontrol -t 3", + "on-click-right": "volumecontrol.sh -s ''", + "on-click-middle": "volumecontrol.sh -o m", + "on-scroll-up": "volumecontrol.sh -o i", + "on-scroll-down": "volumecontrol.sh -o d", + "tooltip-format": "{icon} {desc} // {volume}%", + "scroll-step": 5, + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": [ + " ", + " ", + " " + ], + }, + }, + "pulseaudio#microphone": { + "format": "{format_source}", + "rotate": 0, + "format-source": "", + "format-source-muted": "", + "on-click": "pavucontrol -t 4", + "on-click-middle": "volumecontrol.sh -i m", + "on-scroll-up": "volumecontrol.sh -i i", + "on-scroll-down": "volumecontrol.sh -i d", + "tooltip-format": "{format_source} {source_desc} // {source_volume}%", + "scroll-step": 5, + }, + // modules for padding // + "custom/l_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/r_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/sl_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/sr_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/rl_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/rr_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/padd": { + "format": " ", + "interval": "once", + "tooltip": false, + }, +} diff --git a/.config/waybar/Goal/style.css b/.config/waybar/Goal/style.css new file mode 100644 index 0000000..4330756 --- /dev/null +++ b/.config/waybar/Goal/style.css @@ -0,0 +1,178 @@ +* { + border: none; + border-radius: 0px; + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + font-size: 20px; + min-height: 10px; +} + +@import "theme.css"; + +window#waybar { + background: @bar-bg; +} + +tooltip { + background: @main-bg; + color: @main-fg; + border-radius: 7px; + border-width: 0px; +} + +#workspaces button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: 9px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 0px; + padding-left: 3px; + padding-right: 3px; + margin-right: 0px; + color: @main-fg; + animation: ws_normal 20s ease-in-out 1; +} + +#workspaces button.active { + background: @wb-act-bg; + color: @wb-act-fg; + margin-left: 3px; + padding-left: 12px; + padding-right: 12px; + margin-right: 3px; + animation: ws_active 20s ease-in-out 1; + transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); +} + +#workspaces button:hover { + background: @wb-hvr-bg; + color: @wb-hvr-fg; + animation: ws_hover 20s ease-in-out 1; + transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); +} + +#taskbar button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: 9px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 0px; + padding-left: 3px; + padding-right: 3px; + margin-right: 0px; + color: @wb-color; + animation: tb_normal 20s ease-in-out 1; +} + +#taskbar button.active { + background: @wb-act-bg; + color: @wb-act-color; + margin-left: 3px; + padding-left: 12px; + padding-right: 12px; + margin-right: 3px; + animation: tb_active 20s ease-in-out 1; + transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); +} + +#taskbar button:hover { + background: @wb-hvr-bg; + color: @wb-hvr-color; + animation: tb_hover 20s ease-in-out 1; + transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); +} + +#tray menu * { + min-height: 16px +} + +#tray menu separator { + min-height: 10px +} + +#backlight, +#battery, +#bluetooth, +#custom-cava, +#custom-cliphist, +#clock, +#custom-cpuinfo, +#cpu, +#custom-gpuinfo, +#idle_inhibitor, +#custom-keybindhint, +#language, +#memory, +#mpris, +#network, +#custom-notifications, +#custom-power, +#privacy, +#pulseaudio, +#custom-spotify, +#taskbar, +#custom-theme, +#tray, +#custom-updates, +#custom-wallchange, +#custom-wbar, +#window, +#workspaces, +#custom-l_end, +#custom-r_end, +#custom-sl_end, +#custom-sr_end, +#custom-rl_end, +#custom-rr_end { + color: @main-fg; + background: @main-bg; + opacity: 1; + margin: 4px 0px 4px 0px; + padding-left: 4px; + padding-right: 4px; +} + +#workspaces, +#taskbar { + padding: 0px; +} + +#custom-r_end { + border-radius: 0px 15px 15px 0px; + /* margin-right: 9px; */ + padding-right: 3px; +} + +#custom-l_end { + border-radius: 15px 0px 0px 15px; + margin-left: 9px; + padding-left: 3px; +} + +#custom-sr_end { + border-radius: 0px; + margin-right: 9px; + padding-right: 3px; +} + +#custom-sl_end { + border-radius: 0px; + margin-left: 9px; + padding-left: 3px; +} + +#custom-rr_end { + border-radius: 0px 7px 7px 0px; + margin-right: 9px; + padding-right: 3px; +} + +#custom-rl_end { + border-radius: 7px 0px 0px 7px; + margin-left: 9px; + padding-left: 3px; +} diff --git a/.config/waybar/Goal/theme.css b/.config/waybar/Goal/theme.css new file mode 100644 index 0000000..691cf6b --- /dev/null +++ b/.config/waybar/Goal/theme.css @@ -0,0 +1,10 @@ +@define-color bar-bg rgba(0, 0, 0, 0); + +@define-color main-bg #11111b; +@define-color main-fg #cdd6f4; + +@define-color wb-act-bg #a6adc8; +@define-color wb-act-fg #313244; + +@define-color wb-hvr-bg #f5c2e7; +@define-color wb-hvr-fg #313244; diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index 66f8fac..c92c2f1 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -25,6 +25,7 @@ "memory", "cpu", "custom/r_end", + "custom/l_end", "custom/cava", "custom/r_end", @@ -39,11 +40,18 @@ ], "modules-right": [ "custom/padd", + + + "custom/l_end", + "hyprland/workspaces", + "custom/r_end", + "custom/l_end", "backlight", "network", "pulseaudio", "custom/r_end", + "custom/l_end", "privacy", "tray", @@ -51,6 +59,20 @@ "custom/padd", ], // sourced from modules based on config.ctl // + + "hyprland/workspaces": { + "disable-scroll": true, + "rotate": 0, + "all-outputs": true, + "active-only": false, + "on-click": "activate", + "disable-scroll": false, + "on-scroll-up": "hyprctl dispatch workspace -1", + "on-scroll-down": "hyprctl dispatch workspace +1", + "persistent-workspaces": { + } + }, + "custom/cava": { "format": "{}", "exec": "waybar_cava.sh", @@ -74,7 +96,7 @@ }, "cpu": { "interval": 10, - "format": "|󰍛 {usage}%", + "format": "󰍛 {usage}%", "rotate": 0, "format-alt": "{icon0}{icon1}{icon2}{icon3}", "format-icons": [ @@ -95,7 +117,7 @@ "m": 30, // medium }, "interval": 30, - "format": "󰾆 {used}gb|", + "format": "󰾆 {used}gb", "rotate": 0, "format-m": "󰾅 {used}gb", "format-h": "󰓅 {used}gb", @@ -284,9 +306,9 @@ "portable": "", "car": "", "default": [ - "", - "", - "" + " ", + " ", + " " ], }, }, diff --git a/.config/waybar/style.css b/.config/waybar/style.css index a0182c7..4330756 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -142,13 +142,13 @@ tooltip { } #custom-r_end { - border-radius: 0px 21px 21px 0px; - margin-right: 9px; + border-radius: 0px 15px 15px 0px; + /* margin-right: 9px; */ padding-right: 3px; } #custom-l_end { - border-radius: 21px 0px 0px 21px; + border-radius: 15px 0px 0px 15px; margin-left: 9px; padding-left: 3px; }