commit 4d3384faaa08e28a19bf7358934769ff52d8bb9f Author: Aidan Haas Date: Sat Nov 8 19:16:02 2025 -0500 init diff --git a/hypr/.initial_startup_done b/hypr/.initial_startup_done new file mode 100644 index 0000000..e69de29 diff --git a/hypr/Monitor_Profiles/README b/hypr/Monitor_Profiles/README new file mode 100644 index 0000000..86075d7 --- /dev/null +++ b/hypr/Monitor_Profiles/README @@ -0,0 +1,14 @@ +# Create a Monitor profile you want to on this directory + +# Create a unique file name i.e. Mirror, or Office, Scale, etc etc + +# tip: You can easily create a profile using nwg-displays +# after creating a profile using nwg-displays, copy the ~/.config/hypr/monitors.conf file to this directory with a unique file name +# suggest not to call it default + + +# Note, after selecting Profiles wanted via Rofi (SUPER SHIFT E), previous content of ~/.config/hypr/monitors.conf will be backed up and named as Previous_Profile.conf + +# Monitor profile should be loaded automatically once selected by KooL Rofi Settings ROfi Menu, unless you disabled the auto-reload function on Hyprland settings. +# However, if it does not load, kindly log out and re-login. This seem apparent if you are using a Virtual Environment. + diff --git a/hypr/Monitor_Profiles/default.conf b/hypr/Monitor_Profiles/default.conf new file mode 100644 index 0000000..a96cac7 --- /dev/null +++ b/hypr/Monitor_Profiles/default.conf @@ -0,0 +1,52 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# default Monitor config + +# Monitor Configuration +# See Hyprland wiki for more details +# https://wiki.hyprland.org/Configuring/Monitors/ +# Configure your Display resolution, offset, scale and Monitors here, use `hyprctl monitors` to get the info. + +# Monitors +monitor=,preferred,auto,1 + +# High Refresh Rate +monitor=,highrr,auto,1 + +# High Resolution +monitor=,highres,auto,1 + +# NOTE: for laptop, kindly check notes in Laptops.conf regarding display +# Created this inorder for the monitor display to not wake up if not intended. +# See here: https://github.com/hyprwm/Hyprland/issues/4090 + +# Some examples to set your own monitor +#monitor = eDP-1, preferred, auto, 1 +#monitor = eDP-1, 2560x1440@165, 0x0, 1 #own screen +#monitor = DP-3, 1920x1080@240, auto, 1 +#monitor = DP-1, preferred, auto, 1 +#monitor = HDMI-A-1, preferred,auto,1 + +# QEMU-KVM, virtual box or vmware +#monitor = Virtual-1, 1920x1080@60,auto,1 + +# to disable a monitor +#monitor=name,disable + +# Mirror samples +#monitor=DP-3,1920x1080@60,0x0,1,mirror,DP-2 +#monitor=,preferred,auto,1,mirror,eDP-1 +#monitor=HDMI-A-1,2560x1440@144,0x0,1,mirror,eDP-1 + +# 10 bit monitor support - See wiki https://wiki.hyprland.org/Configuring/Monitors/#10-bit-support - See NOTES below +# NOTE: Colors registered in Hyprland (e.g. the border color) do not support 10 bit. +# NOTE: Some applications do not support screen capture with 10 bit enabled. (Screen captures like OBS may render black screen) +# monitor=,preferred,auto,1,bitdepth,10 + +#monitor=eDP-1,transform,0 +#monitor=eDP-1,addreserved,10,10,10,49 + +# workspaces - Monitor rules +# https://wiki.hyprland.org/Configuring/Workspace-Rules/ +# SUPER E - Workspace-Rules +# See ~/.config/hypr/UserConfigs/WorkspaceRules.conf + diff --git a/hypr/UserConfigs/.01-UserDefaults.conf.swp b/hypr/UserConfigs/.01-UserDefaults.conf.swp new file mode 100644 index 0000000..e985b66 Binary files /dev/null and b/hypr/UserConfigs/.01-UserDefaults.conf.swp differ diff --git a/hypr/UserConfigs/.UserKeybinds.conf.swp b/hypr/UserConfigs/.UserKeybinds.conf.swp new file mode 100644 index 0000000..827a6ab Binary files /dev/null and b/hypr/UserConfigs/.UserKeybinds.conf.swp differ diff --git a/hypr/UserConfigs/00-Readme b/hypr/UserConfigs/00-Readme new file mode 100644 index 0000000..e989d2b --- /dev/null +++ b/hypr/UserConfigs/00-Readme @@ -0,0 +1,16 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +KooL's Hyprland-Dots + +1.) Suggest not to rename any files in this directory. As this is connected and being sourced from hyprland.conf in ~/.config/hypr + +2.) This directory, along with UserScripts directory will NOT be touch when running upgrade.sh + +3.) However, if hyprland has a big change in settings, i.e., blur section is moved into another group, you should managed the change yourself. + +4.) Guidance on the keybinds. Suggest NOT to assign a keybind which I set on the default Keybinds. Else will conflict. Once Hyprland decided to have a global keybinds, then I will adjust. + +5.) If you think that the default keybinds SHOULD be adjusted, open an issue on my github page and present me a valid argument. Like conflicting to GLOBAL keybinds, etc etc etc. + + +I will update the Hyprland-Dots wiki for guidance. Make sure to check out changelogs as well diff --git a/hypr/UserConfigs/01-UserDefaults.conf b/hypr/UserConfigs/01-UserDefaults.conf new file mode 100644 index 0000000..855cd29 --- /dev/null +++ b/hypr/UserConfigs/01-UserDefaults.conf @@ -0,0 +1,18 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +# This is a file where you put your own default apps, default search Engine etc + +# Set your default editor here uncomment and reboot to take effect. +# NOTE, this will be automatically uncommented if you select neovim or vim to your default editor +env = EDITOR,vim #default editor + +# Define preferred text editor for the KooL Quick Settings Menu (SUPER SHIFT E) +# script will take the default EDITOR and nano as fallback +$edit=${EDITOR:-nano} + +# These two are for UserKeybinds.conf & Waybar Modules +$term = kitty # Terminal +$files = thunar # File Manager + +# Default Search Engine for ROFI Search (SUPER S) +$Search_Engine = "https://www.google.com/search?q={}" \ No newline at end of file diff --git a/hypr/UserConfigs/ENVariables.conf b/hypr/UserConfigs/ENVariables.conf new file mode 100644 index 0000000..534e3ac --- /dev/null +++ b/hypr/UserConfigs/ENVariables.conf @@ -0,0 +1,89 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/ + +# Set your defaults editor through ENV in ~/.config/hypr/UserConfigs/01-UserDefaults.conf + +# environment-variables +# Toolkit Backend Variables +env = GDK_BACKEND,wayland,x11,* +env = QT_QPA_PLATFORM,wayland;xcb +env = CLUTTER_BACKEND,wayland + +#Run SDL2 applications on Wayland. +#Remove or set to x11 if games that provide older versions of SDL cause compatibility issues +#env = SDL_VIDEODRIVER,wayland + +# xdg Specifications +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland + +# QT Variables +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = QT_QPA_PLATFORMTHEME,qt5ct +env = QT_QPA_PLATFORMTHEME,qt6ct + +# hyprland-qt-support +env = QT_QUICK_CONTROLS_STYLE,org.hyprland.style + +# xwayland apps scale fix (useful if you are use monitor scaling). +# Set same value if you use scaling in Monitors.conf +# 1 is 100% 1.5 is 150% +# see https://wiki.hyprland.org/Configuring/XWayland/ +env = GDK_SCALE,1 +env = QT_SCALE_FACTOR,1 + +# Bibata-Modern-Ice-Cursor +# NOTE! You must have the hyprcursor version to activate this. +# https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/ +env = HYPRCURSOR_THEME,Bibata-Modern-Ice +env = HYPRCURSOR_SIZE,24 + +# firefox +env = MOZ_ENABLE_WAYLAND,1 + +# electron >28 apps (may help) ## +# https://www.electronjs.org/docs/latest/api/environment-variables +env = ELECTRON_OZONE_PLATFORM_HINT,auto # auto selects Wayland if possible, X11 otherwise + +# NVIDIA +# This is from Hyprland Wiki. Below will be activated nvidia gpu detected +# See hyprland wiki https://wiki.hyprland.org/Nvidia/#environment-variables + +env = LIBVA_DRIVER_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia +env = NVD_BACKEND,direct +env = GSK_RENDERER,ngl + +# additional ENV's for nvidia. Caution, activate with care +#env = GBM_BACKEND,nvidia-drm + +#env = __GL_GSYNC_ALLOWED,1 #adaptive Vsync +#env = __NV_PRIME_RENDER_OFFLOAD,1 +#env = __VK_LAYER_NV_optimus,NVIDIA_only +#env = WLR_DRM_NO_ATOMIC,1 + +# FOR VM and POSSIBLY NVIDIA +# LIBGL_ALWAYS_SOFTWARE software mesa rendering +#env = LIBGL_ALWAYS_SOFTWARE,1 # Warning. May cause hyprland to crash +#env = WLR_RENDERER_ALLOW_SOFTWARE,1 + +# nvidia firefox (for hardware acceleration on FF)? +# check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration +#env = MOZ_DISABLE_RDD_SANDBOX,1 +#env = EGL_PLATFORM,wayland + +#### Aquamarine Environment Variables #### ( Hyprland > 0.45 ) +# https://wiki.hyprland.org/Configuring/Environment-variables/#aquamarine-environment-variables----ref-httpsgithubcomhyprwmaquamarineblobmaindocsenvmd--- +# env = AQ_TRACE,1 # Enables more verbose logging. +# env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 # Set an explicit list of DRM devices (GPUs) to use. It’s a colon-separated list of paths, with the first being the primary. E.g. /dev/dri/card1:/dev/dri/card0 +# env = AQ_MGPU_NO_EXPLICIT,1 # Disables explicit syncing on mgpu buffers +# env = AQ_NO_MODIFIERS,1 # Disables modifiers for DRM buffers + +#### Hyprland Environment Variables #### +# https://wiki.hyprland.org/Configuring/Environment-variables/#hyprland-environment-variables +# env = HYPRLAND_TRACE,1 # Enables more verbose logging. +# env = HYPRLAND_NO_RT,1 # Disables realtime priority setting by Hyprland. +# env = HYPRLAND_NO_SD_NOTIFY,1 # If systemd, disables the 'sd_notify' calls. +# env = HYPRLAND_NO_SD_VARS,1 # Disables management of variables in systemd and dbus activation environments. diff --git a/hypr/UserConfigs/LaptopDisplay.conf b/hypr/UserConfigs/LaptopDisplay.conf new file mode 100644 index 0000000..9f76658 --- /dev/null +++ b/hypr/UserConfigs/LaptopDisplay.conf @@ -0,0 +1,4 @@ +# NOTE, THIS FILE IS BEING USED by disabling Laptop display monitor behaviour when closing lid. +# See notes on Laptops.conf + +#monitor = eDP-1, preferred, auto, 1 diff --git a/hypr/UserConfigs/Laptops.conf b/hypr/UserConfigs/Laptops.conf new file mode 100644 index 0000000..edb6846 --- /dev/null +++ b/hypr/UserConfigs/Laptops.conf @@ -0,0 +1,55 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings +# These configs are mostly for laptops. This is addemdum to Keybinds.conf + +$mainMod = SUPER +$scriptsDir = $HOME/.config/hypr/scripts +$UserConfigs = $HOME/.config/hypr/UserConfigs + +# for disabling Touchpad. hyprctl devices to get device name. +$Touchpad_Device=asue1209:00-04f3:319f-touchpad + +binde = , xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec # decrease keyboard brightness +binde = , xf86KbdBrightnessUp, exec, $scriptsDir/BrightnessKbd.sh --inc # increase keyboard brightness +bind = , xf86Launch1, exec, rog-control-center # ASUS Armory crate button +bind = , xf86Launch3, exec, asusctl led-mode -n # FN+F4 Switch keyboard RGB profile +bind = , xf86Launch4, exec, asusctl profile -n # FN+F5 change of fan profiles (Quite, Balance, Performance) +binde = , xf86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec # decrease monitor brightness +binde = , xf86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc # increase monitor brightness +bind = , xf86TouchpadToggle, exec, $scriptsDir/TouchPad.sh # disable touchpad + +# Screenshot keybindings using F6 (no PrinSrc button) +bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # screenshot +bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area # screenshot (area) +bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # # screenshot (5 secs delay) +bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # screenshot (10 secs delay) +bind = ALT, F6, exec, $scriptsDir/ScreenShot.sh --active # screenshot (active window only) + +$TOUCHPAD_ENABLED = true +device { + name = $Touchpad_Device + enabled = $TOUCHPAD_ENABLED +} +# Below are useful when you are connecting your laptop in external display +# Suggest you edit below for your laptop display +# From WIKI This is to disable laptop monitor when lid is closed. +# consult https://wiki.hyprland.org/hyprland-wiki/pages/Configuring/Binds/#switches +#bindl = , switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, preferred, auto, 1" +#bindl = , switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable" + + +# WARNING! Using this method has some caveats!! USE THIS PART WITH SOME CAUTION! +# CONS of doing this, is that you need to set up your wallpaper (SUPER W) and choose wallpaper. +# CAVEATS! Sometimes the Main Laptop Monitor DOES NOT have display that it needs to re-connect your external monitor +# One work around is to ensure that before shutting down laptop, MAKE SURE your laptop lid is OPEN!! +# Make sure to comment (put # on the both the bindl = , switch ......) above +# NOTE: Display for laptop are being generated into LaptopDisplay.conf +# This part is to be use if you do not want your main laptop monitor to wake up during say wallpaper change etc + +#bindl = , switch:off:Lid Switch,exec,echo "monitor = eDP-1, preferred, auto, 1" > $UserConfigs/LaptopDisplay.conf +#bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $UserConfigs/LaptopDisplay.conf + +# for laptop-lid action (to erase the last entry) +#exec-once = echo "monitor = eDP-1, preferred, auto, 1" > $HOME/.config/hypr/UserConfigs/LaptopDisplay.conf +# diff --git a/hypr/UserConfigs/Startup_Apps.conf b/hypr/UserConfigs/Startup_Apps.conf new file mode 100644 index 0000000..bbe349d --- /dev/null +++ b/hypr/UserConfigs/Startup_Apps.conf @@ -0,0 +1,57 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Commands and Apps to be executed at launch + +$scriptsDir = $HOME/.config/hypr/scripts +$UserScripts = $HOME/.config/hypr/UserScripts + +$wallDIR=$HOME/Pictures/wallpapers +$lock = $scriptsDir/LockScreen.sh +$SwwwRandom = $UserScripts/WallpaperAutoChange.sh +$livewallpaper="" + +# wallpaper stuff +exec-once = swww-daemon --format xrgb +#exec-once = mpvpaper '*' -o "load-scripts=no no-audio --loop" $livewallpaper + +# wallpaper random +#exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minutes + +# Startup +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP +exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + +# Initialize Drop Down terminal - See Bug#810 https://github.com/JaKooLit/Hyprland-Dots/issues/810#issuecomment-3351947644 +exec-once = $HOME/.config/hypr/scripts/Dropterminal.sh kitty & + + +# Polkit (Polkit Gnome / KDE) +exec-once = $scriptsDir/Polkit.sh + +# starup apps +exec-once = nm-applet --indicator +exec-once = swaync +#exec-once = ags +exec-once = blueman-applet +#exec-once = rog-control-center +exec-once = waybar +exec-once = qs # quickshell AGS Desktop Overview alternative + +#clipboard manager +exec-once = wl-paste --type text --watch cliphist store +exec-once = wl-paste --type image --watch cliphist store + +# Rainbow borders +#exec-once = $UserScripts/RainbowBorders.sh + +# Starting hypridle to start hyprlock +exec-once = hypridle + + +# Here are list of features available but disabled by default +# exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png # persistent wallpaper + +#gnome polkit for nixos +#exec-once = $scriptsDir/Polkit-NixOS.sh + +# xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start) +#exec-once = $scriptsDir/PortalHyprland.sh diff --git a/hypr/UserConfigs/UserAnimations.conf b/hypr/UserConfigs/UserAnimations.conf new file mode 100644 index 0000000..10279c7 --- /dev/null +++ b/hypr/UserConfigs/UserAnimations.conf @@ -0,0 +1,26 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +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 + bezier = overshot, 0.05, 0.9, 0.1, 1.05 + bezier = smoothOut, 0.5, 0, 0.99, 0.99 + bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 5, winIn, slide + animation = windowsOut, 1, 3, smoothOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors + animation = fade, 1, 3, smoothOut + animation = workspaces, 1, 5, overshot + + # animations for -git or version >0.42.0 + animation = workspacesIn, 1, 5, winIn, slide + animation = workspacesOut, 1, 5, winOut, slide +} diff --git a/hypr/UserConfigs/UserDecorations.conf b/hypr/UserConfigs/UserDecorations.conf new file mode 100644 index 0000000..28172e2 --- /dev/null +++ b/hypr/UserConfigs/UserDecorations.conf @@ -0,0 +1,58 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Decoration Settings + +# Hyprland Wiki Links +# Animation - https://wiki.hyprland.org/Configuring/Animations/ +# Decoration - https://wiki.hyprland.org/Configuring/Variables/#decoration + +# Sourcing colors generated by wallust +source = $HOME/.config/hypr/wallust/wallust-hyprland.conf + +general { + border_size = 2 + gaps_in = 2 + gaps_out = 4 + + col.active_border = $color12 + col.inactive_border = $color10 +} + +decoration { + rounding = 10 + + active_opacity = 1.0 + inactive_opacity = 1.0 + fullscreen_opacity = 1.0 + + dim_inactive = false + dim_strength = 0.1 + dim_special = 0.8 + + shadow { + enabled = true + range = 3 + render_power = 1 + + color = $color12 + color_inactive = $color10 + } + + + blur { + enabled = true + size = 6 + passes = 2 + ignore_opacity = true + new_optimizations = true + special = true + popups = true + } +} + +group { + col.border_active = $color15 + + groupbar { + col.active = $color0 + } +} diff --git a/hypr/UserConfigs/UserKeybinds.conf b/hypr/UserConfigs/UserKeybinds.conf new file mode 100644 index 0000000..578528a --- /dev/null +++ b/hypr/UserConfigs/UserKeybinds.conf @@ -0,0 +1,89 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# This is where you put your own keybinds. Be Mindful to check as well ~/.config/hypr/configs/Keybinds.conf to avoid conflict +# if you think I should replace the Pre-defined Keybinds in ~/.config/hypr/configs/Keybinds.conf , submit an issue or let me know in DC and present me a valid reason as to why, such as conflicting with global shortcuts, etc etc + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables +# See also Laptops.conf for laptops keybinds + +# /* ---- ✴️ Variables ✴️ ---- */ # +$mainMod = SUPER +$scriptsDir = $HOME/.config/hypr/scripts +$UserScripts = $HOME/.config/hypr/UserScripts +$UserConfigs = $HOME/.config/hypr/UserConfigs + +# settings for User defaults apps - set your default terminal and file manager on this file +source= $UserConfigs/01-UserDefaults.conf + +# common shortcuts +#bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window # Super Key to Launch rofi menu +bind = $mainMod, R, exec, pkill rofi || true && rofi -show drun -modi drun,filebrowser,run,window # Main Menu (APP Launcher) +#bind = $mainMod, W, exec, xdg-open "https://" # default browser +#bind = $mainMod, A, exec, pkill rofi || true && ags -t 'overview' # desktop overview (if installed) +bind = $mainMod, A, global, quickshell:overviewToggle # desktop overview (if installed) +bind = $mainMod, Return, exec, $term #terminal +bind = $mainMod, R, exec, $files #file manager +bind = $mainMod, Q, exec, $term +bind = $mainMod, W, exec, flatpak run org.mozilla.firefox + + +# FEATURES / EXTRAS +bind = $mainMod, H, exec, $scriptsDir/KeyHints.sh # help / cheat sheet +bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi +bind = $mainMod, period, exec, $scriptsDir/RofiEmoji.sh # emoji menu +bind = $mainMod, S, exec, $scriptsDir/RofiSearch.sh # Google search using rofi +bind = $mainMod CTRL, S, exec, rofi -show window # list/switch apps using rofi +bind = $mainMod ALT, O, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings +bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # Toggle animations ON/OFF +bind = $mainMod ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout +bind = $mainMod SHIFT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager +bind = $mainMod CTRL, R, exec, $scriptsDir/RofiThemeSelector.sh # KooL Rofi Menu Theme Selector +bind = $mainMod CTRL SHIFT, R, exec, pkill rofi || true && $scriptsDir/RofiThemeSelector-modified.sh # modified Rofi Theme Selector + +bind = $mainMod SHIFT, F, fullscreen # whole full screen +bind = $mainMod CTRL, F, fullscreen, 1 # fake full screen +bind = $mainMod, SPACE, togglefloating, #Float Mode +bind = $mainMod ALT, SPACE, exec, hyprctl dispatch workspaceopt allfloat #All Float Mode +bind = $mainMod SHIFT, Return, exec, $scriptsDir/Dropterminal.sh $term # Dropdown terminal + +# Desktop zooming or magnifier +bind = $mainMod ALT, mouse_down, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 2.0}')" +bind = $mainMod ALT, mouse_up, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 2.0}')" + +## NOTES for ja (Hyprland version 0.39 (Ubuntu 24.04)) +#bind = $mainMod ALT, mouse_down, exec, hyprctl keyword misc:cursor_zoom_factor "$(hyprctl getoption misc:cursor_zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 2.0}')" +#bind = $mainMod ALT, mouse_up, exec, hyprctl keyword misc:cursor_zoom_factor "$(hyprctl getoption misc:cursor_zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 2.0}')" + +# Waybar / Bar related +bind = $mainMod CTRL ALT, B, exec, pkill -SIGUSR1 waybar # Toggle hide/show waybar +bind = $mainMod CTRL, B, exec, $scriptsDir/WaybarStyles.sh # Waybar Styles Menu +bind = $mainMod ALT, B, exec, $scriptsDir/WaybarLayout.sh # Waybar Layout Menu + +# Night light toggle (Hyprsunset) +bind = $mainMod, N, exec, $scriptsDir/Hyprsunset.sh toggle + +# FEATURES / EXTRAS (UserScripts) +bind = $mainMod SHIFT, M, exec, $UserScripts/RofiBeats.sh # online music using rofi +bind = $mainMod SHIFT, W, exec, $UserScripts/WallpaperSelect.sh # Select wallpaper to apply +bind = $mainMod SHIFT, W, exec, $UserScripts/WallpaperEffects.sh # Wallpaper Effects by imagemagick +bind = CTRL ALT, W, exec, $UserScripts/WallpaperRandom.sh # Random wallpapers +bind = $mainMod CTRL, O, exec, hyprctl setprop active opaque toggle # disable opacity on active window +bind = $mainMod SHIFT, K, exec, $scriptsDir/KeyBinds.sh # search keybinds via rofi +bind = $mainMod SHIFT, A, exec, $scriptsDir/Animations.sh #hyprland animations menu +bind = $mainMod SHIFT, O, exec, $UserScripts/ZshChangeTheme.sh # Change oh-my-zsh theme +bindln = ALT_L, SHIFT_L, exec, $scriptsDir/SwitchKeyboardLayout.sh # Change keyboard layout globally +bindln = SHIFT_L, ALT_L, exec, $scriptsDir/Tak0-Per-Window-Switch.sh # Change keyboard layout locally for each window +bind = $mainMod ALT, C, exec, $UserScripts/RofiCalc.sh # calculator (qalculate) + +# Move current workspaces to monitors (left right up or down) +bind = $mainMod CTRL, F9, movecurrentworkspacetomonitor, l #move current workspace to LEFT monitor +bind = $mainMod CTRL, F10, movecurrentworkspacetomonitor, r #move current workspace to RIGHT monitor +bind = $mainMod CTRL, F11, movecurrentworkspacetomonitor, u #move current workspace to UP monitor +bind = $mainMod CTRL, F12, movecurrentworkspacetomonitor, d #move current workspace to DOWN monitor + + +# For passthrough keyboard into a VM +# bind = $mainMod ALT, P, submap, passthru +#submap = passthru +# to unbind +#bind = $mainMod ALT, P, submap, reset +#submap = reset diff --git a/hypr/UserConfigs/UserSettings.conf b/hypr/UserConfigs/UserSettings.conf new file mode 100644 index 0000000..6d9f7d7 --- /dev/null +++ b/hypr/UserConfigs/UserSettings.conf @@ -0,0 +1,120 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# User Settings +# This is where you put your own settings as this will not be touched during update +# if the upgrade.sh is used. + +# refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables/ + +# NOTE: some settings are in ~/.config/hypr/UserConfigs/UserDecorAnimations.conf + +dwindle { + pseudotile = true + preserve_split = true + #smart_split = true + special_scale_factor = 0.8 +} + +master { + new_status = master + new_on_top = 1 + mfact = 0.5 +} + +general { + resize_on_border = true + + layout = dwindle +} + +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + repeat_rate = 50 + repeat_delay = 300 + + sensitivity = 0.00 #mouse sensitivity + accel_profile = # flat or adaptive or blank or EMPTY means libinput’s default mode + numlock_by_default = true + left_handed = false + follow_mouse = 2 + float_switch_override_focus = false + + touchpad { + disable_while_typing = true + natural_scroll = true + clickfinger_behavior = false + middle_button_emulation = true + tap-to-click = true + drag_lock = false + } + + # below for devices with touchdevice ie. touchscreen + touchdevice { + enabled = true + } + + # below is for table see link above for proper variables + tablet { + transform = 0 + left_handed = 0 + } +} + + +gestures { + gesture = 3, horizontal, workspace + workspace_swipe_distance = 500 + workspace_swipe_invert = true + workspace_swipe_min_speed_to_force = 30 + workspace_swipe_cancel_ratio = 0.5 + workspace_swipe_create_new = true + workspace_swipe_forever = true + #workspace_swipe_use_r = true #uncomment if wanted a forever create a new workspace with swipe right +} + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + vfr = true + vrr = 2 + mouse_move_enables_dpms = true + enable_swallow = off + swallow_regex = ^(kitty)$ + focus_on_activate = false + initial_workspace_tracking = 0 + middle_click_paste = true + enable_anr_dialog = true # Application not Responding (ANR) + anr_missed_pings = 15 # ANR Threshold default 1 is too low + allow_session_lock_restore = true # Prevent lockscreen crash when resume from suspend +} + +#opengl { +# nvidia_anti_flicker = true +#} + +binds { + workspace_back_and_forth = true + allow_workspace_cycles = true + pass_mouse_when_bound = false +} + +#Could help when scaling and not pixelating +xwayland { + enabled = true + force_zero_scaling = true +} + +render { + direct_scanout = 0 +} + +cursor { + sync_gsettings_theme = true + no_hardware_cursors = 0 # change to 1 if want to disable + enable_hyprcursor = false + warp_on_change_workspace = 2 + no_warps = true +} diff --git a/hypr/UserConfigs/WindowRules-old.conf b/hypr/UserConfigs/WindowRules-old.conf new file mode 100644 index 0000000..d6e1dea --- /dev/null +++ b/hypr/UserConfigs/WindowRules-old.conf @@ -0,0 +1,206 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# For window rules and layerrules +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + +# NOTES: This is only for Hyprland older versions (< 0.48) + +# windowrule v2 - tags - add apps under appropriate tag to use the same settings +# browser tags +windowrulev2 = tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$ +windowrulev2 = tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$ +windowrulev2 = tag +browser, class:^(chrome-.+-Default)$ # Chrome PWAs +windowrulev2 = tag +browser, class:^([Cc]hromium)$ +windowrulev2 = tag +browser, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$ +windowrulev2 = tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$ +windowrulev2 = tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$ +windowrulev2 = tag +browser, class:^(zen-alpha|zen)$ +windowrulev2 = tag +notif, class:^(swaync-control-center|swaync-notification-window|swaync-client|class)$ +windowrulev2 = tag +KooL_Cheat, title:^(KooL Quick Cheat Sheet)$ +windowrulev2 = tag +KooL_Settings, title:^(KooL Hyprland Settings)$ +windowrulev2 = tag +KooL-Settings, class:^(nwg-displays|nwg-look)$ + +# terminal tags +windowrulev2 = tag +terminal, class:^(Alacritty|kitty|kitty-dropterm)$ + +# email tags +windowrulev2 = tag +email, class:^([Tt]hunderbird|org.gnome.Evolution)$ +windowrulev2 = tag +email, class:^(eu.betterbird.Betterbird)$ + +# project tags +windowrulev2 = tag +projects, class:^(codium|codium-url-handler|VSCodium)$ +windowrulev2 = tag +projects, class:^(VSCode|code-url-handler)$ +windowrulev2 = tag +projects, class:^(jetbrains-.+)$ # JetBrains IDEs + +# screenshare tags +windowrulev2 = tag +screenshare, class:^(com.obsproject.Studio)$ + +# IM tags +windowrulev2 = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$ +windowrulev2 = tag +im, class:^([Ff]erdium)$ +windowrulev2 = tag +im, class:^([Ww]hatsapp-for-linux)$ +windowrulev2 = tag +im, class:^(ZapZap|com.rtosta.zapzap)$ +windowrulev2 = tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$ +windowrulev2 = tag +im, class:^(teams-for-linux)$ + +# game tags +windowrulev2 = tag +games, class:^(gamescope)$ +windowrulev2 = tag +games, class:^(steam_app_\d+)$ + +# gamestore tags +windowrulev2 = tag +gamestore, class:^([Ss]team)$ +windowrulev2 = tag +gamestore, title:^([Ll]utris)$ +windowrulev2 = tag +gamestore, class:^(com.heroicgameslauncher.hgl)$ + +# file-manager tags +windowrulev2 = tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$ +windowrulev2 = tag +file-manager, class:^(app.drey.Warp)$ + +# wallpaper tags +windowrulev2 = tag +wallpaper title:^([Ww]aytrogen)$ +windowrulev2 = tag +wallpaper, class:^([Ww]aytrogen)$ + +# multimedia tags +windowrulev2 = tag +multimedia, class:^([Aa]udacious)$ + + +# settings tags +windowrulev2 = tag +settings, title:^(ROG Control)$ +windowrulev2 = tag +settings, class:^(wihotspot(-gui)?)$ # wifi hotspot +windowrulev2 = tag +settings, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer +windowrulev2 = tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$ +windowrulev2 = tag +settings, title:(Kvantum Manager) +windowrulev2 = tag +settings, class:^(file-roller|org.gnome.FileRoller)$ # archive manager +windowrulev2 = tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$ +windowrulev2 = tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$ +windowrulev2 = tag +settings, class:^(qt5ct|qt6ct|[Yy]ad)$ +windowrulev2 = tag +settings, class:(xdg-desktop-portal-gtk) +windowrulev2 = tag +settings, class:^(org.kde.polkit-kde-authentication-agent-1)$ +windowrulev2 = tag +settings, class:^([Rr]ofi)$ + +# viewer tags +windowrulev2 = tag +viewer, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor +windowrulev2 = tag +viewer, class:^(evince)$ # document viewer +windowrulev2 = tag +viewer, class:^(eog|org.gnome.Loupe)$ # image viewer + +# POSITION +# windowrulev2 = center,floating:1 # warning, it cause even the menu to float and center. +windowrulev2 = center, tag:KooL_Cheat* +windowrulev2 = center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*) +windowrulev2 = center, title:^(ROG Control)$ +windowrulev2 = center, tag:KooL-Settings* +windowrulev2 = center, title:^(Keybindings)$ +windowrulev2 = center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$ +windowrulev2 = center, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$ +windowrulev2 = center, class:^([Ff]erdium)$ +windowrulev2 = move 72% 7%,title:^(Picture-in-Picture)$ +#windowrulev2 = move 72% 7%,title:^(Firefox)$ + +# windowrule v2 to avoid idle for fullscreen apps +#windowrulev2 = idleinhibit fullscreen, class:^(*)$ +#windowrulev2 = idleinhibit fullscreen, title:^(*)$ +windowrulev2 = idleinhibit fullscreen, fullscreen:1 + +# windowrule v2 move to workspace +windowrulev2 = workspace 1, tag:email* +windowrulev2 = workspace 2, tag:browser* +#windowrulev2 = workspace 3, class:^([Tt]hunar)$ +#windowrulev2 = workspace 3, tag:projects* +windowrulev2 = workspace 5, tag:gamestore* +windowrulev2 = workspace 7, tag:im* +windowrulev2 = workspace 8, tag:games* + +# windowrule v2 move to workspace (silent) +windowrulev2 = workspace 4 silent, tag:screenshare* +windowrulev2 = workspace 6 silent, class:^(virt-manager)$ +windowrulev2 = workspace 6 silent, class:^(.virt-manager-wrapped)$ +windowrulev2 = workspace 9 silent, tag:multimedia* + +# FLOAT +windowrulev2 = float, tag:KooL_Cheat* +windowrulev2 = float, tag:wallpaper* +windowrulev2 = float, tag:settings* +windowrulev2 = float, tag:viewer* +windowrulev2 = float, tag:KooL-Settings* +windowrulev2 = float, class:([Zz]oom|onedriver|onedriver-launcher)$ +windowrulev2 = float, class:(org.gnome.Calculator), title:(Calculator) +windowrulev2 = float, class:^(mpv|com.github.rafostar.Clapper)$ +windowrulev2 = float, class:^([Qq]alculate-gtk)$ +#windowrulev2 = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$ +windowrulev2 = float, class:^([Ff]erdium)$ +windowrulev2 = float, title:^(Picture-in-Picture)$ +#windowrulev2 = float, title:^(Firefox)$ + + +#windowrule v2 - float popups and dialogue +windowrulev2 = float, title:^(Authentication Required)$ +windowrulev2 = center, title:^(Authentication Required)$ +windowrulev2 = float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*) +windowrulev2 = float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher) +windowrulev2 = float, class:^([Ss]team)$, title:negative:^([Ss]team)$ +windowrulev2 = float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*) +#windowrulev2 = float, class:(electron), title:(Add Folder to Workspace) +windowrulev2 = float, title:^(Add Folder to Workspace)$ +windowrulev2 = size 70% 60%, title:^(Add Folder to Workspace)$ +windowrulev2 = center, title:^(Add Folder to Workspace)$ +windowrulev2 = float, initialTitle:(Open Files) +windowrulev2 = size 70% 60%, initialTitle:(Open Files) +windowrulev2 = float, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background +windowrulev2 = center, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background +windowrulev2 = size 16% 12%, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background + +# OPACITY +windowrulev2 = opacity 0.9 0.7, tag:browser* +windowrulev2 = opacity 0.9 0.8, tag:projects* +windowrulev2 = opacity 0.94 0.86, tag:im* +windowrulev2 = opacity 0.94 0.86, tag:multimedia* +windowrulev2 = opacity 0.9 0.8, tag:file-manager* +windowrulev2 = opacity 0.8 0.7, tag:terminal* +windowrulev2 = opacity 0.8 0.7, tag:settings* +windowrulev2 = opacity 0.82 0.75, tag:viewer* +windowrulev2 = opacity 0.9 0.7, tag:wallpaper* +windowrulev2 = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$ +windowrulev2 = opacity 0.9 0.8, class:^(deluge)$ +windowrulev2 = opacity 0.9 0.8, class:^(im.riot.Riot)$ # Element matrix client +windowrulev2 = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui +windowrulev2 = opacity 0.95 0.75, title:^(Picture-in-Picture)$ + + +# SIZE +windowrulev2 = size 65% 90%, tag:KooL_Cheat* +windowrulev2 = size 70% 70%, tag:wallpaper* +windowrulev2 = size 70% 70%, tag:settings* +windowrulev2 = size 60% 70%, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$ +windowrulev2 = size 60% 70%, class:^([Ff]erdium)$ + +#windowrulev2 = size 25% 25%, title:^(Picture-in-Picture)$ +#windowrulev2 = size 25% 25%, title:^(Firefox)$ + +# PINNING +windowrulev2 = pin, title:^(Picture-in-Picture)$ +#windowrulev2 = pin,title:^(Firefox)$ + +# windowrule v2 - extras +windowrulev2 = keepaspectratio, title:^(Picture-in-Picture)$ + +# BLUR & FULLSCREEN +windowrulev2 = noblur, tag:games* +windowrulev2 = fullscreen, tag:games* + +#windowrulev2 = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1 +#windowrulev2 = bordercolor rgb(282737) rgb(1E1D2D), floating:1 +#windowrulev2 = opacity 0.8 0.8, pinned:1 + +# LAYER RULES +layerrule = blur, rofi +layerrule = ignorezero, rofi +layerrule = blur, notifications +layerrule = ignorezero, notifications +#layerrule = ignorealpha 0.5, tag:notif* + +#layerrule = ignorezero, class:^([Rr]ofi)$ +#layerrule = blur, class:^([Rr]ofi)$ +#layerrule = unset,class:^([Rr]ofi)$ +#layerrule = ignorezero, + +#layerrule = ignorezero, overview +#layerrule = blur, overview \ No newline at end of file diff --git a/hypr/UserConfigs/WindowRules.conf b/hypr/UserConfigs/WindowRules.conf new file mode 100644 index 0000000..85437c6 --- /dev/null +++ b/hypr/UserConfigs/WindowRules.conf @@ -0,0 +1,236 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# For window rules and layerrules +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + +# NOTES: This is only for Hyprland > 0.48 + +# note for ja: This should NOT be implemented on Debian and Ubuntu + +# windowrule - tags - add apps under appropriate tag to use the same settings +# browser tags +windowrule = tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$ +windowrule = tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$ +windowrule = tag +browser, class:^(chrome-.+-Default)$ # Chrome PWAs +windowrule = tag +browser, class:^([Cc]hromium)$ +windowrule = tag +browser, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$ +windowrule = tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$ +windowrule = tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$ +windowrule = tag +browser, class:^(zen-alpha|zen)$ + +# notif tags +windowrule = tag +notif, class:^(swaync-control-center|swaync-notification-window|swaync-client|class)$ + +# KooL settings tag +windowrule = tag +KooL_Cheat, title:^(KooL Quick Cheat Sheet)$ +windowrule = tag +KooL_Settings, title:^(KooL Hyprland Settings)$ +windowrule = tag +KooL-Settings, class:^(nwg-displays|nwg-look)$ + +# terminal tags +windowrule = tag +terminal, class:^(Alacritty|kitty|kitty-dropterm)$ + +# email tags +windowrule = tag +email, class:^([Tt]hunderbird|org.gnome.Evolution)$ +windowrule = tag +email, class:^(eu.betterbird.Betterbird)$ + +# project tags +windowrule = tag +projects, class:^(codium|codium-url-handler|VSCodium)$ +windowrule = tag +projects, class:^(VSCode|code-url-handler)$ +windowrule = tag +projects, class:^(jetbrains-.+)$ # JetBrains IDEs + +# screenshare tags +windowrule = tag +screenshare, class:^(com.obsproject.Studio)$ + +# IM tags +windowrule = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$ +windowrule = tag +im, class:^([Ff]erdium)$ +windowrule = tag +im, class:^([Ww]hatsapp-for-linux)$ +windowrule = tag +im, class:^(ZapZap|com.rtosta.zapzap)$ +windowrule = tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$ +windowrule = tag +im, class:^(teams-for-linux)$ +windowrule = tag +im, class:^(im.riot.Riot|Element)$ # Element Matrix client + +# game tags +windowrule = tag +games, class:^(gamescope)$ +windowrule = tag +games, class:^(steam_app_\d+)$ + +# gamestore tags +windowrule = tag +gamestore, class:^([Ss]team)$ +windowrule = tag +gamestore, title:^([Ll]utris)$ +windowrule = tag +gamestore, class:^(com.heroicgameslauncher.hgl)$ + +# file-manager tags +windowrule = tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$ +windowrule = tag +file-manager, class:^(app.drey.Warp)$ + +# wallpaper tags +windowrule = tag +wallpaper, class:^([Ww]aytrogen)$ + +# multimedia tags +windowrule = tag +multimedia, class:^([Aa]udacious)$ + +# multimedia-video tags +windowrule = tag +multimedia_video, class:^([Mm]pv|vlc)$ + +# settings tags +windowrule = tag +settings, title:^(ROG Control)$ +windowrule = tag +settings, class:^(wihotspot(-gui)?)$ # wifi hotspot +windowrule = tag +settings, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer +windowrule = tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$ +windowrule = tag +settings, title:(Kvantum Manager) +windowrule = tag +settings, class:^(file-roller|org.gnome.FileRoller)$ # archive manager +windowrule = tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$ +windowrule = tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$ +windowrule = tag +settings, class:^(qt5ct|qt6ct|[Yy]ad)$ +windowrule = tag +settings, class:(xdg-desktop-portal-gtk) +windowrule = tag +settings, class:^(org.kde.polkit-kde-authentication-agent-1)$ +windowrule = tag +settings, class:^([Rr]ofi)$ + +# viewer tags +windowrule = tag +viewer, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor +windowrule = tag +viewer, class:^(evince)$ # document viewer +windowrule = tag +viewer, class:^(eog|org.gnome.Loupe)$ # image viewer + +# Some special override rules +windowrule = noblur, tag:multimedia_video* +windowrule = opacity 1.0, tag:multimedia_video* + +# POSITION +# windowrule = center,floating:1 # warning, it cause even the menu to float and center. +windowrule = center, tag:KooL_Cheat* +windowrule = center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*) +windowrule = center, title:^(ROG Control)$ +windowrule = center, tag:KooL-Settings* +windowrule = center, title:^(Keybindings)$ +windowrule = center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$ +windowrule = center, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$ +windowrule = center, class:^([Ff]erdium)$ +windowrule = move 72% 7%,title:^(Picture-in-Picture)$ +#windowrule = move 72% 7%,title:^(Firefox)$ + +# windowrule to avoid idle for fullscreen apps +#windowrule = idleinhibit fullscreen, class:^(*)$ +#windowrule = idleinhibit fullscreen, title:^(*)$ +windowrule = idleinhibit fullscreen, fullscreen:1 + +# windowrule move to workspace +windowrule = workspace 1, tag:email* +windowrule = workspace 2, tag:browser* +#windowrule = workspace 3, class:^([Tt]hunar)$ +#windowrule = workspace 3, tag:projects* +windowrule = workspace 5, tag:gamestore* +windowrule = workspace 7, tag:im* +windowrule = workspace 8, tag:games* + +# windowrule move to workspace (silent) +windowrule = workspace 4 silent, tag:screenshare* +windowrule = workspace 6 silent, class:^(virt-manager)$ +windowrule = workspace 6 silent, class:^(.virt-manager-wrapped)$ +windowrule = workspace 9 silent, tag:multimedia* + +# FLOAT +windowrule = float, tag:KooL_Cheat* +windowrule = float, tag:wallpaper* +windowrule = float, tag:settings* +windowrule = float, tag:viewer* +windowrule = float, tag:KooL-Settings* +windowrule = float, class:([Zz]oom|onedriver|onedriver-launcher)$ +windowrule = float, class:(org.gnome.Calculator), title:(Calculator) +windowrule = float, class:^(mpv|com.github.rafostar.Clapper)$ +windowrule = float, class:^([Qq]alculate-gtk)$ +#windowrule = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$ +windowrule = float, class:^([Ff]erdium)$ +windowrule = float, title:^(Picture-in-Picture)$ +#windowrule = float, title:^(Firefox)$ + +# windowrule - ######### float popups and dialogue ####### +windowrule = float, title:^(Authentication Required)$ +windowrule = center, title:^(Authentication Required)$ +windowrule = float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*) +windowrule = float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher) +windowrule = float, class:^([Ss]team)$, title:negative:^([Ss]team)$ +windowrule = float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*) + +windowrule = float, title:^(Add Folder to Workspace)$ +windowrule = size 70% 60%, title:^(Add Folder to Workspace)$ +windowrule = center, title:^(Add Folder to Workspace)$ + +windowrule = float, title:^(Save As)$ +windowrule = size 70% 60%, title:^(Save As)$ +windowrule = center, title:^(Save As)$ + +windowrule = float, initialTitle:(Open Files) +windowrule = size 70% 60%, initialTitle:(Open Files) + +windowrule = float, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background +windowrule = center, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background +windowrule = size 16% 12%, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background +# END of float popups and dialogue ####### + +# OPACITY +windowrule = opacity 0.9 0.7, tag:browser* +windowrule = opacity 1.0, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$ +windowrule = opacity 0.9 0.8, tag:projects* +windowrule = opacity 0.94 0.86, tag:im* +windowrule = opacity 0.94 0.86, tag:multimedia* +windowrule = opacity 0.9 0.8, tag:file-manager* +windowrule = opacity 0.8 0.7, tag:terminal* +windowrule = opacity 0.8 0.7, tag:settings* +windowrule = opacity 0.82 0.75, tag:viewer* +windowrule = opacity 0.9 0.7, tag:wallpaper* +windowrule = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$ +windowrule = opacity 0.9 0.8, class:^(deluge)$ +windowrule = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui +windowrule = opacity 0.95 0.75, title:^(Picture-in-Picture)$ +windowrule = opacity 0.9,class:^(code)$ + +# SIZE +windowrule = size 65% 90%, tag:KooL_Cheat* +windowrule = size 70% 70%, tag:wallpaper* +windowrule = size 70% 70%, tag:settings* +windowrule = size 60% 70%, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$ +windowrule = size 60% 70%, class:^([Ff]erdium)$ + +#windowrule = size 25% 25%, title:^(Picture-in-Picture)$ +#windowrule = size 25% 25%, title:^(Firefox)$ + +# PINNING +windowrule = pin, title:^(Picture-in-Picture)$ +#windowrule = pin,title:^(Firefox)$ + +# windowrule - extras +windowrule = keepaspectratio, title:^(Picture-in-Picture)$ + +# BLUR & FULLSCREEN +windowrule = noblur, tag:games* +windowrule = fullscreen, tag:games* + + +#This not gonna take the focus to the window that appears when hovering over some of the parts of the IntelliJ Products +windowrule = noinitialfocus, class:^(jetbrains-*) +windowrule = noinitialfocus, title:^(wind.*)$ + +#This will gonna make the VS Code bluer like other apps +windowrule = opacity 0.8,class:^(code)$ + +#windowrule = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1 +#windowrule = bordercolor rgb(282737) rgb(1E1D2D), floating:1 +#windowrule = opacity 0.8 0.8, pinned:1 + +# LAYER RULES +layerrule = blur, rofi +layerrule = ignorezero, rofi +layerrule = blur, notifications +layerrule = ignorezero, notifications +layerrule = blur, quickshell:overview +layerrule = ignorezero, quickshell:overview +layerrule = ignorealpha 0.5, quickshell:overview + +#layerrule = ignorealpha 0.5, tag:notif* + +#layerrule = ignorezero, class:^([Rr]ofi)$ +#layerrule = blur, class:^([Rr]ofi)$ +#layerrule = unset,class:^([Rr]ofi)$ +#layerrule = ignorezero, + +#layerrule = ignorezero, overview +#layerrule = blur, overview diff --git a/hypr/UserConfigs/WorkSpaceRules b/hypr/UserConfigs/WorkSpaceRules new file mode 100644 index 0000000..aa86b35 --- /dev/null +++ b/hypr/UserConfigs/WorkSpaceRules @@ -0,0 +1,32 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +# NOTE: THIS IS NOT BEING SOURCED by hyprland +# It is only here as a guide if you want to do it manually +# The file you should edit is ~/.config/hypr/workspaces.conf +# Since that is the work space rules being sourced by hyprland +# use nwg-displays to handle your workspace rules. + +# You can set workspace rules to achieve workspace-specific behaviors. +# For instance, you can define a workspace where all windows are drawn without borders or gaps. + +# https://wiki.hyprland.org/Configuring/Workspace-Rules/ + +# Assigning workspace to a certain monitor. Below are just examples +# workspace = 1, monitor:eDP-1 +# workspace = 2, monitor:eDP-1 +# workspace = 3, monitor:eDP-1 +# workspace = 4, monitor:eDP-1 +# workspace = 5, monitor:DP-2 +# workspace = 6, monitor:DP-2 +# workspace = 7, monitor:DP-2 +# workspace = 8, monitor:DP-2 + + +# example rules (from wiki) +# workspace = 3, rounding:false, decorate:false +# workspace = name:coding, rounding:false, decorate:false, gapsin:0, gapsout:0, border:false, decorate:false, monitor:DP-1 +# workspace = 8,bordersize:8 +# workspace = name:Hello, monitor:DP-1, default:true +# workspace = name:gaming, monitor:desc:Chimei Innolux Corporation 0x150C, default:true +# workspace = 5, on-created-empty:[float] firefox +# workspace = special:scratchpad, on-created-empty:foot \ No newline at end of file diff --git a/hypr/UserScripts/00-Readme b/hypr/UserScripts/00-Readme new file mode 100755 index 0000000..091bac8 --- /dev/null +++ b/hypr/UserScripts/00-Readme @@ -0,0 +1,5 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +# Place your new scripts here. +# If you need to edit a script from main script (~/.config/hypr/scripts), copy it on this directory, and edit. +# Make sure to update as well the keybinds in ~/.config/hypr/UserConfigs directory if any script is linked to it \ No newline at end of file diff --git a/hypr/UserScripts/RainbowBorders.bak.sh b/hypr/UserScripts/RainbowBorders.bak.sh new file mode 100755 index 0000000..cc1419f --- /dev/null +++ b/hypr/UserScripts/RainbowBorders.bak.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# for rainbow borders animation + +function random_hex() { + random_hex=("0xff$(openssl rand -hex 3)") + echo $random_hex +} + +# rainbow colors only for active window +hyprctl keyword general:col.active_border $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) 270deg + +# rainbow colors for inactive window (uncomment to take effect) +#hyprctl keyword general:col.inactive_border $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) 270deg \ No newline at end of file diff --git a/hypr/UserScripts/RofiBeats.sh b/hypr/UserScripts/RofiBeats.sh new file mode 100755 index 0000000..1cddce0 --- /dev/null +++ b/hypr/UserScripts/RofiBeats.sh @@ -0,0 +1,153 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# For Rofi Beats to play online Music or Locally saved media files + +# Variables +mDIR="$HOME/Music/" +iDIR="$HOME/.config/swaync/icons" +rofi_theme="$HOME/.config/rofi/config-rofi-Beats.rasi" +rofi_theme_1="$HOME/.config/rofi/config-rofi-Beats-menu.rasi" + +# Online Stations. Edit as required +declare -A online_music=( + ["FM - Easy Rock 96.3 📻🎶"]="https://radio-stations-philippines.com/easy-rock" + ["FM - Easy Rock - Baguio 91.9 📻🎶"]="https://radio-stations-philippines.com/easy-rock-baguio" + ["FM - Love Radio 90.7 📻🎶"]="https://radio-stations-philippines.com/love" + ["FM - WRock - CEBU 96.3 📻🎶"]="https://onlineradio.ph/126-96-3-wrock.html" + ["FM - Fresh Philippines 📻🎶"]="https://onlineradio.ph/553-fresh-fm.html" + ["Radio - Lofi Girl 🎧🎶"]="https://play.streamafrica.net/lofiradio" + ["Radio - Chillhop 🎧🎶"]="http://stream.zeno.fm/fyn8eh3h5f8uv" + ["Radio - Ibiza Global 🎧🎶"]="https://filtermusic.net/ibiza-global" + ["Radio - Metal Music 🎧🎶"]="https://tunein.com/radio/mETaLmuSicRaDio-s119867/" + ["YT - Wish 107.5 YT Pinoy HipHop 📻🎶"]="https://youtube.com/playlist?list=PLkrzfEDjeYJnmgMYwCKid4XIFqUKBVWEs&si=vahW_noh4UDJ5d37" + ["YT - Youtube Top 100 Songs Global 📹🎶"]="https://youtube.com/playlist?list=PL4fGSI1pDJn6puJdseH2Rt9sMvt9E2M4i&si=5jsyfqcoUXBCSLeu" + ["YT - Wish 107.5 YT Wishclusives 📹🎶"]="https://youtube.com/playlist?list=PLkrzfEDjeYJn5B22H9HOWP3Kxxs-DkPSM&si=d_Ld2OKhGvpH48WO" + ["YT - Relaxing Piano Music 🎹🎶"]="https://youtu.be/6H7hXzjFoVU?si=nZTPREC9lnK1JJUG" + ["YT - Youtube Remix 📹🎶"]="https://youtube.com/playlist?list=PLeqTkIUlrZXlSNn3tcXAa-zbo95j0iN-0" + ["YT - Korean Drama OST 📹🎶"]="https://youtube.com/playlist?list=PLUge_o9AIFp4HuA-A3e3ZqENh63LuRRlQ" + ["YT - lofi hip hop radio beats 📹🎶"]="https://www.youtube.com/live/jfKfPfyJRdk?si=PnJIA9ErQIAw6-qd" + ["YT - Relaxing Piano Jazz Music 🎹🎶"]="https://youtu.be/85UEqRat6E4?si=jXQL1Yp2VP_G6NSn" +) + +# Populate local_music array with files from music directory and subdirectories +populate_local_music() { + local_music=() + filenames=() + while IFS= read -r file; do + local_music+=("$file") + filenames+=("$(basename "$file")") + done < <(find -L "$mDIR" -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.wav" -o -iname "*.ogg" -o -iname "*.mp4" \)) +} + +# Function for displaying notifications +notification() { + notify-send -u normal -i "$iDIR/music.png" "Now Playing:" "$@" +} + +# Main function for playing local music +play_local_music() { + populate_local_music + + # Prompt the user to select a song + choice=$(printf "%s\n" "${filenames[@]}" | rofi -i -dmenu -config $rofi_theme) + + if [ -z "$choice" ]; then + exit 1 + fi + + # Find the corresponding file path based on user's choice and set that to play the song then continue on the list + for (( i=0; i<"${#filenames[@]}"; ++i )); do + if [ "${filenames[$i]}" = "$choice" ]; then + + if music_playing; then + stop_music + fi + notification "$choice" + mpv --playlist-start="$i" --loop-playlist --vid=no "${local_music[@]}" + + break + fi + done +} + +# Main function for shuffling local music +shuffle_local_music() { + if music_playing; then + stop_music + fi + notification "Shuffle Play local music" + + # Play music in $mDIR on shuffle + mpv --shuffle --loop-playlist --vid=no "$mDIR" +} + +# Main function for playing online music +play_online_music() { + choice=$(for online in "${!online_music[@]}"; do + echo "$online" + done | sort | rofi -i -dmenu -config "$rofi_theme") + + if [ -z "$choice" ]; then + exit 1 + fi + + link="${online_music[$choice]}" + + if music_playing; then + stop_music + fi + notification "$choice" + + # Play the selected online music using mpv + mpv --shuffle --vid=no "$link" +} + +# Function to check if music is already playing +music_playing() { + pgrep -x "mpv" > /dev/null +} + +# Function to stop music and kill mpv processes +stop_music() { + mpv_pids=$(pgrep -x mpv) + + if [ -n "$mpv_pids" ]; then + # Get the PID of the mpv process used by mpvpaper (using the unique argument added) + mpvpaper_pid=$(ps aux | grep -- 'unique-wallpaper-process' | grep -v 'grep' | awk '{print $2}') + + for pid in $mpv_pids; do + if ! echo "$mpvpaper_pid" | grep -q "$pid"; then + kill -9 $pid || true + fi + done + notify-send -u low -i "$iDIR/music.png" "Music stopped" || true + fi +} + +user_choice=$(printf "%s\n" \ + "Play from Online Stations" \ + "Play from Music directory" \ + "Shuffle Play from Music directory" \ + "Stop RofiBeats" \ + | rofi -dmenu -config $rofi_theme_1) + +echo "User choice: $user_choice" + +case "$user_choice" in + "Play from Online Stations") + play_online_music + ;; + "Play from Music directory") + play_local_music + ;; + "Shuffle Play from Music directory") + shuffle_local_music + ;; + "Stop RofiBeats") + if music_playing; then + stop_music + fi + ;; + *) + ;; +esac diff --git a/hypr/UserScripts/RofiCalc.sh b/hypr/UserScripts/RofiCalc.sh new file mode 100755 index 0000000..4b3b8b6 --- /dev/null +++ b/hypr/UserScripts/RofiCalc.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +# /* Calculator (using qalculate) and rofi */ +# /* Submitted by: https://github.com/JosephArmas */ + +rofi_theme="$HOME/.config/rofi/config-calc.rasi" + +# Kill Rofi if already running before execution +if pgrep -x "rofi" >/dev/null; then + pkill rofi +fi + +# main function + +while true; do + result=$( + rofi -i -dmenu \ + -config $rofi_theme \ + -mesg "$result = $calc_result" + ) + + if [ $? -ne 0 ]; then + exit + fi + + if [ -n "$result" ]; then + calc_result=$(qalc -t "$result") + echo "$calc_result" | wl-copy + fi +done diff --git a/hypr/UserScripts/Tak0-Autodispatch.sh b/hypr/UserScripts/Tak0-Autodispatch.sh new file mode 100755 index 0000000..a1f7212 --- /dev/null +++ b/hypr/UserScripts/Tak0-Autodispatch.sh @@ -0,0 +1,90 @@ +#!/bin/bash +# USAGE / ІНСТРУКЦІЯ: +# 1) Run from terminal: +# ./dispatch.sh +# Example: +# ./dispatch.sh discord 2 +# +# 2) Call from Hyprland config (in hyprland.conf file): +# exec-once = /path/to/dispatch.sh +# +# Logs are saved in dispatch.log file next to the script. +# If the window doesn't appear or is dispatched incorrectly — info will be there. +# +# Notes: +# - Script waits about ~9 seconds (30 iterations of 0.3 sec) for window to appear. +# - Uses hyprctl and jq, so these tools must be installed. +# +# USAGE / ІНСТРУКЦІЯ: +# 1) Запуск з терміналу: +# ./dispatch.sh +# Наприклад: +# ./dispatch.sh discord 2 +# +# 2) Виклик з конфігурації Hyprland (у файлі hyprland.conf): +# exec-once = /path/to/dispatch.sh +# +# Логи зберігаються у файлі dispatch.log поруч зі скриптом. +# Якщо вікно не з'явилось або неправильно диспатчилось — інформація там. +# +# Примітки: +# - Скрипт чекає до ~9 секунд (30 ітерацій по 0.3 сек) поки вікно з'явиться. +# - Використовує hyprctl і jq, тому ці інструменти мають бути встановлені. + +LOGFILE="$(dirname "$0")/dispatch.log" +# Log file path located next to the script. +# Файл логів розташований поруч зі скриптом. + +APP=$1 +# The application command or window class to launch or match. +# Команда для запуску аплікації або клас вікна для пошуку. + +TARGET_WORKSPACE=$2 +# The target workspace number where the window should be moved. +# Цільовий номер воркспейсу, куди потрібно перемістити вікно. + +# Check if required arguments are provided. +# Перевірка наявності необхідних параметрів. +if [[ -z "$APP" || -z "$TARGET_WORKSPACE" ]]; then + echo "Usage: $0 " >> "$LOGFILE" 2>&1 + exit 1 +fi + +echo "Starting dispatch of '$APP' to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE" +# Starting the dispatch process and logging the event. +# Початок процесу диспатчу, запис у лог. + +# Avoid early workspace focus issues by switching workspace first. +# Уникаємо проблем з раннім фокусом, спочатку переключаємо воркспейс. +hyprctl dispatch workspace "$TARGET_WORKSPACE" >> "$LOGFILE" 2>&1 +sleep 0.4 + +# Launch the application in the background and disown it. +# Запускаємо аплікацію у фоновому режимі та відв’язуємо від терміналу. +$APP & disown +pid=$! + +echo "Launched '$APP' with PID $pid" >> "$LOGFILE" +# Log the launched process ID. +# Лог процесу запуску з PID. + +# Wait for the application window to appear (matching window class). +# Чекаємо появи вікна аплікації (за класом вікна). +for i in {1..30}; do + win=$(hyprctl clients -j | jq -r --arg APP "$APP" ' + .[] | select(.class | test($APP;"i")) | .address' 2>>"$LOGFILE") + + if [[ -n "$win" ]]; then + echo "Found window $win for app '$APP', moving to workspace $TARGET_WORKSPACE" >> "$LOGFILE" + # Move the window to the target workspace. + # Переміщаємо вікно на цільовий воркспейс. + hyprctl dispatch movetoworkspace "$TARGET_WORKSPACE,address:$win" >> "$LOGFILE" 2>&1 + exit 0 + fi + sleep 0.3 +done + +echo "ERROR: Window for '$APP' was NOT found or dispatched properly to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE" +# Log error if window was not found or dispatched correctly. +# Запис помилки, якщо вікно не знайдено або неправильно диспатчено. +exit 1 diff --git a/hypr/UserScripts/WallpaperAutoChange.sh b/hypr/UserScripts/WallpaperAutoChange.sh new file mode 100755 index 0000000..a6d2ced --- /dev/null +++ b/hypr/UserScripts/WallpaperAutoChange.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# source https://wiki.archlinux.org/title/Hyprland#Using_a_script_to_change_wallpaper_every_X_minutes + +# This script will randomly go through the files of a directory, setting it +# up as the wallpaper at regular intervals +# +# NOTE: this script uses bash (not POSIX shell) for the RANDOM variable + +wallust_refresh=$HOME/.config/hypr/scripts/RefreshNoWaybar.sh + +focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}') + +if [[ $# -lt 1 ]] || [[ ! -d $1 ]]; then + echo "Usage: + $0 " + exit 1 +fi + +# Edit below to control the images transition +export SWWW_TRANSITION_FPS=60 +export SWWW_TRANSITION_TYPE=simple + +# This controls (in seconds) when to switch to the next image +INTERVAL=1800 + +while true; do + find "$1" \ + | while read -r img; do + echo "$((RANDOM % 1000)):$img" + done \ + | sort -n | cut -d':' -f2- \ + | while read -r img; do + swww img -o $focused_monitor "$img" + # Regenerate colors from the exact image path to avoid cache races + $HOME/.config/hypr/scripts/WallustSwww.sh "$img" + # Refresh UI components that depend on wallust output + $wallust_refresh + sleep $INTERVAL + + done +done diff --git a/hypr/UserScripts/WallpaperEffects.sh b/hypr/UserScripts/WallpaperEffects.sh new file mode 100755 index 0000000..ac8fc0e --- /dev/null +++ b/hypr/UserScripts/WallpaperEffects.sh @@ -0,0 +1,148 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Wallpaper Effects using ImageMagick (SUPER SHIFT W) + +# Variables +terminal=kitty +wallpaper_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current" +wallpaper_output="$HOME/.config/hypr/wallpaper_effects/.wallpaper_modified" +SCRIPTSDIR="$HOME/.config/hypr/scripts" +focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name') +rofi_theme="$HOME/.config/rofi/config-wallpaper-effect.rasi" + +# Directory for swaync +iDIR="$HOME/.config/swaync/images" +iDIRi="$HOME/.config/swaync/icons" + +# swww transition config +FPS=60 +TYPE="wipe" +DURATION=2 +BEZIER=".43,1.19,1,.4" +SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER" + +# Define ImageMagick effects +declare -A effects=( + ["No Effects"]="no-effects" + ["Black & White"]="magick $wallpaper_current -colorspace gray -sigmoidal-contrast 10,40% $wallpaper_output" + ["Blurred"]="magick $wallpaper_current -blur 0x10 $wallpaper_output" + ["Charcoal"]="magick $wallpaper_current -charcoal 0x5 $wallpaper_output" + ["Edge Detect"]="magick $wallpaper_current -edge 1 $wallpaper_output" + ["Emboss"]="magick $wallpaper_current -emboss 0x5 $wallpaper_output" + ["Frame Raised"]="magick $wallpaper_current +raise 150 $wallpaper_output" + ["Frame Sunk"]="magick $wallpaper_current -raise 150 $wallpaper_output" + ["Negate"]="magick $wallpaper_current -negate $wallpaper_output" + ["Oil Paint"]="magick $wallpaper_current -paint 4 $wallpaper_output" + ["Posterize"]="magick $wallpaper_current -posterize 4 $wallpaper_output" + ["Polaroid"]="magick $wallpaper_current -polaroid 0 $wallpaper_output" + ["Sepia Tone"]="magick $wallpaper_current -sepia-tone 65% $wallpaper_output" + ["Solarize"]="magick $wallpaper_current -solarize 80% $wallpaper_output" + ["Sharpen"]="magick $wallpaper_current -sharpen 0x5 $wallpaper_output" + ["Vignette"]="magick $wallpaper_current -vignette 0x3 $wallpaper_output" + ["Vignette-black"]="magick $wallpaper_current -background black -vignette 0x3 $wallpaper_output" + ["Zoomed"]="magick $wallpaper_current -gravity Center -extent 1:1 $wallpaper_output" +) + +# Function to apply no effects +no-effects() { + swww img -o "$focused_monitor" "$wallpaper_current" $SWWW_PARAMS && + wait $! + wallust run "$wallpaper_current" -s && + wait $! + # Refresh rofi, waybar, wallust palettes + sleep 2 + "$SCRIPTSDIR/Refresh.sh" + + notify-send -u low -i "$iDIR/ja.png" "No wallpaper" "effects applied" + # copying wallpaper for rofi menu + cp "$wallpaper_current" "$wallpaper_output" +} + +# Function to run rofi menu +main() { + # Populate rofi menu options + options=("No Effects") + for effect in "${!effects[@]}"; do + [[ "$effect" != "No Effects" ]] && options+=("$effect") + done + + choice=$(printf "%s\n" "${options[@]}" | LC_COLLATE=C sort | rofi -dmenu -i -config $rofi_theme) + + # Process user choice + if [[ -n "$choice" ]]; then + if [[ "$choice" == "No Effects" ]]; then + no-effects + elif [[ "${effects[$choice]+exists}" ]]; then + # Apply selected effect + notify-send -u normal -i "$iDIR/ja.png" "Applying:" "$choice effects" + eval "${effects[$choice]}" + + # intial kill process + for pid in swaybg mpvpaper; do + killall -SIGUSR1 "$pid" + done + + sleep 1 + swww img -o "$focused_monitor" "$wallpaper_output" $SWWW_PARAMS & + + sleep 2 + + wallust run "$wallpaper_output" -s & + sleep 1 + # Refresh rofi, waybar, wallust palettes + "${SCRIPTSDIR}/Refresh.sh" + notify-send -u low -i "$iDIR/ja.png" "$choice" "effects applied" + else + echo "Effect '$choice' not recognized." + fi + fi +} + +# Check if rofi is already running and kill it +if pidof rofi > /dev/null; then + pkill rofi +fi + +main + +sleep 1 + +if [[ -n "$choice" ]]; then + # Resolve SDDM themes directory (standard and NixOS path) + sddm_themes_dir="" + if [ -d "/usr/share/sddm/themes" ]; then + sddm_themes_dir="/usr/share/sddm/themes" + elif [ -d "/run/current-system/sw/share/sddm/themes" ]; then + sddm_themes_dir="/run/current-system/sw/share/sddm/themes" + fi + + if [ -n "$sddm_themes_dir" ]; then + sddm_simple="$sddm_themes_dir/simple_sddm_2" + + # Only prompt if theme exists and its Backgrounds directory is writable + if [ -d "$sddm_simple" ] && [ -w "$sddm_simple/Backgrounds" ]; then + # Check if yad is running to avoid multiple yad notification + if pidof yad > /dev/null; then + killall yad + fi + + if yad --info --text="Set current wallpaper as SDDM background?\n\nNOTE: This only applies to SIMPLE SDDM v2 Theme" \ + --text-align=left \ + --title="SDDM Background" \ + --timeout=5 \ + --timeout-indicator=right \ + --button="yad-yes:0" \ + --button="yad-no:1" \ + ; then + + # Check if terminal exists + if ! command -v "$terminal" &>/dev/null; then + notify-send -i "$iDIR/ja.png" "Missing $terminal" "Install $terminal to enable setting of wallpaper background" + exit 1 + fi + + exec "$SCRIPTSDIR/sddm_wallpaper.sh" --effects + fi + fi + fi +fi diff --git a/hypr/UserScripts/WallpaperRandom.sh b/hypr/UserScripts/WallpaperRandom.sh new file mode 100755 index 0000000..7939650 --- /dev/null +++ b/hypr/UserScripts/WallpaperRandom.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Script for Random Wallpaper ( CTRL ALT W) + +wallDIR="$HOME/Pictures/wallpapers" +SCRIPTSDIR="$HOME/.config/hypr/scripts" + +focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name') + +PICS=($(find -L ${wallDIR} -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" -o -name "*.pnm" -o -name "*.tga" -o -name "*.tiff" -o -name "*.webp" -o -name "*.bmp" -o -name "*.farbfeld" -o -name "*.gif" \))) +RANDOMPICS=${PICS[ $RANDOM % ${#PICS[@]} ]} + + +# Transition config +FPS=30 +TYPE="random" +DURATION=1 +BEZIER=".43,1.19,1,.4" +SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER" + + +swww query || swww-daemon --format xrgb && swww img -o $focused_monitor ${RANDOMPICS} $SWWW_PARAMS + +wait $! +"$SCRIPTSDIR/WallustSwww.sh" && + +wait $! +sleep 2 +"$SCRIPTSDIR/Refresh.sh" + diff --git a/hypr/UserScripts/WallpaperSelect.sh b/hypr/UserScripts/WallpaperSelect.sh new file mode 100755 index 0000000..466832b --- /dev/null +++ b/hypr/UserScripts/WallpaperSelect.sh @@ -0,0 +1,248 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +# This script for selecting wallpapers (SUPER W) + +# WALLPAPERS PATH +terminal=kitty +wallDIR="$HOME/Pictures/wallpapers" +SCRIPTSDIR="$HOME/.config/hypr/scripts" +wallpaper_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current" + +# Directory for swaync +iDIR="$HOME/.config/swaync/images" +iDIRi="$HOME/.config/swaync/icons" + +# swww transition config +FPS=60 +TYPE="any" +DURATION=2 +BEZIER=".43,1.19,1,.4" +SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER" + +# Check if package bc exists +if ! command -v bc &>/dev/null; then + notify-send -i "$iDIR/error.png" "bc missing" "Install package bc first" + exit 1 +fi + +# Variables +rofi_theme="$HOME/.config/rofi/config-wallpaper.rasi" +focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name') + +# Ensure focused_monitor is detected +if [[ -z "$focused_monitor" ]]; then + notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Could not detect focused monitor" + exit 1 +fi + +# Monitor details +scale_factor=$(hyprctl monitors -j | jq -r --arg mon "$focused_monitor" '.[] | select(.name == $mon) | .scale') +monitor_height=$(hyprctl monitors -j | jq -r --arg mon "$focused_monitor" '.[] | select(.name == $mon) | .height') + +icon_size=$(echo "scale=1; ($monitor_height * 3) / ($scale_factor * 150)" | bc) +adjusted_icon_size=$(echo "$icon_size" | awk '{if ($1 < 15) $1 = 20; if ($1 > 25) $1 = 25; print $1}') +rofi_override="element-icon{size:${adjusted_icon_size}%;}" + +# Kill existing wallpaper daemons for video +kill_wallpaper_for_video() { + swww kill 2>/dev/null + pkill mpvpaper 2>/dev/null + pkill swaybg 2>/dev/null + pkill hyprpaper 2>/dev/null +} + +# Kill existing wallpaper daemons for image +kill_wallpaper_for_image() { + pkill mpvpaper 2>/dev/null + pkill swaybg 2>/dev/null + pkill hyprpaper 2>/dev/null +} + +# Retrieve wallpapers (both images & videos) +mapfile -d '' PICS < <(find -L "${wallDIR}" -type f \( \ + -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" -o \ + -iname "*.bmp" -o -iname "*.tiff" -o -iname "*.webp" -o \ + -iname "*.mp4" -o -iname "*.mkv" -o -iname "*.mov" -o -iname "*.webm" \) -print0) + +RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}" +RANDOM_PIC_NAME=". random" + +# Rofi command +rofi_command="rofi -i -show -dmenu -config $rofi_theme -theme-str $rofi_override" + +# Sorting Wallpapers +menu() { + IFS=$'\n' sorted_options=($(sort <<<"${PICS[*]}")) + + printf "%s\x00icon\x1f%s\n" "$RANDOM_PIC_NAME" "$RANDOM_PIC" + + for pic_path in "${sorted_options[@]}"; do + pic_name=$(basename "$pic_path") + if [[ "$pic_name" =~ \.gif$ ]]; then + cache_gif_image="$HOME/.cache/gif_preview/${pic_name}.png" + if [[ ! -f "$cache_gif_image" ]]; then + mkdir -p "$HOME/.cache/gif_preview" + magick "$pic_path[0]" -resize 1920x1080 "$cache_gif_image" + fi + printf "%s\x00icon\x1f%s\n" "$pic_name" "$cache_gif_image" + elif [[ "$pic_name" =~ \.(mp4|mkv|mov|webm|MP4|MKV|MOV|WEBM)$ ]]; then + cache_preview_image="$HOME/.cache/video_preview/${pic_name}.png" + if [[ ! -f "$cache_preview_image" ]]; then + mkdir -p "$HOME/.cache/video_preview" + ffmpeg -v error -y -i "$pic_path" -ss 00:00:01.000 -vframes 1 "$cache_preview_image" + fi + printf "%s\x00icon\x1f%s\n" "$pic_name" "$cache_preview_image" + else + printf "%s\x00icon\x1f%s\n" "$(echo "$pic_name" | cut -d. -f1)" "$pic_path" + fi + done +} + +# Offer SDDM Simple Wallpaper Option (only for non-video wallpapers) +set_sddm_wallpaper() { + sleep 1 + + # Resolve SDDM themes directory (standard and NixOS path) + local sddm_themes_dir="" + if [ -d "/usr/share/sddm/themes" ]; then + sddm_themes_dir="/usr/share/sddm/themes" + elif [ -d "/run/current-system/sw/share/sddm/themes" ]; then + sddm_themes_dir="/run/current-system/sw/share/sddm/themes" + fi + + [ -z "$sddm_themes_dir" ] && return 0 + + local sddm_simple="$sddm_themes_dir/simple_sddm_2" + + # Only prompt if theme exists and its Backgrounds directory is writable + if [ -d "$sddm_simple" ] && [ -w "$sddm_simple/Backgrounds" ]; then + + # Check if yad is running to avoid multiple notifications + if pidof yad >/dev/null; then + killall yad + fi + + if yad --info --text="Set current wallpaper as SDDM background?\n\nNOTE: This only applies to SIMPLE SDDM v2 Theme" \ + --text-align=left \ + --title="SDDM Background" \ + --timeout=5 \ + --timeout-indicator=right \ + --button="yes:0" \ + --button="no:1"; then + + # Check if terminal exists + if ! command -v "$terminal" &>/dev/null; then + notify-send -i "$iDIR/error.png" "Missing $terminal" "Install $terminal to enable setting of wallpaper background" + exit 1 + fi + + exec "$SCRIPTSDIR/sddm_wallpaper.sh" --normal + + fi + fi +} + +modify_startup_config() { + local selected_file="$1" + local startup_config="$HOME/.config/hypr/UserConfigs/Startup_Apps.conf" + + # Check if it's a live wallpaper (video) + if [[ "$selected_file" =~ \.(mp4|mkv|mov|webm)$ ]]; then + # For video wallpapers: + sed -i '/^\s*exec-once\s*=\s*swww-daemon\s*--format\s*xrgb\s*$/s/^/\#/' "$startup_config" + sed -i '/^\s*#\s*exec-once\s*=\s*mpvpaper\s*.*$/s/^#\s*//;' "$startup_config" + + # Update the livewallpaper variable with the selected video path (using $HOME) + selected_file="${selected_file/#$HOME/\$HOME}" # Replace /home/user with $HOME + sed -i "s|^\$livewallpaper=.*|\$livewallpaper=\"$selected_file\"|" "$startup_config" + + echo "Configured for live wallpaper (video)." + else + # For image wallpapers: + sed -i '/^\s*#\s*exec-once\s*=\s*swww-daemon\s*--format\s*xrgb\s*$/s/^\s*#\s*//;' "$startup_config" + + sed -i '/^\s*exec-once\s*=\s*mpvpaper\s*.*$/s/^/\#/' "$startup_config" + + echo "Configured for static wallpaper (image)." + fi +} + +# Apply Image Wallpaper +apply_image_wallpaper() { + local image_path="$1" + + kill_wallpaper_for_image + + if ! pgrep -x "swww-daemon" >/dev/null; then + echo "Starting swww-daemon..." + swww-daemon --format xrgb & + fi + + swww img -o "$focused_monitor" "$image_path" $SWWW_PARAMS + + # Run additional scripts (pass the image path to avoid cache race conditions) + "$SCRIPTSDIR/WallustSwww.sh" "$image_path" + sleep 2 + "$SCRIPTSDIR/Refresh.sh" + sleep 1 + + set_sddm_wallpaper +} + +apply_video_wallpaper() { + local video_path="$1" + + # Check if mpvpaper is installed + if ! command -v mpvpaper &>/dev/null; then + notify-send -i "$iDIR/error.png" "E-R-R-O-R" "mpvpaper not found" + return 1 + fi + kill_wallpaper_for_video + + # Apply video wallpaper using mpvpaper + mpvpaper '*' -o "load-scripts=no no-audio --loop" "$video_path" & +} + +# Main function +main() { + choice=$(menu | $rofi_command) + choice=$(echo "$choice" | xargs) + RANDOM_PIC_NAME=$(echo "$RANDOM_PIC_NAME" | xargs) + + if [[ -z "$choice" ]]; then + echo "No choice selected. Exiting." + exit 0 + fi + + # Handle random selection correctly + if [[ "$choice" == "$RANDOM_PIC_NAME" ]]; then + choice=$(basename "$RANDOM_PIC") + fi + + choice_basename=$(basename "$choice" | sed 's/\(.*\)\.[^.]*$/\1/') + + # Search for the selected file in the wallpapers directory, including subdirectories + selected_file=$(find "$wallDIR" -iname "$choice_basename.*" -print -quit) + + if [[ -z "$selected_file" ]]; then + echo "File not found. Selected choice: $choice" + exit 1 + fi + + # Modify the Startup_Apps.conf file based on wallpaper type + modify_startup_config "$selected_file" + + # **CHECK FIRST** if it's a video or an image **before calling any function** + if [[ "$selected_file" =~ \.(mp4|mkv|mov|webm|MP4|MKV|MOV|WEBM)$ ]]; then + apply_video_wallpaper "$selected_file" + else + apply_image_wallpaper "$selected_file" + fi +} + +# Check if rofi is already running +if pidof rofi >/dev/null; then + pkill rofi +fi + +main \ No newline at end of file diff --git a/hypr/UserScripts/Weather.py b/hypr/UserScripts/Weather.py new file mode 100755 index 0000000..ca1d528 --- /dev/null +++ b/hypr/UserScripts/Weather.py @@ -0,0 +1,544 @@ +#!/usr/bin/env python3 +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Rewritten to use Open-Meteo APIs (worldwide, no API key) for robust weather data. +# Outputs Waybar-compatible JSON and a simple text cache. + +import json +import os +import sys +import time +import html +from typing import Any, Dict, List, Optional, Tuple + +import requests + +# =============== Configuration =============== +# You can configure behavior via environment variables OR the constants below. +# Examples (zsh): +# # One-off run +# # WEATHER_UNITS can be "metric" or "imperial" +# WEATHER_UNITS=imperial WEATHER_PLACE="Concord, NH" python3 /home/dwilliams/Projects/Weather.py +# +# # Persist in current shell session +# export WEATHER_UNITS=imperial +# export WEATHER_LAT=43.2229 +# export WEATHER_LON=-71.332 +# export WEATHER_PLACE="Concord, NH" +# export WEATHER_TOOLTIP_MARKUP=1 # 1 to enable Pango markup, 0 to disable +# export WEATHER_LOC_ICON="📍" # or "*" for ASCII-only +# +CACHE_DIR = os.path.expanduser("~/.cache") +API_CACHE_PATH = os.path.join(CACHE_DIR, "open_meteo_cache.json") +SIMPLE_TEXT_CACHE_PATH = os.path.join(CACHE_DIR, ".weather_cache") +CACHE_TTL_SECONDS = int(os.getenv("WEATHER_CACHE_TTL", "600")) # default 10 minutes + +# Units: metric or imperial (default metric) +UNITS = os.getenv("WEATHER_UNITS", "metric").strip().lower() # metric|imperial + +# Optional manual coordinates +ENV_LAT = os.getenv("WEATHER_LAT") +ENV_LON = os.getenv("WEATHER_LON") +# Optional manual place override for tooltip +ENV_PLACE = os.getenv("WEATHER_PLACE") +# Manual place name set inside this file. If set (non-empty), this takes top priority. +# Example: MANUAL_PLACE = "Concord, NH, US" +MANUAL_PLACE: Optional[str] = None + +# Location icon in tooltip (default to a standard emoji to avoid missing glyphs) +LOC_ICON = os.getenv("WEATHER_LOC_ICON", "📍") +# Enable/disable Pango markup in tooltip (1/0, true/false) +TOOLTIP_MARKUP = os.getenv("WEATHER_TOOLTIP_MARKUP", "1").lower() not in ("0", "false", "no") +# Optional debug logging to stderr (set WEATHER_DEBUG=1 to enable) +DEBUG = os.getenv("WEATHER_DEBUG", "0").lower() not in ("0", "false", "no") + +# HTTP settings +UA = ( + "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 " + "(KHTML, like Gecko) Chrome/128.0 Safari/537.36" +) +TIMEOUT = 8 + +SESSION = requests.Session() +SESSION.headers.update({"User-Agent": UA}) + +# =============== Icon and status mapping =============== +# Reuse prior icon set for continuity +WEATHER_ICONS = { + "sunnyDay": "󰖙", + "clearNight": "󰖔", + "cloudyFoggyDay": "", + "cloudyFoggyNight": "", + "rainyDay": "", + "rainyNight": "", + "snowyIcyDay": "", + "snowyIcyNight": "", + "severe": "", + "default": "", +} + +WMO_STATUS = { + 0: "Clear sky", + 1: "Mainly clear", + 2: "Partly cloudy", + 3: "Overcast", + 45: "Fog", + 48: "Depositing rime fog", + 51: "Light drizzle", + 53: "Moderate drizzle", + 55: "Dense drizzle", + 56: "Freezing drizzle", + 57: "Freezing drizzle", + 61: "Light rain", + 63: "Moderate rain", + 65: "Heavy rain", + 66: "Freezing rain", + 67: "Freezing rain", + 71: "Slight snow", + 73: "Moderate snow", + 75: "Heavy snow", + 77: "Snow grains", + 80: "Rain showers", + 81: "Rain showers", + 82: "Violent rain showers", + 85: "Snow showers", + 86: "Heavy snow showers", + 95: "Thunderstorm", + 96: "Thunderstorm w/ hail", + 99: "Thunderstorm w/ hail", +} + + +def wmo_to_icon(code: int, is_day: int) -> str: + day = bool(is_day) + if code == 0: + return WEATHER_ICONS["sunnyDay" if day else "clearNight"] + if code in (1, 2, 3, 45, 48): + return WEATHER_ICONS["cloudyFoggyDay" if day else "cloudyFoggyNight"] + if code in (51, 53, 55, 61, 63, 65, 80, 81, 82): + return WEATHER_ICONS["rainyDay" if day else "rainyNight"] + if code in (56, 57, 66, 67, 71, 73, 75, 77, 85, 86): + return WEATHER_ICONS["snowyIcyDay" if day else "snowyIcyNight"] + if code in (95, 96, 99): + return WEATHER_ICONS["severe"] + return WEATHER_ICONS["default"] + + +def wmo_to_status(code: int) -> str: + return WMO_STATUS.get(code, "Unknown") + + +# =============== Utilities =============== + +def esc(s: Optional[str]) -> str: + return html.escape(s, quote=False) if s else "" + +def log_debug(msg: str) -> None: + if DEBUG: + print(msg, file=sys.stderr) + +def ensure_cache_dir() -> None: + try: + os.makedirs(CACHE_DIR, exist_ok=True) + except Exception as e: + print(f"Error creating cache dir: {e}", file=sys.stderr) + + +def read_api_cache() -> Optional[Dict[str, Any]]: + try: + if not os.path.exists(API_CACHE_PATH): + return None + with open(API_CACHE_PATH, "r", encoding="utf-8") as f: + data = json.load(f) + if (time.time() - data.get("timestamp", 0)) <= CACHE_TTL_SECONDS: + return data + return None + except Exception as e: + print(f"Error reading cache: {e}", file=sys.stderr) + return None + + +def write_api_cache(payload: Dict[str, Any]) -> None: + try: + ensure_cache_dir() + payload["timestamp"] = time.time() + with open(API_CACHE_PATH, "w", encoding="utf-8") as f: + json.dump(payload, f) + except Exception as e: + print(f"Error writing API cache: {e}", file=sys.stderr) + + +def write_simple_text_cache(text: str) -> None: + try: + ensure_cache_dir() + with open(SIMPLE_TEXT_CACHE_PATH, "w", encoding="utf-8") as f: + f.write(text) + except Exception as e: + print(f"Error writing simple cache: {e}", file=sys.stderr) + + +def get_coords() -> Tuple[float, float]: + # 1) Explicit env + if ENV_LAT and ENV_LON: + try: + return float(ENV_LAT), float(ENV_LON) + except ValueError: + print("Invalid WEATHER_LAT/WEATHER_LON; falling back to IP geolocation", file=sys.stderr) + + # 2) Try cached coordinates from last successful forecast + try: + cached = read_api_cache() + if cached and isinstance(cached, dict): + fc = cached.get("forecast") or {} + lat = fc.get("latitude") + lon = fc.get("longitude") + if isinstance(lat, (int, float)) and isinstance(lon, (int, float)): + return float(lat), float(lon) + except Exception as e: + print(f"Reading cached coords failed: {e}", file=sys.stderr) + + # 3) IP-based geolocation with multiple providers (prefer ipwho.is, ipapi.co; ipinfo.io as fallback) + # ipwho.is + try: + resp = SESSION.get("https://ipwho.is/", timeout=TIMEOUT) + resp.raise_for_status() + data = resp.json() + if data.get("success"): + lat = data.get("latitude") + lon = data.get("longitude") + if isinstance(lat, (int, float)) and isinstance(lon, (int, float)): + return float(lat), float(lon) + except Exception as e: + print(f"ipwho.is failed: {e}", file=sys.stderr) + + # ipapi.co + try: + resp = SESSION.get("https://ipapi.co/json", timeout=TIMEOUT) + resp.raise_for_status() + data = resp.json() + lat = data.get("latitude") + lon = data.get("longitude") + if isinstance(lat, (int, float)) and isinstance(lon, (int, float)): + return float(lat), float(lon) + except Exception as e: + print(f"ipapi.co failed: {e}", file=sys.stderr) + + # ipinfo.io (fallback) + try: + resp = SESSION.get("https://ipinfo.io/json", timeout=TIMEOUT) + resp.raise_for_status() + data = resp.json() + loc = data.get("loc") + if loc and "," in loc: + lat_s, lon_s = loc.split(",", 1) + return float(lat_s), float(lon_s) + except Exception as e: + print(f"ipinfo.io failed: {e}", file=sys.stderr) + + # 4) Last resort + print("IP geolocation failed: no providers succeeded", file=sys.stderr) + return 0.0, 0.0 + + +def units_params(units: str) -> Dict[str, str]: + if units == "imperial": + return { + "temperature_unit": "fahrenheit", + "wind_speed_unit": "mph", + "precipitation_unit": "inch", + } + # default metric + return { + "temperature_unit": "celsius", + "wind_speed_unit": "kmh", + "precipitation_unit": "mm", + } + + +def format_visibility(meters: Optional[float]) -> str: + if meters is None: + return "" + try: + if UNITS == "imperial": + miles = meters / 1609.344 + return f"{miles:.1f} mi" + else: + km = meters / 1000.0 + return f"{km:.1f} km" + except Exception: + return "" + + +# =============== API Fetching =============== + +def fetch_open_meteo(lat: float, lon: float) -> Dict[str, Any]: + base = "https://api.open-meteo.com/v1/forecast" + params = { + "latitude": lat, + "longitude": lon, + "current": "temperature_2m,apparent_temperature,relative_humidity_2m,wind_speed_10m,wind_direction_10m,weather_code,visibility,precipitation,pressure_msl,is_day", + "hourly": "precipitation_probability", + "daily": "temperature_2m_max,temperature_2m_min", + "timezone": "auto", + } + params.update(units_params(UNITS)) + resp = SESSION.get(base, params=params, timeout=TIMEOUT) + resp.raise_for_status() + return resp.json() + + +def fetch_aqi(lat: float, lon: float) -> Optional[Dict[str, Any]]: + try: + base = "https://air-quality-api.open-meteo.com/v1/air-quality" + params = { + "latitude": lat, + "longitude": lon, + "current": "european_aqi", + "timezone": "auto", + } + resp = SESSION.get(base, params=params, timeout=TIMEOUT) + resp.raise_for_status() + return resp.json() + except Exception as e: + print(f"AQI fetch failed: {e}", file=sys.stderr) + return None + + +def fetch_place(lat: float, lon: float) -> Optional[str]: + """Reverse geocode lat/lon to an approximate place. Tries Nominatim first, then Open-Meteo.""" + lang = os.getenv("WEATHER_LANG", "en") + + # 1) Nominatim (OpenStreetMap) + try: + base = "https://nominatim.openstreetmap.org/reverse" + params = { + "lat": lat, + "lon": lon, + "format": "jsonv2", + "accept-language": lang, + } + headers = {"User-Agent": UA + " Weather.py/1.0"} + resp = SESSION.get(base, params=params, headers=headers, timeout=TIMEOUT) + resp.raise_for_status() + data = resp.json() + address = data.get("address", {}) + name = data.get("name") or address.get("city") or address.get("town") or address.get("village") or address.get("hamlet") + admin1 = address.get("state") + country = address.get("country") + parts = [part for part in [name, admin1, country] if part] + if parts: + return ", ".join(parts) + except Exception as e: + log_debug(f"Reverse geocoding (Nominatim) failed: {e}") + + # 2) Open-Meteo reverse (fallback) + try: + base = "https://geocoding-api.open-meteo.com/v1/reverse" + params = { + "latitude": lat, + "longitude": lon, + "language": lang, + "format": "json", + } + resp = SESSION.get(base, params=params, timeout=TIMEOUT) + resp.raise_for_status() + data = resp.json() + results = data.get("results") or [] + if results: + p = results[0] + name = p.get("name") + admin1 = p.get("admin1") + country = p.get("country") + parts = [part for part in [name, admin1, country] if part] + if parts: + return ", ".join(parts) + except Exception as e: + log_debug(f"Reverse geocoding (Open-Meteo) failed: {e}") + + return None + + +# =============== Build Output =============== + +def safe_get(dct: Dict[str, Any], *keys, default=None): + cur: Any = dct + for k in keys: + if isinstance(cur, dict): + if k not in cur: + return default + cur = cur[k] + elif isinstance(cur, list): + try: + cur = cur[k] # type: ignore[index] + except Exception: + return default + else: + return default + return cur + + +def build_hourly_precip(forecast: Dict[str, Any]) -> str: + try: + times: List[str] = safe_get(forecast, "hourly", "time", default=[]) or [] + probs: List[Optional[float]] = safe_get( + forecast, "hourly", "precipitation_probability", default=[] + ) or [] + cur_time: Optional[str] = safe_get(forecast, "current", "time") + idx = times.index(cur_time) if cur_time in times else 0 + window = probs[idx : idx + 6] + if not window: + return "" + parts = [f"{int(p)}%" if p is not None else "-" for p in window] + return " (next 6h) " + " ".join(parts) + except Exception: + return "" + + +def build_output(lat: float, lon: float, forecast: Dict[str, Any], aqi: Optional[Dict[str, Any]], place: Optional[str] = None) -> Tuple[Dict[str, Any], str]: + cur = forecast.get("current", {}) + cur_units = forecast.get("current_units", {}) + daily = forecast.get("daily", {}) + daily_units = forecast.get("daily_units", {}) + + temp_val = cur.get("temperature_2m") + temp_unit = cur_units.get("temperature_2m", "") + temp_str = f"{int(round(temp_val))}{temp_unit}" if isinstance(temp_val, (int, float)) else "N/A" + + feels_val = cur.get("apparent_temperature") + feels_unit = cur_units.get("apparent_temperature", "") + feels_str = f"Feels like {int(round(feels_val))}{feels_unit}" if isinstance(feels_val, (int, float)) else "" + + is_day = int(cur.get("is_day", 1) or 1) + code = int(cur.get("weather_code", -1) or -1) + icon = wmo_to_icon(code, is_day) + status = wmo_to_status(code) + + # min/max today (index 0) + tmin_val = safe_get(daily, "temperature_2m_min", 0) + tmax_val = safe_get(daily, "temperature_2m_max", 0) + dtemp_unit = daily_units.get("temperature_2m_min", temp_unit) + tmin_str = f"{int(round(tmin_val))}{dtemp_unit}" if isinstance(tmin_val, (int, float)) else "" + tmax_str = f"{int(round(tmax_val))}{dtemp_unit}" if isinstance(tmax_val, (int, float)) else "" + min_max = f" {tmin_str}\t\t {tmax_str}" if tmin_str and tmax_str else "" + + wind_val = cur.get("wind_speed_10m") + wind_unit = cur_units.get("wind_speed_10m", "") + wind_text = f" {int(round(wind_val))}{wind_unit}" if isinstance(wind_val, (int, float)) else "" + + hum_val = cur.get("relative_humidity_2m") + humidity_text = f" {int(hum_val)}%" if isinstance(hum_val, (int, float)) else "" + + vis_val = cur.get("visibility") + visibility_text = f" {format_visibility(vis_val)}" if isinstance(vis_val, (int, float)) else "" + + aqi_val = safe_get(aqi or {}, "current", "european_aqi") + aqi_text = f"AQI {int(aqi_val)}" if isinstance(aqi_val, (int, float)) else "AQI N/A" + + hourly_precip = build_hourly_precip(forecast) + prediction = f"\n\n{hourly_precip}" if hourly_precip else "" + + # Build place string (priority: MANUAL_PLACE > ENV_PLACE > reverse geocode > lat,lon) + place_str = (MANUAL_PLACE or ENV_PLACE or place or f"{lat:.3f}, {lon:.3f}") + location_text = f"{LOC_ICON} {place_str}" + + # Build tooltip (markup or plain) + if TOOLTIP_MARKUP: + # Escape dynamic text to avoid breaking Pango markup + tooltip_text = str.format( + "\t\t{}\t\t\n{}\n{}\n{}\n{}\n\n{}\n{}\n{}{}", + f'{esc(temp_str)}', + f" {icon}", + f"{esc(status)}", + esc(location_text), + f"{esc(feels_str)}" if feels_str else "", + f"{esc(min_max)}" if min_max else "", + f"{esc(wind_text)}\t{esc(humidity_text)}", + f"{esc(visibility_text)}\t{esc(aqi_text)}", + f" {esc(prediction)}" if prediction else "", + ) + else: + lines = [ + f"{icon} {temp_str}", + status, + location_text, + ] + if feels_str: + lines.append(feels_str) + if min_max: + lines.append(min_max) + lines.append(f"{wind_text} {humidity_text}".strip()) + lines.append(f"{visibility_text} {aqi_text}".strip()) + if prediction: + lines.append(hourly_precip) + tooltip_text = "\n".join([ln for ln in lines if ln]) + + out_data = { + "text": f"{icon} {temp_str}", + "alt": status, + "tooltip": tooltip_text, + "class": f"wmo-{code} {'day' if is_day else 'night'}", + } + + simple_weather = ( + f"{icon} {status}\n" + + f" {temp_str} ({feels_str})\n" + + (f"{wind_text} \n" if wind_text else "") + + (f"{humidity_text} \n" if humidity_text else "") + + f"{visibility_text} {aqi_text}\n" + ) + + return out_data, simple_weather + + +def main() -> None: + lat, lon = get_coords() + + # Try cache first + cached = read_api_cache() + if cached and isinstance(cached, dict): + forecast = cached.get("forecast") + aqi = cached.get("aqi") + cached_place = cached.get("place") if isinstance(cached.get("place"), str) else None + place_effective = MANUAL_PLACE or ENV_PLACE or cached_place + try: + out, simple = build_output(lat, lon, forecast, aqi, place_effective) + print(json.dumps(out, ensure_ascii=False)) + write_simple_text_cache(simple) + return + except Exception as e: + print(f"Cached data build failed, refetching: {e}", file=sys.stderr) + + # Fetch fresh + try: + forecast = fetch_open_meteo(lat, lon) + aqi = fetch_aqi(lat, lon) + # Use manual/env place if provided; otherwise reverse geocode + place_effective = MANUAL_PLACE or ENV_PLACE or fetch_place(lat, lon) + write_api_cache({"forecast": forecast, "aqi": aqi, "place": place_effective}) + out, simple = build_output(lat, lon, forecast, aqi, place_effective) + print(json.dumps(out, ensure_ascii=False)) + write_simple_text_cache(simple) + except Exception as e: + print(f"Open-Meteo fetch failed: {e}", file=sys.stderr) + # Last resort: try stale cache without TTL + try: + if os.path.exists(API_CACHE_PATH): + with open(API_CACHE_PATH, "r", encoding="utf-8") as f: + stale = json.load(f) + out, simple = build_output(lat, lon, stale.get("forecast", {}), stale.get("aqi"), stale.get("place") if isinstance(stale.get("place"), str) else None) + print(json.dumps(out, ensure_ascii=False)) + write_simple_text_cache(simple) + return + except Exception as e2: + print(f"Failed to use stale cache: {e2}", file=sys.stderr) + # Fallback minimal output + fallback = { + "text": f"{WEATHER_ICONS['default']} N/A", + "alt": "Unavailable", + "tooltip": "Weather unavailable", + "class": "unavailable", + } + print(json.dumps(fallback, ensure_ascii=False)) + + +if __name__ == "__main__": + main() diff --git a/hypr/UserScripts/Weather.sh b/hypr/UserScripts/Weather.sh new file mode 100755 index 0000000..9bdaff4 --- /dev/null +++ b/hypr/UserScripts/Weather.sh @@ -0,0 +1,87 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# weather info from wttr. https://github.com/chubin/wttr.in +# Remember to add city + +city= +cachedir="$HOME/.cache/rbn" +cachefile=${0##*/}-$1 + +if [ ! -d $cachedir ]; then + mkdir -p $cachedir +fi + +if [ ! -f $cachedir/$cachefile ]; then + touch $cachedir/$cachefile +fi + +# Save current IFS +SAVEIFS=$IFS +# Change IFS to new line. +IFS=$'\n' + +cacheage=$(($(date +%s) - $(stat -c '%Y' "$cachedir/$cachefile"))) +if [ $cacheage -gt 1740 ] || [ ! -s $cachedir/$cachefile ]; then + data=($(curl -s https://en.wttr.in/"$city"$1\?0qnT 2>&1)) + echo ${data[0]} | cut -f1 -d, > $cachedir/$cachefile + echo ${data[1]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile + echo ${data[2]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile +fi + +weather=($(cat $cachedir/$cachefile)) + +# Restore IFSClear +IFS=$SAVEIFS + +temperature=$(echo ${weather[2]} | sed -E 's/([[:digit:]]+)\.\./\1 to /g') + +#echo ${weather[1]##*,} + +# https://fontawesome.com/icons?s=solid&c=weather +case $(echo ${weather[1]##*,} | tr '[:upper:]' '[:lower:]') in +"clear" | "sunny") + condition="" + ;; +"partly cloudy") + condition="󰖕" + ;; +"cloudy") + condition="" + ;; +"overcast") + condition="" + ;; +"fog" | "freezing fog") + condition="" + ;; +"patchy rain possible" | "patchy light drizzle" | "light drizzle" | "patchy light rain" | "light rain" | "light rain shower" | "mist" | "rain") + condition="󰼳" + ;; +"moderate rain at times" | "moderate rain" | "heavy rain at times" | "heavy rain" | "moderate or heavy rain shower" | "torrential rain shower" | "rain shower") + condition="" + ;; +"patchy snow possible" | "patchy sleet possible" | "patchy freezing drizzle possible" | "freezing drizzle" | "heavy freezing drizzle" | "light freezing rain" | "moderate or heavy freezing rain" | "light sleet" | "ice pellets" | "light sleet showers" | "moderate or heavy sleet showers") + condition="󰼴" + ;; +"blowing snow" | "moderate or heavy sleet" | "patchy light snow" | "light snow" | "light snow showers") + condition="󰙿" + ;; +"blizzard" | "patchy moderate snow" | "moderate snow" | "patchy heavy snow" | "heavy snow" | "moderate or heavy snow with thunder" | "moderate or heavy snow showers") + condition="" + ;; +"thundery outbreaks possible" | "patchy light rain with thunder" | "moderate or heavy rain with thunder" | "patchy light snow with thunder") + condition="" + ;; +*) + condition="" + echo -e "{\"text\":\""$condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}" + ;; +esac + +#echo $temp $condition + +echo -e "{\"text\":\""$temperature $condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}" + +cached_weather=" $temperature \n$condition ${weather[1]}" + +echo -e $cached_weather > "$HOME/.cache/.weather_cache" \ No newline at end of file diff --git a/hypr/UserScripts/ZshChangeTheme.sh b/hypr/UserScripts/ZshChangeTheme.sh new file mode 100755 index 0000000..cffaf5c --- /dev/null +++ b/hypr/UserScripts/ZshChangeTheme.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Script for Oh my ZSH theme ( CTRL SHIFT O) + +# preview of theme can be view here: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes +# after choosing theme, TTY need to be closed and re-open + +# Variables +iDIR="$HOME/.config/swaync/images" +rofi_theme="$HOME/.config/rofi/config-zsh-theme.rasi" + +if [ -n "$(grep -i nixos < /etc/os-release)" ]; then + notify-send -i "$iDIR/note.png" "NOT Supported" "Sorry NixOS does not support this KooL feature" + exit 1 +fi + +themes_dir="$HOME/.oh-my-zsh/themes" +file_extension=".zsh-theme" + + +themes_array=($(find -L "$themes_dir" -type f -name "*$file_extension" -exec basename {} \; | sed -e "s/$file_extension//")) + +# Add "Random" option to the beginning of the array +themes_array=("Random" "${themes_array[@]}") + +rofi_command="rofi -i -dmenu -config $rofi_theme" + +menu() { + for theme in "${themes_array[@]}"; do + echo "$theme" + done +} + +main() { + choice=$(menu | ${rofi_command}) + + # if nothing selected, script won't change anything + if [ -z "$choice" ]; then + exit 0 + fi + + zsh_path="$HOME/.zshrc" + var_name="ZSH_THEME" + + if [[ "$choice" == "Random" ]]; then + # Pick a random theme from the original themes_array (excluding "Random") + random_theme=${themes_array[$((RANDOM % (${#themes_array[@]} - 1) + 1))]} + theme_to_set="$random_theme" + notify-send -i "$iDIR/ja.png" "Random theme:" "selected: $random_theme" + else + # Set theme to the selected choice + theme_to_set="$choice" + notify-send -i "$iDIR/ja.png" "Theme selected:" "$choice" + fi + + if [ -f "$zsh_path" ]; then + sed -i "s/^$var_name=.*/$var_name=\"$theme_to_set\"/" "$zsh_path" + notify-send -i "$iDIR/ja.png" "OMZ theme" "applied. restart your terminal" + else + notify-send -i "$iDIR/error.png" "E-R-R-O-R" "~.zshrc file not found!" + fi +} + +# Check if rofi is already running +if pidof rofi > /dev/null; then + pkill rofi +fi + +main diff --git a/hypr/animations/00-default.conf b/hypr/animations/00-default.conf new file mode 100644 index 0000000..10279c7 --- /dev/null +++ b/hypr/animations/00-default.conf @@ -0,0 +1,26 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +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 + bezier = overshot, 0.05, 0.9, 0.1, 1.05 + bezier = smoothOut, 0.5, 0, 0.99, 0.99 + bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 5, winIn, slide + animation = windowsOut, 1, 3, smoothOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors + animation = fade, 1, 3, smoothOut + animation = workspaces, 1, 5, overshot + + # animations for -git or version >0.42.0 + animation = workspacesIn, 1, 5, winIn, slide + animation = workspacesOut, 1, 5, winOut, slide +} diff --git a/hypr/animations/01-default - v2.conf b/hypr/animations/01-default - v2.conf new file mode 100644 index 0000000..dfbbed7 --- /dev/null +++ b/hypr/animations/01-default - v2.conf @@ -0,0 +1,27 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +# old animations + +animations { + enabled = yes + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + bezier = linear, 0.0, 0.0, 1.0, 1.0 + 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 = slow, 0, 0.85, 0.3, 1 + bezier = overshot, 0.7, 0.6, 0.1, 1.1 + bezier = bounce, 1.1, 1.6, 0.1, 0.85 + bezier = sligshot, 1, -1, 0.15, 1.25 + bezier = nice, 0, 6.9, 0.5, -4.20 + + animation = windowsIn, 1, 5, slow, popin + animation = windowsOut, 1, 5, winOut, popin + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 10, linear + animation = borderangle, 1, 180, linear, loop #used by rainbow borders and rotating colors + animation = fade, 1, 5, overshot + animation = workspaces, 1, 5, wind + animation = windows, 1, 5, bounce, popin +} \ No newline at end of file diff --git a/hypr/animations/03- Disable Animation.conf b/hypr/animations/03- Disable Animation.conf new file mode 100644 index 0000000..f73a485 --- /dev/null +++ b/hypr/animations/03- Disable Animation.conf @@ -0,0 +1,5 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +animations { + enabled = no +} \ No newline at end of file diff --git a/hypr/animations/END-4.conf b/hypr/animations/END-4.conf new file mode 100644 index 0000000..0ab8d1a --- /dev/null +++ b/hypr/animations/END-4.conf @@ -0,0 +1,40 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "End-4" +# credit https://github.com/end-4/dots-hyprland + +animations { + enabled = true + # Animation curves + + bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = menu_decel, 0.1, 1, 0, 1 + bezier = menu_accel, 0.38, 0.04, 1, 0.07 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + bezier = softAcDecel, 0.26, 0.26, 0.15, 1 + bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration + # Animation configs + animation = windows, 1, 3, md3_decel, popin 60% + animation = windowsIn, 1, 3, md3_decel, popin 60% + animation = windowsOut, 1, 3, md3_accel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 3, md3_decel + # animation = layers, 1, 2, md3_decel, slide + animation = layersIn, 1, 3, menu_decel, slide + animation = layersOut, 1, 1.6, menu_accel + animation = fadeLayersIn, 1, 2, menu_decel + animation = fadeLayersOut, 1, 4.5, menu_accel + animation = workspaces, 1, 7, menu_decel, slide + # animation = workspaces, 1, 2.5, softAcDecel, slide + # animation = workspaces, 1, 7, menu_decel, slidefade 15% + # animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15% + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} diff --git a/hypr/animations/HYDE - Vertical.conf b/hypr/animations/HYDE - Vertical.conf new file mode 100644 index 0000000..ccceccf --- /dev/null +++ b/hypr/animations/HYDE - Vertical.conf @@ -0,0 +1,34 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "Vertical" +# credit https://github.com/prasanthrangan/hyprdots + +animations { + enabled = yes + + bezier = fluent_decel, 0, 0.2, 0.4, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutCubic, 0.33, 1, 0.68, 1 + bezier = easeinoutsine, 0.37, 0, 0.63, 1 + + # Windows + animation = windowsIn, 1, 1.5, easeinoutsine, popin 60% # window open + animation = windowsOut, 1, 1.5, easeOutCubic, popin 60% # window close. + animation = windowsMove, 1, 1.5, easeinoutsine, slide # everything in between, moving, dragging, resizing. + + # Fading + animation = fade, 1, 2.5, fluent_decel + + animation = fadeLayersIn, 0 + animation = border, 0 + + + # Layers + animation = layers, 1, 1.5, easeinoutsine, popin + + # Workspaces + #animation = workspaces, 1, 3, fluent_decel, slidefade 30% # styles: slide, slidevert, fade, slidefade, slidefadevert + animation = workspaces, 1, 3, fluent_decel, slidefadevert 30% # styles: slide, slidevert, fade, slidefade, slidefadevert + + animation = specialWorkspace, 1, 2, fluent_decel, slidefade 10% +} diff --git a/hypr/animations/HYDE - default.conf b/hypr/animations/HYDE - default.conf new file mode 100644 index 0000000..96c439d --- /dev/null +++ b/hypr/animations/HYDE - default.conf @@ -0,0 +1,21 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "Default" +# credit https://github.com/prasanthrangan/hyprdots + +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, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind + animation = specialWorkspace, 1, 5, wind, slidevert +} diff --git a/hypr/animations/HYDE - minimal-1.conf b/hypr/animations/HYDE - minimal-1.conf new file mode 100644 index 0000000..6dbcf8e --- /dev/null +++ b/hypr/animations/HYDE - minimal-1.conf @@ -0,0 +1,27 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# # name "Minimal-1" +# credit https://github.com/prasanthrangan/hyprdots- + +animations { + enabled = true + + # █▄▄ █▀▀ ▀█ █ █▀▀ █▀█   █▀▀ █░█ █▀█ █░█ █▀▀ + # █▄█ ██▄ █▄ █ ██▄ █▀▄   █▄▄ █▄█ █▀▄ ▀▄▀ ██▄ + 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, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/hypr/animations/HYDE - minimal-2.conf b/hypr/animations/HYDE - minimal-2.conf new file mode 100644 index 0000000..6ac56bc --- /dev/null +++ b/hypr/animations/HYDE - minimal-2.conf @@ -0,0 +1,16 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# # name "Minimal-2" +# credit https://github.com/prasanthrangan/hyprdots + +animations { + enabled = yes + + bezier = quart, 0.25, 1, 0.5, 1 + + animation = windows, 1, 6, quart, slide + animation = border, 1, 6, quart + animation = borderangle, 1, 6, quart + animation = fade, 1, 6, quart + animation = workspaces, 1, 6, quart +} \ No newline at end of file diff --git a/hypr/animations/HYDE - optimized.conf b/hypr/animations/HYDE - optimized.conf new file mode 100644 index 0000000..7534c69 --- /dev/null +++ b/hypr/animations/HYDE - optimized.conf @@ -0,0 +1,41 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "Optimized" +# credit https://github.com/prasanthrangan/hyprdots + +animations { + enabled = true + bezier = wind, 0.05, 0.85, 0.03, 0.97 + bezier = winIn, 0.07, 0.88, 0.04, 0.99 + bezier = winOut, 0.20, -0.15, 0, 1 + bezier = liner, 1, 1, 1, 1 + bezier = md3_standard, 0.12, 0, 0, 1 + bezier = md3_decel, 0.05, 0.80, 0.10, 0.97 + bezier = md3_accel, 0.20, 0, 0.80, 0.08 + bezier = overshot, 0.05, 0.85, 0.07, 1.04 + bezier = crazyshot, 0.1, 1.22, 0.68, 0.98 + bezier = hyprnostretch, 0.05, 0.82, 0.03, 0.94 + bezier = menu_decel, 0.05, 0.82, 0, 1 + bezier = menu_accel, 0.20, 0, 0.82, 0.10 + bezier = easeInOutCirc, 0.75, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.48, 0.38, 1 + bezier = easeOutExpo, 0.10, 0.94, 0.23, 0.98 + bezier = softAcDecel, 0.20, 0.20, 0.15, 1 + bezier = md2, 0.30, 0, 0.15, 1 + + bezier = OutBack, 0.28, 1.40, 0.58, 1 + bezier = easeInOutCirc, 0.78, 0, 0.15, 1 + + animation = border, 1, 1.6, liner + animation = borderangle, 1, 82, liner, once + animation = windowsIn, 1, 3.2, winIn, slide + animation = windowsOut, 1, 2.8, easeOutCirc + animation = windowsMove, 1, 3.0, wind, slide + animation = fade, 1, 1.8, md3_decel + animation = layersIn, 1, 1.8, menu_decel, slide + animation = layersOut, 1, 1.5, menu_accel + animation = fadeLayersIn, 1, 1.6, menu_decel + animation = fadeLayersOut, 1, 1.8, menu_accel + animation = workspaces, 1, 4.0, menu_decel, slide + animation = specialWorkspace, 1, 2.3, md3_decel, slidefadevert 15% +} diff --git a/hypr/animations/ML4W - classic.conf b/hypr/animations/ML4W - classic.conf new file mode 100644 index 0000000..af8c5e1 --- /dev/null +++ b/hypr/animations/ML4W - classic.conf @@ -0,0 +1,15 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "Classic" +# credit https://github.com/mylinuxforwork/dotfiles + +animations { + enabled = true + 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 +} diff --git a/hypr/animations/ML4W - dynamic.conf b/hypr/animations/ML4W - dynamic.conf new file mode 100644 index 0000000..c5f1da0 --- /dev/null +++ b/hypr/animations/ML4W - dynamic.conf @@ -0,0 +1,20 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "Dynamic" +# credit https://github.com/mylinuxforwork/dotfiles + +animations { + enabled = true + 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/hypr/animations/ML4W - fast.conf b/hypr/animations/ML4W - fast.conf new file mode 100644 index 0000000..9623c41 --- /dev/null +++ b/hypr/animations/ML4W - fast.conf @@ -0,0 +1,24 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "Fast" +# credit https://github.com/mylinuxforwork/dotfiles + +animations { + enabled = true + bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = fluent_decel, 0.1, 1, 0, 1 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + animation = windows, 1, 3, md3_decel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 2.5, md3_decel + animation = workspaces, 1, 3.5, easeOutExpo, slide + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} \ No newline at end of file diff --git a/hypr/animations/ML4W - high.conf b/hypr/animations/ML4W - high.conf new file mode 100644 index 0000000..e881d8b --- /dev/null +++ b/hypr/animations/ML4W - high.conf @@ -0,0 +1,20 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "High" +# credit https://github.com/mylinuxforwork/dotfiles + +animations { + enabled = true + 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, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/hypr/animations/ML4W - moving.conf b/hypr/animations/ML4W - moving.conf new file mode 100644 index 0000000..974a8f6 --- /dev/null +++ b/hypr/animations/ML4W - moving.conf @@ -0,0 +1,20 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "Moving" +# credit https://github.com/mylinuxforwork/dotfiles + + +animations { + enabled = true + bezier = overshot, 0.05, 0.9, 0.1, 1.05 + bezier = smoothOut, 0.5, 0, 0.99, 0.99 + bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + animation = windows, 1, 5, overshot, slide + animation = windowsOut, 1, 3, smoothOut + animation = windowsIn, 1, 3, smoothOut + animation = windowsMove, 1, 4, smoothIn, slide + animation = border, 1, 5, default + animation = fade, 1, 5, smoothIn + animation = fadeDim, 1, 5, smoothIn + animation = workspaces, 1, 6, default +} diff --git a/hypr/animations/ML4W - standard.conf b/hypr/animations/ML4W - standard.conf new file mode 100644 index 0000000..aa312bb --- /dev/null +++ b/hypr/animations/ML4W - standard.conf @@ -0,0 +1,15 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "Standard" +# credit https://github.com/mylinuxforwork/dotfiles + +animations { + enabled = true + 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 +} diff --git a/hypr/animations/Mahaveer - me-1.conf b/hypr/animations/Mahaveer - me-1.conf new file mode 100644 index 0000000..7c93f3e --- /dev/null +++ b/hypr/animations/Mahaveer - me-1.conf @@ -0,0 +1,55 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "Me-1" +# credit https://github.com/mahaveergurjar + +animations { + enabled = true + # Animation curves + 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 + # bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = menu_decel, 0.1, 1, 0, 1 + bezier = menu_accel, 0.38, 0.04, 1, 0.07 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + bezier = softAcDecel, 0.26, 0.26, 0.15, 1 + bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration + + # Animation configs + # animation = windows, 1, 3, md3_decel, popin 60% + # animation = windowsIn, 1, 3, md3_decel, popin 60% + # animation = windowsOut, 1, 3, md3_accel, popin 60% + # animation = windows, 1, 6, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + 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, 10, default + animation = fade, 1, 3, md3_decel + # animation = layers, 1, 2, md3_decel, slide + animation = layersIn, 1, 3, menu_decel, slide + animation = layersOut, 1, 1.6, menu_accel + animation = fadeLayersIn, 1, 2, menu_decel + animation = fadeLayersOut, 1, 4.5, menu_accel + animation = workspaces, 1, 7, menu_decel, slide + animation = workspaces, 1, 5, wind + # animation = workspaces, 1, 2.5, softAcDecel, slide + # animation = workspaces, 1, 7, menu_decel, slidefade 15% + animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15% + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} + + diff --git a/hypr/animations/Mahaveer - me-2.conf b/hypr/animations/Mahaveer - me-2.conf new file mode 100644 index 0000000..4cc2bfa --- /dev/null +++ b/hypr/animations/Mahaveer - me-2.conf @@ -0,0 +1,30 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# +# name "Me-2" +# credit https://github.com/mahaveergurjar + + +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 + bezier = overshot, 0.05, 0.9, 0.1, 1.05 + bezier = smoothOut, 0.5, 0, 0.99, 0.99 + bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 5, winIn, slide + animation = windowsOut, 1, 3, smoothOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors + animation = fade, 1, 3, smoothOut + animation = workspaces, 1, 5, overshot + + # animations for -git or version >0.42.0 + animation = workspacesIn, 1, 5, winIn, slide + animation = workspacesOut, 1, 5, winOut, slide +} \ No newline at end of file diff --git a/hypr/application-style.conf b/hypr/application-style.conf new file mode 100644 index 0000000..7e67f10 --- /dev/null +++ b/hypr/application-style.conf @@ -0,0 +1,8 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# as per Hyprland wiki: hyprland-qt-support provides a QML style for hypr* qt6 apps + +roundess = 2 + +border_width = 0 + +reduce_motion = false \ No newline at end of file diff --git a/hypr/configs/Keybinds.conf b/hypr/configs/Keybinds.conf new file mode 100644 index 0000000..853043d --- /dev/null +++ b/hypr/configs/Keybinds.conf @@ -0,0 +1,152 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Default Keybinds +# visit https://wiki.hyprland.org/Configuring/Binds/ for more info + +# /* ---- ✴️ Variables ✴️ ---- */ # +$mainMod = SUPER +$scriptsDir = $HOME/.config/hypr/scripts +$UserConfigs = $HOME/.config/hypr/UserConfigs +$UserScripts = $HOME/.config/hypr/UserScripts + +bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0 # exit Hyprland +bind = $mainMod, C, killactive, # close active (not kill) +bind = $mainMod SHIFT, C, exec, $scriptsDir/KillActiveProcess.sh # Kill active process +bind = $mainMod ALT, L, exec, $scriptsDir/LockScreen.sh # screen lock +bind = $mainMod ALT, P, exec, $scriptsDir/Wlogout.sh # power menu +bind = $mainMod ALT, A, exec, swaync-client -t -sw # swayNC notification panel +bind = $mainMod, E, exec, $scriptsDir/Kool_Quick_Settings.sh # Settings Menu KooL Hyprland Settings + +# My Bindings +bind = $mainMod, V, togglefloating + +# Master Layout +bind = $mainMod CTRL, D, layoutmsg, removemaster +bind = $mainMod, I, layoutmsg, addmaster +bind = $mainMod, J, layoutmsg, cyclenext +bind = $mainMod, K, layoutmsg, cycleprev +bind = $mainMod CTRL, Return, layoutmsg, swapwithmaster + +# Dwindle Layout +bind = $mainMod SHIFT, I, togglesplit # only works on dwindle layout +bind = $mainMod, P, pseudo, # dwindle + +# Works on either layout (Master or Dwindle) +bind = $mainMod, M, exec, hyprctl dispatch splitratio 0.3 + +# group +bind = $mainMod, G, togglegroup # toggle group +bind = $mainMod CTRL, tab, changegroupactive # change focus to another window + + # Cycle windows if floating bring to top +bind = ALT, tab, cyclenext +bind = ALT, tab, bringactivetotop + +# Special Keys / Hot Keys +bindel = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc # volume up +bindel = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec # volume down +bindl = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic # mic mute +bindl = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle # mute +bindl = , xf86Sleep, exec, systemctl suspend # sleep button +bindl = , xf86Rfkill, exec, $scriptsDir/AirplaneMode.sh # Airplane mode + +# media controls using keyboards +bindl = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause +bindl = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause +bindl = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause +bindl = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt +bindl = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv +bindl = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop + +# Screenshot keybindings NOTE: You may need to press Fn key as well +bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now # screenshot +bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area # screenshot (area) +bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 # screenshot (5 secs delay) +bind = $mainMod CTRL SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --in10 # screenshot (10 secs delay) +bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active # screenshot (active window only) + +# screenshot with swappy (another screenshot tool) +bind = $mainMod SHIFT, S, exec, $scriptsDir/ScreenShot.sh --swappy #screenshot (swappy) + +# Resize windows +binde = $mainMod SHIFT, left, resizeactive,-50 0 +binde = $mainMod SHIFT, right, resizeactive,50 0 +binde = $mainMod SHIFT, up, resizeactive,0 -50 +binde = $mainMod SHIFT, down, resizeactive,0 50 + +# Move windows +bind = $mainMod CTRL, left, movewindow, l +bind = $mainMod CTRL, right, movewindow, r +bind = $mainMod CTRL, up, movewindow, u +bind = $mainMod CTRL, down, movewindow, d + +# Swap windows +bind = $mainMod ALT, left, swapwindow, l +bind = $mainMod ALT, right, swapwindow, r +bind = $mainMod ALT, up, swapwindow, u +bind = $mainMod ALT, down, swapwindow, d + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Workspaces related +bind = $mainMod, tab, workspace, m+1 +bind = $mainMod SHIFT, tab, workspace, m-1 + +# Special workspace +bind = $mainMod SHIFT, U, movetoworkspace, special +bind = $mainMod, U, togglespecialworkspace, + +# The following mappings use the key codes to better support various keyboard layouts +# 1 is code:10, 2 is code 11, etc +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, code:10, workspace, 1 # NOTE: code:10 = key 1 +bind = $mainMod, code:11, workspace, 2 # NOTE: code:11 = key 2 +bind = $mainMod, code:12, workspace, 3 # NOTE: code:12 = key 3 +bind = $mainMod, code:13, workspace, 4 # NOTE: code:13 = key 4 +bind = $mainMod, code:14, workspace, 5 # NOTE: code:14 = key 5 +bind = $mainMod, code:15, workspace, 6 # NOTE: code:15 = key 6 +bind = $mainMod, code:16, workspace, 7 # NOTE: code:16 = key 7 +bind = $mainMod, code:17, workspace, 8 # NOTE: code:17 = key 8 +bind = $mainMod, code:18, workspace, 9 # NOTE: code:18 = key 9 +bind = $mainMod, code:19, workspace, 10 # NOTE: code:19 = key 0 + +# Move active window and follow to workspace mainMod + SHIFT [0-9] +bind = $mainMod SHIFT, code:10, movetoworkspace, 1 # NOTE: code:10 = key 1 +bind = $mainMod SHIFT, code:11, movetoworkspace, 2 # NOTE: code:11 = key 2 +bind = $mainMod SHIFT, code:12, movetoworkspace, 3 # NOTE: code:12 = key 3 +bind = $mainMod SHIFT, code:13, movetoworkspace, 4 # NOTE: code:13 = key 4 +bind = $mainMod SHIFT, code:14, movetoworkspace, 5 # NOTE: code:14 = key 5 +bind = $mainMod SHIFT, code:15, movetoworkspace, 6 # NOTE: code:15 = key 6 +bind = $mainMod SHIFT, code:16, movetoworkspace, 7 # NOTE: code:16 = key 7 +bind = $mainMod SHIFT, code:17, movetoworkspace, 8 # NOTE: code:17 = key 8 +bind = $mainMod SHIFT, code:18, movetoworkspace, 9 # NOTE: code:18 = key 9 +bind = $mainMod SHIFT, code:19, movetoworkspace, 10 # NOTE: code:19 = key 0 +bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ +bind = $mainMod SHIFT, bracketright, movetoworkspace, +1 # brackets ] + +# Move active window to a workspace silently mainMod + CTRL [0-9] +bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1 # NOTE: code:10 = key 1 +bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2 # NOTE: code:11 = key 2 +bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3 # NOTE: code:12 = key 3 +bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4 # NOTE: code:13 = key 4 +bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5 # NOTE: code:14 = key 5 +bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6 # NOTE: code:15 = key 6 +bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7 # NOTE: code:16 = key 7 +bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8 # NOTE: code:17 = key 8 +bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9 # NOTE: code:18 = key 9 +bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10 # NOTE: code:19 = key 0 +bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ +bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1 # brackets ] + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 +#bind = $mainMod, period, workspace, e+1 +#bind = $mainMod, comma, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow # NOTE: mouse:272 = left click +bindm = $mainMod, mouse:273, resizewindow # NOTE: mouse:272 = right click diff --git a/hypr/configs/Keybinds.confDefault b/hypr/configs/Keybinds.confDefault new file mode 100644 index 0000000..0a9c67e --- /dev/null +++ b/hypr/configs/Keybinds.confDefault @@ -0,0 +1,152 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Default Keybinds +# visit https://wiki.hyprland.org/Configuring/Binds/ for more info + +# /* ---- ✴️ Variables ✴️ ---- */ # +$mainMod = SUPER +$scriptsDir = $HOME/.config/hypr/scripts +$UserConfigs = $HOME/.config/hypr/UserConfigs +$UserScripts = $HOME/.config/hypr/UserScripts + +bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0 # exit Hyprland +bind = $mainMod, Q, killactive, # close active (not kill) +bind = $mainMod SHIFT, Q, exec, $scriptsDir/KillActiveProcess.sh # Kill active process +bind = CTRL ALT, L, exec, $scriptsDir/LockScreen.sh # screen lock +bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh # power menu +bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC notification panel +bind = $mainMod SHIFT, E, exec, $scriptsDir/Kool_Quick_Settings.sh # Settings Menu KooL Hyprland Settings + +# My Bindings +bind = CTRL, R, exec, alacritty + +# Master Layout +bind = $mainMod CTRL, D, layoutmsg, removemaster +bind = $mainMod, I, layoutmsg, addmaster +bind = $mainMod, J, layoutmsg, cyclenext +bind = $mainMod, K, layoutmsg, cycleprev +bind = $mainMod CTRL, Return, layoutmsg, swapwithmaster + +# Dwindle Layout +bind = $mainMod SHIFT, I, togglesplit # only works on dwindle layout +bind = $mainMod, P, pseudo, # dwindle + +# Works on either layout (Master or Dwindle) +bind = $mainMod, M, exec, hyprctl dispatch splitratio 0.3 + +# group +bind = $mainMod, G, togglegroup # toggle group +bind = $mainMod CTRL, tab, changegroupactive # change focus to another window + + # Cycle windows if floating bring to top +bind = ALT, tab, cyclenext +bind = ALT, tab, bringactivetotop + +# Special Keys / Hot Keys +bindel = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc # volume up +bindel = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec # volume down +bindl = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic # mic mute +bindl = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle # mute +bindl = , xf86Sleep, exec, systemctl suspend # sleep button +bindl = , xf86Rfkill, exec, $scriptsDir/AirplaneMode.sh # Airplane mode + +# media controls using keyboards +bindl = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause +bindl = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause +bindl = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause +bindl = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt +bindl = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv +bindl = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop + +# Screenshot keybindings NOTE: You may need to press Fn key as well +bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now # screenshot +bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area # screenshot (area) +bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 # screenshot (5 secs delay) +bind = $mainMod CTRL SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --in10 # screenshot (10 secs delay) +bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active # screenshot (active window only) + +# screenshot with swappy (another screenshot tool) +bind = $mainMod SHIFT, S, exec, $scriptsDir/ScreenShot.sh --swappy #screenshot (swappy) + +# Resize windows +binde = $mainMod SHIFT, left, resizeactive,-50 0 +binde = $mainMod SHIFT, right, resizeactive,50 0 +binde = $mainMod SHIFT, up, resizeactive,0 -50 +binde = $mainMod SHIFT, down, resizeactive,0 50 + +# Move windows +bind = $mainMod CTRL, left, movewindow, l +bind = $mainMod CTRL, right, movewindow, r +bind = $mainMod CTRL, up, movewindow, u +bind = $mainMod CTRL, down, movewindow, d + +# Swap windows +bind = $mainMod ALT, left, swapwindow, l +bind = $mainMod ALT, right, swapwindow, r +bind = $mainMod ALT, up, swapwindow, u +bind = $mainMod ALT, down, swapwindow, d + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Workspaces related +bind = $mainMod, tab, workspace, m+1 +bind = $mainMod SHIFT, tab, workspace, m-1 + +# Special workspace +bind = $mainMod SHIFT, U, movetoworkspace, special +bind = $mainMod, U, togglespecialworkspace, + +# The following mappings use the key codes to better support various keyboard layouts +# 1 is code:10, 2 is code 11, etc +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, code:10, workspace, 1 # NOTE: code:10 = key 1 +bind = $mainMod, code:11, workspace, 2 # NOTE: code:11 = key 2 +bind = $mainMod, code:12, workspace, 3 # NOTE: code:12 = key 3 +bind = $mainMod, code:13, workspace, 4 # NOTE: code:13 = key 4 +bind = $mainMod, code:14, workspace, 5 # NOTE: code:14 = key 5 +bind = $mainMod, code:15, workspace, 6 # NOTE: code:15 = key 6 +bind = $mainMod, code:16, workspace, 7 # NOTE: code:16 = key 7 +bind = $mainMod, code:17, workspace, 8 # NOTE: code:17 = key 8 +bind = $mainMod, code:18, workspace, 9 # NOTE: code:18 = key 9 +bind = $mainMod, code:19, workspace, 10 # NOTE: code:19 = key 0 + +# Move active window and follow to workspace mainMod + SHIFT [0-9] +bind = $mainMod SHIFT, code:10, movetoworkspace, 1 # NOTE: code:10 = key 1 +bind = $mainMod SHIFT, code:11, movetoworkspace, 2 # NOTE: code:11 = key 2 +bind = $mainMod SHIFT, code:12, movetoworkspace, 3 # NOTE: code:12 = key 3 +bind = $mainMod SHIFT, code:13, movetoworkspace, 4 # NOTE: code:13 = key 4 +bind = $mainMod SHIFT, code:14, movetoworkspace, 5 # NOTE: code:14 = key 5 +bind = $mainMod SHIFT, code:15, movetoworkspace, 6 # NOTE: code:15 = key 6 +bind = $mainMod SHIFT, code:16, movetoworkspace, 7 # NOTE: code:16 = key 7 +bind = $mainMod SHIFT, code:17, movetoworkspace, 8 # NOTE: code:17 = key 8 +bind = $mainMod SHIFT, code:18, movetoworkspace, 9 # NOTE: code:18 = key 9 +bind = $mainMod SHIFT, code:19, movetoworkspace, 10 # NOTE: code:19 = key 0 +bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ +bind = $mainMod SHIFT, bracketright, movetoworkspace, +1 # brackets ] + +# Move active window to a workspace silently mainMod + CTRL [0-9] +bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1 # NOTE: code:10 = key 1 +bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2 # NOTE: code:11 = key 2 +bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3 # NOTE: code:12 = key 3 +bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4 # NOTE: code:13 = key 4 +bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5 # NOTE: code:14 = key 5 +bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6 # NOTE: code:15 = key 6 +bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7 # NOTE: code:16 = key 7 +bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8 # NOTE: code:17 = key 8 +bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9 # NOTE: code:18 = key 9 +bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10 # NOTE: code:19 = key 0 +bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ +bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1 # brackets ] + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 +bind = $mainMod, period, workspace, e+1 +bind = $mainMod, comma, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow # NOTE: mouse:272 = left click +bindm = $mainMod, mouse:273, resizewindow # NOTE: mouse:272 = right click diff --git a/hypr/configs/Keybinds.confMine b/hypr/configs/Keybinds.confMine new file mode 100644 index 0000000..65805ff --- /dev/null +++ b/hypr/configs/Keybinds.confMine @@ -0,0 +1,61 @@ +$mainMod = SUPER + +# Function Keys +bindle=, XF86MonBrightnessUp, exec, brightnessctl -c backlight set 5%+ +bindle=, XF86MonBrightnessDown, exec, brightnessctl -c backlight set 5%- + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, $terminal +# bind = CTRL, Space, exec, fuzzel +bind = $mainMod, Return, exec, $terminal +bind = $mainMod, W, exec, $browser +bind = $mainMod, S, exec, grimshot copy area +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, 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 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow diff --git a/hypr/hypridle.conf b/hypr/hypridle.conf new file mode 100644 index 0000000..4b8cd7e --- /dev/null +++ b/hypr/hypridle.conf @@ -0,0 +1,50 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Hypridle +# Original config submitted by https://github.com/SherLock707 + +$iDIR="$HOME/.config/swaync/images/ja.png" + +general { + lock_cmd = pidof hyprlock || hyprlock # runs hyprlock if it is not already running (this is always run when "loginctl lock-session" is called) + # unlock_cmd = killall hyprlock # kills hyprlock when unlocking (this is always run when "loginctl unlock-session" is called) + before_sleep_cmd = loginctl lock-session # ensures that the session is locked before going to sleep + after_sleep_cmd = hyprctl dispatch dpms on # turn of screen after sleep (not strictly necessary, but just in case) + ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam) +} + +# turn off screen faster if session is already locked +# (disabled by default) +# listener { +# timeout = 30 # 30 seconds +# on-timeout = pidof hyprlock && hyprctl dispatch dpms off # turns off the screen if hyprlock is active +# on-resume = pidof hyprlock && hyprctl dispatch dpms on # command to run when activity is detected after timeout has fired. +# } + +# Warn +listener { + timeout = 540 # 9 min + on-timeout = notify-send -i $iDIR " You are idle!" # command to run when timeout has passed + on-resume = notify-send -i $iDIR " Oh! you're Back" " Hello !!!" # command to run when activity is detected after timeout has fired. +} + +# Screenlock +listener { + timeout = 600 # 10 min + on-timeout = loginctl lock-session # command to run when timeout has passed + #on-resume = notify-send -i $iDIR " System Unlocked!" # command to run when activity is detected after timeout has fired. +} + +# Turn off screen +# (disabled by default) +# listener { +# timeout = 630 # 10.5 min +# on-timeout = hyprctl dispatch dpms off # command to run when timeout has passed +# on-resume = hyprctl dispatch dpms on # command to run when activity is detected after timeout has fired. +# } + +# Suspend # disabled by default +# listener { + # timeout = 1200 # 20 min + # on-timeout = systemctl suspend # command to run when timeout has passed + # on-resume = notify-send -i $iDIR " Oh! you're back" "Hello !!!" # command to run when activity is detected after timeout has fired. +# } diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf new file mode 100644 index 0000000..71f243e --- /dev/null +++ b/hypr/hyprland.conf @@ -0,0 +1,43 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# always refer to Hyprland wiki +# https://wiki.hyprland.org/ + +# Initial boot script enable to apply initial wallpapers, theming, new settings etc. +# suggest not to change this or delete this including deleting referrence file in ~/.config/hypr/.initial_startup_done +# as long as the referrence file is present, this initial-boot.sh will not execute +exec-once = $HOME/.config/hypr/initial-boot.sh + +# Sourcing external config files +$configs = $HOME/.config/hypr/configs # Default Configs directory path + +source=$configs/Keybinds.conf # Pre-configured keybinds + +# ## This is where you want to start tinkering +$UserConfigs = $HOME/.config/hypr/UserConfigs # User Configs directory path + +source= $UserConfigs/Startup_Apps.conf # put your start-up packages on this file + +source= $UserConfigs/ENVariables.conf # Environment variables to load + +#source= $UserConfigs/Monitors.conf # Its all about your monitor config (old dots) will remove on push to main +#source= $UserConfigs/WorkspaceRules.conf # Hyprland workspaces (old dots) will remove on push to main + +source= $UserConfigs/Laptops.conf # For laptop related + +source= $UserConfigs/LaptopDisplay.conf # Laptop display related. You need to read the comment on this file + +source= $UserConfigs/WindowRules.conf # all about Hyprland Window Rules and Layer Rules + +source= $UserConfigs/UserDecorations.conf # Decorations config file + +source= $UserConfigs/UserAnimations.conf # Animation config file + +source= $UserConfigs/UserKeybinds.conf # Put your own keybinds here + +source= $UserConfigs/UserSettings.conf # Main Hyprland Settings. + +source= $UserConfigs/01-UserDefaults.conf # settings for User defaults apps + +# nwg-displays +source= $HOME/.config/hypr/monitors.conf +source= $HOME/.config/hypr/workspaces.conf \ No newline at end of file diff --git a/hypr/hyprlock-1080p.conf b/hypr/hyprlock-1080p.conf new file mode 100644 index 0000000..14f2f35 --- /dev/null +++ b/hypr/hyprlock-1080p.conf @@ -0,0 +1,183 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Hyprlock config for < 1080p monitor resolutions +# Original config submitted by https://github.com/SherLock707 + +# Sourcing colors generated by wallust +source = $HOME/.config/hypr/wallust/wallust-hyprland.conf +$Scripts = $HOME/.config/hypr/scripts + +general { + grace = 1 + fractional_scaling = 2 + immediate_render = true +} + +background { + monitor = + # NOTE: use only 1 path + #path = screenshot # screenshot of your desktop + #path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_modified # by wallpaper effects + path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current # current wallpaper + + color = rgb(0,0,0) # color will be rendered initially until path is available + + # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations + blur_size = 3 + blur_passes = 2 # 0 disables blurring + noise = 0.0117 + contrast = 1.3000 # Vibrant!!! + brightness = 0.8000 + vibrancy = 0.2100 + vibrancy_darkness = 0.0 +} + + +# Date +label { + monitor = + text = cmd[update:18000000] echo " "$(date +'%A, %-d %B')" " + color = $color13 + font_size = 16 + font_family = Victor Mono Bold Italic + position = 0, -120 + halign = center + valign = center +} + +# Hour-Time +label { + monitor = + text = cmd[update:1000] echo "$(date +"%H")" +# text = cmd[update:1000] echo "$(date +"%I")" #AM/PM + #color = rgba(255, 185, 0, .8) + color = $color13 + font_size = 200 + font_family = JetBrainsMono Nerd Font ExtraBold + position = 0, -60 + halign = center + valign = top +} + +# Minute-Time +label { + monitor = + text = cmd[update:1000] echo "$(date +"%M")" + #color = rgba(15, 10, 222, .8) + color = $color12 + font_size = 200 + font_family = JetBrainsMono Nerd Font ExtraBold + position = 0, -340 + halign = center + valign = top +} + +# Seconds-Time +label { + monitor = + text = cmd[update:1000] echo "$(date +"%S")" +# text = cmd[update:1000] echo "$(date +"%S %p")" #AM/PM + color = $color11 + font_size = 35 + font_family = JetBrainsMono Nerd Font ExtraBold + position = 0, -350 + halign = center + valign = top +} + +# Put a picture of choice here. Default is the current wallpaper +#image { +# monitor = +# path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current +# size = 160 +# rounding = -1 +# border_size = 0 +# border_color = $color11 +# rotate = 0 +# reload_time = -1 +# position = 0, 280 +# halign = center +# valign = bottom +} + +# USER +label { + monitor = + text =  $USER + color = $color13 + font_size = 24 + font_family = Victor Mono Bold Oblique + position = 0, 220 + halign = center + valign = bottom +} + +# INPUT FIELD +input-field { + monitor = + size = 200, 60 + outline_thickness = 2 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + outer_color = $color11 + inner_color = rgba(255, 255, 255, 0.1) + capslock_color = rgb(255,255,255) + font_color = $color13 + fade_on_empty = false + font_family = Victor Mono Bold Oblique + placeholder_text = 🔒 Type Password + hide_input = false + position = 0, 100 + halign = center + valign = bottom +} + +# Keyboard LAYOUT +label { + monitor = + text = $LAYOUT + color = $color13 + font_size = 10 + font_family = Victor Mono Bold Oblique + position = 0, 70 + halign = center + valign = bottom +} + +# uptime +label { + monitor = + text = cmd[update:60000] echo " "$(uptime -p || $Scripts/UptimeNixOS.sh)" " + color = $color13 + font_size = 16 + font_family = Victor Mono Bold Oblique + position = 0, 0 + halign = right + valign = bottom +} + +# battery information +label { + monitor = + text = cmd[update:1000] echo " "$($Scripts/Battery.sh)" " + color = $color13 + font_size = 16 + font_family = Victor Mono Bold Oblique + position = 0, 30 + halign = right + valign = bottom +} + +# weather edit the scripts for locations +# weather scripts are located in ~/.config/hypr/UserScripts Weather.sh and/or Weather.py +# see https://github.com/JaKooLit/Hyprland-Dots/wiki/TIPS#%EF%B8%8F-weather-app-related-for-waybar-and-hyprlock +label { + monitor = + text = cmd[update:3600000] [ -f "$HOME/.cache/.weather_cache" ] && cat "$HOME/.cache/.weather_cache" + color = $color13 + font_size = 16 + font_family = Victor Mono Bold Oblique + position = 50, 0 + halign = left + valign = bottom +} diff --git a/hypr/hyprlock.conf b/hypr/hyprlock.conf new file mode 100644 index 0000000..e8bef16 --- /dev/null +++ b/hypr/hyprlock.conf @@ -0,0 +1,184 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Hyprlock config for => 2k monitor resolutions +# Original config submitted by https://github.com/SherLock707 + +# Sourcing colors generated by wallust +source = $HOME/.config/hypr/wallust/wallust-hyprland.conf +$Scripts = $HOME/.config/hypr/scripts + +general { + grace = 1 + fractional_scaling = 2 + immediate_render = true +} + +background { + monitor = + # NOTE: use only 1 path + #path = screenshot # screenshot of your desktop + #path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_modified # by wallpaper effects + path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current # current wallpaper + + color = rgb(0,0,0) # color will be rendered initially until path is available + + # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations + blur_size = 3 + blur_passes = 2 # 0 disables blurring + noise = 0.0117 + contrast = 1.3000 # Vibrant!!! + brightness = 0.8000 + vibrancy = 0.2100 + vibrancy_darkness = 0.0 +} + + +# Date +label { + monitor = + text = cmd[update:18000000] echo " "$(date +'%A, %-d %B')" " + color = $color13 + font_size = 18 + font_family = Victor Mono Bold Italic + position = 0, -120 + halign = center + valign = center +} + +# Hour-Time +label { + monitor = +# text = cmd[update:1000] echo "$(date +"%H")" + text = cmd[update:1000] echo "$(date +"%I")" #AM/PM + #color = rgba(255, 185, 0, .8) + color = $color13 + font_size = 240 + font_family = JetBrainsMono Nerd Font ExtraBold + position = 0, -100 + halign = center + valign = top +} + +# Minute-Time +label { + monitor = + text = cmd[update:1000] echo "$(date +"%M")" + #color = rgba(15, 10, 222, .8) + color = $color12 + font_size = 240 + font_family = JetBrainsMono Nerd Font ExtraBold + position = 0, -450 + halign = center + valign = top +} + +# Seconds-Time +label { + monitor = +# text = cmd[update:1000] echo "$(date +"%S")" + text = cmd[update:1000] echo "$(date +"%S %p")" #AM/PM + color = $color11 + font_size = 50 + font_family = JetBrainsMono Nerd Font ExtraBold + position = 0, -450 + halign = center + valign = top +} + +# Put a picture of choice here. Default is the current wallpaper +#image { +# monitor = +# #path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current +# size = 160 +# rounding = -1 +# border_size = 0 +# border_color = $color11 +# rotate = 0 +# reload_time = -1 +# position = 0, 400 +# halign = center +# valign = bottom +#} + +# USER +label { + monitor = + text =  $USER + color = $color13 + font_size = 24 + font_family = Victor Mono Bold Oblique + position = 0, 280 + halign = center + valign = bottom +} + +# INPUT FIELD +input-field { + monitor = + size = 300, 60 + outline_thickness = 2 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + outer_color = $color11 + inner_color = rgba(255, 255, 255, 0.1) + font_color = $color13 + capslock_color = rgb(255,255,255) + fade_on_empty = false + font_family = Victor Mono Bold Oblique + placeholder_text = 🔒 Type Password + hide_input = false + position = 0, 120 + halign = center + valign = bottom +} + + +# Keyboard LAYOUT +label { + monitor = + text = $LAYOUT + color = $color13 + font_size = 12 + font_family = Victor Mono Bold Oblique + position = 0, 80 + halign = center + valign = bottom +} + +# uptime +label { + monitor = + text = cmd[update:60000] echo " "$(uptime -p || $Scripts/UptimeNixOS.sh)" " + color = $color13 + font_size = 18 + font_family = Victor Mono Bold Oblique + position = 0, 0 + halign = right + valign = bottom +} + +# battery information +label { + monitor = + text = cmd[update:1000] echo " "$($Scripts/Battery.sh)" " + color = $color13 + font_size = 18 + font_family = Victor Mono Bold Oblique + position = 0, 30 + halign = right + valign = bottom +} + +# weather edit the scripts for locations +# weather scripts are located in ~/.config/hypr/UserScripts Weather.sh and/or Weather.py +# see https://github.com/JaKooLit/Hyprland-Dots/wiki/TIPS#%EF%B8%8F-weather-app-related-for-waybar-and-hyprlock +label { + monitor = + text = cmd[update:3600000] [ -f "$HOME/.cache/.weather_cache" ] && cat "$HOME/.cache/.weather_cache" + color = $color13 + font_size = 18 + font_family = Victor Mono Bold Oblique + position = 50, 0 + halign = left + valign = bottom +} diff --git a/hypr/initial-boot.sh b/hypr/initial-boot.sh new file mode 100755 index 0000000..5b49cb6 --- /dev/null +++ b/hypr/initial-boot.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# A bash script designed to run only once dotfiles installed + +# THIS SCRIPT CAN BE DELETED ONCE SUCCESSFULLY BOOTED!! And also, edit ~/.config/hypr/configs/Settings.conf +# NOT necessary to do since this script is only designed to run only once as long as the marker exists +# marker file is located at ~/.config/hypr/.initial_startup_done +# However, I do highly suggest not to touch it since again, as long as the marker exist, script wont run + +# Variables +scriptsDir=$HOME/.config/hypr/scripts +wallpaper=$HOME/.config/hypr/wallpaper_effects/.wallpaper_current +waybar_style="$HOME/.config/waybar/style/[Extra] Neon Circuit.css" +kvantum_theme="catppuccin-mocha-blue" +color_scheme="prefer-dark" +gtk_theme="Flat-Remix-GTK-Blue-Dark" +icon_theme="Flat-Remix-Blue-Dark" +cursor_theme="Bibata-Modern-Ice" + +swww="swww img" +effect="--transition-bezier .43,1.19,1,.4 --transition-fps 30 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2" + +# Check if a marker file exists. +if [ ! -f "$HOME/.config/hypr/.initial_startup_done" ]; then + sleep 1 + # Initialize wallust and wallpaper + if [ -f "$wallpaper" ]; then + wallust run -s $wallpaper > /dev/null + swww query || swww-daemon && $swww $wallpaper $effect + "$scriptsDir/WallustSwww.sh" > /dev/null 2>&1 & + fi + + # initiate GTK dark mode and apply icon and cursor theme + gsettings set org.gnome.desktop.interface color-scheme $color_scheme > /dev/null 2>&1 & + gsettings set org.gnome.desktop.interface gtk-theme $gtk_theme > /dev/null 2>&1 & + gsettings set org.gnome.desktop.interface icon-theme $icon_theme > /dev/null 2>&1 & + gsettings set org.gnome.desktop.interface cursor-theme $cursor_theme > /dev/null 2>&1 & + gsettings set org.gnome.desktop.interface cursor-size 24 > /dev/null 2>&1 & + + # NIXOS initiate GTK dark mode and apply icon and cursor theme + if [ -n "$(grep -i nixos < /etc/os-release)" ]; then + gsettings set org.gnome.desktop.interface color-scheme "'$color_scheme'" > /dev/null 2>&1 & + dconf write /org/gnome/desktop/interface/gtk-theme "'$gtk_theme'" > /dev/null 2>&1 & + dconf write /org/gnome/desktop/interface/icon-theme "'$icon_theme'" > /dev/null 2>&1 & + dconf write /org/gnome/desktop/interface/cursor-theme "'$cursor_theme'" > /dev/null 2>&1 & + dconf write /org/gnome/desktop/interface/cursor-size "24" > /dev/null 2>&1 & + fi + + # initiate kvantum theme + kvantummanager --set "$kvantum_theme" > /dev/null 2>&1 & + + # initiate the kb_layout (for some reason) waybar cant launch it + "$scriptsDir/SwitchKeyboardLayout.sh" > /dev/null 2>&1 & + + # waybar style + #if [ -L "$HOME/.config/waybar/config" ]; then + ## ln -sf "$waybar_style" "$HOME/.config/waybar/style.css" + # "$scriptsDir/Refresh.sh" > /dev/null 2>&1 & + #fi + + + # Create a marker file to indicate that the script has been executed. + touch "$HOME/.config/hypr/.initial_startup_done" + + exit +fi diff --git a/hypr/monitors.conf b/hypr/monitors.conf new file mode 100644 index 0000000..b6b7478 --- /dev/null +++ b/hypr/monitors.conf @@ -0,0 +1,61 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# default Monitor config + +# *********************************************************** # +# +# NOTE: This will be overwritten by NWG-Displays +# once you use and click apply. You can still find this +# default at ~/.config/hypr/Monitor_Profiles/default.conf +# +# *********************************************************** # + + +# Monitor Configuration +# See Hyprland wiki for more details +# https://wiki.hyprland.org/Configuring/Monitors/ +# Configure your Display resolution, offset, scale and Monitors here, use `hyprctl monitors` to get the info. + +# Monitors +monitor=,preferred,auto,1 + +# High Refresh Rate +monitor=,highrr,auto,1 + +# High Resolution +monitor=,highres,auto,1.25 + +# NOTE: for laptop, kindly check notes in Laptops.conf regarding display +# Created this inorder for the monitor display to not wake up if not intended. +# See here: https://github.com/hyprwm/Hyprland/issues/4090 + +# Some examples to set your own monitor +#monitor = eDP-1, preferred, auto, 1 +#monitor = eDP-1, 2560x1440@165, 0x0, 1 #own screen +#monitor = DP-3, 1920x1080@240, auto, 1 +#monitor = DP-1, preferred, auto, 1 +#monitor = HDMI-A-1, preferred,auto,1 + +# QEMU-KVM, virtual box or vmware +#monitor = Virtual-1, 1920x1080@60,auto,1 + +# to disable a monitor +#monitor=name,disable + +# Mirror samples +#monitor=DP-3,1920x1080@60,0x0,1,mirror,DP-2 +#monitor=,preferred,auto,1,mirror,eDP-1 +#monitor=HDMI-A-1,2560x1440@144,0x0,1,mirror,eDP-1 + +# 10 bit monitor support - See wiki https://wiki.hyprland.org/Configuring/Monitors/#10-bit-support - See NOTES below +# NOTE: Colors registered in Hyprland (e.g. the border color) do not support 10 bit. +# NOTE: Some applications do not support screen capture with 10 bit enabled. (Screen captures like OBS may render black screen) +# monitor=,preferred,auto,1,bitdepth,10 + +#monitor=eDP-1,transform,0 +#monitor=eDP-1,addreserved,10,10,10,49 + +# workspaces - Monitor rules +# https://wiki.hyprland.org/Configuring/Workspace-Rules/ +# SUPER E - Workspace-Rules +# See ~/.config/hypr/UserConfigs/WorkspaceRules.conf + diff --git a/hypr/scripts/AirplaneMode.sh b/hypr/scripts/AirplaneMode.sh new file mode 100755 index 0000000..4379935 --- /dev/null +++ b/hypr/scripts/AirplaneMode.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Airplane Mode. Turning on or off all wifi using rfkill. + +notif="$HOME/.config/swaync/images/ja.png" + +# Check if any wireless device is blocked +wifi_blocked=$(rfkill list wifi | grep -o "Soft blocked: yes") + +if [ -n "$wifi_blocked" ]; then + rfkill unblock wifi + notify-send -u low -i "$notif" " Airplane" " mode: OFF" +else + rfkill block wifi + notify-send -u low -i "$notif" " Airplane" " mode: ON" +fi diff --git a/hypr/scripts/Animations.sh b/hypr/scripts/Animations.sh new file mode 100755 index 0000000..477e5cd --- /dev/null +++ b/hypr/scripts/Animations.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# For applying Animations from different users + +# Check if rofi is already running +if pidof rofi > /dev/null; then + pkill rofi +fi + +# Variables +iDIR="$HOME/.config/swaync/images" +SCRIPTSDIR="$HOME/.config/hypr/scripts" +animations_dir="$HOME/.config/hypr/animations" +UserConfigs="$HOME/.config/hypr/UserConfigs" +rofi_theme="$HOME/.config/rofi/config-Animations.rasi" +msg='❗NOTE:❗ This will copy animations into UserAnimations.conf' +# list of animation files, sorted alphabetically with numbers first +animations_list=$(find -L "$animations_dir" -maxdepth 1 -type f | sed 's/.*\///' | sed 's/\.conf$//' | sort -V) + +# Rofi Menu +chosen_file=$(echo "$animations_list" | rofi -i -dmenu -config $rofi_theme -mesg "$msg") + +# Check if a file was selected +if [[ -n "$chosen_file" ]]; then + full_path="$animations_dir/$chosen_file.conf" + cp "$full_path" "$UserConfigs/UserAnimations.conf" + notify-send -u low -i "$iDIR/ja.png" "$chosen_file" "Hyprland Animation Loaded" +fi + +sleep 1 +"$SCRIPTSDIR/RefreshNoWaybar.sh" diff --git a/hypr/scripts/Battery.sh b/hypr/scripts/Battery.sh new file mode 100755 index 0000000..d783005 --- /dev/null +++ b/hypr/scripts/Battery.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +for i in {0..3}; do + if [ -f /sys/class/power_supply/BAT$i/capacity ]; then + battery_level=$(cat /sys/class/power_supply/BAT$i/status) + battery_capacity=$(cat /sys/class/power_supply/BAT$i/capacity) + echo "Battery: $battery_capacity% ($battery_level)" + fi +done diff --git a/hypr/scripts/Brightness.sh b/hypr/scripts/Brightness.sh new file mode 100755 index 0000000..63fd02f --- /dev/null +++ b/hypr/scripts/Brightness.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Script for Monitor backlights (if supported) using brightnessctl + +iDIR="$HOME/.config/swaync/icons" +notification_timeout=1000 +step=10 # INCREASE/DECREASE BY THIS VALUE + +# Get current brightness as an integer (without %) +get_brightness() { + brightnessctl -m | cut -d, -f4 | tr -d '%' +} + +# Determine the icon based on brightness level +get_icon_path() { + local brightness=$1 + local level=$(( (brightness + 19) / 20 * 20 )) # Round up to next 20 + if (( level > 100 )); then + level=100 + fi + echo "$iDIR/brightness-${level}.png" +} + +# Send notification +send_notification() { + local brightness=$1 + local icon_path=$2 + + notify-send -e \ + -h string:x-canonical-private-synchronous:brightness_notif \ + -h int:value:"$brightness" \ + -u low \ + -i "$icon_path" \ + "Screen" "Brightness: ${brightness}%" +} + +# Change brightness and notify +change_brightness() { + local delta=$1 + local current new icon + + current=$(get_brightness) + new=$((current + delta)) + + # Clamp between 5 and 100 + (( new < 5 )) && new=5 + (( new > 100 )) && new=100 + + brightnessctl set "${new}%" + + icon=$(get_icon_path "$new") + send_notification "$new" "$icon" +} + +# Main +case "$1" in + "--get") + get_brightness + ;; + "--inc") + change_brightness "$step" + ;; + "--dec") + change_brightness "-$step" + ;; + *) + get_brightness + ;; +esac \ No newline at end of file diff --git a/hypr/scripts/BrightnessKbd.sh b/hypr/scripts/BrightnessKbd.sh new file mode 100755 index 0000000..24737b7 --- /dev/null +++ b/hypr/scripts/BrightnessKbd.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Script for keyboard backlights (if supported) using brightnessctl + +iDIR="$HOME/.config/swaync/icons" + +# Get keyboard brightness +get_kbd_backlight() { + echo $(brightnessctl -d '*::kbd_backlight' -m | cut -d, -f4) +} + +# Get icons +get_icon() { + current=$(get_kbd_backlight | sed 's/%//') + if [ "$current" -le "20" ]; then + icon="$iDIR/brightness-20.png" + elif [ "$current" -le "40" ]; then + icon="$iDIR/brightness-40.png" + elif [ "$current" -le "60" ]; then + icon="$iDIR/brightness-60.png" + elif [ "$current" -le "80" ]; then + icon="$iDIR/brightness-80.png" + else + icon="$iDIR/brightness-100.png" + fi +} +# Notify +notify_user() { + notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -h boolean:SWAYNC_BYPASS_DND:true -u low -i "$icon" "Keyboard" "Brightness:$current%" +} + +# Change brightness +change_kbd_backlight() { + brightnessctl -d *::kbd_backlight set "$1" && get_icon && notify_user +} + +# Execute accordingly +case "$1" in + "--get") + get_kbd_backlight + ;; + "--inc") + change_kbd_backlight "+30%" + ;; + "--dec") + change_kbd_backlight "30%-" + ;; + *) + get_kbd_backlight + ;; +esac diff --git a/hypr/scripts/ChangeBlur.sh b/hypr/scripts/ChangeBlur.sh new file mode 100755 index 0000000..895987a --- /dev/null +++ b/hypr/scripts/ChangeBlur.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Script for changing blurs on the fly + +notif="$HOME/.config/swaync/images" + +STATE=$(hyprctl -j getoption decoration:blur:passes | jq ".int") + +if [ "${STATE}" == "2" ]; then + hyprctl keyword decoration:blur:size 2 + hyprctl keyword decoration:blur:passes 1 + notify-send -e -u low -i "$notif/note.png" " Less Blur" +else + hyprctl keyword decoration:blur:size 5 + hyprctl keyword decoration:blur:passes 2 + notify-send -e -u low -i "$notif/ja.png" " Normal Blur" +fi diff --git a/hypr/scripts/ChangeLayout.sh b/hypr/scripts/ChangeLayout.sh new file mode 100755 index 0000000..b083fcd --- /dev/null +++ b/hypr/scripts/ChangeLayout.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# for changing Hyprland Layouts (Master or Dwindle) on the fly + +notif="$HOME/.config/swaync/images/ja.png" + +LAYOUT=$(hyprctl -j getoption general:layout | jq '.str' | sed 's/"//g') + +case $LAYOUT in +"master") + hyprctl keyword general:layout dwindle + hyprctl keyword unbind SUPER,J + hyprctl keyword unbind SUPER,K + hyprctl keyword bind SUPER,J,cyclenext + hyprctl keyword bind SUPER,K,cyclenext,prev + hyprctl keyword bind SUPER,O,togglesplit + notify-send -e -u low -i "$notif" " Dwindle Layout" + ;; +"dwindle") + hyprctl keyword general:layout master + hyprctl keyword unbind SUPER,J + hyprctl keyword unbind SUPER,K + hyprctl keyword unbind SUPER,O + hyprctl keyword bind SUPER,J,layoutmsg,cyclenext + hyprctl keyword bind SUPER,K,layoutmsg,cycleprev + notify-send -e -u low -i "$notif" " Master Layout" + ;; +*) ;; + +esac diff --git a/hypr/scripts/ClipManager.sh b/hypr/scripts/ClipManager.sh new file mode 100755 index 0000000..9937b6f --- /dev/null +++ b/hypr/scripts/ClipManager.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Clipboard Manager. This script uses cliphist, rofi, and wl-copy. + +# Variables +rofi_theme="$HOME/.config/rofi/config-clipboard.rasi" +msg='👀 **note** CTRL DEL = cliphist del (entry) or ALT DEL - cliphist wipe (all)' +# Actions: +# CTRL Del to delete an entry +# ALT Del to wipe clipboard contents + +# Check if rofi is already running +if pidof rofi > /dev/null; then + pkill rofi +fi + +while true; do + result=$( + rofi -i -dmenu \ + -kb-custom-1 "Control-Delete" \ + -kb-custom-2 "Alt-Delete" \ + -config $rofi_theme < <(cliphist list) \ + -mesg "$msg" + ) + + case "$?" in + 1) + exit + ;; + 0) + case "$result" in + "") + continue + ;; + *) + cliphist decode <<<"$result" | wl-copy + exit + ;; + esac + ;; + 10) + cliphist delete <<<"$result" + ;; + 11) + cliphist wipe + ;; + esac +done + diff --git a/hypr/scripts/DarkLight.sh b/hypr/scripts/DarkLight.sh new file mode 100755 index 0000000..1bc1602 --- /dev/null +++ b/hypr/scripts/DarkLight.sh @@ -0,0 +1,254 @@ +#!/bin/bash +## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# For Dark and Light switching +# Note: Scripts are looking for keywords Light or Dark except for wallpapers as the are in a separate directories + +# Paths +wallpaper_base_path="$HOME/Pictures/wallpapers/Dynamic-Wallpapers" +dark_wallpapers="$wallpaper_base_path/Dark" +light_wallpapers="$wallpaper_base_path/Light" +hypr_config_path="$HOME/.config/hypr" +swaync_style="$HOME/.config/swaync/style.css" +ags_style="$HOME/.config/ags/user/style.css" +SCRIPTSDIR="$HOME/.config/hypr/scripts" +notif="$HOME/.config/swaync/images/bell.png" +wallust_rofi="$HOME/.config/wallust/templates/colors-rofi.rasi" + +kitty_conf="$HOME/.config/kitty/kitty.conf" + +wallust_config="$HOME/.config/wallust/wallust.toml" +pallete_dark="dark16" +pallete_light="light16" + +# intial kill process +for pid in waybar rofi swaync ags swaybg; do + killall -SIGUSR1 "$pid" +done + + +# Initialize swww if needed +swww query || swww-daemon --format xrgb + +# Set swww options +swww="swww img" +effect="--transition-bezier .43,1.19,1,.4 --transition-fps 60 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2" + +# Determine current theme mode +if [ "$(cat $HOME/.cache/.theme_mode)" = "Light" ]; then + next_mode="Dark" + # Logic for Dark mode + wallpaper_path="$dark_wallpapers" +else + next_mode="Light" + # Logic for Light mode + wallpaper_path="$light_wallpapers" +fi + +# Function to update theme mode for the next cycle +update_theme_mode() { + echo "$next_mode" > "$HOME/.cache/.theme_mode" +} + +# Function to notify user +notify_user() { + notify-send -u low -i "$notif" " Switching to" " $1 mode" +} + +# Use sed to replace the palette setting in the wallust config file +if [ "$next_mode" = "Dark" ]; then + sed -i 's/^palette = .*/palette = "'"$pallete_dark"'"/' "$wallust_config" +else + sed -i 's/^palette = .*/palette = "'"$pallete_light"'"/' "$wallust_config" +fi + +# Function to set Waybar style +set_waybar_style() { + theme="$1" + waybar_styles="$HOME/.config/waybar/style" + waybar_style_link="$HOME/.config/waybar/style.css" + style_prefix="\\[${theme}\\].*\\.css$" + + style_file=$(find -L "$waybar_styles" -maxdepth 1 -type f -regex ".*$style_prefix" | shuf -n 1) + + if [ -n "$style_file" ]; then + ln -sf "$style_file" "$waybar_style_link" + else + echo "Style file not found for $theme theme." + fi +} + +# Call the function after determining the mode +set_waybar_style "$next_mode" +notify_user "$next_mode" + + +# swaync color change +if [ "$next_mode" = "Dark" ]; then + sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.8);/' "${swaync_style}" + #sed -i '/@define-color noti-bg-alt/s/#.*;/#111111;/' "${swaync_style}" +else + sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.9);/' "${swaync_style}" + #sed -i '/@define-color noti-bg-alt/s/#.*;/#F0F0F0;/' "${swaync_style}" +fi + +# ags color change +if command -v ags >/dev/null 2>&1; then + if [ "$next_mode" = "Dark" ]; then + sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.4);/' "${ags_style}" + sed -i '/@define-color text-color/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.7);/' "${ags_style}" + sed -i '/@define-color noti-bg-alt/s/#.*;/#111111;/' "${ags_style}" + else + sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.4);/' "${ags_style}" + sed -i '/@define-color text-color/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.7);/' "${ags_style}" + sed -i '/@define-color noti-bg-alt/s/#.*;/#F0F0F0;/' "${ags_style}" + fi +fi + +# kitty background color change +if [ "$next_mode" = "Dark" ]; then + sed -i '/^foreground /s/^foreground .*/foreground #dddddd/' "${kitty_conf}" + sed -i '/^background /s/^background .*/background #000000/' "${kitty_conf}" + sed -i '/^cursor /s/^cursor .*/cursor #dddddd/' "${kitty_conf}" +else + sed -i '/^foreground /s/^foreground .*/foreground #000000/' "${kitty_conf}" + sed -i '/^background /s/^background .*/background #dddddd/' "${kitty_conf}" + sed -i '/^cursor /s/^cursor .*/cursor #000000/' "${kitty_conf}" +fi + +for pid_kitty in $(pidof kitty); do + kill -SIGUSR1 "$pid_kitty" +done + +# Set Dynamic Wallpaper for Dark or Light Mode +if [ "$next_mode" = "Dark" ]; then + next_wallpaper="$(find -L "${dark_wallpapers}" -type f \( -iname "*.jpg" -o -iname "*.png" \) -print0 | shuf -n1 -z | xargs -0)" +else + next_wallpaper="$(find -L "${light_wallpapers}" -type f \( -iname "*.jpg" -o -iname "*.png" \) -print0 | shuf -n1 -z | xargs -0)" +fi + +# Update wallpaper using swww command +$swww "${next_wallpaper}" $effect + + +# Set Kvantum Manager theme & QT5/QT6 settings +if [ "$next_mode" = "Dark" ]; then + kvantum_theme="catppuccin-mocha-blue" + #qt5ct_color_scheme="$HOME/.config/qt5ct/colors/Catppuccin-Mocha.conf" + #qt6ct_color_scheme="$HOME/.config/qt6ct/colors/Catppuccin-Mocha.conf" +else + kvantum_theme="catppuccin-latte-blue" + #qt5ct_color_scheme="$HOME/.config/qt5ct/colors/Catppuccin-Latte.conf" + #qt6ct_color_scheme="$HOME/.config/qt6ct/colors/Catppuccin-Latte.conf" +fi + +sed -i "s|^color_scheme_path=.*$|color_scheme_path=$qt5ct_color_scheme|" "$HOME/.config/qt5ct/qt5ct.conf" +sed -i "s|^color_scheme_path=.*$|color_scheme_path=$qt6ct_color_scheme|" "$HOME/.config/qt6ct/qt6ct.conf" +kvantummanager --set "$kvantum_theme" + + +# set the rofi color for background +if [ "$next_mode" = "Dark" ]; then + sed -i '/^background:/s/.*/background: rgba(0,0,0,0.7);/' $wallust_rofi +else + sed -i '/^background:/s/.*/background: rgba(255,255,255,0.9);/' $wallust_rofi +fi + + +# GTK themes and icons switching +set_custom_gtk_theme() { + mode=$1 + gtk_themes_directory="$HOME/.themes" + icon_directory="$HOME/.icons" + color_setting="org.gnome.desktop.interface color-scheme" + theme_setting="org.gnome.desktop.interface gtk-theme" + icon_setting="org.gnome.desktop.interface icon-theme" + + if [ "$mode" == "Light" ]; then + search_keywords="*Light*" + gsettings set $color_setting 'prefer-light' + elif [ "$mode" == "Dark" ]; then + search_keywords="*Dark*" + gsettings set $color_setting 'prefer-dark' + else + echo "Invalid mode provided." + return 1 + fi + + themes=() + icons=() + + while IFS= read -r -d '' theme_search; do + themes+=("$(basename "$theme_search")") + done < <(find "$gtk_themes_directory" -maxdepth 1 -type d -iname "$search_keywords" -print0) + + while IFS= read -r -d '' icon_search; do + icons+=("$(basename "$icon_search")") + done < <(find "$icon_directory" -maxdepth 1 -type d -iname "$search_keywords" -print0) + + if [ ${#themes[@]} -gt 0 ]; then + if [ "$mode" == "Dark" ]; then + selected_theme=${themes[RANDOM % ${#themes[@]}]} + else + selected_theme=${themes[$RANDOM % ${#themes[@]}]} + fi + echo "Selected GTK theme for $mode mode: $selected_theme" + gsettings set $theme_setting "$selected_theme" + + # Flatpak GTK apps (themes) + if command -v flatpak &> /dev/null; then + flatpak --user override --filesystem=$HOME/.themes + sleep 0.5 + flatpak --user override --env=GTK_THEME="$selected_theme" + fi + else + echo "No $mode GTK theme found" + fi + + if [ ${#icons[@]} -gt 0 ]; then + if [ "$mode" == "Dark" ]; then + selected_icon=${icons[RANDOM % ${#icons[@]}]} + else + selected_icon=${icons[$RANDOM % ${#icons[@]}]} + fi + echo "Selected icon theme for $mode mode: $selected_icon" + gsettings set $icon_setting "$selected_icon" + + ## QT5ct icon_theme + sed -i "s|^icon_theme=.*$|icon_theme=$selected_icon|" "$HOME/.config/qt5ct/qt5ct.conf" + sed -i "s|^icon_theme=.*$|icon_theme=$selected_icon|" "$HOME/.config/qt6ct/qt6ct.conf" + + # Flatpak GTK apps (icons) + if command -v flatpak &> /dev/null; then + flatpak --user override --filesystem=$HOME/.icons + sleep 0.5 + flatpak --user override --env=ICON_THEME="$selected_icon" + fi + else + echo "No $mode icon theme found" + fi +} + +# Call the function to set GTK theme and icon theme based on mode +set_custom_gtk_theme "$next_mode" + +# Update theme mode for the next cycle +update_theme_mode + + +${SCRIPTSDIR}/WallustSwww.sh && + +sleep 2 +# kill process +for pid1 in waybar rofi swaync ags swaybg; do + killall "$pid1" +done + +sleep 1 +${SCRIPTSDIR}/Refresh.sh + +sleep 0.5 +# Display notifications for theme and icon changes +notify-send -u low -i "$notif" " Themes switched to:" " $next_mode Mode" + +exit 0 + diff --git a/hypr/scripts/Distro_update.sh b/hypr/scripts/Distro_update.sh new file mode 100755 index 0000000..b0b1446 --- /dev/null +++ b/hypr/scripts/Distro_update.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Simple bash script to check and will try to update your system + +# Local Paths +iDIR="$HOME/.config/swaync/images" + +# Check for required tools (kitty) +if ! command -v kitty &> /dev/null; then + notify-send -i "$iDIR/error.png" "Need Kitty:" "Kitty terminal not found. Please install Kitty terminal." + exit 1 +fi + +# Detect distribution and update accordingly +if command -v paru &> /dev/null || command -v yay &> /dev/null; then + # Arch-based + if command -v paru &> /dev/null; then + kitty -T update paru -Syu + notify-send -i "$iDIR/ja.png" -u low 'Arch-based system' 'has been updated.' + else + kitty -T update yay -Syu + notify-send -i "$iDIR/ja.png" -u low 'Arch-based system' 'has been updated.' + fi +elif command -v dnf &> /dev/null; then + # Fedora-based + kitty -T update sudo dnf update --refresh -y + notify-send -i "$iDIR/ja.png" -u low 'Fedora system' 'has been updated.' +elif command -v apt &> /dev/null; then + # Debian-based (Debian, Ubuntu, etc.) + kitty -T update sudo apt update && sudo apt upgrade -y + notify-send -i "$iDIR/ja.png" -u low 'Debian/Ubuntu system' 'has been updated.' +elif command -v zypper &> /dev/null; then + # openSUSE-based + kitty -T update sudo zypper dup -y + notify-send -i "$iDIR/ja.png" -u low 'openSUSE system' 'has been updated.' +else + # Unsupported distro + notify-send -i "$iDIR/error.png" -u critical "Unsupported system" "This script does not support your distribution." + exit 1 +fi diff --git a/hypr/scripts/Dropterminal.sh b/hypr/scripts/Dropterminal.sh new file mode 100755 index 0000000..4833545 --- /dev/null +++ b/hypr/scripts/Dropterminal.sh @@ -0,0 +1,380 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# +# Made and brought to by Kiran George +# /* -- ✨ https://github.com/SherLock707 ✨ -- */ ## +# Dropdown Terminal +# Usage: ./Dropdown.sh [-d] +# Example: ./Dropdown.sh foot +# ./Dropdown.sh -d foot (with debug output) +# ./Dropdown.sh "kitty -e zsh" +# ./Dropdown.sh "alacritty --working-directory /home/user" + +DEBUG=false +SPECIAL_WS="special:scratchpad" +ADDR_FILE="/tmp/dropdown_terminal_addr" + +# Dropdown size and position configuration (percentages) +WIDTH_PERCENT=50 # Width as percentage of screen width +HEIGHT_PERCENT=50 # Height as percentage of screen height +Y_PERCENT=5 # Y position as percentage from top (X is auto-centered) + +# Animation settings +ANIMATION_DURATION=100 # milliseconds +SLIDE_STEPS=5 +SLIDE_DELAY=5 # milliseconds between steps + +# Parse arguments +if [ "$1" = "-d" ]; then + DEBUG=true + shift +fi + +TERMINAL_CMD="$1" + +# Debug echo function +debug_echo() { + if [ "$DEBUG" = true ]; then + echo "$@" + fi +} + +# Validate input +if [ -z "$TERMINAL_CMD" ]; then + echo "Missing terminal command. Usage: $0 [-d] " + echo "Examples:" + echo " $0 foot" + echo " $0 -d foot (with debug output)" + echo " $0 'kitty -e zsh'" + echo " $0 'alacritty --working-directory /home/user'" + echo "" + echo "Edit the script to modify size and position:" + echo " WIDTH_PERCENT - Width as percentage of screen (default: 50)" + echo " HEIGHT_PERCENT - Height as percentage of screen (default: 50)" + echo " Y_PERCENT - Y position from top as percentage (default: 5)" + echo " Note: X position is automatically centered" + exit 1 +fi + +# Function to get window geometry +get_window_geometry() { + local addr="$1" + hyprctl clients -j | jq -r --arg ADDR "$addr" '.[] | select(.address == $ADDR) | "\(.at[0]) \(.at[1]) \(.size[0]) \(.size[1])"' +} + +# Function to animate window slide down (show) +animate_slide_down() { + local addr="$1" + local target_x="$2" + local target_y="$3" + local width="$4" + local height="$5" + + debug_echo "Animating slide down for window $addr to position $target_x,$target_y" + + # Start position (above screen) + local start_y=$((target_y - height - 50)) + + # Calculate step size + local step_y=$(((target_y - start_y) / SLIDE_STEPS)) + + # Move window to start position instantly (off-screen) + hyprctl dispatch movewindowpixel "exact $target_x $start_y,address:$addr" >/dev/null 2>&1 + sleep 0.05 + + # Animate slide down + for i in $(seq 1 $SLIDE_STEPS); do + local current_y=$((start_y + (step_y * i))) + hyprctl dispatch movewindowpixel "exact $target_x $current_y,address:$addr" >/dev/null 2>&1 + sleep 0.03 + done + + # Ensure final position is exact + hyprctl dispatch movewindowpixel "exact $target_x $target_y,address:$addr" >/dev/null 2>&1 +} + +# Function to animate window slide up (hide) +animate_slide_up() { + local addr="$1" + local start_x="$2" + local start_y="$3" + local width="$4" + local height="$5" + + debug_echo "Animating slide up for window $addr from position $start_x,$start_y" + + # End position (above screen) + local end_y=$((start_y - height - 50)) + + # Calculate step size + local step_y=$(((start_y - end_y) / SLIDE_STEPS)) + + # Animate slide up + for i in $(seq 1 $SLIDE_STEPS); do + local current_y=$((start_y - (step_y * i))) + hyprctl dispatch movewindowpixel "exact $start_x $current_y,address:$addr" >/dev/null 2>&1 + sleep 0.03 + done + + debug_echo "Slide up animation completed" +} + +# Function to get monitor info including scale and name of focused monitor +get_monitor_info() { + local monitor_data=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | "\(.x) \(.y) \(.width) \(.height) \(.scale) \(.name)"') + if [ -z "$monitor_data" ] || [[ "$monitor_data" =~ ^null ]]; then + debug_echo "Error: Could not get focused monitor information" + return 1 + fi + echo "$monitor_data" +} + +# Function to calculate dropdown position with proper scaling and centering +calculate_dropdown_position() { + local monitor_info=$(get_monitor_info) + + if [ $? -ne 0 ] || [ -z "$monitor_info" ]; then + debug_echo "Error: Failed to get monitor info, using fallback values" + echo "100 100 800 600 fallback-monitor" + return 1 + fi + + local mon_x=$(echo $monitor_info | cut -d' ' -f1) + local mon_y=$(echo $monitor_info | cut -d' ' -f2) + local mon_width=$(echo $monitor_info | cut -d' ' -f3) + local mon_height=$(echo $monitor_info | cut -d' ' -f4) + local mon_scale=$(echo $monitor_info | cut -d' ' -f5) + local mon_name=$(echo $monitor_info | cut -d' ' -f6) + + debug_echo "Monitor info: x=$mon_x, y=$mon_y, width=$mon_width, height=$mon_height, scale=$mon_scale" + + # Validate scale value and provide fallback + if [ -z "$mon_scale" ] || [ "$mon_scale" = "null" ] || [ "$mon_scale" = "0" ]; then + debug_echo "Invalid scale value, using 1.0 as fallback" + mon_scale="1.0" + fi + + # Calculate logical dimensions by dividing physical dimensions by scale + local logical_width logical_height + if command -v bc >/dev/null 2>&1; then + # Use bc for precise floating point calculation + logical_width=$(echo "scale=0; $mon_width / $mon_scale" | bc | cut -d'.' -f1) + logical_height=$(echo "scale=0; $mon_height / $mon_scale" | bc | cut -d'.' -f1) + else + # Fallback to integer math (multiply by 100 for precision, then divide) + local scale_int=$(echo "$mon_scale" | sed 's/\.//' | sed 's/^0*//') + if [ -z "$scale_int" ]; then scale_int=100; fi + + logical_width=$(((mon_width * 100) / scale_int)) + logical_height=$(((mon_height * 100) / scale_int)) + fi + + # Ensure we have valid integer values + if ! [[ "$logical_width" =~ ^-?[0-9]+$ ]]; then logical_width=$mon_width; fi + if ! [[ "$logical_height" =~ ^-?[0-9]+$ ]]; then logical_height=$mon_height; fi + + debug_echo "Physical resolution: ${mon_width}x${mon_height}" + debug_echo "Logical resolution: ${logical_width}x${logical_height} (physical ÷ scale)" + + # Calculate window dimensions based on LOGICAL space percentages + local width=$((logical_width * WIDTH_PERCENT / 100)) + local height=$((logical_height * HEIGHT_PERCENT / 100)) + + # Calculate Y position from top based on percentage of LOGICAL height + local y_offset=$((logical_height * Y_PERCENT / 100)) + + # Calculate centered X position in LOGICAL space + local x_offset=$(((logical_width - width) / 2)) + + # Apply monitor offset to get final positions in logical coordinates + local final_x=$((mon_x + x_offset)) + local final_y=$((mon_y + y_offset)) + + debug_echo "Window size: ${width}x${height} (logical pixels)" + debug_echo "Final position: x=$final_x, y=$final_y (logical coordinates)" + debug_echo "Hyprland will scale these to physical coordinates automatically" + + echo "$final_x $final_y $width $height $mon_name" +} + +# Get the current workspace +CURRENT_WS=$(hyprctl activeworkspace -j | jq -r '.id') + +# Function to get stored terminal address +get_terminal_address() { + if [ -f "$ADDR_FILE" ] && [ -s "$ADDR_FILE" ]; then + cut -d' ' -f1 "$ADDR_FILE" + fi +} + +# Function to get stored monitor name +get_terminal_monitor() { + if [ -f "$ADDR_FILE" ] && [ -s "$ADDR_FILE" ]; then + cut -d' ' -f2- "$ADDR_FILE" + fi +} + +# Function to check if terminal exists +terminal_exists() { + local addr=$(get_terminal_address) + if [ -n "$addr" ]; then + hyprctl clients -j | jq -e --arg ADDR "$addr" 'any(.[]; .address == $ADDR)' >/dev/null 2>&1 + else + return 1 + fi +} + +# Function to check if terminal is in special workspace +terminal_in_special() { + local addr=$(get_terminal_address) + if [ -n "$addr" ]; then + hyprctl clients -j | jq -e --arg ADDR "$addr" 'any(.[]; .address == $ADDR and .workspace.name == "special:scratchpad")' >/dev/null 2>&1 + else + return 1 + fi +} + +# Function to spawn terminal and capture its address +spawn_terminal() { + debug_echo "Creating new dropdown terminal with command: $TERMINAL_CMD" + + # Calculate dropdown position for later use + local pos_info=$(calculate_dropdown_position) + if [ $? -ne 0 ]; then + debug_echo "Warning: Using fallback positioning" + fi + + local target_x=$(echo $pos_info | cut -d' ' -f1) + local target_y=$(echo $pos_info | cut -d' ' -f2) + local width=$(echo $pos_info | cut -d' ' -f3) + local height=$(echo $pos_info | cut -d' ' -f4) + local monitor_name=$(echo $pos_info | cut -d' ' -f5) + + debug_echo "Target position: ${target_x},${target_y}, size: ${width}x${height}" + + # Get window count before spawning + local windows_before=$(hyprctl clients -j) + local count_before=$(echo "$windows_before" | jq 'length') + + # Launch terminal directly in special workspace to avoid visible spawn + hyprctl dispatch exec "[float; size $width $height; workspace special:scratchpad silent] $TERMINAL_CMD" + + # Wait for window to appear + sleep 0.1 + + # Get windows after spawning + local windows_after=$(hyprctl clients -j) + local count_after=$(echo "$windows_after" | jq 'length') + + local new_addr="" + + if [ "$count_after" -gt "$count_before" ]; then + # Find the new window by comparing before/after lists + new_addr=$(comm -13 \ + <(echo "$windows_before" | jq -r '.[].address' | sort) \ + <(echo "$windows_after" | jq -r '.[].address' | sort) \ + | head -1) + fi + + # Fallback: try to find by the most recently mapped window + if [ -z "$new_addr" ] || [ "$new_addr" = "null" ]; then + new_addr=$(hyprctl clients -j | jq -r 'sort_by(.focusHistoryID) | .[-1] | .address') + fi + + if [ -n "$new_addr" ] && [ "$new_addr" != "null" ]; then + # Store the address and monitor name + echo "$new_addr $monitor_name" > "$ADDR_FILE" + debug_echo "Terminal created with address: $new_addr in special workspace on monitor $monitor_name" + + # Small delay to ensure it's properly in special workspace + sleep 0.2 + + # Now bring it back with the same animation as subsequent shows + # Use movetoworkspacesilent to avoid affecting workspace history + hyprctl dispatch movetoworkspacesilent "$CURRENT_WS,address:$new_addr" + hyprctl dispatch pin "address:$new_addr" + animate_slide_down "$new_addr" "$target_x" "$target_y" "$width" "$height" + + return 0 + fi + + debug_echo "Failed to get terminal address" + return 1 +} + +# Main logic +if terminal_exists; then + TERMINAL_ADDR=$(get_terminal_address) + debug_echo "Found existing terminal: $TERMINAL_ADDR" + focused_monitor=$(get_monitor_info | awk '{print $6}') + dropdown_monitor=$(get_terminal_monitor) + if [ "$focused_monitor" != "$dropdown_monitor" ]; then + debug_echo "Monitor focus changed: moving dropdown to $focused_monitor" + # Calculate new position for focused monitor + pos_info=$(calculate_dropdown_position) + target_x=$(echo $pos_info | cut -d' ' -f1) + target_y=$(echo $pos_info | cut -d' ' -f2) + width=$(echo $pos_info | cut -d' ' -f3) + height=$(echo $pos_info | cut -d' ' -f4) + monitor_name=$(echo $pos_info | cut -d' ' -f5) + # Move and resize window + hyprctl dispatch movewindowpixel "exact $target_x $target_y,address:$TERMINAL_ADDR" + hyprctl dispatch resizewindowpixel "exact $width $height,address:$TERMINAL_ADDR" + # Update ADDR_FILE + echo "$TERMINAL_ADDR $monitor_name" > "$ADDR_FILE" + fi + + if terminal_in_special; then + debug_echo "Bringing terminal from scratchpad with slide down animation" + + # Calculate target position + pos_info=$(calculate_dropdown_position) + target_x=$(echo $pos_info | cut -d' ' -f1) + target_y=$(echo $pos_info | cut -d' ' -f2) + width=$(echo $pos_info | cut -d' ' -f3) + height=$(echo $pos_info | cut -d' ' -f4) + + # Use movetoworkspacesilent to avoid affecting workspace history + hyprctl dispatch movetoworkspacesilent "$CURRENT_WS,address:$TERMINAL_ADDR" + hyprctl dispatch pin "address:$TERMINAL_ADDR" + + # Set size and animate slide down + hyprctl dispatch resizewindowpixel "exact $width $height,address:$TERMINAL_ADDR" + animate_slide_down "$TERMINAL_ADDR" "$target_x" "$target_y" "$width" "$height" + + hyprctl dispatch focuswindow "address:$TERMINAL_ADDR" + else + debug_echo "Hiding terminal to scratchpad with slide up animation" + + # Get current geometry for animation + geometry=$(get_window_geometry "$TERMINAL_ADDR") + if [ -n "$geometry" ]; then + curr_x=$(echo $geometry | cut -d' ' -f1) + curr_y=$(echo $geometry | cut -d' ' -f2) + curr_width=$(echo $geometry | cut -d' ' -f3) + curr_height=$(echo $geometry | cut -d' ' -f4) + + debug_echo "Current geometry: ${curr_x},${curr_y} ${curr_width}x${curr_height}" + + # Animate slide up first + animate_slide_up "$TERMINAL_ADDR" "$curr_x" "$curr_y" "$curr_width" "$curr_height" + + # Small delay then move to special workspace and unpin + sleep 0.1 + hyprctl dispatch pin "address:$TERMINAL_ADDR" # Unpin (toggle) + hyprctl dispatch movetoworkspacesilent "$SPECIAL_WS,address:$TERMINAL_ADDR" + else + debug_echo "Could not get window geometry, moving to scratchpad without animation" + hyprctl dispatch pin "address:$TERMINAL_ADDR" + hyprctl dispatch movetoworkspacesilent "$SPECIAL_WS,address:$TERMINAL_ADDR" + fi + fi +else + debug_echo "No existing terminal found, creating new one" + if spawn_terminal; then + TERMINAL_ADDR=$(get_terminal_address) + if [ -n "$TERMINAL_ADDR" ]; then + hyprctl dispatch focuswindow "address:$TERMINAL_ADDR" + fi + fi +fi diff --git a/hypr/scripts/GameMode.sh b/hypr/scripts/GameMode.sh new file mode 100755 index 0000000..7a39da3 --- /dev/null +++ b/hypr/scripts/GameMode.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Game Mode. Turning off all animations + +notif="$HOME/.config/swaync/images/ja.png" +SCRIPTSDIR="$HOME/.config/hypr/scripts" + + +HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}') +if [ "$HYPRGAMEMODE" = 1 ] ; then + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:shadow:enabled 0;\ + keyword decoration:blur:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + + hyprctl keyword "windowrule opacity 1 override 1 override 1 override, ^(.*)$" + swww kill + notify-send -e -u low -i "$notif" " Gamemode:" " enabled" + exit +else + swww-daemon --format xrgb && swww img "$HOME/.config/rofi/.current_wallpaper" & + sleep 0.1 + ${SCRIPTSDIR}/WallustSwww.sh + sleep 0.5 + hyprctl reload + ${SCRIPTSDIR}/Refresh.sh + notify-send -e -u normal -i "$notif" " Gamemode:" " disabled" + exit +fi +hyprctl reload diff --git a/hypr/scripts/Hypridle.sh b/hypr/scripts/Hypridle.sh new file mode 100755 index 0000000..5617671 --- /dev/null +++ b/hypr/scripts/Hypridle.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# This is for custom version of waybar idle_inhibitor which activates / deactivates hypridle instead + +PROCESS="hypridle" + +if [[ "$1" == "status" ]]; then + sleep 1 + if pgrep -x "$PROCESS" >/dev/null; then + echo '{"text": "RUNNING", "class": "active", "tooltip": "idle_inhibitor NOT ACTIVE\nLeft Click: Activate\nRight Click: Lock Screen"}' + else + echo '{"text": "NOT RUNNING", "class": "notactive", "tooltip": "idle_inhibitor is ACTIVE\nLeft Click: Deactivate\nRight Click: Lock Screen"}' + fi +elif [[ "$1" == "toggle" ]]; then + if pgrep -x "$PROCESS" >/dev/null; then + pkill "$PROCESS" + else + "$PROCESS" + fi +else + echo "Usage: $0 {status|toggle}" + exit 1 +fi diff --git a/hypr/scripts/Hyprsunset.sh b/hypr/scripts/Hyprsunset.sh new file mode 100755 index 0000000..c7c4b39 --- /dev/null +++ b/hypr/scripts/Hyprsunset.sh @@ -0,0 +1,99 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Hyprsunset toggle + Waybar status helper +# Phase 1: manual toggle only (no scheduling) +# Icons: +# - Off: bright sun +# - On: sunset icon if available, otherwise a blue sun +# +# Customize via env vars: +# HYPERSUNSET_TEMP default 4500 (K) +# HYPERSUNSET_ICON_MODE sunset|blue (default: sunset) + +STATE_FILE="$HOME/.cache/.hyprsunset_state" +TARGET_TEMP="${HYPERSUNSET_TEMP:-4500}" +ICON_MODE="${HYPERSUNSET_ICON_MODE:-sunset}" + +ensure_state() { + [[ -f "$STATE_FILE" ]] || echo "off" > "$STATE_FILE" +} + +# Render icons using pango markup to allow colorization +icon_off() { + # universally available sun symbol + printf "☀" +} + +icon_on() { + case "$ICON_MODE" in + sunset) + # sunset emoji (falls back to tofu if no emoji font) + printf "🌇" + ;; + blue) + # no color in text; rely on CSS .on to style if desired + printf "☀" + ;; + *) + printf "☀" + ;; + esac +} + +cmd_toggle() { + ensure_state + state="$(cat "$STATE_FILE" || echo off)" + + # Always stop any running hyprsunset first to avoid CTM manager conflicts + if pgrep -x hyprsunset >/dev/null 2>&1; then + pkill -x hyprsunset || true + # give it a moment to release the CTM manager + sleep 0.2 + fi + +if [[ "$state" == "on" ]]; then + # Turning OFF: set identity and exit + if command -v hyprsunset >/dev/null 2>&1; then + nohup hyprsunset -i >/dev/null 2>&1 & + # if hyprsunset persists, stop it shortly after applying identity + sleep 0.3 && pkill -x hyprsunset || true + fi + echo off > "$STATE_FILE" + notify-send -u low "Hyprsunset: Disabled" || true + else + # Turning ON: start hyprsunset at target temp in background + if command -v hyprsunset >/dev/null 2>&1; then + nohup hyprsunset -t "$TARGET_TEMP" >/dev/null 2>&1 & + fi + echo on > "$STATE_FILE" + notify-send -u low "Hyprsunset: Enabled" "${TARGET_TEMP}K" || true + fi +} + +cmd_status() { + ensure_state + # Prefer live process detection; fall back to state file + if pgrep -x hyprsunset >/dev/null 2>&1; then + onoff="on" + else + onoff="$(cat "$STATE_FILE" || echo off)" + fi + + if [[ "$onoff" == "on" ]]; then + txt="$(icon_on)" + cls="on" + tip="Night light on @ ${TARGET_TEMP}K" + else + txt="$(icon_off)" + cls="off" + tip="Night light off" + fi + printf '{"text":"%s","class":"%s","tooltip":"%s"}\n' "$txt" "$cls" "$tip" +} + +case "${1:-}" in + toggle) cmd_toggle ;; + status) cmd_status ;; + *) echo "usage: $0 [toggle|status]" >&2; exit 2 ;; + esac diff --git a/hypr/scripts/KeyBinds.sh b/hypr/scripts/KeyBinds.sh new file mode 100755 index 0000000..9c6b5ab --- /dev/null +++ b/hypr/scripts/KeyBinds.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# searchable enabled keybinds using rofi + +# kill yad to not interfere with this binds +pkill yad || true + +# check if rofi is already running +if pidof rofi > /dev/null; then + pkill rofi +fi + +# define the config files +keybinds_conf="$HOME/.config/hypr/configs/Keybinds.conf" +user_keybinds_conf="$HOME/.config/hypr/UserConfigs/UserKeybinds.conf" +laptop_conf="$HOME/.config/hypr/UserConfigs/Laptops.conf" +rofi_theme="$HOME/.config/rofi/config-keybinds.rasi" +msg='☣️ NOTE ☣️: Clicking with Mouse or Pressing ENTER will have NO function' + +# combine the contents of the keybinds files and filter for keybinds +keybinds=$(cat "$keybinds_conf" "$user_keybinds_conf" | grep -E '^bind') + +# check if laptop.conf exists and add its keybinds if present +if [[ -f "$laptop_conf" ]]; then + laptop_binds=$(grep -E '^bind' "$laptop_conf") + keybinds+=$'\n'"$laptop_binds" +fi + +# check for any keybinds to display +if [[ -z "$keybinds" ]]; then + echo "no keybinds found." + exit 1 +fi + +# replace $mainmod with super in the displayed keybinds for rofi +display_keybinds=$(echo "$keybinds" | sed 's/\$mainMod/SUPER/g') + +# use rofi to display the keybinds with the modified content +echo "$display_keybinds" | rofi -dmenu -i -config "$rofi_theme" -mesg "$msg" \ No newline at end of file diff --git a/hypr/scripts/KeyHints.sh b/hypr/scripts/KeyHints.sh new file mode 100755 index 0000000..7917ae3 --- /dev/null +++ b/hypr/scripts/KeyHints.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## + +# GDK BACKEND. Change to either wayland or x11 if having issues +BACKEND=wayland + +# Check if rofi or yad is running and kill them if they are +if pidof rofi > /dev/null; then + pkill rofi +fi + +if pidof yad > /dev/null; then + pkill yad +fi + +# Launch yad with calculated width and height +GDK_BACKEND=$BACKEND yad \ + --center \ + --title="KooL Quick Cheat Sheet" \ + --no-buttons \ + --list \ + --column=Key: \ + --column=Description: \ + --column=Command: \ + --timeout-indicator=bottom \ +"ESC" "close this app" "" " = " "SUPER KEY (Windows Key Button)" "(SUPER KEY)" \ +" SHIFT K" "Searchable Keybinds" "(Search all Keybinds via rofi)" \ +" SHIFT E" "KooL Hyprland Settings Menu" "" \ +"" "" "" \ +" enter" "Terminal" "(kitty)" \ +" SHIFT enter" "DropDown Terminal" " Q to close" \ +" B" "Launch Browser" "(Default browser)" \ +" A" "Desktop Overview" "(AGS - if opted to install)" \ +" D" "Application Launcher" "(rofi-wayland)" \ +" E" "Open File Manager" "(Thunar)" \ +" S" "Google Search using rofi" "(rofi)" \ +" Q" "close active window" "(not kill)" \ +" Shift Q " "kills an active window" "(kill)" \ +" ALT mouse scroll up/down " "Desktop Zoom" "Desktop Magnifier" \ +" Alt V" "Clipboard Manager" "(cliphist)" \ +" W" "Choose wallpaper" "(Wallpaper Menu)" \ +" Shift W" "Choose wallpaper effects" "(imagemagick + swww)" \ +"CTRL ALT W" "Random wallpaper" "(via swww)" \ +" CTRL ALT B" "Hide/UnHide Waybar" "waybar" \ +" CTRL B" "Choose waybar styles" "(waybar styles)" \ +" ALT B" "Choose waybar layout" "(waybar layout)" \ +" ALT R" "Reload Waybar swaync Rofi" "CHECK NOTIFICATION FIRST!!!" \ +" SHIFT N" "Launch Notification Panel" "swaync Notification Center" \ +" Print" "screenshot" "(grim)" \ +" Shift Print" "screenshot region" "(grim + slurp)" \ +" Shift S" "screenshot region" "(swappy)" \ +" CTRL Print" "screenshot timer 5 secs " "(grim)" \ +" CTRL SHIFT Print" "screenshot timer 10 secs " "(grim)" \ +"ALT Print" "Screenshot active window" "active window only" \ +"CTRL ALT P" "power-menu" "(wlogout)" \ +"CTRL ALT L" "screen lock" "(hyprlock)" \ +"CTRL ALT Del" "Hyprland Exit" "(NOTE: Hyprland Will exit immediately)" \ +" SHIFT F" "Fullscreen" "Toggles to full screen" \ +" CTL F" "Fake Fullscreen" "Toggles to fake full screen" \ +" ALT L" "Toggle Dwindle | Master Layout" "Hyprland Layout" \ +" SPACEBAR" "Toggle float" "single window" \ +" ALT SPACEBAR" "Toggle all windows to float" "all windows" \ +" ALT O" "Toggle Blur" "normal or less blur" \ +" CTRL O" "Toggle Opaque ON or OFF" "on active window only" \ +" Shift A" "Animations Menu" "Choose Animations via rofi" \ +" CTRL R" "Rofi Themes Menu" "Choose Rofi Themes via rofi" \ +" CTRL Shift R" "Rofi Themes Menu v2" "Choose Rofi Themes via Theme Selector (modified)" \ +" SHIFT G" "Gamemode! All animations OFF or ON" "toggle" \ +" ALT E" "Rofi Emoticons" "Emoticon" \ +" H" "Launch this Quick Cheat Sheet" "" \ +"" "" "" \ +"More tips:" "https://github.com/JaKooLit/Hyprland-Dots/wiki" ""\ \ No newline at end of file diff --git a/hypr/scripts/KillActiveProcess.sh b/hypr/scripts/KillActiveProcess.sh new file mode 100755 index 0000000..bee146d --- /dev/null +++ b/hypr/scripts/KillActiveProcess.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## + +# Copied from Discord post. Thanks to @Zorg + + +# Get id of an active window +active_pid=$(hyprctl activewindow | grep -o 'pid: [0-9]*' | cut -d' ' -f2) + +# Close active window +kill $active_pid \ No newline at end of file diff --git a/hypr/scripts/Kitty_themes.sh b/hypr/scripts/Kitty_themes.sh new file mode 100755 index 0000000..48bfa99 --- /dev/null +++ b/hypr/scripts/Kitty_themes.sh @@ -0,0 +1,136 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */  # +# Kitty Themes Source https://github.com/dexpota/kitty-themes # + +# Define directories and variables +kitty_themes_DiR="$HOME/.config/kitty/kitty-themes" # Kitty Themes Directory +kitty_config="$HOME/.config/kitty/kitty.conf" +iDIR="$HOME/.config/swaync/images" # For notifications +rofi_theme_for_this_script="$HOME/.config/rofi/config-kitty-theme.rasi" + +# --- Helper Functions --- +notify_user() { + notify-send -u low -i "$1" "$2" "$3" +} + +# Function to apply the selected kitty theme +apply_kitty_theme_to_config() { + local theme_name_to_apply="$1" + if [ -z "$theme_name_to_apply" ]; then + echo "Error: No theme name provided to apply_kitty_theme_to_config." >&2 + return 1 + fi + + local theme_file_path_to_apply="$kitty_themes_DiR/$theme_name_to_apply.conf" + if [ ! -f "$theme_file_path_to_apply" ]; then + notify_user "$iDIR/error.png" "Error" "Theme file not found: $theme_name_to_apply.conf" + return 1 + fi + + local temp_kitty_config_file + temp_kitty_config_file=$(mktemp) + cp "$kitty_config" "$temp_kitty_config_file" + + if grep -q -E '^[#[:space:]]*include\s+\./kitty-themes/.*\.conf' "$temp_kitty_config_file"; then + sed -i -E "s|^([#[:space:]]*include\s+\./kitty-themes/).*\.conf|include ./kitty-themes/$theme_name_to_apply.conf|g" "$temp_kitty_config_file" + else + if [ -s "$temp_kitty_config_file" ] && [ "$(tail -c1 "$temp_kitty_config_file")" != "" ]; then + echo >>"$temp_kitty_config_file" + fi + echo "include ./kitty-themes/$theme_name_to_apply.conf" >>"$temp_kitty_config_file" + fi + + cp "$temp_kitty_config_file" "$kitty_config" + rm "$temp_kitty_config_file" + + for pid_kitty in $(pidof kitty); do + if [ -n "$pid_kitty" ]; then + kill -SIGUSR1 "$pid_kitty" + fi + done + return 0 +} + +# --- Main Script Execution --- + +if [ ! -d "$kitty_themes_DiR" ]; then + notify_user "$iDIR/error.png" "E-R-R-O-R" "Kitty Themes directory not found: $kitty_themes_DiR" + exit 1 +fi + +if [ ! -f "$rofi_theme_for_this_script" ]; then + notify_user "$iDIR/error.png" "Rofi Config Missing" "Rofi theme for Kitty selector not found at: $rofi_theme_for_this_script." + exit 1 +fi + +original_kitty_config_content_backup=$(cat "$kitty_config") + +mapfile -t available_theme_names < <(find "$kitty_themes_DiR" -maxdepth 1 -name "*.conf" -type f -printf "%f\n" | sed 's/\.conf$//' | sort) + +if [ ${#available_theme_names[@]} -eq 0 ]; then + notify_user "$iDIR/error.png" "No Kitty Themes" "No .conf files found in $kitty_themes_DiR." + exit 1 +fi + +current_selection_index=0 +current_active_theme_name=$(awk -F'include ./kitty-themes/|\\.conf' '/^[[:space:]]*include \.\/kitty-themes\/.*\.conf/{print $2; exit}' "$kitty_config") + +if [ -n "$current_active_theme_name" ]; then + for i in "${!available_theme_names[@]}"; do + if [[ "${available_theme_names[$i]}" == "$current_active_theme_name" ]]; then + current_selection_index=$i + break + fi + done +fi + +while true; do + theme_to_preview_now="${available_theme_names[$current_selection_index]}" + + if ! apply_kitty_theme_to_config "$theme_to_preview_now"; then + echo "$original_kitty_config_content_backup" >"$kitty_config" + for pid_kitty in $(pidof kitty); do if [ -n "$pid_kitty" ]; then kill -SIGUSR1 "$pid_kitty"; fi; done + notify_user "$iDIR/error.png" "Preview Error" "Failed to apply $theme_to_preview_now. Reverted." + exit 1 + fi + + rofi_input_list="" + for theme_name_in_list in "${available_theme_names[@]}"; do + rofi_input_list+="$theme_name_in_list\n" + done + rofi_input_list_trimmed="${rofi_input_list%\\n}" + + chosen_index_from_rofi=$(echo -e "$rofi_input_list_trimmed" | + rofi -dmenu -i \ + -format 'i' \ + -p "Kitty Theme" \ + -mesg "Preview: ${theme_to_preview_now} | Enter: Preview | Ctrl+S: Apply & Exit | Esc: Cancel" \ + -config "$rofi_theme_for_this_script" \ + -selected-row "$current_selection_index" \ + -kb-custom-1 "Control+s") # MODIFIED HERE: Changed to Control+s for custom action 1 + + rofi_exit_code=$? + + if [ $rofi_exit_code -eq 0 ]; then + if [[ "$chosen_index_from_rofi" =~ ^[0-9]+$ ]] && [ "$chosen_index_from_rofi" -lt "${#available_theme_names[@]}" ]; then + current_selection_index="$chosen_index_from_rofi" + else + : + fi + elif [ $rofi_exit_code -eq 1 ]; then + notify_user "$iDIR/note.png" "Kitty Theme" "Selection cancelled. Reverting to original theme." + echo "$original_kitty_config_content_backup" >"$kitty_config" + for pid_kitty in $(pidof kitty); do if [ -n "$pid_kitty" ]; then kill -SIGUSR1 "$pid_kitty"; fi; done + break + elif [ $rofi_exit_code -eq 10 ]; then # This is the exit code for -kb-custom-1 + notify_user "$iDIR/ja.png" "Kitty Theme Applied" "$theme_to_preview_now" + break + else + notify_user "$iDIR/error.png" "Rofi Error" "Unexpected Rofi exit ($rofi_exit_code). Reverting." + echo "$original_kitty_config_content_backup" >"$kitty_config" + for pid_kitty in $(pidof kitty); do if [ -n "$pid_kitty" ]; then kill -SIGUSR1 "$pid_kitty"; fi; done + break + fi +done + +exit 0 diff --git a/hypr/scripts/KooLsDotsUpdate.sh b/hypr/scripts/KooLsDotsUpdate.sh new file mode 100755 index 0000000..f4b8814 --- /dev/null +++ b/hypr/scripts/KooLsDotsUpdate.sh @@ -0,0 +1,73 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# simple bash script to check if update is available by comparing local version and github version + +# Local Paths +local_dir="$HOME/.config/hypr" +iDIR="$HOME/.config/swaync/images/" +local_version=$(ls $local_dir/v* 2>/dev/null | sort -V | tail -n 1 | sed 's/.*v\(.*\)/\1/') +KooL_Dots_DIR="$HOME/Hyprland-Dots" + +# exit if cannot find local version +if [ -z "$local_version" ]; then + notify-send -i "$iDIR/error.png" "ERROR "!?!?!!"" "Unable to find KooL's dots version . exiting.... " + exit 1 +fi + +# GitHub URL - KooL's dots +branch="main" +github_url="https://github.com/JaKooLit/Hyprland-Dots/tree/$branch/config/hypr/" + +# Fetch the version from GitHub URL - KooL's dots +github_version=$(curl -s $github_url | grep -o 'v[0-9]\+\.[0-9]\+\.[0-9]\+' | sort -V | tail -n 1 | sed 's/v//') + +# Cant find GitHub URL - KooL's dots version +if [ -z "$github_version" ]; then + exit 1 +fi + +# Comparing local and github versions +if [ "$(echo -e "$github_version\n$local_version" | sort -V | head -n 1)" = "$github_version" ]; then + notify-send -i "$iDIR/note.png" "KooL Hyprland:" "No update available" + exit 0 +else + # update available + notify_cmd_base="notify-send -t 10000 -A action1=Update -A action2=NO -h string:x-canonical-private-synchronous:shot-notify" + notify_cmd_shot="${notify_cmd_base} -i $iDIR/ja.png" + + response=$($notify_cmd_shot "KooL Hyprland:" "Update available! Update now?") + + case "$response" in + "action1") + if [ -d $KooL_Dots_DIR ]; then + if ! command -v kitty &> /dev/null; then + notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Kitty terminal not found. Please install Kitty terminal." + exit 1 + fi + kitty -e bash -c " + cd $KooL_Dots_DIR && + git stash && + git pull && + ./copy.sh && + notify-send -u critical -i "$iDIR/ja.png" 'Update Completed:' 'Kindly log out and relogin to take effect' + " + + else + if ! command -v kitty &> /dev/null; then + notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Kitty terminal not found. Please install Kitty terminal." + exit 1 + fi + kitty -e bash -c " + git clone --depth=1 https://github.com/JaKooLit/Hyprland-Dots.git $KooL_Dots_DIR && + cd $KooL_Dots_DIR && + chmod +x copy.sh && + ./copy.sh && + notify-send -u critical -i "$iDIR/ja.png" 'Update Completed:' 'Kindly log out and relogin to take effect' + " + fi + ;; + "action2") + exit 0 + ;; + esac +fi diff --git a/hypr/scripts/Kool_Quick_Settings.sh b/hypr/scripts/Kool_Quick_Settings.sh new file mode 100755 index 0000000..e43749b --- /dev/null +++ b/hypr/scripts/Kool_Quick_Settings.sh @@ -0,0 +1,117 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Rofi menu for KooL Hyprland Quick Settings (SUPER SHIFT E) + +# Modify this config file for default terminal and EDITOR +config_file="$HOME/.config/hypr/UserConfigs/01-UserDefaults.conf" + +tmp_config_file=$(mktemp) +sed 's/^\$//g; s/ = /=/g' "$config_file" > "$tmp_config_file" +source "$tmp_config_file" +# ##################################### # + +# variables +configs="$HOME/.config/hypr/configs" +UserConfigs="$HOME/.config/hypr/UserConfigs" +rofi_theme="$HOME/.config/rofi/config-edit.rasi" +msg=' ⁉️ Choose what to do ⁉️' +iDIR="$HOME/.config/swaync/images" +scriptsDir="$HOME/.config/hypr/scripts" +UserScripts="$HOME/.config/hypr/UserScripts" + +# Function to display the menu options without numbers +menu() { + cat </dev/null; then + notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Install nwg-displays first" + exit 1 + fi + nwg-displays ;; + "Configure Workspace Rules (nwg-displays)") + if ! command -v nwg-displays &>/dev/null; then + notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Install nwg-displays first" + exit 1 + fi + nwg-displays ;; + "GTK Settings (nwg-look)") + if ! command -v nwg-look &>/dev/null; then + notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Install nwg-look first" + exit 1 + fi + nwg-look ;; + "QT Apps Settings (qt6ct)") + if ! command -v qt6ct &>/dev/null; then + notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Install qt6ct first" + exit 1 + fi + qt6ct ;; + "QT Apps Settings (qt5ct)") + if ! command -v qt5ct &>/dev/null; then + notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Install qt5ct first" + exit 1 + fi + qt5ct ;; + "Choose Hyprland Animations") $scriptsDir/Animations.sh ;; + "Choose Monitor Profiles") $scriptsDir/MonitorProfiles.sh ;; + "Choose Rofi Themes") $scriptsDir/RofiThemeSelector.sh ;; + "Search for Keybinds") $scriptsDir/KeyBinds.sh ;; + "Toggle Game Mode") $scriptsDir/GameMode.sh ;; + "Switch Dark-Light Theme") $scriptsDir/DarkLight.sh ;; + *) return ;; # Do nothing for invalid choices + esac + + # Open the selected file in the terminal with the text editor + if [ -n "$file" ]; then + $term -e $edit "$file" + fi +} + +# Check if rofi is already running +if pidof rofi > /dev/null; then + pkill rofi +fi + +main \ No newline at end of file diff --git a/hypr/scripts/LockScreen.sh b/hypr/scripts/LockScreen.sh new file mode 100755 index 0000000..5e79918 --- /dev/null +++ b/hypr/scripts/LockScreen.sh @@ -0,0 +1,7 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## + +# For Hyprlock +#pidof hyprlock || hyprlock -q + +loginctl lock-session \ No newline at end of file diff --git a/hypr/scripts/MediaCtrl.sh b/hypr/scripts/MediaCtrl.sh new file mode 100755 index 0000000..000c3ad --- /dev/null +++ b/hypr/scripts/MediaCtrl.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Playerctl + +music_icon="$HOME/.config/swaync/icons/music.png" + +# Play the next track +play_next() { + playerctl next + show_music_notification +} + +# Play the previous track +play_previous() { + playerctl previous + show_music_notification +} + +# Toggle play/pause +toggle_play_pause() { + playerctl play-pause + sleep 0.1 + show_music_notification +} + +# Stop playback +stop_playback() { + playerctl stop + notify-send -e -u low -i $music_icon " Playback:" " Stopped" +} + +# Display notification with song information +show_music_notification() { + status=$(playerctl status) + if [[ "$status" == "Playing" ]]; then + song_title=$(playerctl metadata title) + song_artist=$(playerctl metadata artist) + notify-send -e -u low -i $music_icon "Now Playing:" "$song_title by $song_artist" + elif [[ "$status" == "Paused" ]]; then + notify-send -e -u low -i $music_icon " Playback:" " Paused" + fi +} + +# Get media control action from command line argument +case "$1" in +"--nxt") + play_next + ;; +"--prv") + play_previous + ;; +"--pause") + toggle_play_pause + ;; +"--stop") + stop_playback + ;; +*) + echo "Usage: $0 [--nxt|--prv|--pause|--stop]" + exit 1 + ;; +esac diff --git a/hypr/scripts/MonitorProfiles.sh b/hypr/scripts/MonitorProfiles.sh new file mode 100755 index 0000000..67316c0 --- /dev/null +++ b/hypr/scripts/MonitorProfiles.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# For applying Pre-configured Monitor Profiles + +# Check if rofi is already running +if pidof rofi > /dev/null; then + pkill rofi +fi + +# Variables +iDIR="$HOME/.config/swaync/images" +SCRIPTSDIR="$HOME/.config/hypr/scripts" +monitor_dir="$HOME/.config/hypr/Monitor_Profiles" +target="$HOME/.config/hypr/monitors.conf" +rofi_theme="$HOME/.config/rofi/config-Monitors.rasi" +msg='❗NOTE:❗ This will overwrite $HOME/.config/hypr/monitors.conf' + +# Define the list of files to ignore +ignore_files=( + "README" +) + +# list of Monitor Profiles, sorted alphabetically with numbers first +mon_profiles_list=$(find -L "$monitor_dir" -maxdepth 1 -type f | sed 's/.*\///' | sed 's/\.conf$//' | sort -V) + +# Remove ignored files from the list +for ignored_file in "${ignore_files[@]}"; do + mon_profiles_list=$(echo "$mon_profiles_list" | grep -v -E "^$ignored_file$") +done + +# Rofi Menu +chosen_file=$(echo "$mon_profiles_list" | rofi -i -dmenu -config $rofi_theme -mesg "$msg") + +if [[ -n "$chosen_file" ]]; then + full_path="$monitor_dir/$chosen_file.conf" + cp "$full_path" "$target" + + notify-send -u low -i "$iDIR/ja.png" "$chosen_file" "Monitor Profile Loaded" +fi + +sleep 1 +${SCRIPTSDIR}/RefreshNoWaybar.sh & \ No newline at end of file diff --git a/hypr/scripts/Polkit-NixOS.sh b/hypr/scripts/Polkit-NixOS.sh new file mode 100755 index 0000000..51675ef --- /dev/null +++ b/hypr/scripts/Polkit-NixOS.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# For NixOS starting of polkit-gnome. Dec 2023, the settings stated in NixOS wiki does not work so have to manual start it + +# Find all polkit-gnome executables in the Nix store +polkit_gnome_paths=$(find /nix/store -name 'polkit-gnome-authentication-agent-1' -type f 2>/dev/null) + +for polkit_gnome_path in $polkit_gnome_paths; do + # Extract the directory containing the executable + polkit_gnome_dir=$(dirname "$polkit_gnome_path") + + # Check if the executable is valid and exists + if [ -x "$polkit_gnome_dir/polkit-gnome-authentication-agent-1" ]; then + # Start the Polkit-GNOME Authentication Agent + "$polkit_gnome_dir/polkit-gnome-authentication-agent-1" & + exit 0 + fi +done + +# If no valid executable is found, report an error +echo "No valid Polkit-GNOME Authentication Agent executable found." \ No newline at end of file diff --git a/hypr/scripts/Polkit.sh b/hypr/scripts/Polkit.sh new file mode 100755 index 0000000..dcea765 --- /dev/null +++ b/hypr/scripts/Polkit.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# This script starts the first available Polkit agent from a list of possible locations + +# List of potential Polkit agent file paths +polkit=( + "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1" + "/usr/libexec/hyprpolkitagent" + "/usr/lib/hyprpolkitagent" + "/usr/lib/hyprpolkitagent/hyprpolkitagent" + "/usr/lib/polkit-kde-authentication-agent-1" + "/usr/lib/polkit-gnome-authentication-agent-1" + "/usr/libexec/polkit-gnome-authentication-agent-1" + "/usr/libexec/polkit-mate-authentication-agent-1" + "/usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1" + "/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1" +) + +executed=false + +# Loop through the list of paths +for file in "${polkit[@]}"; do + if [ -e "$file" ] && [ ! -d "$file" ]; then + echo "Found: $file — executing..." + exec "$file" + executed=true + break + fi +done + +# Fallback message if nothing executed +if [ "$executed" == false ]; then + echo "No valid Polkit agent found. Please install one." +fi diff --git a/hypr/scripts/PortalHyprland.sh b/hypr/scripts/PortalHyprland.sh new file mode 100755 index 0000000..9bdf4b8 --- /dev/null +++ b/hypr/scripts/PortalHyprland.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# For manually starting xdg-desktop-portal-hyprland + +sleep 1 +killall xdg-desktop-portal-hyprland +killall xdg-desktop-portal-wlr +killall xdg-desktop-portal-gnome +killall xdg-desktop-portal +sleep 1 +/usr/lib/xdg-desktop-portal-hyprland & +/usr/libexec/xdg-desktop-portal-hyprland & +sleep 2 +/usr/lib/xdg-desktop-portal & +/usr/libexec/xdg-desktop-portal & + diff --git a/hypr/scripts/Refresh.sh b/hypr/scripts/Refresh.sh new file mode 100755 index 0000000..5b4fe6f --- /dev/null +++ b/hypr/scripts/Refresh.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Scripts for refreshing ags, waybar, rofi, swaync, wallust + +SCRIPTSDIR=$HOME/.config/hypr/scripts +UserScripts=$HOME/.config/hypr/UserScripts + +# Define file_exists function +file_exists() { + if [ -e "$1" ]; then + return 0 # File exists + else + return 1 # File does not exist + fi +} + +# Kill already running processes +_ps=(waybar rofi swaync ags) +for _prs in "${_ps[@]}"; do + if pidof "${_prs}" >/dev/null; then + pkill "${_prs}" + fi +done + +# added since wallust sometimes not applying +killall -SIGUSR2 waybar + +# quit ags & relaunch ags +#ags -q && ags & + +# quit quickshell & relaunch quickshell +pkill qs && qs & + +# some process to kill +for pid in $(pidof waybar rofi swaync ags swaybg); do + kill -SIGUSR1 "$pid" +done + +#Restart waybar +sleep 1 +waybar & + +# relaunch swaync +sleep 0.5 +swaync > /dev/null 2>&1 & +# reload swaync +swaync-client --reload-config + +# Relaunching rainbow borders if the script exists +sleep 1 +if file_exists "${UserScripts}/RainbowBorders.sh"; then + ${UserScripts}/RainbowBorders.sh & +fi + +exit 0 \ No newline at end of file diff --git a/hypr/scripts/RefreshNoWaybar.sh b/hypr/scripts/RefreshNoWaybar.sh new file mode 100755 index 0000000..16a91e5 --- /dev/null +++ b/hypr/scripts/RefreshNoWaybar.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## + +# Modified version of Refresh.sh but waybar wont refresh +# Used by automatic wallpaper change +# Modified inorder to refresh rofi background, Wallust, SwayNC only + +SCRIPTSDIR=$HOME/.config/hypr/scripts +UserScripts=$HOME/.config/hypr/UserScripts + +# Define file_exists function +file_exists() { + if [ -e "$1" ]; then + return 0 # File exists + else + return 1 # File does not exist + fi +} + +# Kill already running processes +_ps=(rofi) +for _prs in "${_ps[@]}"; do + if pidof "${_prs}" >/dev/null; then + pkill "${_prs}" + fi +done + +# quit ags & relaunch ags +#ags -q && ags & + +# quit quickshell & relaunch quickshell +pkill qs && qs & + +# Wallust refresh (synchronous to ensure colors are ready) +${SCRIPTSDIR}/WallustSwww.sh +sleep 0.2 + +# reload swaync +swaync-client --reload-config + +# Relaunching rainbow borders if the script exists +sleep 1 +if file_exists "${UserScripts}/RainbowBorders.sh"; then + ${UserScripts}/RainbowBorders.sh & +fi + + +exit 0 \ No newline at end of file diff --git a/hypr/scripts/RofiEmoji.sh b/hypr/scripts/RofiEmoji.sh new file mode 100755 index 0000000..4570831 --- /dev/null +++ b/hypr/scripts/RofiEmoji.sh @@ -0,0 +1,1871 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## + +# Variables +rofi_theme="$HOME/.config/rofi/config-emoji.rasi" +msg='** note ** 👀 Click or Return to choose || Ctrl V to Paste' + +# Check if rofi is already running +if pidof rofi > /dev/null; then + pkill rofi +fi + +sed '1,/^# # DATA # #$/d' "$0" | \ +rofi -i -dmenu -mesg "$msg" -config $rofi_theme | \ +awk '{print $1}' | \ +head -n 1 | \ +tr -d '\n' | \ +wl-copy + +exit + +# # DATA # # +😀 grinning face face smile happy joy :D grin +😃 grinning face with big eyes face happy joy haha :D :) smile funny +😄 grinning face with smiling eyes face happy joy funny haha laugh like :D :) smile +😁 beaming face with smiling eyes face happy smile joy kawaii +😆 grinning squinting face happy joy lol satisfied haha face glad XD laugh +😅 grinning face with sweat face hot happy laugh sweat smile relief +🤣 rolling on the floor laughing face rolling floor laughing lol haha rofl +😂 face with tears of joy face cry tears weep happy happytears haha +🙂 slightly smiling face face smile +🙃 upside down face face flipped silly smile +😉 winking face face happy mischievous secret ;) smile eye +😊 smiling face with smiling eyes face smile happy flushed crush embarrassed shy joy +😇 smiling face with halo face angel heaven halo +🥰 smiling face with hearts face love like affection valentines infatuation crush hearts adore +😍 smiling face with heart eyes face love like affection valentines infatuation crush heart +🤩 star struck face smile starry eyes grinning +😘 face blowing a kiss face love like affection valentines infatuation kiss +😗 kissing face love like face 3 valentines infatuation kiss +☺️ smiling face face blush massage happiness +😚 kissing face with closed eyes face love like affection valentines infatuation kiss +😙 kissing face with smiling eyes face affection valentines infatuation kiss +😋 face savoring food happy joy tongue smile face silly yummy nom delicious savouring +😛 face with tongue face prank childish playful mischievous smile tongue +😜 winking face with tongue face prank childish playful mischievous smile wink tongue +🤪 zany face face goofy crazy +😝 squinting face with tongue face prank playful mischievous smile tongue +🤑 money mouth face face rich dollar money +🤗 hugging face face smile hug +🤭 face with hand over mouth face whoops shock surprise +🤫 shushing face face quiet shhh +🤔 thinking face face hmmm think consider +🤐 zipper mouth face face sealed zipper secret +🤨 face with raised eyebrow face distrust scepticism disapproval disbelief surprise +😐 neutral face indifference meh :| neutral +😑 expressionless face face indifferent - - meh deadpan +😶 face without mouth face hellokitty +😏 smirking face face smile mean prank smug sarcasm +😒 unamused face indifference bored straight face serious sarcasm unimpressed skeptical dubious side eye +🙄 face with rolling eyes face eyeroll frustrated +😬 grimacing face face grimace teeth +🤥 lying face face lie pinocchio +😌 relieved face face relaxed phew massage happiness +😔 pensive face face sad depressed upset +😪 sleepy face face tired rest nap +🤤 drooling face face +😴 sleeping face face tired sleepy night zzz +😷 face with medical mask face sick ill disease +🤒 face with thermometer sick temperature thermometer cold fever +🤕 face with head bandage injured clumsy bandage hurt +🤢 nauseated face face vomit gross green sick throw up ill +🤮 face vomiting face sick +🤧 sneezing face face gesundheit sneeze sick allergy +🥵 hot face face feverish heat red sweating +🥶 cold face face blue freezing frozen frostbite icicles +🥴 woozy face face dizzy intoxicated tipsy wavy +😵 dizzy face spent unconscious xox dizzy +🤯 exploding head face shocked mind blown +🤠 cowboy hat face face cowgirl hat +🥳 partying face face celebration woohoo +😎 smiling face with sunglasses face cool smile summer beach sunglass +🤓 nerd face face nerdy geek dork +🧐 face with monocle face stuffy wealthy +😕 confused face face indifference huh weird hmmm :/ +😟 worried face face concern nervous :( +🙁 slightly frowning face face frowning disappointed sad upset +☹️ frowning face face sad upset frown +😮 face with open mouth face surprise impressed wow whoa :O +😯 hushed face face woo shh +😲 astonished face face xox surprised poisoned +😳 flushed face face blush shy flattered +🥺 pleading face face begging mercy +😦 frowning face with open mouth face aw what +😧 anguished face face stunned nervous +😨 fearful face face scared terrified nervous oops huh +😰 anxious face with sweat face nervous sweat +😥 sad but relieved face face phew sweat nervous +😢 crying face face tears sad depressed upset :'( +😭 loudly crying face face cry tears sad upset depressed +😱 face screaming in fear face munch scared omg +😖 confounded face face confused sick unwell oops :S +😣 persevering face face sick no upset oops +😞 disappointed face face sad upset depressed :( +😓 downcast face with sweat face hot sad tired exercise +😩 weary face face tired sleepy sad frustrated upset +😫 tired face sick whine upset frustrated +🥱 yawning face tired sleepy +😤 face with steam from nose face gas phew proud pride +😡 pouting face angry mad hate despise +😠 angry face mad face annoyed frustrated +🤬 face with symbols on mouth face swearing cursing cussing profanity expletive +😈 smiling face with horns devil horns +👿 angry face with horns devil angry horns +💀 skull dead skeleton creepy death +☠️ skull and crossbones poison danger deadly scary death pirate evil +💩 pile of poo hankey shitface fail turd shit +🤡 clown face face +👹 ogre monster red mask halloween scary creepy devil demon japanese ogre +👺 goblin red evil mask monster scary creepy japanese goblin +👻 ghost halloween spooky scary +👽 alien UFO paul weird outer space +👾 alien monster game arcade play +🤖 robot computer machine bot +😺 grinning cat animal cats happy smile +😸 grinning cat with smiling eyes animal cats smile +😹 cat with tears of joy animal cats haha happy tears +😻 smiling cat with heart eyes animal love like affection cats valentines heart +😼 cat with wry smile animal cats smirk +😽 kissing cat animal cats kiss +🙀 weary cat animal cats munch scared scream +😿 crying cat animal tears weep sad cats upset cry +😾 pouting cat animal cats +🙈 see no evil monkey monkey animal nature haha +🙉 hear no evil monkey animal monkey nature +🙊 speak no evil monkey monkey animal nature omg +💋 kiss mark face lips love like affection valentines +💌 love letter email like affection envelope valentines +💘 heart with arrow love like heart affection valentines +💝 heart with ribbon love valentines +💖 sparkling heart love like affection valentines +💗 growing heart like love affection valentines pink +💓 beating heart love like affection valentines pink heart +💞 revolving hearts love like affection valentines +💕 two hearts love like affection valentines heart +💟 heart decoration purple-square love like +❣️ heart exclamation decoration love +💔 broken heart sad sorry break heart heartbreak +❤️ red heart love like valentines +🧡 orange heart love like affection valentines +💛 yellow heart love like affection valentines +💚 green heart love like affection valentines +💙 blue heart love like affection valentines +💜 purple heart love like affection valentines +🤎 brown heart coffee +🖤 black heart evil +🤍 white heart pure +💯 hundred points score perfect numbers century exam quiz test pass hundred +💢 anger symbol angry mad +💥 collision bomb explode explosion collision blown +💫 dizzy star sparkle shoot magic +💦 sweat droplets water drip oops +💨 dashing away wind air fast shoo fart smoke puff +🕳️ hole embarrassing +💣 bomb boom explode explosion terrorism +💬 speech balloon bubble words message talk chatting +👁️‍🗨️ eye in speech bubble info +🗨️ left speech bubble words message talk chatting +🗯️ right anger bubble caption speech thinking mad +💭 thought balloon bubble cloud speech thinking dream +💤 zzz sleepy tired dream +👋 waving hand hands gesture goodbye solong farewell hello hi palm +🤚 raised back of hand fingers raised backhand +🖐️ hand with fingers splayed hand fingers palm +✋ raised hand fingers stop highfive palm ban +🖖 vulcan salute hand fingers spock star trek +👌 ok hand fingers limbs perfect ok okay +🤏 pinching hand tiny small size +✌️ victory hand fingers ohyeah hand peace victory two +🤞 crossed fingers good lucky +🤟 love you gesture hand fingers gesture +🤘 sign of the horns hand fingers evil eye sign of horns rock on +🤙 call me hand hands gesture shaka +👈 backhand index pointing left direction fingers hand left +👉 backhand index pointing right fingers hand direction right +👆 backhand index pointing up fingers hand direction up +🖕 middle finger hand fingers rude middle flipping +👇 backhand index pointing down fingers hand direction down +☝️ index pointing up hand fingers direction up +👍 thumbs up thumbsup yes awesome good agree accept cool hand like +1 +👎 thumbs down thumbsdown no dislike hand -1 +✊ raised fist fingers hand grasp +👊 oncoming fist angry violence fist hit attack hand +🤛 left facing fist hand fistbump +🤜 right facing fist hand fistbump +👏 clapping hands hands praise applause congrats yay +🙌 raising hands gesture hooray yea celebration hands +👐 open hands fingers butterfly hands open +🤲 palms up together hands gesture cupped prayer +🤝 handshake agreement shake +🙏 folded hands please hope wish namaste highfive pray +✍️ writing hand lower left ballpoint pen stationery write compose +💅 nail polish beauty manicure finger fashion nail +🤳 selfie camera phone +💪 flexed biceps arm flex hand summer strong biceps +🦾 mechanical arm accessibility +🦿 mechanical leg accessibility +🦵 leg kick limb +🦶 foot kick stomp +👂 ear face hear sound listen +🦻 ear with hearing aid accessibility +👃 nose smell sniff +🧠 brain smart intelligent +🦷 tooth teeth dentist +🦴 bone skeleton +👀 eyes look watch stalk peek see +👁️ eye face look see watch stare +👅 tongue mouth playful +👄 mouth mouth kiss +👶 baby child boy girl toddler +🧒 child gender-neutral young +👦 boy man male guy teenager +👧 girl female woman teenager +🧑 person gender-neutral person +👱 person blond hair hairstyle +👨 man mustache father dad guy classy sir moustache +🧔 man beard person bewhiskered +👨‍🦰 man red hair hairstyle +👨‍🦱 man curly hair hairstyle +👨‍🦳 man white hair old elder +👨‍🦲 man bald hairless +👩 woman female girls lady +👩‍🦰 woman red hair hairstyle +🧑‍🦰 person red hair hairstyle +👩‍🦱 woman curly hair hairstyle +🧑‍🦱 person curly hair hairstyle +👩‍🦳 woman white hair old elder +🧑‍🦳 person white hair elder old +👩‍🦲 woman bald hairless +🧑‍🦲 person bald hairless +👱‍♀️ woman blond hair woman female girl blonde person +👱‍♂️ man blond hair man male boy blonde guy person +🧓 older person human elder senior gender-neutral +👴 old man human male men old elder senior +👵 old woman human female women lady old elder senior +🙍 person frowning worried +🙍‍♂️ man frowning male boy man sad depressed discouraged unhappy +🙍‍♀️ woman frowning female girl woman sad depressed discouraged unhappy +🙎 person pouting upset +🙎‍♂️ man pouting male boy man +🙎‍♀️ woman pouting female girl woman +🙅 person gesturing no decline +🙅‍♂️ man gesturing no male boy man nope +🙅‍♀️ woman gesturing no female girl woman nope +🙆 person gesturing ok agree +🙆‍♂️ man gesturing ok men boy male blue human man +🙆‍♀️ woman gesturing ok women girl female pink human woman +💁 person tipping hand information +💁‍♂️ man tipping hand male boy man human information +💁‍♀️ woman tipping hand female girl woman human information +🙋 person raising hand question +🙋‍♂️ man raising hand male boy man +🙋‍♀️ woman raising hand female girl woman +🧏 deaf person accessibility +🧏‍♂️ deaf man accessibility +🧏‍♀️ deaf woman accessibility +🙇 person bowing respectiful +🙇‍♂️ man bowing man male boy +🙇‍♀️ woman bowing woman female girl +🤦 person facepalming disappointed +🤦‍♂️ man facepalming man male boy disbelief +🤦‍♀️ woman facepalming woman female girl disbelief +🤷 person shrugging regardless +🤷‍♂️ man shrugging man male boy confused indifferent doubt +🤷‍♀️ woman shrugging woman female girl confused indifferent doubt +🧑‍⚕️ health worker hospital +👨‍⚕️ man health worker doctor nurse therapist healthcare man human +👩‍⚕️ woman health worker doctor nurse therapist healthcare woman human +🧑‍🎓 student learn +👨‍🎓 man student graduate man human +👩‍🎓 woman student graduate woman human +🧑‍🏫 teacher professor +👨‍🏫 man teacher instructor professor man human +👩‍🏫 woman teacher instructor professor woman human +🧑‍⚖️ judge law +👨‍⚖️ man judge justice court man human +👩‍⚖️ woman judge justice court woman human +🧑‍🌾 farmer crops +👨‍🌾 man farmer rancher gardener man human +👩‍🌾 woman farmer rancher gardener woman human +🧑‍🍳 cook food kitchen culinary +👨‍🍳 man cook chef man human +👩‍🍳 woman cook chef woman human +🧑‍🔧 mechanic worker technician +👨‍🔧 man mechanic plumber man human wrench +👩‍🔧 woman mechanic plumber woman human wrench +🧑‍🏭 factory worker labor +👨‍🏭 man factory worker assembly industrial man human +👩‍🏭 woman factory worker assembly industrial woman human +🧑‍💼 office worker business +👨‍💼 man office worker business manager man human +👩‍💼 woman office worker business manager woman human +🧑‍🔬 scientist chemistry +👨‍🔬 man scientist biologist chemist engineer physicist man human +👩‍🔬 woman scientist biologist chemist engineer physicist woman human +🧑‍💻 technologist computer +👨‍💻 man technologist coder developer engineer programmer software man human laptop computer +👩‍💻 woman technologist coder developer engineer programmer software woman human laptop computer +🧑‍🎤 singer song artist performer +👨‍🎤 man singer rockstar entertainer man human +👩‍🎤 woman singer rockstar entertainer woman human +🧑‍🎨 artist painting draw creativity +👨‍🎨 man artist painter man human +👩‍🎨 woman artist painter woman human +🧑‍✈️ pilot fly plane airplane +👨‍✈️ man pilot aviator plane man human +👩‍✈️ woman pilot aviator plane woman human +🧑‍🚀 astronaut outerspace +👨‍🚀 man astronaut space rocket man human +👩‍🚀 woman astronaut space rocket woman human +🧑‍🚒 firefighter fire +👨‍🚒 man firefighter fireman man human +👩‍🚒 woman firefighter fireman woman human +👮 police officer cop +👮‍♂️ man police officer man police law legal enforcement arrest 911 +👮‍♀️ woman police officer woman police law legal enforcement arrest 911 female +🕵️ detective human spy detective +🕵️‍♂️ man detective crime +🕵️‍♀️ woman detective human spy detective female woman +💂 guard protect +💂‍♂️ man guard uk gb british male guy royal +💂‍♀️ woman guard uk gb british female royal woman +👷 construction worker labor build +👷‍♂️ man construction worker male human wip guy build construction worker labor +👷‍♀️ woman construction worker female human wip build construction worker labor woman +🤴 prince boy man male crown royal king +👸 princess girl woman female blond crown royal queen +👳 person wearing turban headdress +👳‍♂️ man wearing turban male indian hinduism arabs +👳‍♀️ woman wearing turban female indian hinduism arabs woman +👲 man with skullcap male boy chinese +🧕 woman with headscarf female hijab mantilla tichel +🤵 man in tuxedo couple marriage wedding groom +👰 bride with veil couple marriage wedding woman bride +🤰 pregnant woman baby +🤱 breast feeding nursing baby +👼 baby angel heaven wings halo +🎅 santa claus festival man male xmas father christmas +🤶 mrs claus woman female xmas mother christmas +🦸 superhero marvel +🦸‍♂️ man superhero man male good hero superpowers +🦸‍♀️ woman superhero woman female good heroine superpowers +🦹 supervillain marvel +🦹‍♂️ man supervillain man male evil bad criminal hero superpowers +🦹‍♀️ woman supervillain woman female evil bad criminal heroine superpowers +🧙 mage magic +🧙‍♂️ man mage man male mage sorcerer +🧙‍♀️ woman mage woman female mage witch +🧚 fairy wings magical +🧚‍♂️ man fairy man male +🧚‍♀️ woman fairy woman female +🧛 vampire blood twilight +🧛‍♂️ man vampire man male dracula +🧛‍♀️ woman vampire woman female +🧜 merperson sea +🧜‍♂️ merman man male triton +🧜‍♀️ mermaid woman female merwoman ariel +🧝 elf magical +🧝‍♂️ man elf man male +🧝‍♀️ woman elf woman female +🧞 genie magical wishes +🧞‍♂️ man genie man male +🧞‍♀️ woman genie woman female +🧟 zombie dead +🧟‍♂️ man zombie man male dracula undead walking dead +🧟‍♀️ woman zombie woman female undead walking dead +💆 person getting massage relax +💆‍♂️ man getting massage male boy man head +💆‍♀️ woman getting massage female girl woman head +💇 person getting haircut hairstyle +💇‍♂️ man getting haircut male boy man +💇‍♀️ woman getting haircut female girl woman +🚶 person walking move +🚶‍♂️ man walking human feet steps +🚶‍♀️ woman walking human feet steps woman female +🧍 person standing still +🧍‍♂️ man standing still +🧍‍♀️ woman standing still +🧎 person kneeling pray respectful +🧎‍♂️ man kneeling pray respectful +🧎‍♀️ woman kneeling respectful pray +🧑‍🦯 person with probing cane blind +👨‍🦯 man with probing cane blind +👩‍🦯 woman with probing cane blind +🧑‍🦼 person in motorized wheelchair disability accessibility +👨‍🦼 man in motorized wheelchair disability accessibility +👩‍🦼 woman in motorized wheelchair disability accessibility +🧑‍🦽 person in manual wheelchair disability accessibility +👨‍🦽 man in manual wheelchair disability accessibility +👩‍🦽 woman in manual wheelchair disability accessibility +🏃 person running move +🏃‍♂️ man running man walking exercise race running +🏃‍♀️ woman running woman walking exercise race running female +💃 woman dancing female girl woman fun +🕺 man dancing male boy fun dancer +🕴️ man in suit levitating suit business levitate hover jump +👯 people with bunny ears perform costume +👯‍♂️ men with bunny ears male bunny men boys +👯‍♀️ women with bunny ears female bunny women girls +🧖 person in steamy room relax spa +🧖‍♂️ man in steamy room male man spa steamroom sauna +🧖‍♀️ woman in steamy room female woman spa steamroom sauna +🧗 person climbing sport +🧗‍♂️ man climbing sports hobby man male rock +🧗‍♀️ woman climbing sports hobby woman female rock +🤺 person fencing sports fencing sword +🏇 horse racing animal betting competition gambling luck +⛷️ skier sports winter snow +🏂 snowboarder sports winter +🏌️ person golfing sports business +🏌️‍♂️ man golfing sport +🏌️‍♀️ woman golfing sports business woman female +🏄 person surfing sport sea +🏄‍♂️ man surfing sports ocean sea summer beach +🏄‍♀️ woman surfing sports ocean sea summer beach woman female +🚣 person rowing boat sport move +🚣‍♂️ man rowing boat sports hobby water ship +🚣‍♀️ woman rowing boat sports hobby water ship woman female +🏊 person swimming sport pool +🏊‍♂️ man swimming sports exercise human athlete water summer +🏊‍♀️ woman swimming sports exercise human athlete water summer woman female +⛹️ person bouncing ball sports human +⛹️‍♂️ man bouncing ball sport +⛹️‍♀️ woman bouncing ball sports human woman female +🏋️ person lifting weights sports training exercise +🏋️‍♂️ man lifting weights sport +🏋️‍♀️ woman lifting weights sports training exercise woman female +🚴 person biking sport move +🚴‍♂️ man biking sports bike exercise hipster +🚴‍♀️ woman biking sports bike exercise hipster woman female +🚵 person mountain biking sport move +🚵‍♂️ man mountain biking transportation sports human race bike +🚵‍♀️ woman mountain biking transportation sports human race bike woman female +🤸 person cartwheeling sport gymnastic +🤸‍♂️ man cartwheeling gymnastics +🤸‍♀️ woman cartwheeling gymnastics +🤼 people wrestling sport +🤼‍♂️ men wrestling sports wrestlers +🤼‍♀️ women wrestling sports wrestlers +🤽 person playing water polo sport +🤽‍♂️ man playing water polo sports pool +🤽‍♀️ woman playing water polo sports pool +🤾 person playing handball sport +🤾‍♂️ man playing handball sports +🤾‍♀️ woman playing handball sports +🤹 person juggling performance balance +🤹‍♂️ man juggling juggle balance skill multitask +🤹‍♀️ woman juggling juggle balance skill multitask +🧘 person in lotus position meditate +🧘‍♂️ man in lotus position man male meditation yoga serenity zen mindfulness +🧘‍♀️ woman in lotus position woman female meditation yoga serenity zen mindfulness +🛀 person taking bath clean shower bathroom +🛌 person in bed bed rest +🧑‍🤝‍🧑 people holding hands friendship +👭 women holding hands pair friendship couple love like female people human +👫 woman and man holding hands pair people human love date dating like affection valentines marriage +👬 men holding hands pair couple love like bromance friendship people human +💏 kiss pair valentines love like dating marriage +👩‍❤️‍💋‍👨 kiss woman man love +👨‍❤️‍💋‍👨 kiss man man pair valentines love like dating marriage +👩‍❤️‍💋‍👩 kiss woman woman pair valentines love like dating marriage +💑 couple with heart pair love like affection human dating valentines marriage +👩‍❤️‍👨 couple with heart woman man love +👨‍❤️‍👨 couple with heart man man pair love like affection human dating valentines marriage +👩‍❤️‍👩 couple with heart woman woman pair love like affection human dating valentines marriage +👪 family home parents child mom dad father mother people human +👨‍👩‍👦 family man woman boy love +👨‍👩‍👧 family man woman girl home parents people human child +👨‍👩‍👧‍👦 family man woman girl boy home parents people human children +👨‍👩‍👦‍👦 family man woman boy boy home parents people human children +👨‍👩‍👧‍👧 family man woman girl girl home parents people human children +👨‍👨‍👦 family man man boy home parents people human children +👨‍👨‍👧 family man man girl home parents people human children +👨‍👨‍👧‍👦 family man man girl boy home parents people human children +👨‍👨‍👦‍👦 family man man boy boy home parents people human children +👨‍👨‍👧‍👧 family man man girl girl home parents people human children +👩‍👩‍👦 family woman woman boy home parents people human children +👩‍👩‍👧 family woman woman girl home parents people human children +👩‍👩‍👧‍👦 family woman woman girl boy home parents people human children +👩‍👩‍👦‍👦 family woman woman boy boy home parents people human children +👩‍👩‍👧‍👧 family woman woman girl girl home parents people human children +👨‍👦 family man boy home parent people human child +👨‍👦‍👦 family man boy boy home parent people human children +👨‍👧 family man girl home parent people human child +👨‍👧‍👦 family man girl boy home parent people human children +👨‍👧‍👧 family man girl girl home parent people human children +👩‍👦 family woman boy home parent people human child +👩‍👦‍👦 family woman boy boy home parent people human children +👩‍👧 family woman girl home parent people human child +👩‍👧‍👦 family woman girl boy home parent people human children +👩‍👧‍👧 family woman girl girl home parent people human children +🗣️ speaking head user person human sing say talk +👤 bust in silhouette user person human +👥 busts in silhouette user person human group team +👣 footprints feet tracking walking beach +🐵 monkey face animal nature circus +🐒 monkey animal nature banana circus +🦍 gorilla animal nature circus +🦧 orangutan animal +🐶 dog face animal friend nature woof puppy pet faithful +🐕 dog animal nature friend doge pet faithful +🦮 guide dog animal blind +🐕‍🦺 service dog blind animal +🐩 poodle dog animal 101 nature pet +🐺 wolf animal nature wild +🦊 fox animal nature face +🦝 raccoon animal nature +🐱 cat face animal meow nature pet kitten +🐈 cat animal meow pet cats +🦁 lion animal nature +🐯 tiger face animal cat danger wild nature roar +🐅 tiger animal nature roar +🐆 leopard animal nature +🐴 horse face animal brown nature +🐎 horse animal gamble luck +🦄 unicorn animal nature mystical +🦓 zebra animal nature stripes safari +🦌 deer animal nature horns venison +🐮 cow face beef ox animal nature moo milk +🐂 ox animal cow beef +🐃 water buffalo animal nature ox cow +🐄 cow beef ox animal nature moo milk +🐷 pig face animal oink nature +🐖 pig animal nature +🐗 boar animal nature +🐽 pig nose animal oink +🐏 ram animal sheep nature +🐑 ewe animal nature wool shipit +🐐 goat animal nature +🐪 camel animal hot desert hump +🐫 two hump camel animal nature hot desert hump +🦙 llama animal nature alpaca +🦒 giraffe animal nature spots safari +🐘 elephant animal nature nose th circus +🦏 rhinoceros animal nature horn +🦛 hippopotamus animal nature +🐭 mouse face animal nature cheese wedge rodent +🐁 mouse animal nature rodent +🐀 rat animal mouse rodent +🐹 hamster animal nature +🐰 rabbit face animal nature pet spring magic bunny +🐇 rabbit animal nature pet magic spring +🐿️ chipmunk animal nature rodent squirrel +🦔 hedgehog animal nature spiny +🦇 bat animal nature blind vampire +🐻 bear animal nature wild +🐨 koala animal nature +🐼 panda animal nature panda +🦥 sloth animal +🦦 otter animal +🦨 skunk animal +🦘 kangaroo animal nature australia joey hop marsupial +🦡 badger animal nature honey +🐾 paw prints animal tracking footprints dog cat pet feet +🦃 turkey animal bird +🐔 chicken animal cluck nature bird +🐓 rooster animal nature chicken +🐣 hatching chick animal chicken egg born baby bird +🐤 baby chick animal chicken bird +🐥 front facing baby chick animal chicken baby bird +🐦 bird animal nature fly tweet spring +🐧 penguin animal nature +🕊️ dove animal bird +🦅 eagle animal nature bird +🦆 duck animal nature bird mallard +🦢 swan animal nature bird +🦉 owl animal nature bird hoot +🦩 flamingo animal +🦚 peacock animal nature peahen bird +🦜 parrot animal nature bird pirate talk +🐸 frog animal nature croak toad +🐊 crocodile animal nature reptile lizard alligator +🐢 turtle animal slow nature tortoise +🦎 lizard animal nature reptile +🐍 snake animal evil nature hiss python +🐲 dragon face animal myth nature chinese green +🐉 dragon animal myth nature chinese green +🦕 sauropod animal nature dinosaur brachiosaurus brontosaurus diplodocus extinct +🦖 t rex animal nature dinosaur tyrannosaurus extinct +🐳 spouting whale animal nature sea ocean +🐋 whale animal nature sea ocean +🐬 dolphin animal nature fish sea ocean flipper fins beach +🐟 fish animal food nature +🐠 tropical fish animal swim ocean beach nemo +🐡 blowfish animal nature food sea ocean +🦈 shark animal nature fish sea ocean jaws fins beach +🐙 octopus animal creature ocean sea nature beach +🐚 spiral shell nature sea beach +🐌 snail slow animal shell +🦋 butterfly animal insect nature caterpillar +🐛 bug animal insect nature worm +🐜 ant animal insect nature bug +🐝 honeybee animal insect nature bug spring honey +🐞 lady beetle animal insect nature ladybug +🦗 cricket animal cricket chirp +🕷️ spider animal arachnid +🕸️ spider web animal insect arachnid silk +🦂 scorpion animal arachnid +🦟 mosquito animal nature insect malaria +🦠 microbe amoeba bacteria germs virus +💐 bouquet flowers nature spring +🌸 cherry blossom nature plant spring flower +💮 white flower japanese spring +🏵️ rosette flower decoration military +🌹 rose flowers valentines love spring +🥀 wilted flower plant nature flower +🌺 hibiscus plant vegetable flowers beach +🌻 sunflower nature plant fall +🌼 blossom nature flowers yellow +🌷 tulip flowers plant nature summer spring +🌱 seedling plant nature grass lawn spring +🌲 evergreen tree plant nature +🌳 deciduous tree plant nature +🌴 palm tree plant vegetable nature summer beach mojito tropical +🌵 cactus vegetable plant nature +🌾 sheaf of rice nature plant +🌿 herb vegetable plant medicine weed grass lawn +☘️ shamrock vegetable plant nature irish clover +🍀 four leaf clover vegetable plant nature lucky irish +🍁 maple leaf nature plant vegetable ca fall +🍂 fallen leaf nature plant vegetable leaves +🍃 leaf fluttering in wind nature plant tree vegetable grass lawn spring +🍇 grapes fruit food wine +🍈 melon fruit nature food +🍉 watermelon fruit food picnic summer +🍊 tangerine food fruit nature orange +🍋 lemon fruit nature +🍌 banana fruit food monkey +🍍 pineapple fruit nature food +🥭 mango fruit food tropical +🍎 red apple fruit mac school +🍏 green apple fruit nature +🍐 pear fruit nature food +🍑 peach fruit nature food +🍒 cherries food fruit +🍓 strawberry fruit food nature +🥝 kiwi fruit fruit food +🍅 tomato fruit vegetable nature food +🥥 coconut fruit nature food palm +🥑 avocado fruit food +🍆 eggplant vegetable nature food aubergine +🥔 potato food tuber vegatable starch +🥕 carrot vegetable food orange +🌽 ear of corn food vegetable plant +🌶️ hot pepper food spicy chilli chili +🥒 cucumber fruit food pickle +🥬 leafy green food vegetable plant bok choy cabbage kale lettuce +🥦 broccoli fruit food vegetable +🧄 garlic food spice cook +🧅 onion cook food spice +🍄 mushroom plant vegetable +🥜 peanuts food nut +🌰 chestnut food squirrel +🍞 bread food wheat breakfast toast +🥐 croissant food bread french +🥖 baguette bread food bread french +🥨 pretzel food bread twisted +🥯 bagel food bread bakery schmear +🥞 pancakes food breakfast flapjacks hotcakes +🧇 waffle food breakfast +🧀 cheese wedge food chadder +🍖 meat on bone good food drumstick +🍗 poultry leg food meat drumstick bird chicken turkey +🥩 cut of meat food cow meat cut chop lambchop porkchop +🥓 bacon food breakfast pork pig meat +🍔 hamburger meat fast food beef cheeseburger mcdonalds burger king +🍟 french fries chips snack fast food +🍕 pizza food party +🌭 hot dog food frankfurter +🥪 sandwich food lunch bread +🌮 taco food mexican +🌯 burrito food mexican +🥙 stuffed flatbread food flatbread stuffed gyro +🧆 falafel food +🥚 egg food chicken breakfast +🍳 cooking food breakfast kitchen egg +🥘 shallow pan of food food cooking casserole paella +🍲 pot of food food meat soup +🥣 bowl with spoon food breakfast cereal oatmeal porridge +🥗 green salad food healthy lettuce +🍿 popcorn food movie theater films snack +🧈 butter food cook +🧂 salt condiment shaker +🥫 canned food food soup +🍱 bento box food japanese box +🍘 rice cracker food japanese +🍙 rice ball food japanese +🍚 cooked rice food china asian +🍛 curry rice food spicy hot indian +🍜 steaming bowl food japanese noodle chopsticks +🍝 spaghetti food italian noodle +🍠 roasted sweet potato food nature +🍢 oden food japanese +🍣 sushi food fish japanese rice +🍤 fried shrimp food animal appetizer summer +🍥 fish cake with swirl food japan sea beach narutomaki pink swirl kamaboko surimi ramen +🥮 moon cake food autumn +🍡 dango food dessert sweet japanese barbecue meat +🥟 dumpling food empanada pierogi potsticker +🥠 fortune cookie food prophecy +🥡 takeout box food leftovers +🦀 crab animal crustacean +🦞 lobster animal nature bisque claws seafood +🦐 shrimp animal ocean nature seafood +🦑 squid animal nature ocean sea +🦪 oyster food +🍦 soft ice cream food hot dessert summer +🍧 shaved ice hot dessert summer +🍨 ice cream food hot dessert +🍩 doughnut food dessert snack sweet donut +🍪 cookie food snack oreo chocolate sweet dessert +🎂 birthday cake food dessert cake +🍰 shortcake food dessert +🧁 cupcake food dessert bakery sweet +🥧 pie food dessert pastry +🍫 chocolate bar food snack dessert sweet +🍬 candy snack dessert sweet lolly +🍭 lollipop food snack candy sweet +🍮 custard dessert food +🍯 honey pot bees sweet kitchen +🍼 baby bottle food container milk +🥛 glass of milk beverage drink cow +☕ hot beverage beverage caffeine latte espresso coffee +🍵 teacup without handle drink bowl breakfast green british +🍶 sake wine drink drunk beverage japanese alcohol booze +🍾 bottle with popping cork drink wine bottle celebration +🍷 wine glass drink beverage drunk alcohol booze +🍸 cocktail glass drink drunk alcohol beverage booze mojito +🍹 tropical drink beverage cocktail summer beach alcohol booze mojito +🍺 beer mug relax beverage drink drunk party pub summer alcohol booze +🍻 clinking beer mugs relax beverage drink drunk party pub summer alcohol booze +🥂 clinking glasses beverage drink party alcohol celebrate cheers wine champagne toast +🥃 tumbler glass drink beverage drunk alcohol liquor booze bourbon scotch whisky glass shot +🥤 cup with straw drink soda +🧃 beverage box drink +🧉 mate drink tea beverage +🧊 ice water cold +🥢 chopsticks food +🍽️ fork and knife with plate food eat meal lunch dinner restaurant +🍴 fork and knife cutlery kitchen +🥄 spoon cutlery kitchen tableware +🔪 kitchen knife knife blade cutlery kitchen weapon +🏺 amphora vase jar +🌍 globe showing europe africa globe world international +🌎 globe showing americas globe world USA international +🌏 globe showing asia australia globe world east international +🌐 globe with meridians earth international world internet interweb i18n +🗺️ world map location direction +🗾 map of japan nation country japanese asia +🧭 compass magnetic navigation orienteering +🏔️ snow capped mountain photo nature environment winter cold +⛰️ mountain photo nature environment +🌋 volcano photo nature disaster +🗻 mount fuji photo mountain nature japanese +🏕️ camping photo outdoors tent +🏖️ beach with umbrella weather summer sunny sand mojito +🏜️ desert photo warm saharah +🏝️ desert island photo tropical mojito +🏞️ national park photo environment nature +🏟️ stadium photo place sports concert venue +🏛️ classical building art culture history +🏗️ building construction wip working progress +🧱 brick bricks +🏘️ houses buildings photo +🏚️ derelict house abandon evict broken building +🏠 house building home +🏡 house with garden home plant nature +🏢 office building building bureau work +🏣 japanese post office building envelope communication +🏤 post office building email +🏥 hospital building health surgery doctor +🏦 bank building money sales cash business enterprise +🏨 hotel building accomodation checkin +🏩 love hotel like affection dating +🏪 convenience store building shopping groceries +🏫 school building student education learn teach +🏬 department store building shopping mall +🏭 factory building industry pollution smoke +🏯 japanese castle photo building +🏰 castle building royalty history +💒 wedding love like affection couple marriage bride groom +🗼 tokyo tower photo japanese +🗽 statue of liberty american newyork +⛪ church building religion christ +🕌 mosque islam worship minaret +🛕 hindu temple religion +🕍 synagogue judaism worship temple jewish +⛩️ shinto shrine temple japan kyoto +🕋 kaaba mecca mosque islam +⛲ fountain photo summer water fresh +⛺ tent photo camping outdoors +🌁 foggy photo mountain +🌃 night with stars evening city downtown +🏙️ cityscape photo night life urban +🌄 sunrise over mountains view vacation photo +🌅 sunrise morning view vacation photo +🌆 cityscape at dusk photo evening sky buildings +🌇 sunset photo good morning dawn +🌉 bridge at night photo sanfrancisco +♨️ hot springs bath warm relax +🎠 carousel horse photo carnival +🎡 ferris wheel photo carnival londoneye +🎢 roller coaster carnival playground photo fun +💈 barber pole hair salon style +🎪 circus tent festival carnival party +🚂 locomotive transportation vehicle train +🚃 railway car transportation vehicle +🚄 high speed train transportation vehicle +🚅 bullet train transportation vehicle speed fast public travel +🚆 train transportation vehicle +🚇 metro transportation blue-square mrt underground tube +🚈 light rail transportation vehicle +🚉 station transportation vehicle public +🚊 tram transportation vehicle +🚝 monorail transportation vehicle +🚞 mountain railway transportation vehicle +🚋 tram car transportation vehicle carriage public travel +🚌 bus car vehicle transportation +🚍 oncoming bus vehicle transportation +🚎 trolleybus bart transportation vehicle +🚐 minibus vehicle car transportation +🚑 ambulance health 911 hospital +🚒 fire engine transportation cars vehicle +🚓 police car vehicle cars transportation law legal enforcement +🚔 oncoming police car vehicle law legal enforcement 911 +🚕 taxi uber vehicle cars transportation +🚖 oncoming taxi vehicle cars uber +🚗 automobile red transportation vehicle +🚘 oncoming automobile car vehicle transportation +🚙 sport utility vehicle transportation vehicle +🚚 delivery truck cars transportation +🚛 articulated lorry vehicle cars transportation express +🚜 tractor vehicle car farming agriculture +🏎️ racing car sports race fast formula f1 +🏍️ motorcycle race sports fast +🛵 motor scooter vehicle vespa sasha +🦽 manual wheelchair accessibility +🦼 motorized wheelchair accessibility +🛺 auto rickshaw move transportation +🚲 bicycle sports bicycle exercise hipster +🛴 kick scooter vehicle kick razor +🛹 skateboard board +🚏 bus stop transportation wait +🛣️ motorway road cupertino interstate highway +🛤️ railway track train transportation +🛢️ oil drum barrell +⛽ fuel pump gas station petroleum +🚨 police car light police ambulance 911 emergency alert error pinged law legal +🚥 horizontal traffic light transportation signal +🚦 vertical traffic light transportation driving +🛑 stop sign stop +🚧 construction wip progress caution warning +⚓ anchor ship ferry sea boat +⛵ sailboat ship summer transportation water sailing +🛶 canoe boat paddle water ship +🚤 speedboat ship transportation vehicle summer +🛳️ passenger ship yacht cruise ferry +⛴️ ferry boat ship yacht +🛥️ motor boat ship +🚢 ship transportation titanic deploy +✈️ airplane vehicle transportation flight fly +🛩️ small airplane flight transportation fly vehicle +🛫 airplane departure airport flight landing +🛬 airplane arrival airport flight boarding +🪂 parachute fly glide +💺 seat sit airplane transport bus flight fly +🚁 helicopter transportation vehicle fly +🚟 suspension railway vehicle transportation +🚠 mountain cableway transportation vehicle ski +🚡 aerial tramway transportation vehicle ski +🛰️ satellite communication gps orbit spaceflight NASA ISS +🚀 rocket launch ship staffmode NASA outer space outer space fly +🛸 flying saucer transportation vehicle ufo +🛎️ bellhop bell service +🧳 luggage packing travel +⌛ hourglass done time clock oldschool limit exam quiz test +⏳ hourglass not done oldschool time countdown +⌚ watch time accessories +⏰ alarm clock time wake +⏱️ stopwatch time deadline +⏲️ timer clock alarm +🕰️ mantelpiece clock time +🕛 twelve o clock time noon midnight midday late early schedule +🕧 twelve thirty time late early schedule +🕐 one o clock time late early schedule +🕜 one thirty time late early schedule +🕑 two o clock time late early schedule +🕝 two thirty time late early schedule +🕒 three o clock time late early schedule +🕞 three thirty time late early schedule +🕓 four o clock time late early schedule +🕟 four thirty time late early schedule +🕔 five o clock time late early schedule +🕠 five thirty time late early schedule +🕕 six o clock time late early schedule dawn dusk +🕡 six thirty time late early schedule +🕖 seven o clock time late early schedule +🕢 seven thirty time late early schedule +🕗 eight o clock time late early schedule +🕣 eight thirty time late early schedule +🕘 nine o clock time late early schedule +🕤 nine thirty time late early schedule +🕙 ten o clock time late early schedule +🕥 ten thirty time late early schedule +🕚 eleven o clock time late early schedule +🕦 eleven thirty time late early schedule +🌑 new moon nature twilight planet space night evening sleep +🌒 waxing crescent moon nature twilight planet space night evening sleep +🌓 first quarter moon nature twilight planet space night evening sleep +🌔 waxing gibbous moon nature night sky gray twilight planet space evening sleep +🌕 full moon nature yellow twilight planet space night evening sleep +🌖 waning gibbous moon nature twilight planet space night evening sleep waxing gibbous moon +🌗 last quarter moon nature twilight planet space night evening sleep +🌘 waning crescent moon nature twilight planet space night evening sleep +🌙 crescent moon night sleep sky evening magic +🌚 new moon face nature twilight planet space night evening sleep +🌛 first quarter moon face nature twilight planet space night evening sleep +🌜 last quarter moon face nature twilight planet space night evening sleep +🌡️ thermometer weather temperature hot cold +☀️ sun weather nature brightness summer beach spring +🌝 full moon face nature twilight planet space night evening sleep +🌞 sun with face nature morning sky +🪐 ringed planet outerspace +⭐ star night yellow +🌟 glowing star night sparkle awesome good magic +🌠 shooting star night photo +🌌 milky way photo space stars +☁️ cloud weather sky +⛅ sun behind cloud weather nature cloudy morning fall spring +⛈️ cloud with lightning and rain weather lightning +🌤️ sun behind small cloud weather +🌥️ sun behind large cloud weather +🌦️ sun behind rain cloud weather +🌧️ cloud with rain weather +🌨️ cloud with snow weather +🌩️ cloud with lightning weather thunder +🌪️ tornado weather cyclone twister +🌫️ fog weather +🌬️ wind face gust air +🌀 cyclone weather swirl blue cloud vortex spiral whirlpool spin tornado hurricane typhoon +🌈 rainbow nature happy unicorn face photo sky spring +🌂 closed umbrella weather rain drizzle +☂️ umbrella weather spring +☔ umbrella with rain drops rainy weather spring +⛱️ umbrella on ground weather summer +⚡ high voltage thunder weather lightning bolt fast +❄️ snowflake winter season cold weather christmas xmas +☃️ snowman winter season cold weather christmas xmas frozen +⛄ snowman without snow winter season cold weather christmas xmas frozen without snow +☄️ comet space +🔥 fire hot cook flame +💧 droplet water drip faucet spring +🌊 water wave sea water wave nature tsunami disaster +🎃 jack o lantern halloween light pumpkin creepy fall +🎄 christmas tree festival vacation december xmas celebration +🎆 fireworks photo festival carnival congratulations +🎇 sparkler stars night shine +🧨 firecracker dynamite boom explode explosion explosive +✨ sparkles stars shine shiny cool awesome good magic +🎈 balloon party celebration birthday circus +🎉 party popper party congratulations birthday magic circus celebration tada +🎊 confetti ball festival party birthday circus +🎋 tanabata tree plant nature branch summer +🎍 pine decoration plant nature vegetable panda pine decoration +🎎 japanese dolls japanese toy kimono +🎏 carp streamer fish japanese koinobori carp banner +🎐 wind chime nature ding spring bell +🎑 moon viewing ceremony photo japan asia tsukimi +🧧 red envelope gift +🎀 ribbon decoration pink girl bowtie +🎁 wrapped gift present birthday christmas xmas +🎗️ reminder ribbon sports cause support awareness +🎟️ admission tickets sports concert entrance +🎫 ticket event concert pass +🎖️ military medal award winning army +🏆 trophy win award contest place ftw ceremony +🏅 sports medal award winning +🥇 1st place medal award winning first +🥈 2nd place medal award second +🥉 3rd place medal award third +⚽ soccer ball sports football +⚾ baseball sports balls +🥎 softball sports balls +🏀 basketball sports balls NBA +🏐 volleyball sports balls +🏈 american football sports balls NFL +🏉 rugby football sports team +🎾 tennis sports balls green +🥏 flying disc sports frisbee ultimate +🎳 bowling sports fun play +🏏 cricket game sports +🏑 field hockey sports +🏒 ice hockey sports +🥍 lacrosse sports ball stick +🏓 ping pong sports pingpong +🏸 badminton sports +🥊 boxing glove sports fighting +🥋 martial arts uniform judo karate taekwondo +🥅 goal net sports +⛳ flag in hole sports business flag hole summer +⛸️ ice skate sports +🎣 fishing pole food hobby summer +🤿 diving mask sport ocean +🎽 running shirt play pageant +🎿 skis sports winter cold snow +🛷 sled sleigh luge toboggan +🥌 curling stone sports +🎯 direct hit game play bar target bullseye +🪀 yo yo toy +🪁 kite wind fly +🎱 pool 8 ball pool hobby game luck magic +🔮 crystal ball disco party magic circus fortune teller +🧿 nazar amulet bead charm +🎮 video game play console PS4 controller +🕹️ joystick game play +🎰 slot machine bet gamble vegas fruit machine luck casino +🎲 game die dice random tabletop play luck +🧩 puzzle piece interlocking puzzle piece +🧸 teddy bear plush stuffed +♠️ spade suit poker cards suits magic +♥️ heart suit poker cards magic suits +♦️ diamond suit poker cards magic suits +♣️ club suit poker cards magic suits +♟️ chess pawn expendable +🃏 joker poker cards game play magic +🀄 mahjong red dragon game play chinese kanji +🎴 flower playing cards game sunset red +🎭 performing arts acting theater drama +🖼️ framed picture photography +🎨 artist palette design paint draw colors +🧵 thread needle sewing spool string +🧶 yarn ball crochet knit +👓 glasses fashion accessories eyesight nerdy dork geek +🕶️ sunglasses face cool accessories +🥽 goggles eyes protection safety +🥼 lab coat doctor experiment scientist chemist +🦺 safety vest protection +👔 necktie shirt suitup formal fashion cloth business +👕 t shirt fashion cloth casual shirt tee +👖 jeans fashion shopping +🧣 scarf neck winter clothes +🧤 gloves hands winter clothes +🧥 coat jacket +🧦 socks stockings clothes +👗 dress clothes fashion shopping +👘 kimono dress fashion women female japanese +🥻 sari dress +🩱 one piece swimsuit fashion +🩲 briefs clothing +🩳 shorts clothing +👙 bikini swimming female woman girl fashion beach summer +👚 woman s clothes fashion shopping bags female +👛 purse fashion accessories money sales shopping +👜 handbag fashion accessory accessories shopping +👝 clutch bag bag accessories shopping +🛍️ shopping bags mall buy purchase +🎒 backpack student education bag backpack +👞 man s shoe fashion male +👟 running shoe shoes sports sneakers +🥾 hiking boot backpacking camping hiking +🥿 flat shoe ballet slip-on slipper +👠 high heeled shoe fashion shoes female pumps stiletto +👡 woman s sandal shoes fashion flip flops +🩰 ballet shoes dance +👢 woman s boot shoes fashion +👑 crown king kod leader royalty lord +👒 woman s hat fashion accessories female lady spring +🎩 top hat magic gentleman classy circus +🎓 graduation cap school college degree university graduation cap hat legal learn education +🧢 billed cap cap baseball +⛑️ rescue worker s helmet construction build +📿 prayer beads dhikr religious +💄 lipstick female girl fashion woman +💍 ring wedding propose marriage valentines diamond fashion jewelry gem engagement +💎 gem stone blue ruby diamond jewelry +🔇 muted speaker sound volume silence quiet +🔈 speaker low volume sound volume silence broadcast +🔉 speaker medium volume volume speaker broadcast +🔊 speaker high volume volume noise noisy speaker broadcast +📢 loudspeaker volume sound +📣 megaphone sound speaker volume +📯 postal horn instrument music +🔔 bell sound notification christmas xmas chime +🔕 bell with slash sound volume mute quiet silent +🎼 musical score treble clef compose +🎵 musical note score tone sound +🎶 musical notes music score +🎙️ studio microphone sing recording artist talkshow +🎚️ level slider scale +🎛️ control knobs dial +🎤 microphone sound music PA sing talkshow +🎧 headphone music score gadgets +📻 radio communication music podcast program +🎷 saxophone music instrument jazz blues +🎸 guitar music instrument +🎹 musical keyboard piano instrument compose +🎺 trumpet music brass +🎻 violin music instrument orchestra symphony +🪕 banjo music instructment +🥁 drum music instrument drumsticks snare +📱 mobile phone technology apple gadgets dial +📲 mobile phone with arrow iphone incoming +☎️ telephone technology communication dial telephone +📞 telephone receiver technology communication dial +📟 pager bbcall oldschool 90s +📠 fax machine communication technology +🔋 battery power energy sustain +🔌 electric plug charger power +💻 laptop technology laptop screen display monitor +🖥️ desktop computer technology computing screen +🖨️ printer paper ink +⌨️ keyboard technology computer type input text +🖱️ computer mouse click +🖲️ trackball technology trackpad +💽 computer disk technology record data disk 90s +💾 floppy disk oldschool technology save 90s 80s +💿 optical disk technology dvd disk disc 90s +📀 dvd cd disk disc +🧮 abacus calculation +🎥 movie camera film record +🎞️ film frames movie +📽️ film projector video tape record movie +🎬 clapper board movie film record +📺 television technology program oldschool show television +📷 camera gadgets photography +📸 camera with flash photography gadgets +📹 video camera film record +📼 videocassette record video oldschool 90s 80s +🔍 magnifying glass tilted left search zoom find detective +🔎 magnifying glass tilted right search zoom find detective +🕯️ candle fire wax +💡 light bulb light electricity idea +🔦 flashlight dark camping sight night +🏮 red paper lantern light paper halloween spooky +🪔 diya lamp lighting +📔 notebook with decorative cover classroom notes record paper study +📕 closed book read library knowledge textbook learn +📖 open book book read library knowledge literature learn study +📗 green book read library knowledge study +📘 blue book read library knowledge learn study +📙 orange book read library knowledge textbook study +📚 books literature library study +📓 notebook stationery record notes paper study +📒 ledger notes paper +📃 page with curl documents office paper +📜 scroll documents ancient history paper +📄 page facing up documents office paper information +📰 newspaper press headline +🗞️ rolled up newspaper press headline +📑 bookmark tabs favorite save order tidy +🔖 bookmark favorite label save +🏷️ label sale tag +💰 money bag dollar payment coins sale +💴 yen banknote money sales japanese dollar currency +💵 dollar banknote money sales bill currency +💶 euro banknote money sales dollar currency +💷 pound banknote british sterling money sales bills uk england currency +💸 money with wings dollar bills payment sale +💳 credit card money sales dollar bill payment shopping +🧾 receipt accounting expenses +💹 chart increasing with yen green-square graph presentation stats +💱 currency exchange money sales dollar travel +💲 heavy dollar sign money sales payment currency buck +✉️ envelope letter postal inbox communication +📧 e mail communication inbox +📨 incoming envelope email inbox +📩 envelope with arrow email communication +📤 outbox tray inbox email +📥 inbox tray email documents +📦 package mail gift cardboard box moving +📫 closed mailbox with raised flag email inbox communication +📪 closed mailbox with lowered flag email communication inbox +📬 open mailbox with raised flag email inbox communication +📭 open mailbox with lowered flag email inbox +📮 postbox email letter envelope +🗳️ ballot box with ballot election vote +✏️ pencil stationery write paper writing school study +✒️ black nib pen stationery writing write +🖋️ fountain pen stationery writing write +🖊️ pen stationery writing write +🖌️ paintbrush drawing creativity art +🖍️ crayon drawing creativity +📝 memo write documents stationery pencil paper writing legal exam quiz test study compose +💼 briefcase business documents work law legal job career +📁 file directory documents business office +📂 open file directory documents load +🗂️ card index dividers organizing business stationery +📅 calendar calendar schedule +📆 tear off calendar schedule date planning +🗒️ spiral notepad memo stationery +🗓️ spiral calendar date schedule planning +📇 card index business stationery +📈 chart increasing graph presentation stats recovery business economics money sales good success +📉 chart decreasing graph presentation stats recession business economics money sales bad failure +📊 bar chart graph presentation stats +📋 clipboard stationery documents +📌 pushpin stationery mark here +📍 round pushpin stationery location map here +📎 paperclip documents stationery +🖇️ linked paperclips documents stationery +📏 straight ruler stationery calculate length math school drawing architect sketch +📐 triangular ruler stationery math architect sketch +✂️ scissors stationery cut +🗃️ card file box business stationery +🗄️ file cabinet filing organizing +🗑️ wastebasket bin trash rubbish garbage toss +🔒 locked security password padlock +🔓 unlocked privacy security +🔏 locked with pen security secret +🔐 locked with key security privacy +🔑 key lock door password +🗝️ old key lock door password +🔨 hammer tools build create +🪓 axe tool chop cut +⛏️ pick tools dig +⚒️ hammer and pick tools build create +🛠️ hammer and wrench tools build create +🗡️ dagger weapon +⚔️ crossed swords weapon +🔫 pistol violence weapon pistol revolver +🏹 bow and arrow sports +🛡️ shield protection security +🔧 wrench tools diy ikea fix maintainer +🔩 nut and bolt handy tools fix +⚙️ gear cog +🗜️ clamp tool +⚖️ balance scale law fairness weight +🦯 probing cane accessibility +🔗 link rings url +⛓️ chains lock arrest +🧰 toolbox tools diy fix maintainer mechanic +🧲 magnet attraction magnetic +⚗️ alembic distilling science experiment chemistry +🧪 test tube chemistry experiment lab science +🧫 petri dish bacteria biology culture lab +🧬 dna biologist genetics life +🔬 microscope laboratory experiment zoomin science study +🔭 telescope stars space zoom science astronomy +📡 satellite antenna communication future radio space +💉 syringe health hospital drugs blood medicine needle doctor nurse +🩸 drop of blood period hurt harm wound +💊 pill health medicine doctor pharmacy drug +🩹 adhesive bandage heal +🩺 stethoscope health +🚪 door house entry exit +🛏️ bed sleep rest +🛋️ couch and lamp read chill +🪑 chair sit furniture +🚽 toilet restroom wc washroom bathroom potty +🚿 shower clean water bathroom +🛁 bathtub clean shower bathroom +🪒 razor cut +🧴 lotion bottle moisturizer sunscreen +🧷 safety pin diaper +🧹 broom cleaning sweeping witch +🧺 basket laundry +🧻 roll of paper roll +🧼 soap bar bathing cleaning lather +🧽 sponge absorbing cleaning porous +🧯 fire extinguisher quench +🛒 shopping cart trolley +🚬 cigarette kills tobacco cigarette joint smoke +⚰️ coffin vampire dead die death rip graveyard cemetery casket funeral box +⚱️ funeral urn dead die death rip ashes +🗿 moai rock easter island moai +🏧 atm sign money sales cash blue-square payment bank +🚮 litter in bin sign blue-square sign human info +🚰 potable water blue-square liquid restroom cleaning faucet +♿ wheelchair symbol blue-square disabled accessibility +🚹 men s room toilet restroom wc blue-square gender male +🚺 women s room purple-square woman female toilet loo restroom gender +🚻 restroom blue-square toilet refresh wc gender +🚼 baby symbol orange-square child +🚾 water closet toilet restroom blue-square +🛂 passport control custom blue-square +🛃 customs passport border blue-square +🛄 baggage claim blue-square airport transport +🛅 left luggage blue-square travel +⚠️ warning exclamation wip alert error problem issue +🚸 children crossing school warning danger sign driving yellow-diamond +⛔ no entry limit security privacy bad denied stop circle +🚫 prohibited forbid stop limit denied disallow circle +🚳 no bicycles cyclist prohibited circle +🚭 no smoking cigarette blue-square smell smoke +🚯 no littering trash bin garbage circle +🚱 non potable water drink faucet tap circle +🚷 no pedestrians rules crossing walking circle +📵 no mobile phones iphone mute circle +🔞 no one under eighteen 18 drink pub night minor circle +☢️ radioactive nuclear danger +☣️ biohazard danger +⬆️ up arrow blue-square continue top direction +↗️ up right arrow blue-square point direction diagonal northeast +➡️ right arrow blue-square next +↘️ down right arrow blue-square direction diagonal southeast +⬇️ down arrow blue-square direction bottom +↙️ down left arrow blue-square direction diagonal southwest +⬅️ left arrow blue-square previous back +↖️ up left arrow blue-square point direction diagonal northwest +↕️ up down arrow blue-square direction way vertical +↔️ left right arrow shape direction horizontal sideways +↩️ right arrow curving left back return blue-square undo enter +↪️ left arrow curving right blue-square return rotate direction +⤴️ right arrow curving up blue-square direction top +⤵️ right arrow curving down blue-square direction bottom +🔃 clockwise vertical arrows sync cycle round repeat +🔄 counterclockwise arrows button blue-square sync cycle +🔙 back arrow arrow words return +🔚 end arrow words arrow +🔛 on arrow arrow words +🔜 soon arrow arrow words +🔝 top arrow words blue-square +🛐 place of worship religion church temple prayer +⚛️ atom symbol science physics chemistry +🕉️ om hinduism buddhism sikhism jainism +✡️ star of david judaism +☸️ wheel of dharma hinduism buddhism sikhism jainism +☯️ yin yang balance +✝️ latin cross christianity +☦️ orthodox cross suppedaneum religion +☪️ star and crescent islam +☮️ peace symbol hippie +🕎 menorah hanukkah candles jewish +🔯 dotted six pointed star purple-square religion jewish hexagram +♈ aries sign purple-square zodiac astrology +♉ taurus purple-square sign zodiac astrology +♊ gemini sign zodiac purple-square astrology +♋ cancer sign zodiac purple-square astrology +♌ leo sign purple-square zodiac astrology +♍ virgo sign zodiac purple-square astrology +♎ libra sign purple-square zodiac astrology +♏ scorpio sign zodiac purple-square astrology scorpio +♐ sagittarius sign zodiac purple-square astrology +♑ capricorn sign zodiac purple-square astrology +♒ aquarius sign purple-square zodiac astrology +♓ pisces purple-square sign zodiac astrology +⛎ ophiuchus sign purple-square constellation astrology +🔀 shuffle tracks button blue-square shuffle music random +🔁 repeat button loop record +🔂 repeat single button blue-square loop +▶️ play button blue-square right direction play +⏩ fast forward button blue-square play speed continue +⏭️ next track button forward next blue-square +⏯️ play or pause button blue-square play pause +◀️ reverse button blue-square left direction +⏪ fast reverse button play blue-square +⏮️ last track button backward +🔼 upwards button blue-square triangle direction point forward top +⏫ fast up button blue-square direction top +🔽 downwards button blue-square direction bottom +⏬ fast down button blue-square direction bottom +⏸️ pause button pause blue-square +⏹️ stop button blue-square +⏺️ record button blue-square +⏏️ eject button blue-square +🎦 cinema blue-square record film movie curtain stage theater +🔅 dim button sun afternoon warm summer +🔆 bright button sun light +📶 antenna bars blue-square reception phone internet connection wifi bluetooth bars +📳 vibration mode orange-square phone +📴 mobile phone off mute orange-square silence quiet +♀️ female sign woman women lady girl +♂️ male sign man boy men +⚕️ medical symbol health hospital +♾️ infinity forever +♻️ recycling symbol arrow environment garbage trash +⚜️ fleur de lis decorative scout +🔱 trident emblem weapon spear +📛 name badge fire forbid +🔰 japanese symbol for beginner badge shield +⭕ hollow red circle circle round +✅ check mark button green-square ok agree vote election answer tick +☑️ check box with check ok agree confirm black-square vote election yes tick +✔️ check mark ok nike answer yes tick +✖️ multiplication sign math calculation +❌ cross mark no delete remove cancel red +❎ cross mark button x green-square no deny +➕ plus sign math calculation addition more increase +➖ minus sign math calculation subtract less +➗ division sign divide math calculation +➰ curly loop scribble draw shape squiggle +➿ double curly loop tape cassette +〽️ part alternation mark graph presentation stats business economics bad +✳️ eight spoked asterisk star sparkle green-square +✴️ eight pointed star orange-square shape polygon +❇️ sparkle stars green-square awesome good fireworks +‼️ double exclamation mark exclamation surprise +⁉️ exclamation question mark wat punctuation surprise +❓ question mark doubt confused +❔ white question mark doubts gray huh confused +❕ white exclamation mark surprise punctuation gray wow warning +❗ exclamation mark heavy exclamation mark danger surprise punctuation wow warning +〰️ wavy dash draw line moustache mustache squiggle scribble +©️ copyright ip license circle law legal +®️ registered alphabet circle +™️ trade mark trademark brand law legal +ycap symbol blue-square twitter +*️⃣ keycap star keycap +0️⃣ keycap 0 0 numbers blue-square null +1️⃣ keycap 1 blue-square numbers 1 +2️⃣ keycap 2 numbers 2 prime blue-square +3️⃣ keycap 3 3 numbers prime blue-square +4️⃣ keycap 4 4 numbers blue-square +5️⃣ keycap 5 5 numbers blue-square prime +6️⃣ keycap 6 6 numbers blue-square +7️⃣ keycap 7 7 numbers blue-square prime +8️⃣ keycap 8 8 blue-square numbers +9️⃣ keycap 9 blue-square numbers 9 +🔟 keycap 10 numbers 10 blue-square +🔠 input latin uppercase alphabet words blue-square +🔡 input latin lowercase blue-square alphabet +🔢 input numbers numbers blue-square +🔣 input symbols blue-square music note ampersand percent glyphs characters +🔤 input latin letters blue-square alphabet +🅰️ a button red-square alphabet letter +🆎 ab button red-square alphabet +🅱️ b button red-square alphabet letter +🆑 cl button alphabet words red-square +🆒 cool button words blue-square +🆓 free button blue-square words +ℹ️ information blue-square alphabet letter +🆔 id button purple-square words +Ⓜ️ circled m alphabet blue-circle letter +🆕 new button blue-square words start +🆖 ng button blue-square words shape icon +🅾️ o button alphabet red-square letter +🆗 ok button good agree yes blue-square +🅿️ p button cars blue-square alphabet letter +🆘 sos button help red-square words emergency 911 +🆙 up button blue-square above high +🆚 vs button words orange-square +🈁 japanese here button blue-square here katakana japanese destination +🈂️ japanese service charge button japanese blue-square katakana +🈷️ japanese monthly amount button chinese month moon japanese orange-square kanji +🈶 japanese not free of charge button orange-square chinese have kanji +🈯 japanese reserved button chinese point green-square kanji +🉐 japanese bargain button chinese kanji obtain get circle +🈹 japanese discount button cut divide chinese kanji pink-square +🈚 japanese free of charge button nothing chinese kanji japanese orange-square +🈲 japanese prohibited button kanji japanese chinese forbidden limit restricted red-square +🉑 japanese acceptable button ok good chinese kanji agree yes orange-circle +🈸 japanese application button chinese japanese kanji orange-square +🈴 japanese passing grade button japanese chinese join kanji red-square +🈳 japanese vacancy button kanji japanese chinese empty sky blue-square +㊗️ japanese congratulations button chinese kanji japanese red-circle +㊙️ japanese secret button privacy chinese sshh kanji red-circle +🈺 japanese open for business button japanese opening hours orange-square +🈵 japanese no vacancy button full chinese japanese red-square kanji +🔴 red circle shape error danger +🟠 orange circle round +🟡 yellow circle round +🟢 green circle round +🔵 blue circle shape icon button +🟣 purple circle round +🟤 brown circle round +⚫ black circle shape button round +⚪ white circle shape round +🟥 red square +🟧 orange square +🟨 yellow square +🟩 green square +🟦 blue square +🟪 purple square +🟫 brown square +⬛ black large square shape icon button +⬜ white large square shape icon stone button +◼️ black medium square shape button icon +◻️ white medium square shape stone icon +◾ black medium small square icon shape button +◽ white medium small square shape stone icon button +▪️ black small square shape icon +▫️ white small square shape icon +🔶 large orange diamond shape jewel gem +🔷 large blue diamond shape jewel gem +🔸 small orange diamond shape jewel gem +🔹 small blue diamond shape jewel gem +🔺 red triangle pointed up shape direction up top +🔻 red triangle pointed down shape direction bottom +💠 diamond with a dot jewel blue gem crystal fancy +🔘 radio button input old music circle +🔳 white square button shape input +🔲 black square button shape input frame +🏁 chequered flag contest finishline race gokart +🚩 triangular flag mark milestone place +🎌 crossed flags japanese nation country border +🏴 black flag pirate +🏳️ white flag losing loser lost surrender give up fail +🏳️‍🌈 rainbow flag flag rainbow pride gay lgbt glbt queer homosexual lesbian bisexual transgender +🏴‍☠️ pirate flag skull crossbones flag banner +🇦🇨 flag ascension island +🇦🇩 flag andorra ad flag nation country banner andorra +🇦🇪 flag united arab emirates united arab emirates flag nation country banner united arab emirates +🇦🇫 flag afghanistan af flag nation country banner afghanistan +🇦🇬 flag antigua barbuda antigua barbuda flag nation country banner antigua barbuda +🇦🇮 flag anguilla ai flag nation country banner anguilla +🇦🇱 flag albania al flag nation country banner albania +🇦🇲 flag armenia am flag nation country banner armenia +🇦🇴 flag angola ao flag nation country banner angola +🇦🇶 flag antarctica aq flag nation country banner antarctica +🇦🇷 flag argentina ar flag nation country banner argentina +🇦🇸 flag american samoa american ws flag nation country banner american samoa +🇦🇹 flag austria at flag nation country banner austria +🇦🇺 flag australia au flag nation country banner australia +🇦🇼 flag aruba aw flag nation country banner aruba +🇦🇽 flag aland islands Åland islands flag nation country banner aland islands +🇦🇿 flag azerbaijan az flag nation country banner azerbaijan +🇧🇦 flag bosnia herzegovina bosnia herzegovina flag nation country banner bosnia herzegovina +🇧🇧 flag barbados bb flag nation country banner barbados +🇧🇩 flag bangladesh bd flag nation country banner bangladesh +🇧🇪 flag belgium be flag nation country banner belgium +🇧🇫 flag burkina faso burkina faso flag nation country banner burkina faso +🇧🇬 flag bulgaria bg flag nation country banner bulgaria +🇧🇭 flag bahrain bh flag nation country banner bahrain +🇧🇮 flag burundi bi flag nation country banner burundi +🇧🇯 flag benin bj flag nation country banner benin +🇧🇱 flag st barthelemy saint barthélemy flag nation country banner st barthelemy +🇧🇲 flag bermuda bm flag nation country banner bermuda +🇧🇳 flag brunei bn darussalam flag nation country banner brunei +🇧🇴 flag bolivia bo flag nation country banner bolivia +🇧🇶 flag caribbean netherlands bonaire flag nation country banner caribbean netherlands +🇧🇷 flag brazil br flag nation country banner brazil +🇧🇸 flag bahamas bs flag nation country banner bahamas +🇧🇹 flag bhutan bt flag nation country banner bhutan +🇧🇻 flag bouvet island norway +🇧🇼 flag botswana bw flag nation country banner botswana +🇧🇾 flag belarus by flag nation country banner belarus +🇧🇿 flag belize bz flag nation country banner belize +🇨🇦 flag canada ca flag nation country banner canada +🇨🇨 flag cocos islands cocos keeling islands flag nation country banner cocos islands +🇨🇩 flag congo kinshasa congo democratic republic flag nation country banner congo kinshasa +🇨🇫 flag central african republic central african republic flag nation country banner central african republic +🇨🇬 flag congo brazzaville congo flag nation country banner congo brazzaville +🇨🇭 flag switzerland ch flag nation country banner switzerland +🇨🇮 flag cote d ivoire ivory coast flag nation country banner cote d ivoire +🇨🇰 flag cook islands cook islands flag nation country banner cook islands +🇨🇱 flag chile flag nation country banner chile +🇨🇲 flag cameroon cm flag nation country banner cameroon +🇨🇳 flag china china chinese prc flag country nation banner china +🇨🇴 flag colombia co flag nation country banner colombia +🇨🇵 flag clipperton island +🇨🇷 flag costa rica costa rica flag nation country banner costa rica +🇨🇺 flag cuba cu flag nation country banner cuba +🇨🇻 flag cape verde cabo verde flag nation country banner cape verde +🇨🇼 flag curacao curaçao flag nation country banner curacao +🇨🇽 flag christmas island christmas island flag nation country banner christmas island +🇨🇾 flag cyprus cy flag nation country banner cyprus +🇨🇿 flag czechia cz flag nation country banner czechia +🇩🇪 flag germany german nation flag country banner germany +🇩🇬 flag diego garcia +🇩🇯 flag djibouti dj flag nation country banner djibouti +🇩🇰 flag denmark dk flag nation country banner denmark +🇩🇲 flag dominica dm flag nation country banner dominica +🇩🇴 flag dominican republic dominican republic flag nation country banner dominican republic +🇩🇿 flag algeria dz flag nation country banner algeria +🇪🇦 flag ceuta melilla +🇪🇨 flag ecuador ec flag nation country banner ecuador +🇪🇪 flag estonia ee flag nation country banner estonia +🇪🇬 flag egypt eg flag nation country banner egypt +🇪🇭 flag western sahara western sahara flag nation country banner western sahara +🇪🇷 flag eritrea er flag nation country banner eritrea +🇪🇸 flag spain spain flag nation country banner spain +🇪🇹 flag ethiopia et flag nation country banner ethiopia +🇪🇺 flag european union european union flag banner +🇫🇮 flag finland fi flag nation country banner finland +🇫🇯 flag fiji fj flag nation country banner fiji +🇫🇰 flag falkland islands falkland islands malvinas flag nation country banner falkland islands +🇫🇲 flag micronesia micronesia federated states flag nation country banner micronesia +🇫🇴 flag faroe islands faroe islands flag nation country banner faroe islands +🇫🇷 flag france banner flag nation france french country france +🇬🇦 flag gabon ga flag nation country banner gabon +🇬🇧 flag united kingdom united kingdom great britain northern ireland flag nation country banner british UK english england union jack united kingdom +🇬🇩 flag grenada gd flag nation country banner grenada +🇬🇪 flag georgia ge flag nation country banner georgia +🇬🇫 flag french guiana french guiana flag nation country banner french guiana +🇬🇬 flag guernsey gg flag nation country banner guernsey +🇬🇭 flag ghana gh flag nation country banner ghana +🇬🇮 flag gibraltar gi flag nation country banner gibraltar +🇬🇱 flag greenland gl flag nation country banner greenland +🇬🇲 flag gambia gm flag nation country banner gambia +🇬🇳 flag guinea gn flag nation country banner guinea +🇬🇵 flag guadeloupe gp flag nation country banner guadeloupe +🇬🇶 flag equatorial guinea equatorial gn flag nation country banner equatorial guinea +🇬🇷 flag greece gr flag nation country banner greece +🇬🇸 flag south georgia south sandwich islands south georgia sandwich islands flag nation country banner south georgia south sandwich islands +🇬🇹 flag guatemala gt flag nation country banner guatemala +🇬🇺 flag guam gu flag nation country banner guam +🇬🇼 flag guinea bissau gw bissau flag nation country banner guinea bissau +🇬🇾 flag guyana gy flag nation country banner guyana +🇭🇰 flag hong kong sar china hong kong flag nation country banner hong kong sar china +🇭🇲 flag heard mcdonald islands +🇭🇳 flag honduras hn flag nation country banner honduras +🇭🇷 flag croatia hr flag nation country banner croatia +🇭🇹 flag haiti ht flag nation country banner haiti +🇭🇺 flag hungary hu flag nation country banner hungary +🇮🇨 flag canary islands canary islands flag nation country banner canary islands +🇮🇩 flag indonesia flag nation country banner indonesia +🇮🇪 flag ireland ie flag nation country banner ireland +🇮🇱 flag israel il flag nation country banner israel +🇮🇲 flag isle of man isle man flag nation country banner isle of man +🇮🇳 flag india in flag nation country banner india +🇮🇴 flag british indian ocean territory british indian ocean territory flag nation country banner british indian ocean territory +🇮🇶 flag iraq iq flag nation country banner iraq +🇮🇷 flag iran iran islamic republic flag nation country banner iran +🇮🇸 flag iceland is flag nation country banner iceland +🇮🇹 flag italy italy flag nation country banner italy +🇯🇪 flag jersey je flag nation country banner jersey +🇯🇲 flag jamaica jm flag nation country banner jamaica +🇯🇴 flag jordan jo flag nation country banner jordan +🇯🇵 flag japan japanese nation flag country banner japan +🇰🇪 flag kenya ke flag nation country banner kenya +🇰🇬 flag kyrgyzstan kg flag nation country banner kyrgyzstan +🇰🇭 flag cambodia kh flag nation country banner cambodia +🇰🇮 flag kiribati ki flag nation country banner kiribati +🇰🇲 flag comoros km flag nation country banner comoros +🇰🇳 flag st kitts nevis saint kitts nevis flag nation country banner st kitts nevis +🇰🇵 flag north korea north korea nation flag country banner north korea +🇰🇷 flag south korea south korea nation flag country banner south korea +🇰🇼 flag kuwait kw flag nation country banner kuwait +🇰🇾 flag cayman islands cayman islands flag nation country banner cayman islands +🇰🇿 flag kazakhstan kz flag nation country banner kazakhstan +🇱🇦 flag laos lao democratic republic flag nation country banner laos +🇱🇧 flag lebanon lb flag nation country banner lebanon +🇱🇨 flag st lucia saint lucia flag nation country banner st lucia +🇱🇮 flag liechtenstein li flag nation country banner liechtenstein +🇱🇰 flag sri lanka sri lanka flag nation country banner sri lanka +🇱🇷 flag liberia lr flag nation country banner liberia +🇱🇸 flag lesotho ls flag nation country banner lesotho +🇱🇹 flag lithuania lt flag nation country banner lithuania +🇱🇺 flag luxembourg lu flag nation country banner luxembourg +🇱🇻 flag latvia lv flag nation country banner latvia +🇱🇾 flag libya ly flag nation country banner libya +🇲🇦 flag morocco ma flag nation country banner morocco +🇲🇨 flag monaco mc flag nation country banner monaco +🇲🇩 flag moldova moldova republic flag nation country banner moldova +🇲🇪 flag montenegro me flag nation country banner montenegro +🇲🇫 flag st martin +🇲🇬 flag madagascar mg flag nation country banner madagascar +🇲🇭 flag marshall islands marshall islands flag nation country banner marshall islands +🇲🇰 flag north macedonia macedonia flag nation country banner north macedonia +🇲🇱 flag mali ml flag nation country banner mali +🇲🇲 flag myanmar mm flag nation country banner myanmar +🇲🇳 flag mongolia mn flag nation country banner mongolia +🇲🇴 flag macao sar china macao flag nation country banner macao sar china +🇲🇵 flag northern mariana islands northern mariana islands flag nation country banner northern mariana islands +🇲🇶 flag martinique mq flag nation country banner martinique +🇲🇷 flag mauritania mr flag nation country banner mauritania +🇲🇸 flag montserrat ms flag nation country banner montserrat +🇲🇹 flag malta mt flag nation country banner malta +🇲🇺 flag mauritius mu flag nation country banner mauritius +🇲🇻 flag maldives mv flag nation country banner maldives +🇲🇼 flag malawi mw flag nation country banner malawi +🇲🇽 flag mexico mx flag nation country banner mexico +🇲🇾 flag malaysia my flag nation country banner malaysia +🇲🇿 flag mozambique mz flag nation country banner mozambique +🇳🇦 flag namibia na flag nation country banner namibia +🇳🇨 flag new caledonia new caledonia flag nation country banner new caledonia +🇳🇪 flag niger ne flag nation country banner niger +🇳🇫 flag norfolk island norfolk island flag nation country banner norfolk island +🇳🇬 flag nigeria flag nation country banner nigeria +🇳🇮 flag nicaragua ni flag nation country banner nicaragua +🇳🇱 flag netherlands nl flag nation country banner netherlands +🇳🇴 flag norway no flag nation country banner norway +🇳🇵 flag nepal np flag nation country banner nepal +🇳🇷 flag nauru nr flag nation country banner nauru +🇳🇺 flag niue nu flag nation country banner niue +🇳🇿 flag new zealand new zealand flag nation country banner new zealand +🇴🇲 flag oman om symbol flag nation country banner oman +🇵🇦 flag panama pa flag nation country banner panama +🇵🇪 flag peru pe flag nation country banner peru +🇵🇫 flag french polynesia french polynesia flag nation country banner french polynesia +🇵🇬 flag papua new guinea papua new guinea flag nation country banner papua new guinea +🇵🇭 flag philippines ph flag nation country banner philippines +🇵🇰 flag pakistan pk flag nation country banner pakistan +🇵🇱 flag poland pl flag nation country banner poland +🇵🇲 flag st pierre miquelon saint pierre miquelon flag nation country banner st pierre miquelon +🇵🇳 flag pitcairn islands pitcairn flag nation country banner pitcairn islands +🇵🇷 flag puerto rico puerto rico flag nation country banner puerto rico +🇵🇸 flag palestinian territories palestine palestinian territories flag nation country banner palestinian territories +🇵🇹 flag portugal pt flag nation country banner portugal +🇵🇼 flag palau pw flag nation country banner palau +🇵🇾 flag paraguay py flag nation country banner paraguay +🇶🇦 flag qatar qa flag nation country banner qatar +🇷🇪 flag reunion réunion flag nation country banner reunion +🇷🇴 flag romania ro flag nation country banner romania +🇷🇸 flag serbia rs flag nation country banner serbia +🇷🇺 flag russia russian federation flag nation country banner russia +🇷🇼 flag rwanda rw flag nation country banner rwanda +🇸🇦 flag saudi arabia flag nation country banner saudi arabia +🇸🇧 flag solomon islands solomon islands flag nation country banner solomon islands +🇸🇨 flag seychelles sc flag nation country banner seychelles +🇸🇩 flag sudan sd flag nation country banner sudan +🇸🇪 flag sweden se flag nation country banner sweden +🇸🇬 flag singapore sg flag nation country banner singapore +🇸🇭 flag st helena saint helena ascension tristan cunha flag nation country banner st helena +🇸🇮 flag slovenia si flag nation country banner slovenia +🇸🇯 flag svalbard jan mayen +🇸🇰 flag slovakia sk flag nation country banner slovakia +🇸🇱 flag sierra leone sierra leone flag nation country banner sierra leone +🇸🇲 flag san marino san marino flag nation country banner san marino +🇸🇳 flag senegal sn flag nation country banner senegal +🇸🇴 flag somalia so flag nation country banner somalia +🇸🇷 flag suriname sr flag nation country banner suriname +🇸🇸 flag south sudan south sd flag nation country banner south sudan +🇸🇹 flag sao tome principe sao tome principe flag nation country banner sao tome principe +🇸🇻 flag el salvador el salvador flag nation country banner el salvador +🇸🇽 flag sint maarten sint maarten dutch flag nation country banner sint maarten +🇸🇾 flag syria syrian arab republic flag nation country banner syria +🇸🇿 flag eswatini sz flag nation country banner eswatini +🇹🇦 flag tristan da cunha +🇹🇨 flag turks caicos islands turks caicos islands flag nation country banner turks caicos islands +🇹🇩 flag chad td flag nation country banner chad +🇹🇫 flag french southern territories french southern territories flag nation country banner french southern territories +🇹🇬 flag togo tg flag nation country banner togo +🇹🇭 flag thailand th flag nation country banner thailand +🇹🇯 flag tajikistan tj flag nation country banner tajikistan +🇹🇰 flag tokelau tk flag nation country banner tokelau +🇹🇱 flag timor leste timor leste flag nation country banner timor leste +🇹🇲 flag turkmenistan flag nation country banner turkmenistan +🇹🇳 flag tunisia tn flag nation country banner tunisia +🇹🇴 flag tonga to flag nation country banner tonga +🇹🇷 flag turkey turkey flag nation country banner turkey +🇹🇹 flag trinidad tobago trinidad tobago flag nation country banner trinidad tobago +🇹🇻 flag tuvalu flag nation country banner tuvalu +🇹🇼 flag taiwan tw flag nation country banner taiwan +🇹🇿 flag tanzania tanzania united republic flag nation country banner tanzania +🇺🇦 flag ukraine ua flag nation country banner ukraine +🇺🇬 flag uganda ug flag nation country banner uganda +🇺🇲 flag u s outlying islands +🇺🇳 flag united nations un flag banner +🇺🇸 flag united states united states america flag nation country banner united states +🇺🇾 flag uruguay uy flag nation country banner uruguay +🇺🇿 flag uzbekistan uz flag nation country banner uzbekistan +🇻🇦 flag vatican city vatican city flag nation country banner vatican city +🇻🇨 flag st vincent grenadines saint vincent grenadines flag nation country banner st vincent grenadines +🇻🇪 flag venezuela ve bolivarian republic flag nation country banner venezuela +🇻🇬 flag british virgin islands british virgin islands bvi flag nation country banner british virgin islands +🇻🇮 flag u s virgin islands virgin islands us flag nation country banner u s virgin islands +🇻🇳 flag vietnam viet nam flag nation country banner vietnam +🇻🇺 flag vanuatu vu flag nation country banner vanuatu +🇼🇫 flag wallis futuna wallis futuna flag nation country banner wallis futuna +🇼🇸 flag samoa ws flag nation country banner samoa +🇽🇰 flag kosovo xk flag nation country banner kosovo +🇾🇪 flag yemen ye flag nation country banner yemen +🇾🇹 flag mayotte yt flag nation country banner mayotte +🇿🇦 flag south africa south africa flag nation country banner south africa +🇿🇲 flag zambia zm flag nation country banner zambia +🇿🇼 flag zimbabwe zw flag nation country banner zimbabwe +🏴󠁧󠁢󠁥󠁮󠁧󠁿 flag england flag english +🏴󠁧󠁢󠁳󠁣󠁴󠁿 flag scotland flag scottish +🏴󠁧󠁢󠁷󠁬󠁳󠁿 flag wales flag welsh +🥲 smiling face with tear sad cry pretend +🥸 disguised face pretent brows glasses moustache +🤌 pinched fingers size tiny small +🫀 anatomical heart health heartbeat +🫁 lungs breathe +🥷 ninja ninjutsu skills japanese +🤵‍♂️ man in tuxedo formal fashion +🤵‍♀️ woman in tuxedo formal fashion +👰‍♂️ man with veil wedding marriage +👰‍♀️ woman with veil wedding marriage +👩‍🍼 woman feeding baby birth food +👨‍🍼 man feeding baby birth food +🧑‍🍼 person feeding baby birth food +🧑‍🎄 mx claus christmas +🫂 people hugging care +🐈‍⬛ black cat superstition luck +🦬 bison ox +🦣 mammoth elephant tusks +🦫 beaver animal rodent +🐻‍❄️ polar bear animal arctic +🦤 dodo animal bird +🪶 feather bird fly +🦭 seal animal creature sea +🪲 beetle insect +🪳 cockroach insect pests +🪰 fly insect +🪱 worm animal +🪴 potted plant greenery house +🫐 blueberries fruit +🫒 olive fruit +🫑 bell pepper fruit plant +🫓 flatbread flour food +🫔 tamale food masa +🫕 fondue cheese pot food +🫖 teapot drink hot +🧋 bubble tea taiwan boba milk tea straw +🪨 rock stone +🪵 wood nature timber trunk +🛖 hut house structure +🛻 pickup truck car transportation +🛼 roller skate footwear sports +🪄 magic wand supernature power +🪅 pinata mexico candy celebration +🪆 nesting dolls matryoshka toy +🪡 sewing needle stitches +🪢 knot rope scout +🩴 thong sandal footwear summer +🪖 military helmet army protection +🪗 accordion music +🪘 long drum music +🪙 coin money currency +🪃 boomerang weapon +🪚 carpentry saw cut chop +🪛 screwdriver tools +🪝 hook tools +🪜 ladder tools +🛗 elevator lift +🪞 mirror reflection +🪟 window scenery +🪠 plunger toilet +🪤 mouse trap cheese +🪣 bucket water container +🪥 toothbrush hygiene dental +🪦 headstone death rip grave +🪧 placard announcement +⚧️ transgender symbol lgbtq +🏳️‍⚧️ transgender flag lgbtq +😶‍🌫️ face in clouds shower steam dream +😮‍💨 face exhaling relieve relief tired sigh +😵‍💫 face with spiral eyes sick ill confused nauseous nausea +❤️‍🔥 heart on fire passionate enthusiastic +❤️‍🩹 mending heart broken heart bandage wounded +🧔‍♂️ man beard facial hair +🧔‍♀️ woman beard facial hair +🫠 melting face hot heat +🫢 face with open eyes and hand over mouth silence secret shock surprise +🫣 face with peeking eye scared frightening embarrassing +🫡 saluting face respect salute +🫥 dotted line face invisible lonely isolation depression +🫤 face with diagonal mouth skeptic confuse frustrated indifferent +🥹 face holding back tears touched gratitude +🫱 rightwards hand palm offer +🫲 leftwards hand palm offer +🫳 palm down hand palm drop +🫴 palm up hand lift offer demand +🫰 hand with index finger and thumb crossed heart love money expensive +🫵 index pointing at the viewer you recruit +🫶 heart hands love appreciation support +🫦 biting lip flirt sexy pain worry +🫅 person with crown royalty power +🫃 pregnant man baby belly +🫄 pregnant person baby belly +🧌 troll mystical monster +🪸 coral ocean sea reef +🪷 lotus flower calm meditation +🪹 empty nest bird +🪺 nest with eggs bird +🫘 beans food +🫗 pouring liquid cup water +🫙 jar container sauce +🛝 playground slide fun park +🛞 wheel car transport +🛟 ring buoy life saver life preserver +🪬 hamsa religion protection +🪩 mirror ball disco dance party +🪫 low battery drained dead +🩼 crutch accessibility assist +🩻 x-ray skeleton medicine +🫧 bubbles soap fun carbonation sparkling +🪪 identification card document +🟰 heavy equals sign math \ No newline at end of file diff --git a/hypr/scripts/RofiSearch.sh b/hypr/scripts/RofiSearch.sh new file mode 100755 index 0000000..4218bed --- /dev/null +++ b/hypr/scripts/RofiSearch.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# For Searching via web browsers + +# Define the path to the config file +config_file=$HOME/.config/hypr/UserConfigs/01-UserDefaults.conf + +# Check if the config file exists +if [[ ! -f "$config_file" ]]; then + echo "Error: Configuration file not found!" + exit 1 +fi + +# Process the config file in memory, removing the $ and fixing spaces +config_content=$(sed 's/\$//g' "$config_file" | sed 's/ = /=/') + +# Source the modified content directly from the variable +eval "$config_content" + +# Check if $term is set correctly +if [[ -z "$Search_Engine" ]]; then + echo "Error: \$Search_Engine is not set in the configuration file!" + exit 1 +fi + +# Rofi theme and message +rofi_theme="$HOME/.config/rofi/config-search.rasi" +msg='‼️ **note** ‼️ search via default web browser' + +# Kill Rofi if already running before execution +if pgrep -x "rofi" >/dev/null; then + pkill rofi +fi + +# Open Rofi and pass the selected query to xdg-open for Google search +echo "" | rofi -dmenu -config "$rofi_theme" -mesg "$msg" | xargs -I{} xdg-open $Search_Engine \ No newline at end of file diff --git a/hypr/scripts/RofiThemeSelector-modified.sh b/hypr/scripts/RofiThemeSelector-modified.sh new file mode 100755 index 0000000..2cfc2d2 --- /dev/null +++ b/hypr/scripts/RofiThemeSelector-modified.sh @@ -0,0 +1,229 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# A modified version of Rofi-Theme-Selector, concentrating only on ~/.local and also, applying only 10 @themes in ~/.config/rofi/config.rasi +# as opposed to continous adding of //@theme + +# This code is released in public domain by Dave Davenport + +iDIR="$HOME/.config/swaync/images" + + +OS="linux" + +ROFI=$(command -v rofi) +SED=$(command -v sed) +MKTEMP=$(command -v mktemp) +NOTIFY_SEND=$(command -v notify-send) + +if [ -z "${SED}" ] +then + echo "Did not find 'sed', script cannot continue." + exit 1 +fi +if [ -z "${MKTEMP}" ] +then + echo "Did not find 'mktemp', script cannot continue." + exit 1 +fi +if [ -z "${ROFI}" ] +then + echo "Did not find rofi, there is no point to continue." + exit 1 +fi +if [ -z "${NOTIFY_SEND}" ] +then + echo "Did not find 'notify-send', notifications won't work." +fi + +TMP_CONFIG_FILE=$(${MKTEMP}).rasi +#rofi_theme_dir="${HOME}/.local/share/rofi/themes" +rofi_config_file="${XDG_CONFIG_HOME:-${HOME}/.config}/rofi/config.rasi" + +## +# Array with parts to the found themes. +# And array with the printable name. +## +declare -a themes +declare -a theme_names + +## +# Function that tries to find all installed rofi themes. +# This fills in #themes array and formats a displayable string #theme_names +## +# Find themes in defined directories +find_themes() { + directories=("$HOME/.local/share/rofi/themes" "$HOME/.config/rofi/themes") + + for TD in "${directories[@]}"; do + if [ -d "$TD" ]; then + echo "Checking themes in: $TD" + for file in "$TD"/*.rasi; do + if [ -f "$file" ] && [ ! -L "$file" ]; then + themes+=("$file") + theme_names+=("$(basename "${file%.*}")") + else + echo "Skipping symlink: $file" + fi + done + else + echo "Directory does not exist: $TD" + fi + done +} + +## +# Function to add or update theme in the config.rasi +## +add_theme_to_config() { + local theme_name="$1" + local theme_path + + # Determine the correct path for the theme + if [[ -f "$HOME/.local/share/rofi/themes/$theme_name.rasi" ]]; then + theme_path="$HOME/.local/share/rofi/themes/$theme_name.rasi" + elif [[ -f "$HOME/.config/rofi/themes/$theme_name.rasi" ]]; then + theme_path="$HOME/.config/rofi/themes/$theme_name.rasi" + else + echo "Theme not found: $theme_name" + return 1 + fi + + # Resolve symlinks if present + if [[ -L "$theme_path" ]]; then + theme_path=$(readlink -f "$theme_path") + fi + + # Convert path to use ~ for home directory + theme_path_with_tilde="~${theme_path#$HOME}" + + # Add or update @theme line in config + if ! grep -q '^\s*@theme' "$rofi_config_file"; then + echo -e "\n\n@theme \"$theme_path_with_tilde\"" >> "$rofi_config_file" + echo "Added @theme \"$theme_path_with_tilde\" to $rofi_config_file" + else + $SED -i "s/^\(\s*@theme.*\)/\/\/\1/" "$rofi_config_file" + echo -e "@theme \"$theme_path_with_tilde\"" >> "$rofi_config_file" + echo "Updated @theme line to $theme_path_with_tilde" + fi + + # Limit the number of @theme lines to a maximum of 9 + max_lines=9 + total_lines=$(grep -c '^\s*//@theme' "$rofi_config_file") + + if [ "$total_lines" -gt "$max_lines" ]; then + excess=$((total_lines - max_lines)) + for i in $(seq 1 "$excess"); do + $SED -i '0,/^\s*\/\/@theme/ { /^\s*\/\/@theme/ {d; q; }}' "$rofi_config_file" + done + echo "Removed excess //@theme lines" + fi +} + +## +# Create a copy of rofi config +## +create_config_copy() +{ + ${ROFI} -dump-config > "${TMP_CONFIG_FILE}" + # remove theme entry. + ${SED} -i 's/^\s*theme:\s\+".*"\s*;//g' "${TMP_CONFIG_FILE}" +} + +### +# Print the list out so it can be displayed by rofi. +## +create_theme_list() +{ + OLDIFS=${IFS} + IFS='|' + for themen in ${theme_names[@]} + do + echo "${themen}" + done + IFS=${OLDIFS} +} + +## +# Thee indicate what entry is selected. +## +declare -i SELECTED + +select_theme() +{ + local MORE_FLAGS=(-dmenu -format i -no-custom -p "Theme" -markup -config "${TMP_CONFIG_FILE}" -i) + MORE_FLAGS+=(-kb-custom-1 "Alt-a") + MORE_FLAGS+=(-u 2,3 -a 4,5 ) + local CUR="default" + while true + do + declare -i RTR + declare -i RES + local MESG="""You can preview themes by hitting Enter. +Alt-a to accept the new theme. +Escape to cancel +Current theme: ${CUR} +When setting a new theme this will override previous theme settings. +Please update your config file if you have local modifications.""" + THEME_FLAG= + if [ -n "${SELECTED}" ] + then + THEME_FLAG="-theme ${themes[${SELECTED}]}" + fi + RES=$( create_theme_list | ${ROFI} ${THEME_FLAG} ${MORE_FLAGS[@]} -cycle -selected-row "${SELECTED}" -mesg "${MESG}") + RTR=$? + if [ "${RTR}" = 10 ] + then + return 0; + elif [ "${RTR}" = 1 ] + then + return 1; + elif [ "${RTR}" = 65 ] + then + return 1; + fi + CUR=${theme_names[${RES}]} + SELECTED=${RES} + done +} + +############################################################################################################ +# Actual program execution +########################################################################################################### +## +# Find all themes +## +find_themes + +## +# Do check if there are themes. +## +if [ ${#themes[@]} = 0 ] +then + ${ROFI} -e "No themes found." + exit 0 +fi + +## +# Create copy of config to play with in preview +## +create_config_copy + +## +# Show the themes to user. +## +if select_theme && [ -n "${SELECTED}" ] +then + # Apply the selected theme + add_theme_to_config "${theme_names[${SELECTED}]}" + + # Send notification with the selected theme name + selection="${theme_names[${SELECTED}]}" + if [ -n "$NOTIFY_SEND" ]; then + notify-send -u low -i "$iDIR/ja.png" "Rofi Theme applied:" "$selection" + fi +fi + +## +# Remove temp. config. +## +rm -- "${TMP_CONFIG_FILE}" diff --git a/hypr/scripts/RofiThemeSelector.sh b/hypr/scripts/RofiThemeSelector.sh new file mode 100755 index 0000000..8b2fcb7 --- /dev/null +++ b/hypr/scripts/RofiThemeSelector.sh @@ -0,0 +1,154 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */  # +# Rofi Themes - Script to preview and apply themes by live-reloading the config. + +# --- Configuration --- +ROFI_THEMES_DIR_CONFIG="$HOME/.config/rofi/themes" +ROFI_THEMES_DIR_LOCAL="$HOME/.local/share/rofi/themes" +ROFI_CONFIG_FILE="$HOME/.config/rofi/config.rasi" +ROFI_THEME_FOR_THIS_SCRIPT="$HOME/.config/rofi/config-rofi-theme.rasi" # A separate rofi theme for the picker itself +IDIR="$HOME/.config/swaync/images" # For notifications + +# --- Helper Functions --- + +# Function to send a notification +notify_user() { + notify-send -u low -i "$1" "$2" "$3" +} + +# Function to apply the selected rofi theme to the main config file +apply_rofi_theme_to_config() { + local theme_name_to_apply="$1" + + # Find the full path of the theme file + local theme_path + if [[ -f "$ROFI_THEMES_DIR_CONFIG/$theme_name_to_apply" ]]; then + theme_path="$ROFI_THEMES_DIR_CONFIG/$theme_name_to_apply" + elif [[ -f "$ROFI_THEMES_DIR_LOCAL/$theme_name_to_apply" ]]; then + theme_path="$ROFI_THEMES_DIR_LOCAL/$theme_name_to_apply" + else + notify_user "$IDIR/error.png" "Error" "Theme file not found: $theme_name_to_apply" + return 1 + fi + + # Use ~ for the home directory in the config path + local theme_path_with_tilde="~${theme_path#$HOME}" + + # Create a temporary file to safely edit the config + local temp_rofi_config_file + temp_rofi_config_file=$(mktemp) + cp "$ROFI_CONFIG_FILE" "$temp_rofi_config_file" + + # Comment out any existing @theme entry + sed -i -E 's/^(\s*@theme)/\\/\\/\1/' "$temp_rofi_config_file" + + # Add the new @theme entry at the end of the file + echo "@theme \"$theme_path_with_tilde\"" >>"$temp_rofi_config_file" + + # Overwrite the original config file + cp "$temp_rofi_config_file" "$ROFI_CONFIG_FILE" + rm "$temp_rofi_config_file" + + # Prune old commented-out theme lines to prevent clutter + local max_lines=10 + local total_lines=$(grep -c '^//\s*@theme' "$ROFI_CONFIG_FILE") + if [ "$total_lines" -gt "$max_lines" ]; then + local excess=$((total_lines - max_lines)) + for ((i = 1; i <= excess; i++)); do + sed -i '0,/^\s*\/\/@theme/s///' "$ROFI_CONFIG_FILE" + done + fi + + return 0 +} + +# --- Main Script Execution --- + +# Check for required directories and files +if [ ! -d "$ROFI_THEMES_DIR_CONFIG" ] && [ ! -d "$ROFI_THEMES_DIR_LOCAL" ]; then + notify_user "$IDIR/error.png" "E-R-R-O-R" "No Rofi themes directory found." + exit 1 +fi + +if [ ! -f "$ROFI_CONFIG_FILE" ]; then + notify_user "$IDIR/error.png" "E-R-R-O-R" "Rofi config file not found: $ROFI_CONFIG_FILE" + exit 1 +fi + +# Backup the original config content +original_rofi_config_content_backup=$(cat "$ROFI_CONFIG_FILE") + +# Generate a sorted list of available theme file names +mapfile -t available_theme_names < <(( + find "$ROFI_THEMES_DIR_CONFIG" -maxdepth 1 -name "*.rasi" -type f -printf "%f\n" 2>/dev/null + find "$ROFI_THEMES_DIR_LOCAL" -maxdepth 1 -name "*.rasi" -type f -printf "%f\n" 2>/dev/null +) | sort -V -u) + +if [ ${#available_theme_names[@]} -eq 0 ]; then + notify_user "$IDIR/error.png" "No Rofi Themes" "No .rasi files found in theme directories." + exit 1 +fi + +# Find the currently active theme to set as the initial selection +current_selection_index=0 +current_active_theme_path=$(grep -oP '^\s*@theme\s*"\K[^"]+' "$ROFI_CONFIG_FILE" | tail -n 1) +if [ -n "$current_active_theme_path" ]; then + current_active_theme_name=$(basename "$current_active_theme_path") + for i in "${!available_theme_names[@]}"; do + if [[ "${available_theme_names[$i]}" == "$current_active_theme_name" ]]; then + current_selection_index=$i + break + fi + done +fi + +# Main preview loop +while true; do + theme_to_preview_now="${available_theme_names[$current_selection_index]}" + + # Apply the theme for preview + if ! apply_rofi_theme_to_config "$theme_to_preview_now"; then + echo "$original_rofi_config_content_backup" >"$ROFI_CONFIG_FILE" + notify_user "$IDIR/error.png" "Preview Error" "Failed to apply $theme_to_preview_now. Reverted." + exit 1 + fi + + # Prepare theme list for Rofi + rofi_input_list="" + for theme_name_in_list in "${available_theme_names[@]}"; do + rofi_input_list+="$(basename "$theme_name_in_list" .rasi)\n" + done + rofi_input_list_trimmed="${rofi_input_list%\\n}" + + # Launch Rofi and get user's choice + chosen_index_from_rofi=$(echo -e "$rofi_input_list_trimmed" | + rofi -dmenu -i \ + -format 'i' \ + -p "Rofi Theme" \ + -mesg "‼️ **note** ‼️ Enter: Preview || Ctrl+S: Apply & Exit || Esc: Cancel" \ + -config "$ROFI_THEME_FOR_THIS_SCRIPT" \ + -selected-row "$current_selection_index" \ + -kb-custom-1 "Control+s") + + rofi_exit_code=$? + + # Handle Rofi's exit code + if [ $rofi_exit_code -eq 0 ]; then # Enter + if [[ "$chosen_index_from_rofi" =~ ^[0-9]+$ ]] && [ "$chosen_index_from_rofi" -lt "${#available_theme_names[@]}" ]; then + current_selection_index="$chosen_index_from_rofi" + fi + elif [ $rofi_exit_code -eq 1 ]; then # Escape + notify_user "$IDIR/note.png" "Rofi Theme" "Selection cancelled. Reverting to original theme." + echo "$original_rofi_config_content_backup" >"$ROFI_CONFIG_FILE" + break + elif [ $rofi_exit_code -eq 10 ]; then # Custom bind 1 (Ctrl+S) + notify_user "$IDIR/ja.png" "Rofi Theme Applied" "$(basename "$theme_to_preview_now" .rasi)" + break + else # Error or unexpected exit code + notify_user "$IDIR/error.png" "Rofi Error" "Unexpected Rofi exit ($rofi_exit_code). Reverting." + echo "$original_rofi_config_content_backup" >"$ROFI_CONFIG_FILE" + break + fi +done + +exit 0 diff --git a/hypr/scripts/ScreenShot.sh b/hypr/scripts/ScreenShot.sh new file mode 100755 index 0000000..0a37c7e --- /dev/null +++ b/hypr/scripts/ScreenShot.sh @@ -0,0 +1,164 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Screenshots scripts + +# variables +time=$(date "+%d-%b_%H-%M-%S") +dir="$(xdg-user-dir PICTURES)/Screenshots" +file="Screenshot_${time}_${RANDOM}.png" + +iDIR="$HOME/.config/swaync/icons" +iDoR="$HOME/.config/swaync/images" +sDIR="$HOME/.config/hypr/scripts" + +active_window_class=$(hyprctl -j activewindow | jq -r '(.class)') +active_window_file="Screenshot_${time}_${active_window_class}.png" +active_window_path="${dir}/${active_window_file}" + +notify_cmd_base="notify-send -t 10000 -A action1=Open -A action2=Delete -h string:x-canonical-private-synchronous:shot-notify" +notify_cmd_shot="${notify_cmd_base} -i ${iDIR}/picture.png " +notify_cmd_shot_win="${notify_cmd_base} -i ${iDIR}/picture.png " +notify_cmd_NOT="notify-send -u low -i ${iDoR}/note.png " + +# notify and view screenshot +notify_view() { + if [[ "$1" == "active" ]]; then + if [[ -e "${active_window_path}" ]]; then + "${sDIR}/Sounds.sh" --screenshot + resp=$(timeout 5 ${notify_cmd_shot_win} " Screenshot of:" " ${active_window_class} Saved.") + case "$resp" in + action1) + xdg-open "${active_window_path}" & + ;; + action2) + rm "${active_window_path}" & + ;; + esac + else + ${notify_cmd_NOT} " Screenshot of:" " ${active_window_class} NOT Saved." + "${sDIR}/Sounds.sh" --error + fi + + elif [[ "$1" == "swappy" ]]; then + "${sDIR}/Sounds.sh" --screenshot + resp=$(${notify_cmd_shot} " Screenshot:" " Captured by Swappy") + case "$resp" in + action1) + swappy -f - <"$tmpfile" + ;; + action2) + rm "$tmpfile" + ;; + esac + + else + local check_file="${dir}/${file}" + if [[ -e "$check_file" ]]; then + "${sDIR}/Sounds.sh" --screenshot + resp=$(timeout 5 ${notify_cmd_shot} " Screenshot" " Saved") + case "$resp" in + action1) + xdg-open "${check_file}" & + ;; + action2) + rm "${check_file}" & + ;; + esac + else + ${notify_cmd_NOT} " Screenshot" " NOT Saved" + "${sDIR}/Sounds.sh" --error + fi + fi +} + +# countdown +countdown() { + for sec in $(seq $1 -1 1); do + notify-send -h string:x-canonical-private-synchronous:shot-notify -t 1000 -i "$iDIR"/timer.png " Taking shot" " in: $sec secs" + sleep 1 + done +} + +# take shots +shotnow() { + cd ${dir} && grim - | tee "$file" | wl-copy + sleep 2 + notify_view +} + +shot5() { + countdown '5' + sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy + sleep 1 + notify_view +} + +shot10() { + countdown '10' + sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy + notify_view +} + +shotwin() { + w_pos=$(hyprctl activewindow | grep 'at:' | cut -d':' -f2 | tr -d ' ' | tail -n1) + w_size=$(hyprctl activewindow | grep 'size:' | cut -d':' -f2 | tr -d ' ' | tail -n1 | sed s/,/x/g) + cd ${dir} && grim -g "$w_pos $w_size" - | tee "$file" | wl-copy + notify_view +} + +shotarea() { + tmpfile=$(mktemp) + grim -g "$(slurp)" - >"$tmpfile" + + # Copy with saving + if [[ -s "$tmpfile" ]]; then + wl-copy <"$tmpfile" + mv "$tmpfile" "$dir/$file" + fi + notify_view +} + +shotactive() { + active_window_class=$(hyprctl -j activewindow | jq -r '(.class)') + active_window_file="Screenshot_${time}_${active_window_class}.png" + active_window_path="${dir}/${active_window_file}" + + hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | grim -g - "${active_window_path}" + sleep 1 + notify_view "active" +} + +shotswappy() { + tmpfile=$(mktemp) + grim -g "$(slurp)" - >"$tmpfile" + + # Copy without saving + if [[ -s "$tmpfile" ]]; then + wl-copy <"$tmpfile" + notify_view "swappy" + fi +} + +if [[ ! -d "$dir" ]]; then + mkdir -p "$dir" +fi + +if [[ "$1" == "--now" ]]; then + shotnow +elif [[ "$1" == "--in5" ]]; then + shot5 +elif [[ "$1" == "--in10" ]]; then + shot10 +elif [[ "$1" == "--win" ]]; then + shotwin +elif [[ "$1" == "--area" ]]; then + shotarea +elif [[ "$1" == "--active" ]]; then + shotactive +elif [[ "$1" == "--swappy" ]]; then + shotswappy +else + echo -e "Available Options : --now --in5 --in10 --win --area --active --swappy" +fi + +exit 0 diff --git a/hypr/scripts/Sounds.sh b/hypr/scripts/Sounds.sh new file mode 100755 index 0000000..8b2cc76 --- /dev/null +++ b/hypr/scripts/Sounds.sh @@ -0,0 +1,77 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# This script is used to play system sounds. +# Script is used by Volume.Sh and ScreenShots.sh + +theme="freedesktop" # Set the theme for the system sounds. +mute=false # Set to true to mute the system sounds. + +# Mute individual sounds here. +muteScreenshots=false +muteVolume=false + +# Exit if the system sounds are muted. +if [[ "$mute" = true ]]; then + exit 0 +fi + +# Choose the sound to play. +if [[ "$1" == "--screenshot" ]]; then + if [[ "$muteScreenshots" = true ]]; then + exit 0 + fi + soundoption="screen-capture.*" +elif [[ "$1" == "--volume" ]]; then + if [[ "$muteVolume" = true ]]; then + exit 0 + fi + soundoption="audio-volume-change.*" +elif [[ "$1" == "--error" ]]; then + if [[ "$muteScreenshots" = true ]]; then + exit 0 + fi + soundoption="dialog-error.*" +else + echo -e "Available sounds: --screenshot, --volume, --error" + exit 0 +fi + +# Set the directory defaults for system sounds. +if [ -d "/run/current-system/sw/share/sounds" ]; then + systemDIR="/run/current-system/sw/share/sounds" # NixOS +else + systemDIR="/usr/share/sounds" +fi +userDIR="$HOME/.local/share/sounds" +defaultTheme="freedesktop" + +# Prefer the user's theme, but use the system's if it doesn't exist. +sDIR="$systemDIR/$defaultTheme" +if [ -d "$userDIR/$theme" ]; then + sDIR="$userDIR/$theme" +elif [ -d "$systemDIR/$theme" ]; then + sDIR="$systemDIR/$theme" +fi + +# Get the theme that it inherits. +iTheme=$(cat "$sDIR/index.theme" | grep -i "inherits" | cut -d "=" -f 2) +iDIR="$sDIR/../$iTheme" + +# Find the sound file and play it. +sound_file=$(find -L $sDIR/stereo -name "$soundoption" -print -quit) +if ! test -f "$sound_file"; then + sound_file=$(find -L $iDIR/stereo -name "$soundoption" -print -quit) + if ! test -f "$sound_file"; then + sound_file=$(find -L $userDIR/$defaultTheme/stereo -name "$soundoption" -print -quit) + if ! test -f "$sound_file"; then + sound_file=$(find -L $systemDIR/$defaultTheme/stereo -name "$soundoption" -print -quit) + if ! test -f "$sound_file"; then + echo "Error: Sound file not found." + exit 1 + fi + fi + fi +fi + +# pipewire priority, fallback pulseaudio +pw-play "$sound_file" || pa-play "$sound_file" \ No newline at end of file diff --git a/hypr/scripts/SwitchKeyboardLayout.sh b/hypr/scripts/SwitchKeyboardLayout.sh new file mode 100755 index 0000000..f505fa6 --- /dev/null +++ b/hypr/scripts/SwitchKeyboardLayout.sh @@ -0,0 +1,104 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# This is for changing kb_layouts. Set kb_layouts in $settings_file + +layout_file="$HOME/.cache/kb_layout" +settings_file="$HOME/.config/hypr/UserConfigs/UserSettings.conf" +notif_icon="$HOME/.config/swaync/images/ja.png" + +# Refined ignore list with patterns or specific device names +ignore_patterns=( + "--(avrcp)" + "Bluetooth Speaker" + "Other Device + Name" + ) + + +# Create layout file with default layout if it does not exist +if [ ! -f "$layout_file" ]; then + echo "Creating layout file..." + default_layout=$(grep 'kb_layout = ' "$settings_file" | cut -d '=' -f 2 | tr -d '[:space:]' | cut -d ',' -f 1 2>/dev/null) + default_layout=${default_layout:-"us"} # Default to 'us' layout + echo "$default_layout" > "$layout_file" + echo "Default layout set to $default_layout" +fi + +current_layout=$(cat "$layout_file") +echo "Current layout: $current_layout" + +# Read available layouts from settings file +if [ -f "$settings_file" ]; then + kb_layout_line=$(grep 'kb_layout = ' "$settings_file" | cut -d '=' -f 2) + # Remove leading and trailing spaces around each layout + kb_layout_line=$(echo "$kb_layout_line" | tr -d '[:space:]') + IFS=',' read -r -a layout_mapping <<< "$kb_layout_line" +else + echo "Settings file not found!" + exit 1 +fi + +layout_count=${#layout_mapping[@]} +echo "Number of layouts: $layout_count" + +# Find current layout index and calculate next layout +for ((i = 0; i < layout_count; i++)); do + if [ "$current_layout" == "${layout_mapping[i]}" ]; then + current_index=$i + break + fi +done + +next_index=$(( (current_index + 1) % layout_count )) +new_layout="${layout_mapping[next_index]}" +echo "Next layout: $new_layout" + +# Function to get keyboard names +get_keyboard_names() { + hyprctl devices -j | jq -r '.keyboards[].name' +} + +# Function to check if a device matches any ignore pattern +is_ignored() { + local device_name=$1 + for pattern in "${ignore_patterns[@]}"; do + if [[ "$device_name" == *"$pattern"* ]]; then + return 0 # Device matches ignore pattern + fi + done + return 1 # Device does not match any ignore pattern +} + +# Function to change keyboard layout +change_layout() { + local error_found=false + + while read -r name; do + if is_ignored "$name"; then + echo "Skipping ignored device: $name" + continue + fi + + echo "Switching layout for $name to $new_layout..." + hyprctl switchxkblayout "$name" "$next_index" + if [ $? -ne 0 ]; then + echo "Error while switching layout for $name." >&2 + error_found=true + fi + done <<< "$(get_keyboard_names)" + + $error_found && return 1 + return 0 +} + +# Execute layout change and notify +if ! change_layout; then + notify-send -u low -t 2000 'kb_layout' " Error:" " Layout change failed" + echo "Layout change failed." >&2 + exit 1 +else + notify-send -u low -i "$notif_icon" " kb_layout: $new_layout" + echo "Layout change notification sent." +fi + +echo "$new_layout" > "$layout_file" diff --git a/hypr/scripts/Tak0-Autodispatch.sh b/hypr/scripts/Tak0-Autodispatch.sh new file mode 100755 index 0000000..a1f7212 --- /dev/null +++ b/hypr/scripts/Tak0-Autodispatch.sh @@ -0,0 +1,90 @@ +#!/bin/bash +# USAGE / ІНСТРУКЦІЯ: +# 1) Run from terminal: +# ./dispatch.sh +# Example: +# ./dispatch.sh discord 2 +# +# 2) Call from Hyprland config (in hyprland.conf file): +# exec-once = /path/to/dispatch.sh +# +# Logs are saved in dispatch.log file next to the script. +# If the window doesn't appear or is dispatched incorrectly — info will be there. +# +# Notes: +# - Script waits about ~9 seconds (30 iterations of 0.3 sec) for window to appear. +# - Uses hyprctl and jq, so these tools must be installed. +# +# USAGE / ІНСТРУКЦІЯ: +# 1) Запуск з терміналу: +# ./dispatch.sh +# Наприклад: +# ./dispatch.sh discord 2 +# +# 2) Виклик з конфігурації Hyprland (у файлі hyprland.conf): +# exec-once = /path/to/dispatch.sh +# +# Логи зберігаються у файлі dispatch.log поруч зі скриптом. +# Якщо вікно не з'явилось або неправильно диспатчилось — інформація там. +# +# Примітки: +# - Скрипт чекає до ~9 секунд (30 ітерацій по 0.3 сек) поки вікно з'явиться. +# - Використовує hyprctl і jq, тому ці інструменти мають бути встановлені. + +LOGFILE="$(dirname "$0")/dispatch.log" +# Log file path located next to the script. +# Файл логів розташований поруч зі скриптом. + +APP=$1 +# The application command or window class to launch or match. +# Команда для запуску аплікації або клас вікна для пошуку. + +TARGET_WORKSPACE=$2 +# The target workspace number where the window should be moved. +# Цільовий номер воркспейсу, куди потрібно перемістити вікно. + +# Check if required arguments are provided. +# Перевірка наявності необхідних параметрів. +if [[ -z "$APP" || -z "$TARGET_WORKSPACE" ]]; then + echo "Usage: $0 " >> "$LOGFILE" 2>&1 + exit 1 +fi + +echo "Starting dispatch of '$APP' to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE" +# Starting the dispatch process and logging the event. +# Початок процесу диспатчу, запис у лог. + +# Avoid early workspace focus issues by switching workspace first. +# Уникаємо проблем з раннім фокусом, спочатку переключаємо воркспейс. +hyprctl dispatch workspace "$TARGET_WORKSPACE" >> "$LOGFILE" 2>&1 +sleep 0.4 + +# Launch the application in the background and disown it. +# Запускаємо аплікацію у фоновому режимі та відв’язуємо від терміналу. +$APP & disown +pid=$! + +echo "Launched '$APP' with PID $pid" >> "$LOGFILE" +# Log the launched process ID. +# Лог процесу запуску з PID. + +# Wait for the application window to appear (matching window class). +# Чекаємо появи вікна аплікації (за класом вікна). +for i in {1..30}; do + win=$(hyprctl clients -j | jq -r --arg APP "$APP" ' + .[] | select(.class | test($APP;"i")) | .address' 2>>"$LOGFILE") + + if [[ -n "$win" ]]; then + echo "Found window $win for app '$APP', moving to workspace $TARGET_WORKSPACE" >> "$LOGFILE" + # Move the window to the target workspace. + # Переміщаємо вікно на цільовий воркспейс. + hyprctl dispatch movetoworkspace "$TARGET_WORKSPACE,address:$win" >> "$LOGFILE" 2>&1 + exit 0 + fi + sleep 0.3 +done + +echo "ERROR: Window for '$APP' was NOT found or dispatched properly to workspace $TARGET_WORKSPACE at $(date)" >> "$LOGFILE" +# Log error if window was not found or dispatched correctly. +# Запис помилки, якщо вікно не знайдено або неправильно диспатчено. +exit 1 diff --git a/hypr/scripts/Tak0-Per-Window-Switch.sh b/hypr/scripts/Tak0-Per-Window-Switch.sh new file mode 100755 index 0000000..76b6ad2 --- /dev/null +++ b/hypr/scripts/Tak0-Per-Window-Switch.sh @@ -0,0 +1,123 @@ +################################################################## +# # +# # +# TAK_0'S Per-Window-Switch # +# # +# # +# # +# Just a little script that I made to switch keyboard layouts # +# per-window instead of global switching for the more # +# smooth and comfortable workflow. # +# # +################################################################## + + + + + + + + +# This is for changing kb_layouts. Set kb_layouts in + +MAP_FILE="$HOME/.cache/kb_layout_per_window" +CFG_FILE="$HOME/.config/hypr/UserConfigs/UserSettings.conf" +ICON="$HOME/.config/swaync/images/ja.png" +SCRIPT_NAME="$(basename "$0")" + +# Ensure map file exists +touch "$MAP_FILE" + +# Read layouts from config +if ! grep -q 'kb_layout' "$CFG_FILE"; then + echo "Error: cannot find kb_layout in $CFG_FILE" >&2 + exit 1 +fi +kb_layouts=($(grep 'kb_layout' "$CFG_FILE" | cut -d '=' -f2 | tr -d '[:space:]' | tr ',' ' ')) +count=${#kb_layouts[@]} + +# Get current active window ID +get_win() { + hyprctl activewindow -j | jq -r '.address // .id' +} + +# Get available keyboards +get_keyboards() { + hyprctl devices -j | jq -r '.keyboards[].name' +} + +# Save window-specific layout +save_map() { + local W=$1 L=$2 + grep -v "^${W}:" "$MAP_FILE" > "$MAP_FILE.tmp" + echo "${W}:${L}" >> "$MAP_FILE.tmp" + mv "$MAP_FILE.tmp" "$MAP_FILE" +} + +# Load layout for window (fallback to default) +load_map() { + local W=$1 + local E + E=$(grep "^${W}:" "$MAP_FILE") + [[ -n "$E" ]] && echo "${E#*:}" || echo "${kb_layouts[0]}" +} + +# Switch layout for all keyboards to layout index +do_switch() { + local IDX=$1 + for kb in $(get_keyboards); do + hyprctl switchxkblayout "$kb" "$IDX" 2>/dev/null + done +} + +# Toggle layout for current window only +cmd_toggle() { + local W=$(get_win) + [[ -z "$W" ]] && return + local CUR=$(load_map "$W") + local i NEXT + for idx in "${!kb_layouts[@]}"; do + if [[ "${kb_layouts[idx]}" == "$CUR" ]]; then + i=$idx + break + fi + done + NEXT=$(( (i+1) % count )) + do_switch "$NEXT" + save_map "$W" "${kb_layouts[NEXT]}" + notify-send -u low -i "$ICON" "kb_layout: ${kb_layouts[NEXT]}" +} + +# Restore layout on focus +cmd_restore() { + local W=$(get_win) + [[ -z "$W" ]] && return + local LAY=$(load_map "$W") + for idx in "${!kb_layouts[@]}"; do + if [[ "${kb_layouts[idx]}" == "$LAY" ]]; then + do_switch "$idx" + break + fi + done +} + +# Listen to focus events and restore window-specific layouts +subscribe() { + local SOCKET2="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" + [[ -S "$SOCKET2" ]] || { echo "Error: Hyprland socket not found." >&2; exit 1; } + + socat -u UNIX-CONNECT:"$SOCKET2" - | while read -r line; do + [[ "$line" =~ ^activewindow ]] && cmd_restore + done +} + +# Ensure only one listener +if ! pgrep -f "$SCRIPT_NAME.*--listener" >/dev/null; then + subscribe --listener & +fi + +# CLI +case "$1" in + toggle|"") cmd_toggle ;; + *) echo "Usage: $SCRIPT_NAME [toggle]" >&2; exit 1 ;; +esac diff --git a/hypr/scripts/TouchPad.sh b/hypr/scripts/TouchPad.sh new file mode 100755 index 0000000..8509d79 --- /dev/null +++ b/hypr/scripts/TouchPad.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# For disabling touchpad. +# Edit the Touchpad_Device on ~/.config/hypr/UserConfigs/Laptops.conf according to your system +# use hyprctl devices to get your system touchpad device name +# source https://github.com/hyprwm/Hyprland/discussions/4283?sort=new#discussioncomment-8648109 + +notif="$HOME/.config/swaync/images/ja.png" + +export STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status" + +enable_touchpad() { + printf "true" >"$STATUS_FILE" + notify-send -u low -i $notif " Enabling" " touchpad" + hyprctl keyword '$TOUCHPAD_ENABLED' "true" -r +} + +disable_touchpad() { + printf "false" >"$STATUS_FILE" + notify-send -u low -i $notif " Disabling" " touchpad" + hyprctl keyword '$TOUCHPAD_ENABLED' "false" -r +} + +if ! [ -f "$STATUS_FILE" ]; then + enable_touchpad +else + if [ $(cat "$STATUS_FILE") = "true" ]; then + disable_touchpad + elif [ $(cat "$STATUS_FILE") = "false" ]; then + enable_touchpad + fi +fi diff --git a/hypr/scripts/UptimeNixOS.sh b/hypr/scripts/UptimeNixOS.sh new file mode 100755 index 0000000..654ae2c --- /dev/null +++ b/hypr/scripts/UptimeNixOS.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Script parses /proc/uptime to get the system uptime +# and prints it in a human-readable format +# This is a workaround for system where `uptime` command is taken from coreutils +# where `uptime -p` is not supported + +if [[ -r /proc/uptime ]]; then + s=$(< /proc/uptime) + s=${s/.*} +else + echo "Error UptimeNixOS.sh: Uptime could not be determined." >&2 + exit 1 +fi + +d="$((s / 60 / 60 / 24)) days" +h="$((s / 60 / 60 % 24)) hours" +m="$((s / 60 % 60)) minutes" + +# Remove plural if < 2. +((${d/ *} == 1)) && d=${d/s} +((${h/ *} == 1)) && h=${h/s} +((${m/ *} == 1)) && m=${m/s} + +# Hide empty fields. +((${d/ *} == 0)) && unset d +((${h/ *} == 0)) && unset h +((${m/ *} == 0)) && unset m + +uptime=${d:+$d, }${h:+$h, }$m +uptime=${uptime%', '} +uptime=${uptime:-$s seconds} + +echo "up $uptime" diff --git a/hypr/scripts/Volume.sh b/hypr/scripts/Volume.sh new file mode 100755 index 0000000..8efdb55 --- /dev/null +++ b/hypr/scripts/Volume.sh @@ -0,0 +1,143 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Scripts for volume controls for audio and mic + +iDIR="$HOME/.config/swaync/icons" +sDIR="$HOME/.config/hypr/scripts" + +# Get Volume +get_volume() { + volume=$(pamixer --get-volume) + if [[ "$volume" -eq "0" ]]; then + echo "Muted" + else + echo "$volume %" + fi +} + +# Get icons +get_icon() { + current=$(get_volume) + if [[ "$current" == "Muted" ]]; then + echo "$iDIR/volume-mute.png" + elif [[ "${current%\%}" -le 30 ]]; then + echo "$iDIR/volume-low.png" + elif [[ "${current%\%}" -le 60 ]]; then + echo "$iDIR/volume-mid.png" + else + echo "$iDIR/volume-high.png" + fi +} + +# Notify +notify_user() { + if [[ "$(get_volume)" == "Muted" ]]; then + notify-send -e -h string:x-canonical-private-synchronous:volume_notif -h boolean:SWAYNC_BYPASS_DND:true -u low -i "$(get_icon)" " Volume:" " Muted" + else + notify-send -e -h int:value:"$(get_volume | sed 's/%//')" -h string:x-canonical-private-synchronous:volume_notif -h boolean:SWAYNC_BYPASS_DND:true -u low -i "$(get_icon)" " Volume Level:" " $(get_volume)" && + "$sDIR/Sounds.sh" --volume + fi +} + +# Increase Volume +inc_volume() { + if [ "$(pamixer --get-mute)" == "true" ]; then + toggle_mute + else + pamixer -i 5 --allow-boost --set-limit 150 && notify_user + fi +} + +# Decrease Volume +dec_volume() { + if [ "$(pamixer --get-mute)" == "true" ]; then + toggle_mute + else + pamixer -d 5 && notify_user + fi +} + +# Toggle Mute +toggle_mute() { + if [ "$(pamixer --get-mute)" == "false" ]; then + pamixer -m && notify-send -e -u low -h boolean:SWAYNC_BYPASS_DND:true -i "$iDIR/volume-mute.png" " Mute" + elif [ "$(pamixer --get-mute)" == "true" ]; then + pamixer -u && notify-send -e -u low -h boolean:SWAYNC_BYPASS_DND:true -i "$(get_icon)" " Volume:" " Switched ON" + fi +} + +# Toggle Mic +toggle_mic() { + if [ "$(pamixer --default-source --get-mute)" == "false" ]; then + pamixer --default-source -m && notify-send -e -u low -h boolean:SWAYNC_BYPASS_DND:true -i "$iDIR/microphone-mute.png" " Microphone:" " Switched OFF" + elif [ "$(pamixer --default-source --get-mute)" == "true" ]; then + pamixer -u --default-source u && notify-send -e -u low -h boolean:SWAYNC_BYPASS_DND:true -i "$iDIR/microphone.png" " Microphone:" " Switched ON" + fi +} +# Get Mic Icon +get_mic_icon() { + current=$(pamixer --default-source --get-volume) + if [[ "$current" -eq "0" ]]; then + echo "$iDIR/microphone-mute.png" + else + echo "$iDIR/microphone.png" + fi +} + +# Get Microphone Volume +get_mic_volume() { + volume=$(pamixer --default-source --get-volume) + if [[ "$volume" -eq "0" ]]; then + echo "Muted" + else + echo "$volume %" + fi +} + +# Notify for Microphone +notify_mic_user() { + volume=$(get_mic_volume) + icon=$(get_mic_icon) + notify-send -e -h int:value:"$volume" -h "string:x-canonical-private-synchronous:volume_notif" -h boolean:SWAYNC_BYPASS_DND:true -u low -i "$icon" " Mic Level:" " $volume" +} + +# Increase MIC Volume +inc_mic_volume() { + if [ "$(pamixer --default-source --get-mute)" == "true" ]; then + toggle_mic + else + pamixer --default-source -i 5 && notify_mic_user + fi +} + +# Decrease MIC Volume +dec_mic_volume() { + if [ "$(pamixer --default-source --get-mute)" == "true" ]; then + toggle-mic + else + pamixer --default-source -d 5 && notify_mic_user + fi +} + +# Execute accordingly +if [[ "$1" == "--get" ]]; then + get_volume +elif [[ "$1" == "--inc" ]]; then + inc_volume +elif [[ "$1" == "--dec" ]]; then + dec_volume +elif [[ "$1" == "--toggle" ]]; then + toggle_mute +elif [[ "$1" == "--toggle-mic" ]]; then + toggle_mic +elif [[ "$1" == "--get-icon" ]]; then + get_icon +elif [[ "$1" == "--get-mic-icon" ]]; then + get_mic_icon +elif [[ "$1" == "--mic-inc" ]]; then + inc_mic_volume +elif [[ "$1" == "--mic-dec" ]]; then + dec_mic_volume +else + get_volume +fi \ No newline at end of file diff --git a/hypr/scripts/WallustSwww.sh b/hypr/scripts/WallustSwww.sh new file mode 100755 index 0000000..5e0148e --- /dev/null +++ b/hypr/scripts/WallustSwww.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Wallust: derive colors from the current wallpaper and update templates +# Usage: WallustSwww.sh [absolute_path_to_wallpaper] + +set -euo pipefail + +# Inputs and paths +passed_path="${1:-}" +cache_dir="$HOME/.cache/swww/" +rofi_link="$HOME/.config/rofi/.current_wallpaper" +wallpaper_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current" + +# Helper: get focused monitor name (prefer JSON) +get_focused_monitor() { + if command -v jq >/dev/null 2>&1; then + hyprctl monitors -j | jq -r '.[] | select(.focused) | .name' + else + hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}' + fi +} + +# Determine wallpaper_path +wallpaper_path="" +if [[ -n "$passed_path" && -f "$passed_path" ]]; then + wallpaper_path="$passed_path" +else + # Try to read from swww cache for the focused monitor, with a short retry loop + current_monitor="$(get_focused_monitor)" + cache_file="$cache_dir$current_monitor" + + # Wait briefly for swww to write its cache after an image change + for i in {1..10}; do + if [[ -f "$cache_file" ]]; then + break + fi + sleep 0.1 + done + + if [[ -f "$cache_file" ]]; then + # The first non-filter line is the original wallpaper path + # wallpaper_path="$(grep -v 'Lanczos3' "$cache_file" | head -n 1)" + wallpaper_path=$(swww query | grep $current_monitor | awk '{print $9}') + fi +fi + +if [[ -z "${wallpaper_path:-}" || ! -f "$wallpaper_path" ]]; then + # Nothing to do; avoid failing loudly so callers can continue + exit 0 +fi + +# Update helpers that depend on the path +ln -sf "$wallpaper_path" "$rofi_link" || true +mkdir -p "$(dirname "$wallpaper_current")" +cp -f "$wallpaper_path" "$wallpaper_current" || true + +# Run wallust (silent) to regenerate templates defined in ~/.config/wallust/wallust.toml +# -s is used in this repo to keep things quiet and avoid extra prompts +wallust run -s "$wallpaper_path" || true diff --git a/hypr/scripts/WaybarCava.sh b/hypr/scripts/WaybarCava.sh new file mode 100755 index 0000000..6809e60 --- /dev/null +++ b/hypr/scripts/WaybarCava.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +# WaybarCava.sh — safer single-instance handling, cleanup, and robustness +# Original concept by JaKooLit; this variant focuses on lifecycle hardening. + +set -euo pipefail + +# Ensure cava exists +if ! command -v cava >/dev/null 2>&1; then + echo "cava not found in PATH" >&2 + exit 1 +fi + +# 0..7 → ▁▂▃▄▅▆▇█ +bar="▁▂▃▄▅▆▇█" +dict="s/;//g" +bar_length=${#bar} +for ((i = 0; i < bar_length; i++)); do + dict+=";s/$i/${bar:$i:1}/g" +done + +# Single-instance guard (only kill our previous instance if it’s still alive) +RUNTIME_DIR="${XDG_RUNTIME_DIR:-/tmp}" +pidfile="$RUNTIME_DIR/waybar-cava.pid" +if [[ -f "$pidfile" ]]; then + oldpid="$(cat "$pidfile" || true)" + if [[ -n "$oldpid" ]] && kill -0 "$oldpid" 2>/dev/null; then + kill "$oldpid" 2>/dev/null || true + sleep 0.1 || true + fi +fi +printf '%d' $$ >"$pidfile" + +# Unique temp config + cleanup on exit +config_file="$(mktemp "$RUNTIME_DIR/waybar-cava.XXXXXX.conf")" +cleanup() { rm -f "$config_file" "$pidfile"; } +trap cleanup EXIT INT TERM + +cat >"$config_file" </dev/null; then + pkill rofi + #exit 0 +fi + +main diff --git a/hypr/scripts/WaybarScripts.sh b/hypr/scripts/WaybarScripts.sh new file mode 100755 index 0000000..7b3aaba --- /dev/null +++ b/hypr/scripts/WaybarScripts.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# This file used on waybar modules sourcing defaults set in $HOME/.config/hypr/UserConfigs/01-UserDefaults.conf + +# Define the path to the config file +config_file=$HOME/.config/hypr/UserConfigs/01-UserDefaults.conf + +# Check if the config file exists +if [[ ! -f "$config_file" ]]; then + echo "Error: Configuration file not found!" + exit 1 +fi + +# Process the config file in memory, removing the $ and fixing spaces +config_content=$(sed 's/\$//g' "$config_file" | sed 's/ = /=/') + +# Source the modified content directly from the variable +eval "$config_content" + +# Check if $term is set correctly +if [[ -z "$term" ]]; then + echo "Error: \$term is not set in the configuration file!" + exit 1 +fi + +# Execute accordingly based on the passed argument +if [[ "$1" == "--btop" ]]; then + $term --title btop sh -c 'btop' +elif [[ "$1" == "--nvtop" ]]; then + $term --title nvtop sh -c 'nvtop' +elif [[ "$1" == "--nmtui" ]]; then + $term nmtui +elif [[ "$1" == "--term" ]]; then + $term & +elif [[ "$1" == "--files" ]]; then + $files & +else + echo "Usage: $0 [--btop | --nvtop | --nmtui | --term]" + echo "--btop : Open btop in a new term" + echo "--nvtop : Open nvtop in a new term" + echo "--nmtui : Open nmtui in a new term" + echo "--term : Launch a term window" + echo "--files : Launch a file manager" +fi \ No newline at end of file diff --git a/hypr/scripts/WaybarStyles.sh b/hypr/scripts/WaybarStyles.sh new file mode 100755 index 0000000..a439f8e --- /dev/null +++ b/hypr/scripts/WaybarStyles.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Script for waybar styles + +IFS=$'\n\t' + +# Define directories +waybar_styles="$HOME/.config/waybar/style" +waybar_style="$HOME/.config/waybar/style.css" +SCRIPTSDIR="$HOME/.config/hypr/scripts" +rofi_config="$HOME/.config/rofi/config-waybar-style.rasi" +msg=' 🎌 NOTE: Some waybar STYLES NOT fully compatible with some LAYOUTS' + +# Apply selected style +apply_style() { + ln -sf "$waybar_styles/$1.css" "$waybar_style" + "${SCRIPTSDIR}/Refresh.sh" & +} + +main() { + # resolve current symlink and strip .css + current_target=$(readlink -f "$waybar_style") + current_name=$(basename "$current_target" .css) + + # gather all style names (without .css) into an array + mapfile -t options < <( + find -L "$waybar_styles" -maxdepth 1 -type f -name '*.css' \ + -exec basename {} .css \; \ + | sort + ) + + # mark the active style and record its index + default_row=0 + MARKER="👉" + for i in "${!options[@]}"; do + if [[ "${options[i]}" == "$current_name" ]]; then + options[i]="$MARKER ${options[i]}" + default_row=$i + break + fi + done + + # launch rofi with the annotated list and pre‑selected row + choice=$(printf '%s\n' "${options[@]}" \ + | rofi -i -dmenu \ + -config "$rofi_config" \ + -mesg "$msg" \ + -selected-row "$default_row" + ) + + [[ -z "$choice" ]] && { echo "No option selected. Exiting."; exit 0; } + + # remove annotation and apply + choice=${choice# $MARKER} + apply_style "$choice" +} + +# Kill Rofi if already running before execution +if pgrep -x "rofi" >/dev/null; then + pkill rofi + #exit 0 +fi + +main diff --git a/hypr/scripts/Wlogout.sh b/hypr/scripts/Wlogout.sh new file mode 100755 index 0000000..f552b83 --- /dev/null +++ b/hypr/scripts/Wlogout.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# wlogout (Power, Screen Lock, Suspend, etc) + +# Set variables for parameters. First numbers corresponts to Monitor Resolution +# i.e 2160 means 2160p +A_2160=600 +B_2160=600 +A_1600=400 +B_1600=400 +A_1440=400 +B_1440=400 +A_1080=200 +B_1080=200 +A_720=50 +B_720=50 + +# Check if wlogout is already running +if pgrep -x "wlogout" > /dev/null; then + pkill -x "wlogout" + exit 0 +fi + +# Detect monitor resolution and scaling factor +resolution=$(hyprctl -j monitors | jq -r '.[] | select(.focused==true) | .height / .scale' | awk -F'.' '{print $1}') +hypr_scale=$(hyprctl -j monitors | jq -r '.[] | select(.focused==true) | .scale') + +# Set parameters based on screen resolution and scaling factor +if ((resolution >= 2160)); then + T_val=$(awk "BEGIN {printf \"%.0f\", $A_2160 * 2160 * $hypr_scale / $resolution}") + B_val=$(awk "BEGIN {printf \"%.0f\", $B_2160 * 2160 * $hypr_scale / $resolution}") + echo "Setting parameters for resolution >= 4k" + wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val & +elif ((resolution >= 1600 && resolution < 2160)); then + T_val=$(awk "BEGIN {printf \"%.0f\", $A_1600 * 1600 * $hypr_scale / $resolution}") + B_val=$(awk "BEGIN {printf \"%.0f\", $B_1600 * 1600 * $hypr_scale / $resolution}") + echo "Setting parameters for resolution >= 2.5k and < 4k" + wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val & +elif ((resolution >= 1440 && resolution < 1600)); then + T_val=$(awk "BEGIN {printf \"%.0f\", $A_1440 * 1440 * $hypr_scale / $resolution}") + B_val=$(awk "BEGIN {printf \"%.0f\", $B_1440 * 1440 * $hypr_scale / $resolution}") + echo "Setting parameters for resolution >= 2k and < 2.5k" + wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val & +elif ((resolution >= 1080 && resolution < 1440)); then + T_val=$(awk "BEGIN {printf \"%.0f\", $A_1080 * 1080 * $hypr_scale / $resolution}") + B_val=$(awk "BEGIN {printf \"%.0f\", $B_1080 * 1080 * $hypr_scale / $resolution}") + echo "Setting parameters for resolution >= 1080p and < 2k" + wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val & +elif ((resolution >= 720 && resolution < 1080)); then + T_val=$(awk "BEGIN {printf \"%.0f\", $A_720 * 720 * $hypr_scale / $resolution}") + B_val=$(awk "BEGIN {printf \"%.0f\", $B_720 * 720 * $hypr_scale / $resolution}") + echo "Setting parameters for resolution >= 720p and < 1080p" + wlogout --protocol layer-shell -b 3 -T $T_val -B $B_val & +else + echo "Setting default parameters" + wlogout & +fi diff --git a/hypr/scripts/sddm_wallpaper.sh b/hypr/scripts/sddm_wallpaper.sh new file mode 100755 index 0000000..9487188 --- /dev/null +++ b/hypr/scripts/sddm_wallpaper.sh @@ -0,0 +1,95 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +# SDDM Wallpaper and Wallust Colors Setter + +# for the upcoming changes on the simple_sddm_theme + +# variables +terminal=kitty +wallDIR="$HOME/Pictures/wallpapers" +SCRIPTSDIR="$HOME/.config/hypr/scripts" +wallpaper_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current" +wallpaper_modified="$HOME/.config/hypr/wallpaper_effects/.wallpaper_modified" +# Resolve SDDM themes directory (standard paths and NixOS path) +sddm_themes_dir="/usr/share/sddm/themes" +if [ ! -d "$sddm_themes_dir" ] && [ -d "/run/current-system/sw/share/sddm/themes" ]; then + sddm_themes_dir="/run/current-system/sw/share/sddm/themes" +fi +sddm_simple="$sddm_themes_dir/simple_sddm_2" + +# rofi-wallust-sddm colors path +rofi_wallust="$HOME/.config/rofi/wallust/colors-rofi.rasi" +sddm_theme_conf="$sddm_simple/theme.conf" + +# Directory for swaync +iDIR="$HOME/.config/swaync/images" +iDIRi="$HOME/.config/swaync/icons" + +# Parse arguments +mode="effects" # default +if [[ "$1" == "--normal" ]]; then + mode="normal" +elif [[ "$1" == "--effects" ]]; then + mode="effects" +fi + +# Extract colors from rofi wallust config + +color0=$(grep -oP 'color1:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust") +color1=$(grep -oP 'color0:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust") +color7=$(grep -oP 'color14:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust") +color10=$(grep -oP 'color10:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust") +color12=$(grep -oP 'color12:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust") +color13=$(grep -oP 'color13:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust") +foreground=$(grep -oP 'foreground:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust") +#background-color=$(grep -oP 'background:\s*\K#[A-Fa-f0-9]+' "$rofi_wallust") + +# wallpaper to use +if [[ "$mode" == "normal" ]]; then + wallpaper_path="$wallpaper_current" +else + wallpaper_path="$wallpaper_modified" +fi + +# Abort on NixOS where this repo doesn't manage SDDM and themes are typically read-only +if hostnamectl 2>/dev/null | grep -q 'Operating System: NixOS'; then + notify-send -i "$iDIR/error.png" "SDDM" "NixOS detected: skipping SDDM background change." + exit 0 +fi + +# Launch terminal and apply changes +$terminal -e bash -c " +echo 'Enter your password to update SDDM wallpapers and colors'; + +# Update the colors in the SDDM config +sudo sed -i \"s/HeaderTextColor=\\\"#.*\\\"/HeaderTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/DateTextColor=\\\"#.*\\\"/DateTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/TimeTextColor=\\\"#.*\\\"/TimeTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/DropdownSelectedBackgroundColor=\\\"#.*\\\"/DropdownSelectedBackgroundColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/SystemButtonsIconsColor=\\\"#.*\\\"/SystemButtonsIconsColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/SessionButtonTextColor=\\\"#.*\\\"/SessionButtonTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/VirtualKeyboardButtonTextColor=\\\"#.*\\\"/VirtualKeyboardButtonTextColor=\\\"$color13\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/HighlightBackgroundColor=\\\"#.*\\\"/HighlightBackgroundColor=\\\"$color12\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/LoginFieldTextColor=\\\"#.*\\\"/LoginFieldTextColor=\\\"$color12\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/PasswordFieldTextColor=\\\"#.*\\\"/PasswordFieldTextColor=\\\"$color12\\\"/\" \"$sddm_theme_conf\" + +sudo sed -i \"s/DropdownBackgroundColor=\\\"#.*\\\"/DropdownBackgroundColor=\\\"$color1\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/HighlightTextColor=\\\"#.*\\\"/HighlightTextColor=\\\"$color10\\\"/\" \"$sddm_theme_conf\" + +sudo sed -i \"s/PlaceholderTextColor=\\\"#.*\\\"/PlaceholderTextColor=\\\"$color7\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/UserIconColor=\\\"#.*\\\"/UserIconColor=\\\"$color7\\\"/\" \"$sddm_theme_conf\" +sudo sed -i \"s/PasswordIconColor=\\\"#.*\\\"/PasswordIconColor=\\\"$color7\\\"/\" \"$sddm_theme_conf\" + +# Copy wallpaper to SDDM theme +# Primary: set Backgrounds/default (no extension) for simple_sddm_2 +sudo cp -f \"$wallpaper_path\" \"$sddm_simple/Backgrounds/default\" || true +# Fallbacks: if theme ships default.jpg or default.png, update those too +if [ -e \"$sddm_simple/Backgrounds/default.jpg\" ]; then + sudo cp -f \"$wallpaper_path\" \"$sddm_simple/Backgrounds/default.jpg\" +fi +if [ -e \"$sddm_simple/Backgrounds/default.png\" ]; then + sudo cp -f \"$wallpaper_path\" \"$sddm_simple/Backgrounds/default.png\" +fi + +notify-send -i \"$iDIR/ja.png\" \"SDDM\" \"Background SET\" +" \ No newline at end of file diff --git a/hypr/v2.3.17 b/hypr/v2.3.17 new file mode 100644 index 0000000..31b3414 --- /dev/null +++ b/hypr/v2.3.17 @@ -0,0 +1,5 @@ +### https://github.com/JaKooLit ### +## https://github.com/JaKooLit/Hyprland-Dots +## This is to have a reference of which version would be + +## note that this will always be higher than the released versions \ No newline at end of file diff --git a/hypr/wallpaper_effects/.wallpaper_current b/hypr/wallpaper_effects/.wallpaper_current new file mode 100644 index 0000000..696ba1b Binary files /dev/null and b/hypr/wallpaper_effects/.wallpaper_current differ diff --git a/hypr/wallpaper_effects/.wallpaper_modified b/hypr/wallpaper_effects/.wallpaper_modified new file mode 100644 index 0000000..696ba1b Binary files /dev/null and b/hypr/wallpaper_effects/.wallpaper_modified differ diff --git a/hypr/wallust/wallust-hyprland.conf b/hypr/wallust/wallust-hyprland.conf new file mode 100644 index 0000000..ad0e115 --- /dev/null +++ b/hypr/wallust/wallust-hyprland.conf @@ -0,0 +1,21 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +# /* wallust template - colors-hyprland */ + +$background = rgb(2C2A29) +$foreground = rgb(EAEEF0) +$color0 = rgb(514F4E) +$color1 = rgb(3E4823) +$color2 = rgb(555554) +$color3 = rgb(77594B) +$color4 = rgb(60656B) +$color5 = rgb(7E8486) +$color6 = rgb(939B9E) +$color7 = rgb(D9DFE1) +$color8 = rgb(989C9D) +$color9 = rgb(53602F) +$color10 = rgb(727171) +$color11 = rgb(9F7664) +$color12 = rgb(80878F) +$color13 = rgb(A9B0B2) +$color14 = rgb(C4CFD3) +$color15 = rgb(D9DFE1) diff --git a/hypr/workspaces.conf b/hypr/workspaces.conf new file mode 100644 index 0000000..708dee0 --- /dev/null +++ b/hypr/workspaces.conf @@ -0,0 +1,33 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +# *********************************************************** # +# +# NOTE: This will be overwritten by NWG-Displays +# once you use and click apply. +# +# *********************************************************** # + +# You can set workspace rules to achieve workspace-specific behaviors. +# For instance, you can define a workspace where all windows are drawn without borders or gaps. + +# https://wiki.hyprland.org/Configuring/Workspace-Rules/ + +# Assigning workspace to a certain monitor. Below are just examples +# workspace = 1, monitor:eDP-1 +# workspace = 2, monitor:eDP-1 +# workspace = 3, monitor:eDP-1 +# workspace = 4, monitor:eDP-1 +# workspace = 5, monitor:DP-2 +# workspace = 6, monitor:DP-2 +# workspace = 7, monitor:DP-2 +# workspace = 8, monitor:DP-2 + + +# example rules (from wiki) +# workspace = 3, rounding:false, decorate:false +# workspace = name:coding, rounding:false, decorate:false, gapsin:0, gapsout:0, border:false, decorate:false, monitor:DP-1 +# workspace = 8,bordersize:8 +# workspace = name:Hello, monitor:DP-1, default:true +# workspace = name:gaming, monitor:desc:Chimei Innolux Corporation 0x150C, default:true +# workspace = 5, on-created-empty:[float] firefox +# workspace = special:scratchpad, on-created-empty:foot \ No newline at end of file diff --git a/kitty/kitty-themes/00-Default.conf b/kitty/kitty-themes/00-Default.conf new file mode 100644 index 0000000..2c1ac15 --- /dev/null +++ b/kitty/kitty-themes/00-Default.conf @@ -0,0 +1,3 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +# This is just created to remove all the themes diff --git a/kitty/kitty-themes/01-Wallust.conf b/kitty/kitty-themes/01-Wallust.conf new file mode 100644 index 0000000..762eae6 --- /dev/null +++ b/kitty/kitty-themes/01-Wallust.conf @@ -0,0 +1,32 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# /* wallust template - colors-kitty */ + +foreground #EAEEF0 +background #2C2A29 +cursor #AEB0B0 + +active_tab_foreground #2C2A29 +active_tab_background #EAEEF0 +inactive_tab_foreground #EAEEF0 +inactive_tab_background #2C2A29 + +active_border_color #EAEEF0 +inactive_border_color #2C2A29 +bell_border_color #3E4823 + +color0 #514F4E +color1 #3E4823 +color2 #555554 +color3 #77594B +color4 #60656B +color5 #7E8486 +color6 #939B9E +color7 #D9DFE1 +color8 #989C9D +color9 #53602F +color10 #727171 +color11 #9F7664 +color12 #80878F +color13 #A9B0B2 +color14 #C4CFD3 +color15 #D9DFE1 diff --git a/kitty/kitty-themes/3024_Day.conf b/kitty/kitty-themes/3024_Day.conf new file mode 100644 index 0000000..747996a --- /dev/null +++ b/kitty/kitty-themes/3024_Day.conf @@ -0,0 +1,21 @@ +background #f7f7f7 +foreground #494542 +cursor #494542 +selection_background #a4a1a1 +color0 #090200 +color8 #5b5754 +color1 #da2c20 +color9 #e8bacf +color2 #00a152 +color10 #3a3332 +color3 #fcec02 +color11 #494542 +color4 #00a0e4 +color12 #7f7c7b +color5 #a06994 +color13 #d6d4d3 +color6 #b5e4f4 +color14 #ccab53 +color7 #a4a1a1 +color15 #f7f7f7 +selection_foreground #f7f7f7 diff --git a/kitty/kitty-themes/3024_Night.conf b/kitty/kitty-themes/3024_Night.conf new file mode 100644 index 0000000..2543819 --- /dev/null +++ b/kitty/kitty-themes/3024_Night.conf @@ -0,0 +1,21 @@ +background #090200 +foreground #a4a1a1 +cursor #a4a1a1 +selection_background #494542 +color0 #090200 +color8 #5b5754 +color1 #da2c20 +color9 #e8bacf +color2 #00a152 +color10 #3a3332 +color3 #fcec02 +color11 #494542 +color4 #00a0e4 +color12 #7f7c7b +color5 #a06994 +color13 #d6d4d3 +color6 #b5e4f4 +color14 #ccab53 +color7 #a4a1a1 +color15 #f7f7f7 +selection_foreground #090200 diff --git a/kitty/kitty-themes/AdventureTime.conf b/kitty/kitty-themes/AdventureTime.conf new file mode 100644 index 0000000..e523a1a --- /dev/null +++ b/kitty/kitty-themes/AdventureTime.conf @@ -0,0 +1,21 @@ +background #1e1c44 +foreground #f8dbc0 +cursor #eebf37 +selection_background #6f6a4e +color0 #050404 +color8 #4e7bbf +color1 #bc0013 +color9 #fc5e59 +color2 #49b117 +color10 #9dff6e +color3 #e6741d +color11 #efc11a +color4 #0f49c6 +color12 #1896c6 +color5 #665992 +color13 #9a5952 +color6 #6fa497 +color14 #c8f9f3 +color7 #f8dbc0 +color15 #f5f4fb +selection_foreground #1e1c44 diff --git a/kitty/kitty-themes/Afterglow.conf b/kitty/kitty-themes/Afterglow.conf new file mode 100644 index 0000000..2df3efd --- /dev/null +++ b/kitty/kitty-themes/Afterglow.conf @@ -0,0 +1,21 @@ +background #202020 +foreground #d0d0d0 +cursor #d0d0d0 +selection_background #303030 +color0 #151515 +color8 #505050 +color1 #ac4142 +color9 #ac4142 +color2 #7e8d50 +color10 #7e8d50 +color3 #e5b566 +color11 #e5b566 +color4 #6c99ba +color12 #6c99ba +color5 #9e4e85 +color13 #9e4e85 +color6 #7dd5cf +color14 #7dd5cf +color7 #d0d0d0 +color15 #f5f5f5 +selection_foreground #202020 diff --git a/kitty/kitty-themes/AlienBlood.conf b/kitty/kitty-themes/AlienBlood.conf new file mode 100644 index 0000000..453ea80 --- /dev/null +++ b/kitty/kitty-themes/AlienBlood.conf @@ -0,0 +1,21 @@ +background #0f160f +foreground #637d75 +cursor #73f990 +selection_background #1d4025 +color0 #112615 +color8 #3c4711 +color1 #7f2b26 +color9 #df8008 +color2 #2f7e25 +color10 #18e000 +color3 #707f23 +color11 #bde000 +color4 #2f697f +color12 #00a9df +color5 #47577e +color13 #0058df +color6 #317f76 +color14 #00dfc3 +color7 #647d75 +color15 #73f990 +selection_foreground #0f160f diff --git a/kitty/kitty-themes/Alucard.conf b/kitty/kitty-themes/Alucard.conf new file mode 100644 index 0000000..43665fe --- /dev/null +++ b/kitty/kitty-themes/Alucard.conf @@ -0,0 +1,21 @@ +background #222330 +foreground #cef3ff +cursor #ffffff +selection_background #44475a +color0 #000000 +color8 #545454 +color1 #ff5555 +color9 #ff5454 +color2 #fa0074 +color10 #50fa7b +color3 #7f0a1f +color11 #f0fa8b +color4 #3282ff +color12 #1200f8 +color5 #1b3cff +color13 #ff78c5 +color6 #0037fc +color14 #8ae9fc +color7 #bbbbbb +color15 #ffffff +selection_foreground #222330 diff --git a/kitty/kitty-themes/Apprentice.conf b/kitty/kitty-themes/Apprentice.conf new file mode 100644 index 0000000..c8c0583 --- /dev/null +++ b/kitty/kitty-themes/Apprentice.conf @@ -0,0 +1,26 @@ +# Apprentice by Romain Lafourcade, https://github.com/romainl +# This work is licensed under the terms of the MIT license. +# For a copy, see https://opensource.org/licenses/MIT. + +cursor #c7c7c7 +cursor_text_color #feffff +selection_foreground #3e3e3e +selection_background #c1ddff +foreground #c8c8c8 +background #323232 +color0 #252525 +color8 #555555 +color1 #be7472 +color9 #ff9900 +color2 #709772 +color10 #97bb98 +color3 #989772 +color11 #fefdbc +color4 #7199bc +color12 #9fbdde +color5 #727399 +color13 #989abc +color6 #719899 +color14 #6fbbbc +color7 #7f7f7f +color15 #feffff diff --git a/kitty/kitty-themes/Argonaut.conf b/kitty/kitty-themes/Argonaut.conf new file mode 100644 index 0000000..058186e --- /dev/null +++ b/kitty/kitty-themes/Argonaut.conf @@ -0,0 +1,21 @@ +background #0d0f18 +foreground #fffaf3 +cursor #ff0017 +selection_background #002a3a +color0 #222222 +color8 #444444 +color1 #ff000f +color9 #ff273f +color2 #8ce00a +color10 #abe05a +color3 #ffb900 +color11 #ffd141 +color4 #008df8 +color12 #0092ff +color5 #6c43a5 +color13 #9a5feb +color6 #00d7eb +color14 #67ffef +color7 #ffffff +color15 #ffffff +selection_foreground #0d0f18 diff --git a/kitty/kitty-themes/Arthur.conf b/kitty/kitty-themes/Arthur.conf new file mode 100644 index 0000000..d3fb520 --- /dev/null +++ b/kitty/kitty-themes/Arthur.conf @@ -0,0 +1,21 @@ +background #1c1c1c +foreground #ddeedd +cursor #e2bbef +selection_background #4d4d4d +color0 #3d352a +color8 #554444 +color1 #cd5c5c +color9 #cc5533 +color2 #86af80 +color10 #88aa22 +color3 #e8ae5b +color11 #ffa75d +color4 #6495ed +color12 #87ceeb +color5 #deb887 +color13 #996600 +color6 #b0c4de +color14 #b0c4de +color7 #bbaa99 +color15 #ddccbb +selection_foreground #1c1c1c diff --git a/kitty/kitty-themes/AtelierSulphurpool.conf b/kitty/kitty-themes/AtelierSulphurpool.conf new file mode 100644 index 0000000..05674b0 --- /dev/null +++ b/kitty/kitty-themes/AtelierSulphurpool.conf @@ -0,0 +1,21 @@ +background #202745 +foreground #969cb3 +cursor #969cb3 +selection_background #5e6686 +color0 #202745 +color8 #6a7394 +color1 #c84821 +color9 #c76a28 +color2 #ab9639 +color10 #283256 +color3 #c08a2f +color11 #5e6686 +color4 #3d8ed0 +color12 #898ea3 +color5 #6678cc +color13 #dee1f0 +color6 #21a1c8 +color14 #9c6279 +color7 #969cb3 +color15 #f4f7ff +selection_foreground #202745 diff --git a/kitty/kitty-themes/Atom.conf b/kitty/kitty-themes/Atom.conf new file mode 100644 index 0000000..091c683 --- /dev/null +++ b/kitty/kitty-themes/Atom.conf @@ -0,0 +1,21 @@ +background #161718 +foreground #c4c8c5 +cursor #d0d0d0 +selection_background #444444 +color0 #000000 +color8 #000000 +color1 #fc5ef0 +color9 #fc5ef0 +color2 #86c38a +color10 #94f936 +color3 #ffd6b1 +color11 #f5ffa7 +color4 #85befd +color12 #95cbfe +color5 #b9b5fc +color13 #b9b5fc +color6 #85befd +color14 #85befd +color7 #dfdfdf +color15 #dfdfdf +selection_foreground #161718 diff --git a/kitty/kitty-themes/AtomOneLight.conf b/kitty/kitty-themes/AtomOneLight.conf new file mode 100644 index 0000000..056ef3b --- /dev/null +++ b/kitty/kitty-themes/AtomOneLight.conf @@ -0,0 +1,21 @@ +background #f8f8f8 +foreground #2a2b33 +cursor #bbbbbb +selection_background #ececec +color0 #000000 +color8 #000000 +color1 #de3d35 +color9 #de3d35 +color2 #3e953a +color10 #3e953a +color3 #d2b67b +color11 #d2b67b +color4 #2f5af3 +color12 #2f5af3 +color5 #950095 +color13 #a00095 +color6 #3e953a +color14 #3e953a +color7 #bbbbbb +color15 #ffffff +selection_foreground #f8f8f8 diff --git a/kitty/kitty-themes/Batman.conf b/kitty/kitty-themes/Batman.conf new file mode 100644 index 0000000..aef20e8 --- /dev/null +++ b/kitty/kitty-themes/Batman.conf @@ -0,0 +1,21 @@ +background #1b1d1e +foreground #6e6e6e +cursor #fcee0b +selection_background #4d4f4c +color0 #1b1d1e +color8 #505354 +color1 #e6db43 +color9 #fff68d +color2 #c8be46 +color10 #fff27c +color3 #f3fd21 +color11 #feed6c +color4 #737074 +color12 #909495 +color5 #737271 +color13 #9a999d +color6 #615f5e +color14 #a2a2a5 +color7 #c5c5be +color15 #dadad5 +selection_foreground #1b1d1e diff --git a/kitty/kitty-themes/Belafonte_Day.conf b/kitty/kitty-themes/Belafonte_Day.conf new file mode 100644 index 0000000..56a8796 --- /dev/null +++ b/kitty/kitty-themes/Belafonte_Day.conf @@ -0,0 +1,21 @@ +background #d4ccb9 +foreground #45363b +cursor #45363b +selection_background #958b83 +color0 #20111a +color8 #5e5252 +color1 #bd100d +color9 #bd100d +color2 #858062 +color10 #858062 +color3 #e9a448 +color11 #e9a448 +color4 #416978 +color12 #416978 +color5 #96522b +color13 #96522b +color6 #98999c +color14 #98999c +color7 #958b83 +color15 #d4ccb9 +selection_foreground #d4ccb9 diff --git a/kitty/kitty-themes/Belafonte_Night.conf b/kitty/kitty-themes/Belafonte_Night.conf new file mode 100644 index 0000000..fc51e9c --- /dev/null +++ b/kitty/kitty-themes/Belafonte_Night.conf @@ -0,0 +1,21 @@ +background #20111a +foreground #958b83 +cursor #958b83 +selection_background #45363b +color0 #20111a +color8 #5e5252 +color1 #bd100d +color9 #bd100d +color2 #858062 +color10 #858062 +color3 #e9a448 +color11 #e9a448 +color4 #416978 +color12 #416978 +color5 #96522b +color13 #96522b +color6 #98999c +color14 #98999c +color7 #958b83 +color15 #d4ccb9 +selection_foreground #20111a diff --git a/kitty/kitty-themes/BirdsOfParadise.conf b/kitty/kitty-themes/BirdsOfParadise.conf new file mode 100644 index 0000000..df38e80 --- /dev/null +++ b/kitty/kitty-themes/BirdsOfParadise.conf @@ -0,0 +1,21 @@ +background #2a1e1d +foreground #dfdab7 +cursor #573d25 +selection_background #563c27 +color0 #573d25 +color8 #9a6b49 +color1 #be2d26 +color9 #e84526 +color2 #6ba08a +color10 #94d7ba +color3 #e99c29 +color11 #d0d04f +color4 #5a86ac +color12 #b8d3ed +color5 #ab80a6 +color13 #d09dca +color6 #74a5ac +color14 #92ced6 +color7 #dfdab7 +color15 #fff9d4 +selection_foreground #2a1e1d diff --git a/kitty/kitty-themes/Blazer.conf b/kitty/kitty-themes/Blazer.conf new file mode 100644 index 0000000..f1dd601 --- /dev/null +++ b/kitty/kitty-themes/Blazer.conf @@ -0,0 +1,21 @@ +background #0d1925 +foreground #d9e5f1 +cursor #d9e5f1 +color0 #000000 +color8 #252525 +color1 #b87979 +color9 #dabdbd +color2 #79b879 +color10 #bddabd +color3 #b8b879 +color11 #dadabd +color4 #7979b8 +color12 #bdbdda +color5 #b879b8 +color13 #dabdda +color6 #79b8b8 +color14 #bddada +color7 #d9d9d9 +color15 #ffffff +selection_foreground #0d1925 +selection_background #d9e6f2 diff --git a/kitty/kitty-themes/Borland.conf b/kitty/kitty-themes/Borland.conf new file mode 100644 index 0000000..c27cc83 --- /dev/null +++ b/kitty/kitty-themes/Borland.conf @@ -0,0 +1,21 @@ +background #0000a3 +foreground #ffff4d +cursor #ffa460 +selection_background #a3a3a3 +color0 #4e4e4e +color8 #7c7c7c +color1 #ff6b60 +color9 #ffb6b0 +color2 #a7ff60 +color10 #ceffab +color3 #ffffb6 +color11 #ffffcb +color4 #96cafd +color12 #b5dcfe +color5 #ff73fd +color13 #ff9cfe +color6 #c6c4fd +color14 #dfdffe +color7 #eeeeee +color15 #ffffff +selection_foreground #0000a3 diff --git a/kitty/kitty-themes/Bright_Lights.conf b/kitty/kitty-themes/Bright_Lights.conf new file mode 100644 index 0000000..9b365f4 --- /dev/null +++ b/kitty/kitty-themes/Bright_Lights.conf @@ -0,0 +1,21 @@ +background #191919 +foreground #b2c8d6 +cursor #f34a00 +selection_background #b2c8d6 +color0 #191919 +color8 #191919 +color1 #ff355b +color9 #ff355b +color2 #b6e875 +color10 #b6e875 +color3 #ffc150 +color11 #ffc150 +color4 #75d3ff +color12 #75d4ff +color5 #b975e6 +color13 #b975e6 +color6 #6cbeb5 +color14 #6cbeb5 +color7 #c1c8d6 +color15 #c1c8d6 +selection_foreground #191919 diff --git a/kitty/kitty-themes/Broadcast.conf b/kitty/kitty-themes/Broadcast.conf new file mode 100644 index 0000000..7844942 --- /dev/null +++ b/kitty/kitty-themes/Broadcast.conf @@ -0,0 +1,21 @@ +background #2b2b2b +foreground #e5e1db +cursor #ffffff +selection_background #5a637e +color0 #000000 +color8 #323232 +color1 #da4839 +color9 #ff7b6a +color2 #509f50 +color10 #83d082 +color3 #ffd249 +color11 #ffff7b +color4 #6d9cbd +color12 #9fcef0 +color5 #cfcfff +color13 #ffffff +color6 #6d9cbd +color14 #a0cef0 +color7 #ffffff +color15 #ffffff +selection_foreground #2b2b2b diff --git a/kitty/kitty-themes/Brogrammer.conf b/kitty/kitty-themes/Brogrammer.conf new file mode 100644 index 0000000..41cc37b --- /dev/null +++ b/kitty/kitty-themes/Brogrammer.conf @@ -0,0 +1,21 @@ +background #131313 +foreground #d6dae4 +cursor #b9b9b9 +selection_background #1f1f1f +color0 #1f1f1f +color8 #d6dae4 +color1 #f71118 +color9 #de342e +color2 #2cc55d +color10 #1dd260 +color3 #ecb90f +color11 #f2bd09 +color4 #2a84d2 +color12 #0f80d5 +color5 #4e59b7 +color13 #524fb9 +color6 #0f80d5 +color14 #0f7cda +color7 #d6dae4 +color15 #ffffff +selection_foreground #131313 diff --git a/kitty/kitty-themes/C64.conf b/kitty/kitty-themes/C64.conf new file mode 100644 index 0000000..70978d5 --- /dev/null +++ b/kitty/kitty-themes/C64.conf @@ -0,0 +1,21 @@ +background #40318d +foreground #7869c4 +cursor #7869c4 +selection_background #7869c4 +color0 #090300 +color8 #000000 +color1 #883932 +color9 #883932 +color2 #55a049 +color10 #55a049 +color3 #bfce72 +color11 #bfce72 +color4 #40318d +color12 #40318d +color5 #8b3f96 +color13 #8a3e95 +color6 #67b6bd +color14 #67b6bd +color7 #ffffff +color15 #f7f7f7 +selection_foreground #40318d diff --git a/kitty/kitty-themes/CLRS.conf b/kitty/kitty-themes/CLRS.conf new file mode 100644 index 0000000..ddcb324 --- /dev/null +++ b/kitty/kitty-themes/CLRS.conf @@ -0,0 +1,21 @@ +background #ffffff +foreground #262626 +cursor #6fd2fc +selection_background #6fd2fc +color0 #000000 +color8 #545753 +color1 #f72729 +color9 #fb0416 +color2 #32895c +color10 #2cc631 +color3 #f96f1c +color11 #fcd627 +color4 #125ccf +color12 #156ffe +color5 #9f00bc +color13 #e800b0 +color6 #32c2c0 +color14 #39d5ce +color7 #b2b2b2 +color15 #ededec +selection_foreground #ffffff diff --git a/kitty/kitty-themes/Chalk.conf b/kitty/kitty-themes/Chalk.conf new file mode 100644 index 0000000..7051698 --- /dev/null +++ b/kitty/kitty-themes/Chalk.conf @@ -0,0 +1,21 @@ +background #2b2c2e +foreground #d2d8d9 +cursor #708183 +selection_background #e3e8ed +color0 #7c8a8f +color8 #888888 +color1 #b23a51 +color9 #f24840 +color2 #789a69 +color10 #80c46f +color3 #b9ab4a +color11 #ffeb62 +color4 #2a7fac +color12 #4095ff +color5 #bc4f5a +color13 #fb5175 +color6 #44a799 +color14 #52ccbd +color7 #d2d8d9 +color15 #d2d8d9 +selection_foreground #2b2c2e diff --git a/kitty/kitty-themes/Chalkboard.conf b/kitty/kitty-themes/Chalkboard.conf new file mode 100644 index 0000000..f0b7350 --- /dev/null +++ b/kitty/kitty-themes/Chalkboard.conf @@ -0,0 +1,21 @@ +background #29262f +foreground #d9e6f2 +cursor #d9e6f2 +selection_background #073642 +color0 #000000 +color8 #323232 +color1 #c37372 +color9 #dbaaaa +color2 #72c373 +color10 #aadbaa +color3 #c2c372 +color11 #dadbaa +color4 #7372c3 +color12 #aaaadb +color5 #c372c2 +color13 #dbaada +color6 #72c2c3 +color14 #aadadb +color7 #d9d9d9 +color15 #ffffff +selection_foreground #29262f diff --git a/kitty/kitty-themes/Ciapre.conf b/kitty/kitty-themes/Ciapre.conf new file mode 100644 index 0000000..2b496fb --- /dev/null +++ b/kitty/kitty-themes/Ciapre.conf @@ -0,0 +1,21 @@ +background #181c27 +foreground #ada37a +cursor #91805a +selection_background #172539 +color0 #181818 +color8 #555555 +color1 #800009 +color9 #ab3834 +color2 #48513b +color10 #a6a65d +color3 #cc8a3e +color11 #dcde7b +color4 #566d8c +color12 #2f97c6 +color5 #724c7c +color13 #d33060 +color6 #5b4f4a +color14 #f3dab1 +color7 #ada37e +color15 #f3f3f3 +selection_foreground #181c27 diff --git a/kitty/kitty-themes/Cobalt2.conf b/kitty/kitty-themes/Cobalt2.conf new file mode 100644 index 0000000..3ffcbe2 --- /dev/null +++ b/kitty/kitty-themes/Cobalt2.conf @@ -0,0 +1,21 @@ +background #122637 +foreground #ffffff +cursor #f0cb09 +selection_background #18344f +color0 #000000 +color8 #545454 +color1 #ff0000 +color9 #f40d17 +color2 #37dd21 +color10 #3bcf1d +color3 #fee409 +color11 #ecc809 +color4 #1460d2 +color12 #5555ff +color5 #ff005d +color13 #ff55ff +color6 #00bbbb +color14 #6ae3f9 +color7 #bbbbbb +color15 #ffffff +selection_foreground #122637 diff --git a/kitty/kitty-themes/Cobalt_Neon.conf b/kitty/kitty-themes/Cobalt_Neon.conf new file mode 100644 index 0000000..02a66e5 --- /dev/null +++ b/kitty/kitty-themes/Cobalt_Neon.conf @@ -0,0 +1,21 @@ +background #142838 +foreground #8ff586 +cursor #c4206f +selection_background #084fb0 +color0 #142630 +color8 #fff688 +color1 #ff2320 +color9 #d4312e +color2 #3aa5ff +color10 #8ff586 +color3 #e9e75c +color11 #e9f06d +color4 #8ff586 +color12 #3c7dd2 +color5 #781aa0 +color13 #8230a7 +color6 #8ff586 +color14 #6cbc67 +color7 #ba45b1 +color15 #8ff586 +selection_foreground #142838 diff --git a/kitty/kitty-themes/CrayonPonyFish.conf b/kitty/kitty-themes/CrayonPonyFish.conf new file mode 100644 index 0000000..068fab3 --- /dev/null +++ b/kitty/kitty-themes/CrayonPonyFish.conf @@ -0,0 +1,21 @@ +background #140607 +foreground #685259 +cursor #685259 +selection_background #2a1a1c +color0 #2a1a1c +color8 #3c2a2e +color1 #90002a +color9 #c5245c +color2 #579523 +color10 #8dff56 +color3 #aa301b +color11 #c7371d +color4 #8b87af +color12 #cfc9ff +color5 #682e50 +color13 #fb6cb9 +color6 #e8a766 +color14 #ffceae +color7 #685259 +color15 #af949d +selection_foreground #140607 diff --git a/kitty/kitty-themes/Dark_Pastel.conf b/kitty/kitty-themes/Dark_Pastel.conf new file mode 100644 index 0000000..15083f7 --- /dev/null +++ b/kitty/kitty-themes/Dark_Pastel.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #ffffff +cursor #bbbbbb +selection_background #b5d5ff +color0 #000000 +color8 #545454 +color1 #ff5555 +color9 #ff5555 +color2 #55ff55 +color10 #55ff55 +color3 #ffff55 +color11 #ffff55 +color4 #5555ff +color12 #5555ff +color5 #ff55ff +color13 #ff55ff +color6 #55ffff +color14 #55ffff +color7 #bbbbbb +color15 #ffffff +selection_foreground #000000 diff --git a/kitty/kitty-themes/Darkside.conf b/kitty/kitty-themes/Darkside.conf new file mode 100644 index 0000000..10238d1 --- /dev/null +++ b/kitty/kitty-themes/Darkside.conf @@ -0,0 +1,21 @@ +background #212324 +foreground #b9b9b9 +cursor #bbbbbb +selection_background #2f3333 +color0 #000000 +color8 #000000 +color1 #e8331c +color9 #df5a4f +color2 #68c156 +color10 #76b768 +color3 #f1d32b +color11 #eed64a +color4 #1c98e8 +color12 #387bd2 +color5 #8e69c8 +color13 #957bbd +color6 #1c98e8 +color14 #3d96e2 +color7 #b9b9b9 +color15 #b9b9b9 +selection_foreground #212324 diff --git a/kitty/kitty-themes/Desert.conf b/kitty/kitty-themes/Desert.conf new file mode 100644 index 0000000..5491a97 --- /dev/null +++ b/kitty/kitty-themes/Desert.conf @@ -0,0 +1,21 @@ +background #333333 +foreground #ffffff +cursor #00ff00 +selection_background #b5d5ff +color0 #4d4d4d +color8 #545454 +color1 #ff2b2b +color9 #ff5555 +color2 #98fb98 +color10 #55ff55 +color3 #f0e68c +color11 #ffff55 +color4 #cd853f +color12 #87ceff +color5 #ffdead +color13 #ff55ff +color6 #ffa0a0 +color14 #ffd700 +color7 #f5deb3 +color15 #ffffff +selection_foreground #333333 diff --git a/kitty/kitty-themes/DimmedMonokai.conf b/kitty/kitty-themes/DimmedMonokai.conf new file mode 100644 index 0000000..99d7a83 --- /dev/null +++ b/kitty/kitty-themes/DimmedMonokai.conf @@ -0,0 +1,21 @@ +background #1e1e1e +foreground #b8bcb9 +cursor #f83d19 +selection_background #292c31 +color0 #3a3c43 +color8 #888987 +color1 #be3e48 +color9 #fb001e +color2 #869a3a +color10 #0e712e +color3 #c4a535 +color11 #c37033 +color4 #4e76a1 +color12 #176ce3 +color5 #855b8d +color13 #fb0067 +color6 #568ea3 +color14 #2d6f6c +color7 #b8bcb9 +color15 #fcffb8 +selection_foreground #1e1e1e diff --git a/kitty/kitty-themes/DotGov.conf b/kitty/kitty-themes/DotGov.conf new file mode 100644 index 0000000..345cef9 --- /dev/null +++ b/kitty/kitty-themes/DotGov.conf @@ -0,0 +1,21 @@ +background #252b35 +foreground #eaeaea +cursor #d9002f +selection_background #194080 +color0 #181818 +color8 #181818 +color1 #bf081d +color9 #bf081d +color2 #3d9751 +color10 #3d9751 +color3 #f6bb33 +color11 #f6bb33 +color4 #16b1df +color12 #16b1df +color5 #772fb0 +color13 #772fb0 +color6 #8bd1ed +color14 #8bd1ed +color7 #ffffff +color15 #ffffff +selection_foreground #252b35 diff --git a/kitty/kitty-themes/Dracula.conf b/kitty/kitty-themes/Dracula.conf new file mode 100644 index 0000000..9cf0ed6 --- /dev/null +++ b/kitty/kitty-themes/Dracula.conf @@ -0,0 +1,21 @@ +background #1e1f28 +foreground #f8f8f2 +cursor #bbbbbb +selection_background #44475a +color0 #000000 +color8 #545454 +color1 #ff5555 +color9 #ff5454 +color2 #50fa7b +color10 #50fa7b +color3 #f0fa8b +color11 #f0fa8b +color4 #bd92f8 +color12 #bd92f8 +color5 #ff78c5 +color13 #ff78c5 +color6 #8ae9fc +color14 #8ae9fc +color7 #bbbbbb +color15 #ffffff +selection_foreground #1e1f28 diff --git a/kitty/kitty-themes/Dumbledore.conf b/kitty/kitty-themes/Dumbledore.conf new file mode 100644 index 0000000..c1ef032 --- /dev/null +++ b/kitty/kitty-themes/Dumbledore.conf @@ -0,0 +1,21 @@ +background #422553 +foreground #c4c8c5 +cursor #c4c8c5 +selection_background #008aff +color0 #2b283d +color8 #413e53 +color1 #ae0000 +color9 #d3a624 +color2 #3e7c54 +color10 #aaaaaa +color3 #f0c75e +color11 #716254 +color4 #415baf +color12 #946a2c +color5 #9445ae +color13 #b294ba +color6 #008aff +color14 #25de50 +color7 #850000 +color15 #c9c9c9 +selection_foreground #422553 diff --git a/kitty/kitty-themes/Duotone_Dark.conf b/kitty/kitty-themes/Duotone_Dark.conf new file mode 100644 index 0000000..4867604 --- /dev/null +++ b/kitty/kitty-themes/Duotone_Dark.conf @@ -0,0 +1,21 @@ +background #1f1c27 +foreground #b6a0ff +cursor #ff9738 +selection_background #353146 +color0 #1f1c27 +color8 #353146 +color1 #d8393d +color9 #d8393d +color2 #2dcc72 +color10 #2dcc72 +color3 #d8b76e +color11 #d8b76e +color4 #ffc183 +color12 #ffc183 +color5 #dd8d40 +color13 #dd8d40 +color6 #2388ff +color14 #2388ff +color7 #b6a0ff +color15 #e9e4ff +selection_foreground #1f1c27 diff --git a/kitty/kitty-themes/ENCOM.conf b/kitty/kitty-themes/ENCOM.conf new file mode 100644 index 0000000..7afc7ae --- /dev/null +++ b/kitty/kitty-themes/ENCOM.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #00a595 +cursor #bbbbbb +selection_background #00a48c +color0 #000000 +color8 #545454 +color1 #9f0000 +color9 #ff0000 +color2 #008b00 +color10 #00ee00 +color3 #ffcf00 +color11 #ffff00 +color4 #0081ff +color12 #0000ff +color5 #bc00ca +color13 #ff00ff +color6 #008b8b +color14 #00cdcd +color7 #bbbbbb +color15 #ffffff +selection_foreground #000000 diff --git a/kitty/kitty-themes/Earthsong.conf b/kitty/kitty-themes/Earthsong.conf new file mode 100644 index 0000000..50f0da8 --- /dev/null +++ b/kitty/kitty-themes/Earthsong.conf @@ -0,0 +1,21 @@ +background #282420 +foreground #e5c6a8 +cursor #f6f6ec +selection_background #111417 +color0 #111417 +color8 #665e54 +color1 #c84134 +color9 #ff6459 +color2 #84c44b +color10 #97e035 +color3 #f4ae2e +color11 #dfd561 +color4 #1397b9 +color12 #5ed9ff +color5 #d0623c +color13 #ff9168 +color6 #4f9452 +color14 #83ef88 +color7 #e5c5a9 +color15 #f6f6ec +selection_foreground #282420 diff --git a/kitty/kitty-themes/Elemental.conf b/kitty/kitty-themes/Elemental.conf new file mode 100644 index 0000000..e24a3d3 --- /dev/null +++ b/kitty/kitty-themes/Elemental.conf @@ -0,0 +1,21 @@ +background #21211c +foreground #807973 +cursor #facb7f +selection_background #403729 +color0 #3c3b30 +color8 #545444 +color1 #97280f +color9 #df502a +color2 #479942 +color10 #60e06f +color3 #7f7110 +color11 #d69827 +color4 #497f7d +color12 #78d8d8 +color5 #7e4e2e +color13 #cd7c53 +color6 #387f58 +color14 #58d598 +color7 #807974 +color15 #fff1e8 +selection_foreground #21211c diff --git a/kitty/kitty-themes/Espresso.conf b/kitty/kitty-themes/Espresso.conf new file mode 100644 index 0000000..373c178 --- /dev/null +++ b/kitty/kitty-themes/Espresso.conf @@ -0,0 +1,27 @@ +# Theme ported from the Mac Terminal application. + +background #323232 +foreground #ffffff +cursor #d6d6d6 +selection_background #5b5b5b +selection_foreground #323232 +color0 #353535 +color8 #535353 +color1 #d25252 +color9 #f00c0c +color2 #a4c161 +color10 #c1df74 +color3 #ffc56d +color11 #e1e48a +color4 #6c99ba +color12 #8ab6d9 +color5 #d096d9 +color13 #efb5f7 +color6 #bdd6ff +color14 #dbf4ff +color7 #ededec +color15 #ffffff +active_tab_foreground #ffffff +active_tab_background #535353 +inactive_tab_foreground #ffffff +inactive_tab_background #353535 diff --git a/kitty/kitty-themes/Espresso_Libre.conf b/kitty/kitty-themes/Espresso_Libre.conf new file mode 100644 index 0000000..fa042b2 --- /dev/null +++ b/kitty/kitty-themes/Espresso_Libre.conf @@ -0,0 +1,21 @@ +background #2a211c +foreground #b8a898 +cursor #ffffff +selection_background #c3dcff +color0 #000000 +color8 #545753 +color1 #cc0000 +color9 #ef2828 +color2 #1a921c +color10 #9aff87 +color3 #efe43a +color11 #fffa5c +color4 #0066ff +color12 #43a8ed +color5 #c5656b +color13 #ff8089 +color6 #05989a +color14 #34e2e2 +color7 #d3d7cf +color15 #ededec +selection_foreground #2a211c diff --git a/kitty/kitty-themes/Fideloper.conf b/kitty/kitty-themes/Fideloper.conf new file mode 100644 index 0000000..7e099fc --- /dev/null +++ b/kitty/kitty-themes/Fideloper.conf @@ -0,0 +1,21 @@ +background #282f32 +foreground #dad9df +cursor #d35f5a +selection_background #eeb7ab +color0 #282f32 +color8 #092027 +color1 #ca1d2c +color9 #d35f5a +color2 #edb7ab +color10 #d35f5a +color3 #b7aa9a +color11 #a86571 +color4 #2e78c1 +color12 #7c84c4 +color5 #c0226e +color13 #5b5db2 +color6 #309185 +color14 #81908f +color7 #e9e2cd +color15 #fcf4de +selection_foreground #282f32 diff --git a/kitty/kitty-themes/FishTank.conf b/kitty/kitty-themes/FishTank.conf new file mode 100644 index 0000000..dce32a4 --- /dev/null +++ b/kitty/kitty-themes/FishTank.conf @@ -0,0 +1,21 @@ +background #222436 +foreground #eceffd +cursor #fdcd5e +selection_background #fcf6e8 +color0 #03063c +color8 #6c5a30 +color1 #c60049 +color9 #d94a8a +color2 #abf157 +color10 #daffa8 +color3 #fdcd5e +color11 #fee6a8 +color4 #525fb8 +color12 #b1bdf9 +color5 #976f81 +color13 #fda4cc +color6 #968662 +color14 #a4bc86 +color7 #eceffc +color15 #f6ffec +selection_foreground #222436 diff --git a/kitty/kitty-themes/Flat.conf b/kitty/kitty-themes/Flat.conf new file mode 100644 index 0000000..036e563 --- /dev/null +++ b/kitty/kitty-themes/Flat.conf @@ -0,0 +1,21 @@ +background #002240 +foreground #2bc45d +cursor #e5bd0c +selection_background #782b9c +color0 #212c3e +color8 #202b3b +color1 #a72320 +color9 #d3302e +color2 #32a448 +color10 #2c9440 +color3 #e58d11 +color11 #e5bd0c +color4 #3066ab +color12 #3b7cd2 +color5 #7819a0 +color13 #822fa7 +color6 #2b9270 +color14 #35b286 +color7 #afb6b9 +color15 #e6ecec +selection_foreground #002240 diff --git a/kitty/kitty-themes/Flatland.conf b/kitty/kitty-themes/Flatland.conf new file mode 100644 index 0000000..637b72d --- /dev/null +++ b/kitty/kitty-themes/Flatland.conf @@ -0,0 +1,21 @@ +background #1c1e20 +foreground #b8daee +cursor #708183 +selection_background #2a2a24 +color0 #1c1d19 +color8 #1c1d19 +color1 #f18238 +color9 #d12a24 +color2 #9ed264 +color10 #a7d32c +color3 #f3ef6d +color11 #ff8948 +color4 #4f96be +color12 #61b8d0 +color5 #695abb +color13 #695abb +color6 #d53864 +color14 #d53864 +color7 #fefffe +color15 #fefffe +selection_foreground #1c1e20 diff --git a/kitty/kitty-themes/Floraverse.conf b/kitty/kitty-themes/Floraverse.conf new file mode 100644 index 0000000..6e6a06c --- /dev/null +++ b/kitty/kitty-themes/Floraverse.conf @@ -0,0 +1,21 @@ +background #0e0c15 +foreground #dbd0b9 +cursor #bbbbbb +selection_background #f3e0b8 +color0 #08002e +color8 #331d4c +color1 #64002c +color9 #cf2062 +color2 #5d731a +color10 #b3ce58 +color3 #cd751c +color11 #fac357 +color4 #1d6da1 +color12 #40a4cf +color5 #b7077e +color13 #f02aae +color6 #42a38c +color14 #62caa8 +color7 #f3e0b8 +color15 #fff5db +selection_foreground #0e0c15 diff --git a/kitty/kitty-themes/FrontEndDelight.conf b/kitty/kitty-themes/FrontEndDelight.conf new file mode 100644 index 0000000..ccbf0d4 --- /dev/null +++ b/kitty/kitty-themes/FrontEndDelight.conf @@ -0,0 +1,21 @@ +background #1b1b1d +foreground #acacac +cursor #cccccc +selection_background #e96153 +color0 #242426 +color8 #5eac6c +color1 #f8501a +color9 #f64319 +color2 #565746 +color10 #74eb4c +color3 #f9761d +color11 #fcc224 +color4 #2c70b7 +color12 #3393c9 +color5 #f02d4e +color13 #e75e4e +color6 #3ba0a5 +color14 #4ebce5 +color7 #acacac +color15 #8b735a +selection_foreground #1b1b1d diff --git a/kitty/kitty-themes/FunForrest.conf b/kitty/kitty-themes/FunForrest.conf new file mode 100644 index 0000000..df8f4ee --- /dev/null +++ b/kitty/kitty-themes/FunForrest.conf @@ -0,0 +1,21 @@ +background #241200 +foreground #ddc165 +cursor #e5591c +selection_background #e5591c +color0 #000000 +color8 #7e6954 +color1 #d5252b +color9 #e4591b +color2 #909b00 +color10 #bfc659 +color3 #bd8a13 +color11 #ffca1b +color4 #4698a2 +color12 #7cc9ce +color5 #8c4231 +color13 #d16349 +color6 #d98112 +color14 #e6a96b +color7 #ddc165 +color15 #ffe9a3 +selection_foreground #241200 diff --git a/kitty/kitty-themes/Galaxy.conf b/kitty/kitty-themes/Galaxy.conf new file mode 100644 index 0000000..fab36a7 --- /dev/null +++ b/kitty/kitty-themes/Galaxy.conf @@ -0,0 +1,21 @@ +background #1c2836 +foreground #ffffff +cursor #bbbbbb +selection_background #b4d5ff +color0 #000000 +color8 #545454 +color1 #f9555f +color9 #fa8b8e +color2 #20af89 +color10 #34bb99 +color3 #fdf029 +color11 #ffff55 +color4 #589cf5 +color12 #589cf5 +color5 #934d95 +color13 #e75598 +color6 #1e9ee6 +color14 #3978bb +color7 #bbbbbb +color15 #ffffff +selection_foreground #1c2836 diff --git a/kitty/kitty-themes/Github.conf b/kitty/kitty-themes/Github.conf new file mode 100644 index 0000000..22122d7 --- /dev/null +++ b/kitty/kitty-themes/Github.conf @@ -0,0 +1,21 @@ +background #f4f4f4 +foreground #3e3e3e +cursor #3f3f3f +selection_background #a9c1e2 +color0 #3e3e3e +color8 #666666 +color1 #970b16 +color9 #de0000 +color2 #07962a +color10 #87d5a2 +color3 #f7edc7 +color11 #f0cf06 +color4 #003e8a +color12 #2e6cba +color5 #e94691 +color13 #ffa29f +color6 #89d1ec +color14 #1cfafe +color7 #ffffff +color15 #ffffff +selection_foreground #f4f4f4 diff --git a/kitty/kitty-themes/Glacier.conf b/kitty/kitty-themes/Glacier.conf new file mode 100644 index 0000000..08de697 --- /dev/null +++ b/kitty/kitty-themes/Glacier.conf @@ -0,0 +1,21 @@ +background #0c1115 +foreground #ffffff +cursor #6c6c6c +selection_background #bd2523 +color0 #2e343c +color8 #404a55 +color1 #bd0f2f +color9 #bd0f2f +color2 #35a770 +color10 #49e998 +color3 #fb9435 +color11 #fddf6e +color4 #1f5872 +color12 #2a8bc1 +color5 #bd2523 +color13 #ea4727 +color6 #778397 +color14 #a0b6d3 +color7 #ffffff +color15 #ffffff +selection_foreground #0c1115 diff --git a/kitty/kitty-themes/GoaBase.conf b/kitty/kitty-themes/GoaBase.conf new file mode 100644 index 0000000..fcc6741 --- /dev/null +++ b/kitty/kitty-themes/GoaBase.conf @@ -0,0 +1,21 @@ +background #2f0033 +foreground #f6ed00 +cursor #1a6500 +selection_background #100a24 +color0 #880041 +color8 #411a6d +color1 #f78000 +color9 #f800e1 +color2 #249000 +color10 #5743ff +color3 #f40000 +color11 #ea00d7 +color4 #000482 +color12 #b90003 +color5 #f43bff +color13 #9a5952 +color6 #3affff +color14 #c8f9f3 +color7 #000000 +color15 #f5f4fb +selection_foreground #2f0033 diff --git a/kitty/kitty-themes/Grape.conf b/kitty/kitty-themes/Grape.conf new file mode 100644 index 0000000..38b8a18 --- /dev/null +++ b/kitty/kitty-themes/Grape.conf @@ -0,0 +1,21 @@ +background #161423 +foreground #9e9ea0 +cursor #a188f7 +selection_background #483d70 +color0 #2d283e +color8 #58506a +color1 #ec2160 +color9 #f0719a +color2 #1fa91b +color10 #52a95d +color3 #8ddc1f +color11 #b2dc87 +color4 #487cf4 +color12 #a9bbeb +color5 #8c35c8 +color13 #ac81c1 +color6 #3added +color14 #9ce3ea +color7 #9e9ea0 +color15 #a188f7 +selection_foreground #161423 diff --git a/kitty/kitty-themes/Grass.conf b/kitty/kitty-themes/Grass.conf new file mode 100644 index 0000000..ef9c321 --- /dev/null +++ b/kitty/kitty-themes/Grass.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #12773d +foreground #fff0a4 +cursor #8b2800 +selection_background #b64825 +color0 #000000 +color8 #545454 +color1 #ba0000 +color9 #ba0000 +color2 #00ba00 +color10 #00ba00 +color3 #e6af00 +color11 #e6af00 +color4 #0000a3 +color12 #0000ba +color5 #950062 +color13 #ff54ff +color6 #00baba +color14 #54ffff +color7 #bababa +color15 #ffffff +selection_foreground #12773d diff --git a/kitty/kitty-themes/Hardcore.conf b/kitty/kitty-themes/Hardcore.conf new file mode 100644 index 0000000..9af78ea --- /dev/null +++ b/kitty/kitty-themes/Hardcore.conf @@ -0,0 +1,21 @@ +background #121212 +foreground #a0a0a0 +cursor #bbbbbb +selection_background #453a39 +color0 #1b1d1e +color8 #505354 +color1 #f92672 +color9 #ff669d +color2 #a6e22e +color10 #beed5f +color3 #fd971f +color11 #e6db74 +color4 #66d9ef +color12 #66d9ef +color5 #9e6ffe +color13 #9e6ffe +color6 #5e7175 +color14 #a3babf +color7 #ccccc6 +color15 #f8f8f2 +selection_foreground #121212 diff --git a/kitty/kitty-themes/Harper.conf b/kitty/kitty-themes/Harper.conf new file mode 100644 index 0000000..2579aac --- /dev/null +++ b/kitty/kitty-themes/Harper.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #a7a39c +cursor #a7a39c +selection_background #5a5753 +color0 #000000 +color8 #716d69 +color1 #f7b63e +color9 #f7b63e +color2 #7fb5e1 +color10 #7fb5e1 +color3 #d6da24 +color11 #d6da24 +color4 #489d48 +color12 #489d48 +color5 #b295c5 +color13 #b295c5 +color6 #f4bed6 +color14 #f4bed6 +color7 #a7a39c +color15 #fefbe9 +selection_foreground #000000 diff --git a/kitty/kitty-themes/Highway.conf b/kitty/kitty-themes/Highway.conf new file mode 100644 index 0000000..f0dfa4d --- /dev/null +++ b/kitty/kitty-themes/Highway.conf @@ -0,0 +1,21 @@ +background #212224 +foreground #ededed +cursor #dfd9b8 +selection_background #384563 +color0 #000000 +color8 #5c4f49 +color1 #cf0d17 +color9 #ef7d17 +color2 #128033 +color10 #b1d130 +color3 #ffca3d +color11 #fff11f +color4 #006ab3 +color12 #4fc2fd +color5 #6a2674 +color13 #de0070 +color6 #384563 +color14 #5c4f49 +color7 #ededed +color15 #fefffe +selection_foreground #212224 diff --git a/kitty/kitty-themes/Hipster_Green.conf b/kitty/kitty-themes/Hipster_Green.conf new file mode 100644 index 0000000..26adfe7 --- /dev/null +++ b/kitty/kitty-themes/Hipster_Green.conf @@ -0,0 +1,21 @@ +background #0f0a05 +foreground #84c137 +cursor #23ff18 +selection_background #083905 +color0 #000000 +color8 #666666 +color1 #b6204a +color9 #e50000 +color2 #00a600 +color10 #86a83e +color3 #bebe00 +color11 #e5e500 +color4 #246db2 +color12 #0000ff +color5 #b200b2 +color13 #e500e5 +color6 #00a6b2 +color14 #00e5e5 +color7 #bfbfbf +color15 #e5e5e5 +selection_foreground #0f0a05 diff --git a/kitty/kitty-themes/Homebrew.conf b/kitty/kitty-themes/Homebrew.conf new file mode 100644 index 0000000..d96bb72 --- /dev/null +++ b/kitty/kitty-themes/Homebrew.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #000000 +foreground #00ff00 +cursor #23ff18 +selection_background #083905 +color0 #000000 +color8 #666666 +color1 #990000 +color9 #e50000 +color2 #00a600 +color10 #00d900 +color3 #999900 +color11 #e5e500 +color4 #0000b2 +color12 #0000ff +color5 #b200b2 +color13 #e500e5 +color6 #00a6b2 +color14 #00e5e5 +color7 #bebebe +color15 #e5e5e5 +selection_foreground #000000 diff --git a/kitty/kitty-themes/Hurtado.conf b/kitty/kitty-themes/Hurtado.conf new file mode 100644 index 0000000..1ca0421 --- /dev/null +++ b/kitty/kitty-themes/Hurtado.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #dadbda +cursor #bbbbbb +selection_background #b4d5ff +color0 #575757 +color8 #252525 +color1 #ff1b00 +color9 #d41c00 +color2 #a5df55 +color10 #a5df55 +color3 #fbe74a +color11 #fbe749 +color4 #486387 +color12 #89bdff +color5 #fc5ef0 +color13 #bf00c0 +color6 #85e9fe +color14 #85e9fe +color7 #cbcbcb +color15 #dbdbdb +selection_foreground #000000 diff --git a/kitty/kitty-themes/Hybrid.conf b/kitty/kitty-themes/Hybrid.conf new file mode 100644 index 0000000..8f9dc50 --- /dev/null +++ b/kitty/kitty-themes/Hybrid.conf @@ -0,0 +1,21 @@ +background #161718 +foreground #b7bcb9 +cursor #b7bcb9 +selection_background #1e1f22 +color0 #2a2e33 +color8 #1d1e21 +color1 #b74d50 +color9 #8c2d32 +color2 #b3be5a +color10 #788331 +color3 #e3b55e +color11 #e5894f +color4 #6d90b0 +color12 #4b6b88 +color5 #a07eab +color13 #6e4f79 +color6 #7fbeb3 +color14 #4d7b73 +color7 #b5b8b6 +color15 #5a6169 +selection_foreground #161718 diff --git a/kitty/kitty-themes/IC_Green_PPL.conf b/kitty/kitty-themes/IC_Green_PPL.conf new file mode 100644 index 0000000..35587dd --- /dev/null +++ b/kitty/kitty-themes/IC_Green_PPL.conf @@ -0,0 +1,21 @@ +background #3a3c3e +foreground #d9eed2 +cursor #41ff58 +selection_background #2a9b34 +color0 #1e1e1e +color8 #03260f +color1 #fb0029 +color9 #a6ff3e +color2 #329b24 +color10 #9fff6d +color3 #649a25 +color11 #d1ff6d +color4 #149b45 +color12 #72ffb5 +color5 #53b82b +color13 #50ff3d +color6 #2bb767 +color14 #22ff71 +color7 #dffeee +color15 #daeed0 +selection_foreground #3a3c3e diff --git a/kitty/kitty-themes/IC_Orange_PPL.conf b/kitty/kitty-themes/IC_Orange_PPL.conf new file mode 100644 index 0000000..b8dead8 --- /dev/null +++ b/kitty/kitty-themes/IC_Orange_PPL.conf @@ -0,0 +1,21 @@ +background #262626 +foreground #ffcb83 +cursor #fb521c +selection_background #c03f1f +color0 #000000 +color8 #6a4e29 +color1 #c03900 +color9 #ff8b67 +color2 #a3a900 +color10 #f6ff3f +color3 #caae00 +color11 #ffe36e +color4 #bd6c00 +color12 #ffbd54 +color5 #fb5d00 +color13 #fc874f +color6 #f79400 +color14 #c59752 +color7 #ffc88a +color15 #f9f9fe +selection_foreground #262626 diff --git a/kitty/kitty-themes/IR_Black.conf b/kitty/kitty-themes/IR_Black.conf new file mode 100644 index 0000000..5b8709b --- /dev/null +++ b/kitty/kitty-themes/IR_Black.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #f1f1f1 +cursor #7f7f7f +selection_background #b4d5ff +color0 #4f4f4f +color8 #7b7b7b +color1 #fa6c5f +color9 #fcb6af +color2 #a8fe60 +color10 #ceffab +color3 #fffeb6 +color11 #fffecc +color4 #96cafd +color12 #b5dcfe +color5 #fa72fc +color13 #fb9bfe +color6 #c6c4fd +color14 #dfdffd +color7 #eeedee +color15 #fefffe +selection_foreground #000000 diff --git a/kitty/kitty-themes/Jackie_Brown.conf b/kitty/kitty-themes/Jackie_Brown.conf new file mode 100644 index 0000000..08a72e4 --- /dev/null +++ b/kitty/kitty-themes/Jackie_Brown.conf @@ -0,0 +1,21 @@ +background #2c1c15 +foreground #ffcc2f +cursor #23ff18 +selection_background #ae8c20 +color0 #2c1d16 +color8 #666666 +color1 #ef5734 +color9 #e50000 +color2 #2baf2b +color10 #86a83e +color3 #bdbe00 +color11 #e5e500 +color4 #246db2 +color12 #0000ff +color5 #cf5ec0 +color13 #e500e5 +color6 #00acee +color14 #00e5e5 +color7 #bfbfbf +color15 #e5e5e5 +selection_foreground #2c1c15 diff --git a/kitty/kitty-themes/Japanesque.conf b/kitty/kitty-themes/Japanesque.conf new file mode 100644 index 0000000..c045273 --- /dev/null +++ b/kitty/kitty-themes/Japanesque.conf @@ -0,0 +1,21 @@ +background #1d1d1d +foreground #f7f6ec +cursor #eccf4f +selection_background #165776 +color0 #343835 +color8 #585a58 +color1 #ce3e60 +color9 #d18ea6 +color2 #7bb75b +color10 #767e2b +color3 #e8b32a +color11 #77592e +color4 #4c99d3 +color12 #135879 +color5 #a57fc4 +color13 #5f4190 +color6 #389aac +color14 #76bbca +color7 #f9faf6 +color15 #b1b5ae +selection_foreground #1d1d1d diff --git a/kitty/kitty-themes/Jellybeans.conf b/kitty/kitty-themes/Jellybeans.conf new file mode 100644 index 0000000..bac5fb7 --- /dev/null +++ b/kitty/kitty-themes/Jellybeans.conf @@ -0,0 +1,21 @@ +background #111111 +foreground #dedede +cursor #ffa460 +selection_background #464d91 +color0 #919191 +color8 #bdbdbd +color1 #e17373 +color9 #ffa0a0 +color2 #94b978 +color10 #bddeab +color3 #ffb97b +color11 #ffdba0 +color4 #96bddb +color12 #b1d7f6 +color5 #e1c0fa +color13 #fbdaff +color6 #00988e +color14 #19b2a7 +color7 #dedede +color15 #ffffff +selection_foreground #111111 diff --git a/kitty/kitty-themes/JetBrains_Darcula.conf b/kitty/kitty-themes/JetBrains_Darcula.conf new file mode 100644 index 0000000..64ac146 --- /dev/null +++ b/kitty/kitty-themes/JetBrains_Darcula.conf @@ -0,0 +1,21 @@ +background #202020 +foreground #adadad +cursor #ffffff +selection_background #1a3272 +color0 #000000 +color8 #545454 +color1 #fa5355 +color9 #fb7172 +color2 #126e00 +color10 #67ff4f +color3 #c2c300 +color11 #ffff00 +color4 #4581eb +color12 #6d9df1 +color5 #fa54ff +color13 #fb82ff +color6 #33c2c1 +color14 #60d3d1 +color7 #adadad +color15 #eeeeee +selection_foreground #202020 diff --git a/kitty/kitty-themes/Kibble.conf b/kitty/kitty-themes/Kibble.conf new file mode 100644 index 0000000..3b13105 --- /dev/null +++ b/kitty/kitty-themes/Kibble.conf @@ -0,0 +1,21 @@ +background #0e100a +foreground #f7f7f7 +cursor #9fda9c +selection_background #9ba686 +color0 #4d4d4d +color8 #5a5a5a +color1 #c70031 +color9 #f01578 +color2 #29cf13 +color10 #6ce05c +color3 #d8e30e +color11 #f3f79e +color4 #3449d1 +color12 #97a4f7 +color5 #8400ff +color13 #c495f0 +color6 #0798ab +color14 #68f2e0 +color7 #e2d1e3 +color15 #ffffff +selection_foreground #0e100a diff --git a/kitty/kitty-themes/Later_This_Evening.conf b/kitty/kitty-themes/Later_This_Evening.conf new file mode 100644 index 0000000..1354788 --- /dev/null +++ b/kitty/kitty-themes/Later_This_Evening.conf @@ -0,0 +1,21 @@ +background #212121 +foreground #949494 +cursor #424242 +selection_background #424242 +color0 #2b2b2b +color8 #444747 +color1 #d35a5f +color9 #d3222e +color2 #afba66 +color10 #aabb39 +color3 #e5d289 +color11 #e4bd39 +color4 #a0b9d5 +color12 #6599d5 +color5 #bf92d5 +color13 #aa52d5 +color6 #91beb6 +color14 #5fbfad +color7 #3b3c3c +color15 #c0c2c2 +selection_foreground #212121 diff --git a/kitty/kitty-themes/Lavandula.conf b/kitty/kitty-themes/Lavandula.conf new file mode 100644 index 0000000..14aa7aa --- /dev/null +++ b/kitty/kitty-themes/Lavandula.conf @@ -0,0 +1,21 @@ +background #050014 +foreground #736d7c +cursor #8b91fa +selection_background #36323b +color0 #230045 +color8 #362c45 +color1 #7c1525 +color9 #df5066 +color2 #337e6f +color10 #52e0c4 +color3 #7f6f49 +color11 #e0c286 +color4 #4f4a7f +color12 #8e86df +color5 #593f7e +color13 #a675df +color6 #57767f +color14 #9ad3df +color7 #736d7c +color15 #8b91fa +selection_foreground #050014 diff --git a/kitty/kitty-themes/LiquidCarbon.conf b/kitty/kitty-themes/LiquidCarbon.conf new file mode 100644 index 0000000..2f3a994 --- /dev/null +++ b/kitty/kitty-themes/LiquidCarbon.conf @@ -0,0 +1,21 @@ +background #2f2f2f +foreground #afc2c2 +cursor #ffffff +selection_background #7cbeff +color0 #000000 +color8 #000000 +color1 #ff2f2f +color9 #ff2f2f +color2 #549a6f +color10 #549a6f +color3 #ccac00 +color11 #ccac00 +color4 #0099cc +color12 #0099cc +color5 #cc68c8 +color13 #cc68c8 +color6 #79c4cc +color14 #79c4cc +color7 #bccccc +color15 #bccccc +selection_foreground #2f2f2f diff --git a/kitty/kitty-themes/LiquidCarbonTransparent.conf b/kitty/kitty-themes/LiquidCarbonTransparent.conf new file mode 100644 index 0000000..41e5f89 --- /dev/null +++ b/kitty/kitty-themes/LiquidCarbonTransparent.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #afc2c2 +cursor #ffffff +selection_background #7cbeff +color0 #000000 +color8 #000000 +color1 #ff2f2f +color9 #ff2f2f +color2 #549a6f +color10 #549a6f +color3 #ccac00 +color11 #ccac00 +color4 #0099cc +color12 #0099cc +color5 #cc68c8 +color13 #cc68c8 +color6 #79c4cc +color14 #79c4cc +color7 #bccccc +color15 #bccccc +selection_foreground #000000 diff --git a/kitty/kitty-themes/LiquidCarbonTransparentInverse.conf b/kitty/kitty-themes/LiquidCarbonTransparentInverse.conf new file mode 100644 index 0000000..d584624 --- /dev/null +++ b/kitty/kitty-themes/LiquidCarbonTransparentInverse.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #afc2c2 +cursor #ffffff +selection_background #7cbeff +color0 #bbcbcc +color8 #ffffff +color1 #ff2f2f +color9 #ff2f2f +color2 #549a6f +color10 #549a6f +color3 #ccac00 +color11 #ccac00 +color4 #0099cc +color12 #0099cc +color5 #cc68c8 +color13 #cc68c8 +color6 #79c4cc +color14 #79c4cc +color7 #000000 +color15 #000000 +selection_foreground #000000 diff --git a/kitty/kitty-themes/Man_Page.conf b/kitty/kitty-themes/Man_Page.conf new file mode 100644 index 0000000..7c8aa38 --- /dev/null +++ b/kitty/kitty-themes/Man_Page.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #fef49c +foreground #000000 +cursor #7f7f7f +selection_background #a4c9cd +color0 #000000 +color8 #666666 +color1 #cc0000 +color9 #e50000 +color2 #00a600 +color10 #00d900 +color3 #999900 +color11 #e5e500 +color4 #0000b2 +color12 #0000ff +color5 #b200b2 +color13 #e500e5 +color6 #00a6b2 +color14 #00e5e5 +color7 #cccccc +color15 #e5e5e5 +selection_foreground #fef49c diff --git a/kitty/kitty-themes/Material.conf b/kitty/kitty-themes/Material.conf new file mode 100644 index 0000000..ba38846 --- /dev/null +++ b/kitty/kitty-themes/Material.conf @@ -0,0 +1,21 @@ +background #eaeaea +foreground #222221 +cursor #16aec9 +selection_background #c1c1c1 +color0 #212121 +color8 #424242 +color1 #b7141e +color9 #e83a3f +color2 #457b23 +color10 #7aba39 +color3 #f5971d +color11 #fee92e +color4 #134eb2 +color12 #53a4f3 +color5 #550087 +color13 #a94dbb +color6 #0e707c +color14 #26bad1 +color7 #eeeeee +color15 #d8d8d8 +selection_foreground #eaeaea diff --git a/kitty/kitty-themes/MaterialDark.conf b/kitty/kitty-themes/MaterialDark.conf new file mode 100644 index 0000000..e599021 --- /dev/null +++ b/kitty/kitty-themes/MaterialDark.conf @@ -0,0 +1,21 @@ +background #222221 +foreground #e4e4e4 +cursor #16aec9 +selection_background #dedede +color0 #212121 +color8 #424242 +color1 #b7141e +color9 #e83a3f +color2 #457b23 +color10 #7aba39 +color3 #f5971d +color11 #fee92e +color4 #134eb2 +color12 #53a4f3 +color5 #550087 +color13 #a94dbb +color6 #0e707c +color14 #26bad1 +color7 #eeeeee +color15 #d8d8d8 +selection_foreground #222221 diff --git a/kitty/kitty-themes/Mathias.conf b/kitty/kitty-themes/Mathias.conf new file mode 100644 index 0000000..cd1ab14 --- /dev/null +++ b/kitty/kitty-themes/Mathias.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #bbbbbb +cursor #bbbbbb +selection_background #545454 +color0 #000000 +color8 #545454 +color1 #e52222 +color9 #ff5555 +color2 #a6e32d +color10 #55ff55 +color3 #fc951e +color11 #ffff55 +color4 #c48dff +color12 #5555ff +color5 #fa2573 +color13 #ff55ff +color6 #67d9f0 +color14 #55ffff +color7 #f2f2f2 +color15 #ffffff +selection_foreground #000000 diff --git a/kitty/kitty-themes/Medallion.conf b/kitty/kitty-themes/Medallion.conf new file mode 100644 index 0000000..0ad8805 --- /dev/null +++ b/kitty/kitty-themes/Medallion.conf @@ -0,0 +1,21 @@ +background #1d1808 +foreground #cac296 +cursor #d3b92f +selection_background #616cab +color0 #000000 +color8 #5e5118 +color1 #b54c00 +color9 #ff9148 +color2 #7c8a16 +color10 #b1c93a +color3 #d2bd25 +color11 #ffe449 +color4 #606baf +color12 #abb8ff +color5 #8b5990 +color13 #fe9fff +color6 #906b25 +color14 #ffbb51 +color7 #c9c199 +color15 #fed597 +selection_foreground #1d1808 diff --git a/kitty/kitty-themes/Misterioso.conf b/kitty/kitty-themes/Misterioso.conf new file mode 100644 index 0000000..1960f9b --- /dev/null +++ b/kitty/kitty-themes/Misterioso.conf @@ -0,0 +1,21 @@ +background #2d3743 +foreground #e1e1e0 +cursor #000000 +selection_background #2d37ff +color0 #000000 +color8 #545454 +color1 #ff4141 +color9 #ff3241 +color2 #74ae68 +color10 #74cc68 +color3 #ffac28 +color11 #ffb928 +color4 #338e86 +color12 #23d6d6 +color5 #9413e5 +color13 #ff37ff +color6 #23d6d6 +color14 #00ece1 +color7 #e1e1df +color15 #ffffff +selection_foreground #2d3743 diff --git a/kitty/kitty-themes/Molokai.conf b/kitty/kitty-themes/Molokai.conf new file mode 100644 index 0000000..cd35d1f --- /dev/null +++ b/kitty/kitty-themes/Molokai.conf @@ -0,0 +1,21 @@ +background #121212 +foreground #bbbbbb +cursor #bbbbbb +selection_background #b4d5ff +color0 #121212 +color8 #545454 +color1 #fa2573 +color9 #f5669c +color2 #97e123 +color10 #b0e05e +color3 #dfd460 +color11 #fef26c +color4 #0f7fcf +color12 #00afff +color5 #8700ff +color13 #af87ff +color6 #42a7cf +color14 #50cdfe +color7 #bbbbbb +color15 #ffffff +selection_foreground #121212 diff --git a/kitty/kitty-themes/MonaLisa.conf b/kitty/kitty-themes/MonaLisa.conf new file mode 100644 index 0000000..3b1602d --- /dev/null +++ b/kitty/kitty-themes/MonaLisa.conf @@ -0,0 +1,21 @@ +background #110b0d +foreground #f6d56a +cursor #c36c32 +selection_background #f6d56a +color0 #341a0d +color8 #874227 +color1 #9b281b +color9 #ff4230 +color2 #626132 +color10 #b3b163 +color3 #c26e27 +color11 #ff9565 +color4 #515b5c +color12 #9eb2b3 +color5 #9b1d29 +color13 #ff5b6a +color6 #588056 +color14 #89cc8e +color7 #f6d75c +color15 #ffe597 +selection_foreground #110b0d diff --git a/kitty/kitty-themes/Monokai.conf b/kitty/kitty-themes/Monokai.conf new file mode 100644 index 0000000..660c0cc --- /dev/null +++ b/kitty/kitty-themes/Monokai.conf @@ -0,0 +1,41 @@ +# Monokai + +background #272822 +foreground #f8f8f2 +cursor #f8f8f2 +selection_background #f8f8f2 +selection_foreground #272822 +active_tab_background #75715e +active_tab_foreground #272822 +active_border_color #75715e +inactive_tab_background #272822 +inactive_tab_foreground #75715e +inactive_border_color #75715e +url_color #f8f8f2 + +# 16 Color Space + +# black +color0 #272822 +color8 #75715e +# red +color1 #f92672 +color9 #f92672 +# green +color2 #a6e22e +color10 #a6e22e +# yellow +color3 #e6db74 +color11 #e6db74 +# blue +color4 #66d9ef +color12 #66d9ef +# magenta +color5 #fd971f +color13 #fd971f +# cyan +color6 #ae81ff +color14 #ae81ff +# white +color7 #f8f8f2 +color15 #f8f8f2 diff --git a/kitty/kitty-themes/Monokai_Classic.conf b/kitty/kitty-themes/Monokai_Classic.conf new file mode 100644 index 0000000..9c74f40 --- /dev/null +++ b/kitty/kitty-themes/Monokai_Classic.conf @@ -0,0 +1,47 @@ +background #3b3c35 +foreground #fdfff1 + +cursor #fdfff1 +cursor_text_color #000000 +selection_foreground #3b3c35 +selection_background #fdfff1 + +# dull black +color0 #3b3c35 +# light black +color8 #6e7066 + +# dull red +color1 #f82570 +# light red +color9 #f82570 + +# dull green +color2 #a6e12d +# light green +color10 #a6e12d + +# yellow +color3 #e4db73 +# light yellow +color11 #e4db73 + +# blue +color4 #fc961f +# light blue +color12 #fc961f + +# magenta +color5 #ae81ff +# light magenta +color13 #ae81ff + +# cyan +color6 #66d9ee +# light cyan +color14 #66d9ee + +# dull white +color7 #fdfff1 +# bright white +color15 #fdfff1 diff --git a/kitty/kitty-themes/Monokai_Pro.conf b/kitty/kitty-themes/Monokai_Pro.conf new file mode 100644 index 0000000..f5a2e8c --- /dev/null +++ b/kitty/kitty-themes/Monokai_Pro.conf @@ -0,0 +1,47 @@ +background #403e41 +foreground #fcfcfa + +cursor #fcfcfa +cursor_text_color #000000 +selection_foreground #403e41 +selection_background #fcfcfa + +# dull black +color0 #403e41 +# light black +color8 #727072 + +# dull red +color1 #ff6188 +# light red +color9 #ff6188 + +# dull green +color2 #a9dc76 +# light green +color10 #a9dc76 + +# yellow +color3 #ffd866 +# light yellow +color11 #ffd866 + +# blue +color4 #fc9867 +# light blue +color12 #fc9867 + +# magenta +color5 #ab9df2 +# light magenta +color13 #ab9df2 + +# cyan +color6 #78dce8 +# light cyan +color14 #78dce8 + +# dull white +color7 #fcfcfa +# bright white +color15 #fcfcfa diff --git a/kitty/kitty-themes/Monokai_Pro_(Filter_Machine).conf b/kitty/kitty-themes/Monokai_Pro_(Filter_Machine).conf new file mode 100644 index 0000000..b46e1d3 --- /dev/null +++ b/kitty/kitty-themes/Monokai_Pro_(Filter_Machine).conf @@ -0,0 +1,47 @@ +background #3a4449 +foreground #f2fffc + +cursor #f2fffc +cursor_text_color #000000 +selection_foreground #3a4449 +selection_background #f2fffc + +# dull black +color0 #3a4449 +# light black +color8 #6b7678 + +# dull red +color1 #ff6d7e +# light red +color9 #ff6d7e + +# dull green +color2 #a2e57b +# light green +color10 #a2e57b + +# yellow +color3 #ffed72 +# light yellow +color11 #ffed72 + +# blue +color4 #ffb270 +# light blue +color12 #ffb270 + +# magenta +color5 #baa0f8 +# light magenta +color13 #baa0f8 + +# cyan +color6 #7cd5f1 +# light cyan +color14 #7cd5f1 + +# dull white +color7 #f2fffc +# bright white +color15 #f2fffc diff --git a/kitty/kitty-themes/Monokai_Pro_(Filter_Octagon).conf b/kitty/kitty-themes/Monokai_Pro_(Filter_Octagon).conf new file mode 100644 index 0000000..3aee34a --- /dev/null +++ b/kitty/kitty-themes/Monokai_Pro_(Filter_Octagon).conf @@ -0,0 +1,47 @@ +background #3a3d4b +foreground #eaf2f1 + +cursor #eaf2f1 +cursor_text_color #000000 +selection_foreground #3a3d4b +selection_background #eaf2f1 + +# dull black +color0 #3a3d4b +# light black +color8 #696d77 + +# dull red +color1 #ff657a +# light red +color9 #ff657a + +# dull green +color2 #bad761 +# light green +color10 #bad761 + +# yellow +color3 #ffd76d +# light yellow +color11 #ffd76d + +# blue +color4 #ff9b5e +# light blue +color12 #ff9b5e + +# magenta +color5 #c39ac9 +# light magenta +color13 #c39ac9 + +# cyan +color6 #9cd1bb +# light cyan +color14 #9cd1bb + +# dull white +color7 #eaf2f1 +# bright white +color15 #eaf2f1 diff --git a/kitty/kitty-themes/Monokai_Pro_(Filter_Ristretto).conf b/kitty/kitty-themes/Monokai_Pro_(Filter_Ristretto).conf new file mode 100644 index 0000000..599b0e1 --- /dev/null +++ b/kitty/kitty-themes/Monokai_Pro_(Filter_Ristretto).conf @@ -0,0 +1,47 @@ +background #403838 +foreground #fff1f3 + +cursor #fff1f3 +cursor_text_color #000000 +selection_foreground #403838 +selection_background #fff1f3 + +# dull black +color0 #403838 +# light black +color8 #72696a + +# dull red +color1 #fd6883 +# light red +color9 #fd6883 + +# dull green +color2 #adda78 +# light green +color10 #adda78 + +# yellow +color3 #f9cc6c +# light yellow +color11 #f9cc6c + +# blue +color4 #f38d70 +# light blue +color12 #f38d70 + +# magenta +color5 #a8a9eb +# light magenta +color13 #a8a9eb + +# cyan +color6 #85dacc +# light cyan +color14 #85dacc + +# dull white +color7 #fff1f3 +# bright white +color15 #fff1f3 diff --git a/kitty/kitty-themes/Monokai_Pro_(Filter_Spectrum).conf b/kitty/kitty-themes/Monokai_Pro_(Filter_Spectrum).conf new file mode 100644 index 0000000..5617a6d --- /dev/null +++ b/kitty/kitty-themes/Monokai_Pro_(Filter_Spectrum).conf @@ -0,0 +1,47 @@ +background #363537 +foreground #f7f1ff + +cursor #f7f1ff +cursor_text_color #000000 +selection_foreground #363537 +selection_background #f7f1ff + +# dull black +color0 #363537 +# light black +color8 #69676c + +# dull red +color1 #fc618d +# light red +color9 #fc618d + +# dull green +color2 #7bd88f +# light green +color10 #7bd88f + +# yellow +color3 #fce566 +# light yellow +color11 #fce566 + +# blue +color4 #fd9353 +# light blue +color12 #fd9353 + +# magenta +color5 #948ae3 +# light magenta +color13 #948ae3 + +# cyan +color6 #5ad4e6 +# light cyan +color14 #5ad4e6 + +# dull white +color7 #f7f1ff +# bright white +color15 #f7f1ff diff --git a/kitty/kitty-themes/Monokai_Soda.conf b/kitty/kitty-themes/Monokai_Soda.conf new file mode 100644 index 0000000..eb7a24d --- /dev/null +++ b/kitty/kitty-themes/Monokai_Soda.conf @@ -0,0 +1,21 @@ +background #191919 +foreground #c4c4b5 +cursor #f6f6ec +selection_background #343434 +color0 #191919 +color8 #615e4b +color1 #f3005f +color9 #f3005f +color2 #97e023 +color10 #97e023 +color3 #fa8419 +color11 #dfd561 +color4 #9c64fe +color12 #9c64fe +color5 #f3005f +color13 #f3005f +color6 #57d1ea +color14 #57d1ea +color7 #c4c4b5 +color15 #f6f6ee +selection_foreground #191919 diff --git a/kitty/kitty-themes/N0tch2k.conf b/kitty/kitty-themes/N0tch2k.conf new file mode 100644 index 0000000..3e2bb6c --- /dev/null +++ b/kitty/kitty-themes/N0tch2k.conf @@ -0,0 +1,21 @@ +background #222222 +foreground #a0a0a0 +cursor #a99075 +selection_background #4d4d4d +color0 #383838 +color8 #474747 +color1 #a95551 +color9 #a97775 +color2 #666666 +color10 #8c8c8c +color3 #a98051 +color11 #a99175 +color4 #657d3e +color12 #98bd5e +color5 #767676 +color13 #a3a3a3 +color6 #c9c9c9 +color14 #dcdcdc +color7 #d0b8a3 +color15 #d8c8bb +selection_foreground #222222 diff --git a/kitty/kitty-themes/Neopolitan.conf b/kitty/kitty-themes/Neopolitan.conf new file mode 100644 index 0000000..2c6ffce --- /dev/null +++ b/kitty/kitty-themes/Neopolitan.conf @@ -0,0 +1,21 @@ +background #271f19 +foreground #ffffff +cursor #ffffff +selection_background #253b76 +color0 #000000 +color8 #000000 +color1 #800000 +color9 #800000 +color2 #61ce3c +color10 #61ce3c +color3 #fbde2d +color11 #fbde2d +color4 #253b76 +color12 #253b76 +color5 #ff0080 +color13 #ff0080 +color6 #8da6ce +color14 #8da6ce +color7 #f8f8f8 +color15 #f8f8f8 +selection_foreground #271f19 diff --git a/kitty/kitty-themes/Neutron.conf b/kitty/kitty-themes/Neutron.conf new file mode 100644 index 0000000..9f2fe4d --- /dev/null +++ b/kitty/kitty-themes/Neutron.conf @@ -0,0 +1,21 @@ +background #1b1d22 +foreground #e6e8ee +cursor #f6f6ec +selection_background #2e353d +color0 #22252b +color8 #22252b +color1 #b53f36 +color9 #b53f36 +color2 #5ab977 +color10 #5ab977 +color3 #ddb566 +color11 #ddb566 +color4 #6a7b92 +color12 #6a7b92 +color5 #a3799d +color13 #a3799d +color6 #3f93a8 +color14 #3f93a8 +color7 #e6e8ee +color15 #ebedf2 +selection_foreground #1b1d22 diff --git a/kitty/kitty-themes/NightLion_v1.conf b/kitty/kitty-themes/NightLion_v1.conf new file mode 100644 index 0000000..1021c46 --- /dev/null +++ b/kitty/kitty-themes/NightLion_v1.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #bbbbbb +cursor #bbbbbb +selection_background #b4d5ff +color0 #4c4c4c +color8 #545454 +color1 #bb0000 +color9 #ff5555 +color2 #5ede8f +color10 #55ff55 +color3 #f2f067 +color11 #ffff55 +color4 #266ad7 +color12 #5555ff +color5 #bb00bb +color13 #ff55ff +color6 #00d9df +color14 #55ffff +color7 #bbbbbb +color15 #ffffff +selection_foreground #000000 diff --git a/kitty/kitty-themes/NightLion_v2.conf b/kitty/kitty-themes/NightLion_v2.conf new file mode 100644 index 0000000..aed7f8d --- /dev/null +++ b/kitty/kitty-themes/NightLion_v2.conf @@ -0,0 +1,21 @@ +background #171717 +foreground #bbbbbb +cursor #bbbbbb +selection_background #b4d5ff +color0 #4c4c4c +color8 #545454 +color1 #bb0000 +color9 #ff5555 +color2 #03f622 +color10 #7df61c +color3 #f2f067 +color11 #ffff55 +color4 #63d0f0 +color12 #62cae7 +color5 #ce6fda +color13 #ff9af5 +color6 #00d9df +color14 #00ccd7 +color7 #bbbbbb +color15 #ffffff +selection_foreground #171717 diff --git a/kitty/kitty-themes/Nova.conf b/kitty/kitty-themes/Nova.conf new file mode 100644 index 0000000..c3f2da1 --- /dev/null +++ b/kitty/kitty-themes/Nova.conf @@ -0,0 +1,21 @@ +background #3c4c54 +foreground #8798a3 +cursor #7fc1c9 +color0 #8799a4 +color8 #c4d3dc +color1 #efc08d +color9 #ef8358 +color2 #a6cb91 +color10 #a8ce93 +color3 #d7d690 +color11 #e5e77f +color4 #83afe4 +color12 #69c8ff +color5 #d460da +color13 #d18ec2 +color6 #7fc1b6 +color14 #00e59f +color7 #c4d3dc +color15 #e6eef3 +selection_foreground #3c4c54 +selection_background #7fc1ca diff --git a/kitty/kitty-themes/Novel.conf b/kitty/kitty-themes/Novel.conf new file mode 100644 index 0000000..03220e3 --- /dev/null +++ b/kitty/kitty-themes/Novel.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #dfdbc3 +foreground #3b2322 +cursor #73635a +selection_background #a4a390 +color0 #000000 +color8 #7f7f7f +color1 #cc0000 +color9 #cc0000 +color2 #009600 +color10 #009600 +color3 #d06b00 +color11 #d06b00 +color4 #0000cc +color12 #0000cc +color5 #cc00cc +color13 #cc00cc +color6 #0087cc +color14 #0086cb +color7 #cccccc +color15 #ffffff +selection_foreground #dfdbc3 diff --git a/kitty/kitty-themes/Obsidian.conf b/kitty/kitty-themes/Obsidian.conf new file mode 100644 index 0000000..7265d44 --- /dev/null +++ b/kitty/kitty-themes/Obsidian.conf @@ -0,0 +1,21 @@ +background #273032 +foreground #cccccc +cursor #c0cad0 +selection_background #3d4b4e +color0 #000000 +color8 #545454 +color1 #a50001 +color9 #ff0003 +color2 #00bb00 +color10 #92c763 +color3 #fecc22 +color11 #fef773 +color4 #399bda +color12 #a0d6ff +color5 #bb00bb +color13 #ff55ff +color6 #00bbbb +color14 #55ffff +color7 #bbbbbb +color15 #ffffff +selection_foreground #273032 diff --git a/kitty/kitty-themes/Ocean.conf b/kitty/kitty-themes/Ocean.conf new file mode 100644 index 0000000..ad6205a --- /dev/null +++ b/kitty/kitty-themes/Ocean.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #214fbc +foreground #ffffff +cursor #7f7f7f +selection_background #216dff +color0 #000000 +color8 #666666 +color1 #990000 +color9 #e50000 +color2 #00a600 +color10 #00d900 +color3 #999900 +color11 #e5e500 +color4 #0000b2 +color12 #0000ff +color5 #b200b2 +color13 #e500e5 +color6 #00a6b2 +color14 #00e5e5 +color7 #bebebe +color15 #e5e5e5 +selection_foreground #214fbc diff --git a/kitty/kitty-themes/OceanicMaterial.conf b/kitty/kitty-themes/OceanicMaterial.conf new file mode 100644 index 0000000..9403518 --- /dev/null +++ b/kitty/kitty-themes/OceanicMaterial.conf @@ -0,0 +1,21 @@ +background #1c262b +foreground #c1c8d6 +cursor #b2b8c3 +selection_background #6dc1b8 +color0 #000000 +color8 #767676 +color1 #ee2a29 +color9 #dc5b60 +color2 #3fa33f +color10 #70be71 +color3 #fee92e +color11 #fef063 +color4 #1d80ef +color12 #53a4f3 +color5 #8800a0 +color13 #a94dbb +color6 #16aec9 +color14 #42c6d9 +color7 #a4a4a4 +color15 #fffefe +selection_foreground #1c262b diff --git a/kitty/kitty-themes/Ollie.conf b/kitty/kitty-themes/Ollie.conf new file mode 100644 index 0000000..66eecf5 --- /dev/null +++ b/kitty/kitty-themes/Ollie.conf @@ -0,0 +1,21 @@ +background #212024 +foreground #8a8dae +cursor #5b6da7 +selection_background #1e3965 +color0 #000000 +color8 #5a3625 +color1 #ab2e30 +color9 #ff3d48 +color2 #31ab60 +color10 #3bff99 +color3 #ab4200 +color11 #ff5e1e +color4 #2c56ab +color12 #4487ff +color5 #af8427 +color13 #ffc21c +color6 #1fa5ab +color14 #1efaff +color7 #8a8dab +color15 #5b6da7 +selection_foreground #212024 diff --git a/kitty/kitty-themes/OneDark.conf b/kitty/kitty-themes/OneDark.conf new file mode 100644 index 0000000..ad6cb4e --- /dev/null +++ b/kitty/kitty-themes/OneDark.conf @@ -0,0 +1,25 @@ +# One Dark by Giuseppe Cesarano, https://github.com/GiuseppeCesarano +# This work is licensed under the terms of the GPL-2.0 license. +# For a copy, see https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html. + +foreground #979eab +background #282c34 +cursor #cccccc +color0 #282c34 +color1 #e06c75 +color2 #98c379 +color3 #e5c07b +color4 #61afef +color5 #be5046 +color6 #56b6c2 +color7 #979eab +color8 #393e48 +color9 #d19a66 +color10 #56b6c2 +color11 #e5c07b +color12 #61afef +color13 #be5046 +color14 #56b6c2 +color15 #abb2bf +selection_foreground #282c34 +selection_background #979eab diff --git a/kitty/kitty-themes/Parasio_Dark.conf b/kitty/kitty-themes/Parasio_Dark.conf new file mode 100644 index 0000000..4cc1e8d --- /dev/null +++ b/kitty/kitty-themes/Parasio_Dark.conf @@ -0,0 +1,21 @@ +background #2f1d2e +foreground #a39d9b +cursor #a39d9b +selection_background #4f414c +color0 #2f1d2e +color8 #776d70 +color1 #ef6154 +color9 #ef6154 +color2 #48b685 +color10 #48b685 +color3 #fec418 +color11 #fec418 +color4 #05b6ef +color12 #05b6ef +color5 #805ba3 +color13 #805ba3 +color6 #5bc4be +color14 #5bc4be +color7 #a39d9b +color15 #e6e9da +selection_foreground #2f1d2e diff --git a/kitty/kitty-themes/PaulMillr.conf b/kitty/kitty-themes/PaulMillr.conf new file mode 100644 index 0000000..72cc95c --- /dev/null +++ b/kitty/kitty-themes/PaulMillr.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #f1f1f1 +cursor #4c4c4c +selection_background #414141 +color0 #2a2a2a +color8 #666666 +color1 #ff0000 +color9 #ff007f +color2 #78ff0e +color10 #66ff66 +color3 #e6be00 +color11 #f3d64d +color4 #396ad6 +color12 #7099ec +color5 #b348bd +color13 #da66e5 +color6 #66ccff +color14 #79def1 +color7 #bababa +color15 #ffffff +selection_foreground #000000 diff --git a/kitty/kitty-themes/PencilDark.conf b/kitty/kitty-themes/PencilDark.conf new file mode 100644 index 0000000..3926f6c --- /dev/null +++ b/kitty/kitty-themes/PencilDark.conf @@ -0,0 +1,21 @@ +background #202020 +foreground #f0f0f0 +cursor #20bafb +selection_background #b6d6fc +color0 #202020 +color8 #414141 +color1 #c30670 +color9 #fb0079 +color2 #10a778 +color10 #5ed6ae +color3 #a79c14 +color11 #f3e42f +color4 #008ec4 +color12 #20bafb +color5 #523b78 +color13 #6854de +color6 #20a4b9 +color14 #4fb8cc +color7 #d9d9d9 +color15 #f0f0f0 +selection_foreground #202020 diff --git a/kitty/kitty-themes/PencilLight.conf b/kitty/kitty-themes/PencilLight.conf new file mode 100644 index 0000000..4311c70 --- /dev/null +++ b/kitty/kitty-themes/PencilLight.conf @@ -0,0 +1,21 @@ +background #f0f0f0 +foreground #414141 +cursor #20bafb +selection_background #b6d6fc +color0 #202020 +color8 #414141 +color1 #c30670 +color9 #fb0079 +color2 #10a778 +color10 #5ed6ae +color3 #a79c14 +color11 #f3e42f +color4 #008ec4 +color12 #20bafb +color5 #523b78 +color13 #6854de +color6 #20a4b9 +color14 #4fb8cc +color7 #d9d9d9 +color15 #f0f0f0 +selection_foreground #f0f0f0 diff --git a/kitty/kitty-themes/Piatto_Light.conf b/kitty/kitty-themes/Piatto_Light.conf new file mode 100644 index 0000000..401fe91 --- /dev/null +++ b/kitty/kitty-themes/Piatto_Light.conf @@ -0,0 +1,21 @@ +background #ffffff +foreground #414141 +cursor #5e76c7 +selection_background #6f6a4e +color0 #414141 +color8 #3e3e3e +color1 #b23670 +color9 #da3365 +color2 #66781d +color10 #829428 +color3 #cc6e33 +color11 #cc6e33 +color4 #3b5ea7 +color12 #3b5ea7 +color5 #a353b2 +color13 #a353b2 +color6 #66781d +color14 #829428 +color7 #ffffff +color15 #f1f1f1 +selection_foreground #ffffff diff --git a/kitty/kitty-themes/Pnevma.conf b/kitty/kitty-themes/Pnevma.conf new file mode 100644 index 0000000..1dda097 --- /dev/null +++ b/kitty/kitty-themes/Pnevma.conf @@ -0,0 +1,21 @@ +background #1c1c1c +foreground #d0d0d0 +cursor #e3c8ae +selection_background #4d4d4d +color0 #2f2e2d +color8 #4a4845 +color1 #a36666 +color9 #d78787 +color2 #90a57d +color10 #afbea2 +color3 #d7af87 +color11 #e4c9af +color4 #7fa5bd +color12 #a1bdce +color5 #c79ec4 +color13 #d7beda +color6 #8adbb4 +color14 #b1e7dd +color7 #d0d0d0 +color15 #efefef +selection_foreground #1c1c1c diff --git a/kitty/kitty-themes/Pro.conf b/kitty/kitty-themes/Pro.conf new file mode 100644 index 0000000..6ffc047 --- /dev/null +++ b/kitty/kitty-themes/Pro.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #000000 +foreground #f2f2f2 +cursor #4d4d4d +selection_background #414141 +color0 #000000 +color8 #666666 +color1 #990000 +color9 #e50000 +color2 #00a600 +color10 #00d900 +color3 #999900 +color11 #e5e500 +color4 #1f08db +color12 #0000ff +color5 #b200b2 +color13 #e500e5 +color6 #00a6b2 +color14 #00e5e5 +color7 #bfbfbf +color15 #e5e5e5 +selection_foreground #000000 diff --git a/kitty/kitty-themes/Red_Alert.conf b/kitty/kitty-themes/Red_Alert.conf new file mode 100644 index 0000000..020429a --- /dev/null +++ b/kitty/kitty-themes/Red_Alert.conf @@ -0,0 +1,21 @@ +background #762423 +foreground #ffffff +cursor #ffffff +selection_background #073642 +color0 #000000 +color8 #262626 +color1 #d52e4d +color9 #e02453 +color2 #71be6b +color10 #aff08b +color3 #beb86b +color11 #dfddb7 +color4 #479bed +color12 #65a9f0 +color5 #e878d6 +color13 #ddb7df +color6 #6bbeb8 +color14 #b7dfdd +color7 #d6d6d6 +color15 #ffffff +selection_foreground #762423 diff --git a/kitty/kitty-themes/Red_Sands.conf b/kitty/kitty-themes/Red_Sands.conf new file mode 100644 index 0000000..a491f3d --- /dev/null +++ b/kitty/kitty-themes/Red_Sands.conf @@ -0,0 +1,23 @@ +# Theme ported from the Mac Terminal application. + +background #79241d +foreground #d6c8a7 +cursor #ffffff +selection_background #a4a390 +color0 #000000 +color8 #545454 +color1 #ff3e00 +color9 #ba0000 +color2 #00ba00 +color10 #00ba00 +color3 #e6af00 +color11 #e6af00 +color4 #0071ff +color12 #0071ae +color5 #ba00ba +color13 #ff54ff +color6 #00baba +color14 #54ffff +color7 #bababa +color15 #ffffff +selection_foreground #79241d diff --git a/kitty/kitty-themes/Relaxed_Afterglow.conf b/kitty/kitty-themes/Relaxed_Afterglow.conf new file mode 100644 index 0000000..5988777 --- /dev/null +++ b/kitty/kitty-themes/Relaxed_Afterglow.conf @@ -0,0 +1,25 @@ +# Relaxed Afterglow by Michael Kühnel , https://github.com/Relaxed-Theme/relaxed-terminal-themes +# This work is licensed under the terms of the MIT license. +# For a copy, see https://opensource.org/licenses/MIT. + +background #353a44 +foreground #d9d9d9 +cursor #d9d9d9 +selection_foreground #d8d8d8 +selection_background #6a7984 +color0 #151515 +color1 #bc5653 +color2 #909d63 +color3 #ebc17a +color4 #6a8799 +color5 #b06698 +color6 #c9dfff +color7 #d9d9d9 +color8 #636363 +color9 #bc5653 +color10 #a0ac77 +color11 #ebc17a +color12 #7eaac7 +color13 #b06698 +color14 #acbbd0 +color15 #f7f7f7 diff --git a/kitty/kitty-themes/Renault_Style.conf b/kitty/kitty-themes/Renault_Style.conf new file mode 100644 index 0000000..856818d --- /dev/null +++ b/kitty/kitty-themes/Renault_Style.conf @@ -0,0 +1,22 @@ +background #3a3a3a +foreground #e9cb7b +cursor #7f7f7f +selection_background #958553 + +color0 #000000 +color1 #990000 +color2 #00A600 +color3 #999900 +color4 #0000B2 +color5 #B200B2 +color6 #00A6B2 +color7 #BFBFBF +color8 #666666 +color9 #E50000 +color10 #00d800 +color11 #E5E500 +color12 #0000FF +color13 #E500E5 +color14 #00e5e5 +color15 #E5E5E5 +selection_foreground #3a3a3a diff --git a/kitty/kitty-themes/Renault_Style_Light.conf b/kitty/kitty-themes/Renault_Style_Light.conf new file mode 100644 index 0000000..e08cd6a --- /dev/null +++ b/kitty/kitty-themes/Renault_Style_Light.conf @@ -0,0 +1,21 @@ +background #3a3a3a +foreground #e9cb7b +cursor #7f7f7f +selection_background #958553 +color0 #000000 +color8 #323232 +color1 #da4839 +color9 #ff7b6a +color2 #509f50 +color10 #83d082 +color3 #ffd249 +color11 #ffff7b +color4 #46657d +color12 #9fcef0 +color5 #cfcfff +color13 #ffffff +color6 #87c1f1 +color14 #a4d4f8 +color7 #ffffff +color15 #ffffff +selection_foreground #3a3a3a diff --git a/kitty/kitty-themes/Rippedcasts.conf b/kitty/kitty-themes/Rippedcasts.conf new file mode 100644 index 0000000..20e9872 --- /dev/null +++ b/kitty/kitty-themes/Rippedcasts.conf @@ -0,0 +1,21 @@ +background #2b2b2b +foreground #ffffff +cursor #7f7f7f +selection_background #5a637e +color0 #000000 +color8 #666666 +color1 #ccae95 +color9 #edcbac +color2 #a7ff60 +color10 #bced68 +color3 #beba1f +color11 #e5e500 +color4 #74a4af +color12 #86bdc8 +color5 #ff73fd +color13 #e500e5 +color6 #5a637e +color14 #8b9bc4 +color7 #bebebe +color15 #e5e5e5 +selection_foreground #2b2b2b diff --git a/kitty/kitty-themes/Royal.conf b/kitty/kitty-themes/Royal.conf new file mode 100644 index 0000000..0ebd236 --- /dev/null +++ b/kitty/kitty-themes/Royal.conf @@ -0,0 +1,21 @@ +background #100814 +foreground #504868 +cursor #514965 +selection_background #1e1d2a +color0 #241f2a +color8 #312d3c +color1 #90274b +color9 #d4346c +color2 #23801c +color10 #2cd845 +color3 #b49d27 +color11 #fde83a +color4 #6480af +color12 #8fb9f9 +color5 #664d96 +color13 #a479e2 +color6 #8aaabd +color14 #abd3eb +color7 #514965 +color15 #9d8bbd +selection_foreground #100814 diff --git a/kitty/kitty-themes/SeaShells.conf b/kitty/kitty-themes/SeaShells.conf new file mode 100644 index 0000000..60a2968 --- /dev/null +++ b/kitty/kitty-themes/SeaShells.conf @@ -0,0 +1,21 @@ +background #08131a +foreground #deb88d +cursor #fba02f +selection_background #1e4862 +color0 #17384c +color8 #424b52 +color1 #d05023 +color9 #d38677 +color2 #027b9b +color10 #618c98 +color3 #fba02f +color11 #fdd29e +color4 #1d4850 +color12 #1abcdd +color5 #68d3f0 +color13 #bbe3ee +color6 #50a3b5 +color14 #86abb3 +color7 #deb88d +color15 #fee3cd +selection_foreground #08131a diff --git a/kitty/kitty-themes/Seafoam_Pastel.conf b/kitty/kitty-themes/Seafoam_Pastel.conf new file mode 100644 index 0000000..c3e95a7 --- /dev/null +++ b/kitty/kitty-themes/Seafoam_Pastel.conf @@ -0,0 +1,21 @@ +background #243335 +foreground #d3e6d3 +cursor #576379 +selection_background #ffffff +color0 #747474 +color8 #8a8a8a +color1 #825d4c +color9 #cf9279 +color2 #718b62 +color10 #98d9aa +color3 #aca06d +color11 #fae69c +color4 #4c7b82 +color12 #79c3cf +color5 #8a7166 +color13 #d6b2a0 +color6 #719494 +color14 #acdfdf +color7 #dfdfdf +color15 #dfdfdf +selection_foreground #243335 diff --git a/kitty/kitty-themes/Seti.conf b/kitty/kitty-themes/Seti.conf new file mode 100644 index 0000000..69c4105 --- /dev/null +++ b/kitty/kitty-themes/Seti.conf @@ -0,0 +1,21 @@ +background #111213 +foreground #cacecd +cursor #e2be21 +selection_background #303233 +color0 #323232 +color8 #323232 +color1 #c22832 +color9 #c22832 +color2 #8ec43d +color10 #8ec43d +color3 #e0c64f +color11 #e0c64f +color4 #43a5d5 +color12 #43a5d5 +color5 #8b57b5 +color13 #8b57b5 +color6 #8ec43d +color14 #8ec43d +color7 #eeeeee +color15 #ffffff +selection_foreground #111213 diff --git a/kitty/kitty-themes/Shaman.conf b/kitty/kitty-themes/Shaman.conf new file mode 100644 index 0000000..a316711 --- /dev/null +++ b/kitty/kitty-themes/Shaman.conf @@ -0,0 +1,21 @@ +background #001014 +foreground #405555 +cursor #49fcd5 +selection_background #415554 +color0 #012026 +color8 #374350 +color1 #b12f2c +color9 #ff4242 +color2 #00a940 +color10 #2aea5e +color3 #5d8aa9 +color11 #8dd3fd +color4 #449985 +color12 #61d4b9 +color5 #00599c +color13 #1298ff +color6 #5c7e19 +color14 #98cf28 +color7 #405554 +color15 #58fad6 +selection_foreground #001014 diff --git a/kitty/kitty-themes/Slate.conf b/kitty/kitty-themes/Slate.conf new file mode 100644 index 0000000..650e4ab --- /dev/null +++ b/kitty/kitty-themes/Slate.conf @@ -0,0 +1,21 @@ +background #212121 +foreground #34b0d2 +cursor #87d2c3 +selection_background #0f3754 +color0 #212121 +color8 #ffffff +color1 #e1a7bf +color9 #ffccd8 +color2 #80d778 +color10 #bdffa8 +color3 #c4c9bf +color11 #d0cbc9 +color4 #254a49 +color12 #79afd2 +color5 #a380d3 +color13 #c4a7d8 +color6 #14ab9c +color14 #8bdee0 +color7 #02c4e0 +color15 #e0e0e0 +selection_foreground #212121 diff --git a/kitty/kitty-themes/Smyck.conf b/kitty/kitty-themes/Smyck.conf new file mode 100644 index 0000000..3c97251 --- /dev/null +++ b/kitty/kitty-themes/Smyck.conf @@ -0,0 +1,21 @@ +background #1b1b1b +foreground #f7f7f7 +cursor #bbbbbb +selection_background #207383 +color0 #000000 +color8 #7a7a7a +color1 #b74131 +color9 #d6837b +color2 #7da900 +color10 #c4f036 +color3 #c4a400 +color11 #fee14d +color4 #62a3c4 +color12 #8dcff0 +color5 #b98acc +color13 #f799ff +color6 #207383 +color14 #69d9cf +color7 #a0a0a0 +color15 #f7f7f7 +selection_foreground #1b1b1b diff --git a/kitty/kitty-themes/SoftServer.conf b/kitty/kitty-themes/SoftServer.conf new file mode 100644 index 0000000..e7eb5fe --- /dev/null +++ b/kitty/kitty-themes/SoftServer.conf @@ -0,0 +1,21 @@ +background #242626 +foreground #99a3a2 +cursor #d1dfde +selection_background #7f8786 +color0 #000000 +color8 #666c6b +color1 #a16869 +color9 #dc5b5f +color2 #99a569 +color10 #bfde54 +color3 #a29069 +color11 #deb35f +color4 #6a8fa3 +color12 #62b1df +color5 #6971a3 +color13 #5f6ede +color6 #6ba48f +color14 #64e39c +color7 #99a3a2 +color15 #d1dfde +selection_foreground #242626 diff --git a/kitty/kitty-themes/Solarized_Darcula.conf b/kitty/kitty-themes/Solarized_Darcula.conf new file mode 100644 index 0000000..0a845d4 --- /dev/null +++ b/kitty/kitty-themes/Solarized_Darcula.conf @@ -0,0 +1,21 @@ +background #3d3f41 +foreground #d2d8d9 +cursor #708183 +selection_background #214283 +color0 #25292a +color8 #25292a +color1 #f24840 +color9 #f24840 +color2 #629655 +color10 #629655 +color3 #b68800 +color11 #b68800 +color4 #2074c7 +color12 #2074c7 +color5 #797fd4 +color13 #797fd4 +color6 #15968d +color14 #15968d +color7 #d2d8d9 +color15 #d2d8d9 +selection_foreground #3d3f41 diff --git a/kitty/kitty-themes/Solarized_Dark.conf b/kitty/kitty-themes/Solarized_Dark.conf new file mode 100644 index 0000000..8419426 --- /dev/null +++ b/kitty/kitty-themes/Solarized_Dark.conf @@ -0,0 +1,21 @@ +background #001e26 +foreground #708183 +cursor #708183 +selection_background #002731 +color0 #002731 +color8 #001e26 +color1 #d01b24 +color9 #bd3612 +color2 #728905 +color10 #465a61 +color3 #a57705 +color11 #52676f +color4 #2075c7 +color12 #708183 +color5 #c61b6e +color13 #5856b9 +color6 #259185 +color14 #81908f +color7 #e9e2cb +color15 #fcf4dc +selection_foreground #001e26 diff --git a/kitty/kitty-themes/Solarized_Dark_-_Patched.conf b/kitty/kitty-themes/Solarized_Dark_-_Patched.conf new file mode 100644 index 0000000..37c3597 --- /dev/null +++ b/kitty/kitty-themes/Solarized_Dark_-_Patched.conf @@ -0,0 +1,21 @@ +background #001e26 +foreground #708183 +cursor #708183 +selection_background #002731 +color0 #002731 +color8 #465a61 +color1 #d01b24 +color9 #bd3612 +color2 #728905 +color10 #465a61 +color3 #a57705 +color11 #52676f +color4 #2075c7 +color12 #708183 +color5 #c61b6e +color13 #5856b9 +color6 #259185 +color14 #81908f +color7 #e9e2cb +color15 #fcf4dc +selection_foreground #001e26 diff --git a/kitty/kitty-themes/Solarized_Dark_Higher_Contrast.conf b/kitty/kitty-themes/Solarized_Dark_Higher_Contrast.conf new file mode 100644 index 0000000..8477ea1 --- /dev/null +++ b/kitty/kitty-themes/Solarized_Dark_Higher_Contrast.conf @@ -0,0 +1,21 @@ +background #001e26 +foreground #9bc1c2 +cursor #f34a00 +selection_background #003747 +color0 #002731 +color8 #006388 +color1 #d01b24 +color9 #f4153b +color2 #6bbe6c +color10 #50ee84 +color3 #a57705 +color11 #b17e28 +color4 #2075c7 +color12 #178dc7 +color5 #c61b6e +color13 #e14d8e +color6 #259185 +color14 #00b29e +color7 #e9e2cb +color15 #fcf4dc +selection_foreground #001e26 diff --git a/kitty/kitty-themes/Solarized_Light.conf b/kitty/kitty-themes/Solarized_Light.conf new file mode 100644 index 0000000..36e101b --- /dev/null +++ b/kitty/kitty-themes/Solarized_Light.conf @@ -0,0 +1,21 @@ +background #fdf6e3 +foreground #52676f +cursor #52676f +selection_background #e9e2cb +color0 #e4e4e4 +color8 #ffffd7 +color1 #d70000 +color9 #d75f00 +color2 #5f8700 +color10 #585858 +color3 #af8700 +color11 #626262 +color4 #0087ff +color12 #808080 +color5 #af005f +color13 #5f5faf +color6 #00afaf +color14 #8a8a8a +color7 #262626 +color15 #1c1c1c +selection_foreground #fcf4dc diff --git a/kitty/kitty-themes/Source_Code_X.conf b/kitty/kitty-themes/Source_Code_X.conf new file mode 100644 index 0000000..d3aefa3 --- /dev/null +++ b/kitty/kitty-themes/Source_Code_X.conf @@ -0,0 +1,21 @@ +foreground #000000 +background #1f1f24 +cursor #7F7F7F +color0 #4e596b +color8 #91a0b1 +color1 #fb695d +color7 #BFBFBF +color9 #fb695d +color2 #74b391 +color10 #aef37c +color3 #fc8e3e +color11 #fc8e3e +color4 #9586f4 +color12 #53a4fb +color5 #fb5ea3 +color13 #fb5ea3 +color6 #79c8b6 +color14 #83d2c0 +color15 #91a0b1 +selection_foreground #1f1f24 +selection_background #000000 diff --git a/kitty/kitty-themes/SpaceGray.conf b/kitty/kitty-themes/SpaceGray.conf new file mode 100644 index 0000000..ba9afeb --- /dev/null +++ b/kitty/kitty-themes/SpaceGray.conf @@ -0,0 +1,21 @@ +background #20232c +foreground #b2b8c2 +cursor #b2b8c2 +selection_background #15171e +color0 #000000 +color8 #000000 +color1 #af4b57 +color9 #af4b57 +color2 #87b279 +color10 #87b279 +color3 #e5c078 +color11 #e5c078 +color4 #7c8fa3 +color12 #7c8fa3 +color5 #a37996 +color13 #a37996 +color6 #84a6a4 +color14 #84a6a4 +color7 #b2b8c2 +color15 #fffefe +selection_foreground #20232c diff --git a/kitty/kitty-themes/SpaceGray_Eighties.conf b/kitty/kitty-themes/SpaceGray_Eighties.conf new file mode 100644 index 0000000..8249a17 --- /dev/null +++ b/kitty/kitty-themes/SpaceGray_Eighties.conf @@ -0,0 +1,21 @@ +background #212121 +foreground #bdb9ae +cursor #bbbbbb +selection_background #262e35 +color0 #15171c +color8 #545454 +color1 #ec5f67 +color9 #ff6973 +color2 #80a763 +color10 #93d393 +color3 #fdc253 +color11 #ffd156 +color4 #5485c0 +color12 #4d83d0 +color5 #bf83c0 +color13 #ff55ff +color6 #57c2c0 +color14 #83e8e4 +color7 #eeece7 +color15 #ffffff +selection_foreground #212121 diff --git a/kitty/kitty-themes/SpaceGray_Eighties_Dull.conf b/kitty/kitty-themes/SpaceGray_Eighties_Dull.conf new file mode 100644 index 0000000..eabf184 --- /dev/null +++ b/kitty/kitty-themes/SpaceGray_Eighties_Dull.conf @@ -0,0 +1,21 @@ +background #212121 +foreground #c8c5bc +cursor #bbbbbb +selection_background #262e36 +color0 #15171c +color8 #545454 +color1 #b14956 +color9 #ec5f67 +color2 #91b377 +color10 #88e985 +color3 #c6725a +color11 #fdc253 +color4 #7b8fa4 +color12 #5485c0 +color5 #a5779e +color13 #bf83c0 +color6 #7fcccb +color14 #58c2c0 +color7 #b2b8c2 +color15 #ffffff +selection_foreground #212121 diff --git a/kitty/kitty-themes/Spacedust.conf b/kitty/kitty-themes/Spacedust.conf new file mode 100644 index 0000000..08b93c4 --- /dev/null +++ b/kitty/kitty-themes/Spacedust.conf @@ -0,0 +1,21 @@ +background #0a1e24 +foreground #ecefc1 +cursor #708183 +selection_background #0a385c +color0 #6e5246 +color8 #674c31 +color1 #e35a00 +color9 #ff8a39 +color2 #5cab96 +color10 #adcab8 +color3 #e3cd7b +color11 #ffc777 +color4 #0e548b +color12 #67a0cd +color5 #e35a00 +color13 #ff8a39 +color6 #06afc7 +color14 #83a6b3 +color7 #f0f1ce +color15 #fefff0 +selection_foreground #0a1e24 diff --git a/kitty/kitty-themes/Spiderman.conf b/kitty/kitty-themes/Spiderman.conf new file mode 100644 index 0000000..a72bbca --- /dev/null +++ b/kitty/kitty-themes/Spiderman.conf @@ -0,0 +1,21 @@ +background #1b1d1e +foreground #e2e2e2 +cursor #2b3fff +selection_background #070e4f +color0 #1b1d1e +color8 #505354 +color1 #e60712 +color9 #ff0325 +color2 #e22828 +color10 #ff3238 +color3 #e24655 +color11 #fe3935 +color4 #2b3fff +color12 #1d4fff +color5 #2435db +color13 #737bff +color6 #3255ff +color14 #6083ff +color7 #fffef6 +color15 #fefff9 +selection_foreground #1b1d1e diff --git a/kitty/kitty-themes/Spring.conf b/kitty/kitty-themes/Spring.conf new file mode 100644 index 0000000..4df6d1c --- /dev/null +++ b/kitty/kitty-themes/Spring.conf @@ -0,0 +1,21 @@ +background #ffffff +foreground #4d4d4c +cursor #4d4d4c +selection_background #d6d6d6 +color0 #000000 +color8 #000000 +color1 #ff4c83 +color9 #ff0021 +color2 #1f8c3a +color10 #1fc231 +color3 #1fc95a +color11 #d4b706 +color4 #1cd2ee +color12 #15a9fd +color5 #8959a8 +color13 #8959a8 +color6 #3e999f +color14 #3e999f +color7 #fffefe +color15 #fffefe +selection_foreground #ffffff diff --git a/kitty/kitty-themes/Square.conf b/kitty/kitty-themes/Square.conf new file mode 100644 index 0000000..e5457a5 --- /dev/null +++ b/kitty/kitty-themes/Square.conf @@ -0,0 +1,21 @@ +background #1a1a1a +foreground #acacab +cursor #fbfacc +selection_background #4d4d4d +color0 #050505 +color8 #141414 +color1 #e9897c +color9 #f99286 +color2 #b6377d +color10 #c3f786 +color3 #ecebbe +color11 #fcfbcc +color4 #a9cdeb +color12 #b6defb +color5 #75507b +color13 #ad7fa8 +color6 #c9caec +color14 #d7d9fc +color7 #f2f2f2 +color15 #e2e2e2 +selection_foreground #1a1a1a diff --git a/kitty/kitty-themes/Sundried.conf b/kitty/kitty-themes/Sundried.conf new file mode 100644 index 0000000..d5ff99d --- /dev/null +++ b/kitty/kitty-themes/Sundried.conf @@ -0,0 +1,21 @@ +background #1a1818 +foreground #c8c8c8 +cursor #fffefe +selection_background #302b2a +color0 #302b2a +color8 #4d4d47 +color1 #a6463d +color9 #aa000c +color2 #577644 +color10 #128c20 +color3 #9c5f2a +color11 #fc6a20 +color4 #485a98 +color12 #7898f7 +color5 #854551 +color13 #fc89a0 +color6 #9c814e +color14 #fad384 +color7 #c8c8c8 +color15 #fffefe +selection_foreground #1a1818 diff --git a/kitty/kitty-themes/Symfonic.conf b/kitty/kitty-themes/Symfonic.conf new file mode 100644 index 0000000..9b5e0d3 --- /dev/null +++ b/kitty/kitty-themes/Symfonic.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #ffffff +cursor #dc322f +selection_background #073642 +color0 #000000 +color8 #1b1d21 +color1 #dc322f +color9 #dc322f +color2 #56db3a +color10 #56db3a +color3 #ff8400 +color11 #ff8400 +color4 #0084d4 +color12 #0084d4 +color5 #b729d9 +color13 #b729d9 +color6 #ccccff +color14 #ccccff +color7 #ffffff +color15 #ffffff +selection_foreground #000000 diff --git a/kitty/kitty-themes/Tango_Dark.conf b/kitty/kitty-themes/Tango_Dark.conf new file mode 100644 index 0000000..6a4673a --- /dev/null +++ b/kitty/kitty-themes/Tango_Dark.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #ffffff +cursor #ffffff +selection_background #b4d5ff +color0 #000000 +color8 #545753 +color1 #cc0000 +color9 #ef2828 +color2 #4e9a05 +color10 #8ae234 +color3 #c4a000 +color11 #fce94e +color4 #3464a4 +color12 #719ecf +color5 #74507a +color13 #ad7ea7 +color6 #05989a +color14 #34e2e2 +color7 #d3d7cf +color15 #ededec +selection_foreground #000000 diff --git a/kitty/kitty-themes/Tango_Light.conf b/kitty/kitty-themes/Tango_Light.conf new file mode 100644 index 0000000..07f82bf --- /dev/null +++ b/kitty/kitty-themes/Tango_Light.conf @@ -0,0 +1,21 @@ +background #ffffff +foreground #000000 +cursor #000000 +selection_background #b4d5ff +color0 #000000 +color8 #545753 +color1 #cc0000 +color9 #ef2828 +color2 #4e9a05 +color10 #8ae234 +color3 #c4a000 +color11 #fce94e +color4 #3464a4 +color12 #719ecf +color5 #74507a +color13 #ad7ea7 +color6 #05989a +color14 #34e2e2 +color7 #d3d7cf +color15 #ededec +selection_foreground #ffffff diff --git a/kitty/kitty-themes/Teerb.conf b/kitty/kitty-themes/Teerb.conf new file mode 100644 index 0000000..9e9cab7 --- /dev/null +++ b/kitty/kitty-themes/Teerb.conf @@ -0,0 +1,21 @@ +background #262626 +foreground #d0d0d0 +cursor #e3c8ae +selection_background #4d4d4d +color0 #1c1c1c +color8 #1c1c1c +color1 #d68686 +color9 #d68686 +color2 #aed686 +color10 #aed686 +color3 #d7af87 +color11 #e4c9af +color4 #86aed6 +color12 #86aed6 +color5 #d6aed6 +color13 #d6aed6 +color6 #8adbb4 +color14 #b1e7dd +color7 #d0d0d0 +color15 #efefef +selection_foreground #262626 diff --git a/kitty/kitty-themes/Thayer_Bright.conf b/kitty/kitty-themes/Thayer_Bright.conf new file mode 100644 index 0000000..b74bc60 --- /dev/null +++ b/kitty/kitty-themes/Thayer_Bright.conf @@ -0,0 +1,21 @@ +background #1b1d1e +foreground #f8f8f8 +cursor #fc971e +selection_background #4d4d4d +color0 #1b1d1e +color8 #505354 +color1 #f92672 +color9 #ff5995 +color2 #4df740 +color10 #b6e354 +color3 #f3fd21 +color11 #feed6c +color4 #2656d6 +color12 #3f78ff +color5 #8c54fe +color13 #9e6ffe +color6 #37c8b4 +color14 #23ced4 +color7 #ccccc6 +color15 #f8f8f2 +selection_foreground #1b1d1e diff --git a/kitty/kitty-themes/The_Hulk.conf b/kitty/kitty-themes/The_Hulk.conf new file mode 100644 index 0000000..81bd962 --- /dev/null +++ b/kitty/kitty-themes/The_Hulk.conf @@ -0,0 +1,21 @@ +background #1b1d1e +foreground #b4b4b4 +cursor #15b61a +selection_background #4d4f4c +color0 #1b1d1e +color8 #505354 +color1 #259d1a +color9 #8dff2a +color2 #13ce2f +color10 #48ff76 +color3 #62e456 +color11 #3afe15 +color4 #2424f4 +color12 #4f6a95 +color5 #641e73 +color13 #72579d +color6 #378ca9 +color14 #3f85a5 +color7 #d8d8d0 +color15 #e5e5e0 +selection_foreground #1b1d1e diff --git a/kitty/kitty-themes/Tomorrow.conf b/kitty/kitty-themes/Tomorrow.conf new file mode 100644 index 0000000..23a8dfc --- /dev/null +++ b/kitty/kitty-themes/Tomorrow.conf @@ -0,0 +1,21 @@ +background #ffffff +foreground #4c4c4c +cursor #4c4c4c +selection_background #d6d6d6 +color0 #000000 +color8 #000000 +color1 #c82828 +color9 #c82828 +color2 #708b00 +color10 #708b00 +color3 #e9b600 +color11 #e9b600 +color4 #4170ae +color12 #4170ae +color5 #8958a7 +color13 #8958a7 +color6 #3d999f +color14 #3d999f +color7 #fffefe +color15 #fffefe +selection_foreground #ffffff diff --git a/kitty/kitty-themes/Tomorrow_Night.conf b/kitty/kitty-themes/Tomorrow_Night.conf new file mode 100644 index 0000000..0bf3cf7 --- /dev/null +++ b/kitty/kitty-themes/Tomorrow_Night.conf @@ -0,0 +1,21 @@ +background #1d1f21 +foreground #c4c8c5 +cursor #c4c8c5 +selection_background #363a41 +color0 #000000 +color8 #000000 +color1 #cc6666 +color9 #cc6666 +color2 #b5bd68 +color10 #b5bd68 +color3 #f0c574 +color11 #f0c574 +color4 #80a1bd +color12 #80a1bd +color5 #b294ba +color13 #b294ba +color6 #8abdb6 +color14 #8abdb6 +color7 #fffefe +color15 #fffefe +selection_foreground #1d1f21 diff --git a/kitty/kitty-themes/Tomorrow_Night_Blue.conf b/kitty/kitty-themes/Tomorrow_Night_Blue.conf new file mode 100644 index 0000000..b32cbfd --- /dev/null +++ b/kitty/kitty-themes/Tomorrow_Night_Blue.conf @@ -0,0 +1,21 @@ +background #002450 +foreground #fffefe +cursor #fffefe +selection_background #003e8e +color0 #000000 +color8 #000000 +color1 #ff9ca3 +color9 #ff9ca3 +color2 #d0f0a8 +color10 #d0f0a8 +color3 #ffedac +color11 #ffedac +color4 #badaff +color12 #badaff +color5 #ebbaff +color13 #ebbaff +color6 #99ffff +color14 #99ffff +color7 #fffefe +color15 #fffefe +selection_foreground #002450 diff --git a/kitty/kitty-themes/Tomorrow_Night_Bright.conf b/kitty/kitty-themes/Tomorrow_Night_Bright.conf new file mode 100644 index 0000000..346f3dc --- /dev/null +++ b/kitty/kitty-themes/Tomorrow_Night_Bright.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #e9e9e9 +cursor #e9e9e9 +selection_background #424242 +color0 #000000 +color8 #000000 +color1 #d44d53 +color9 #d44d53 +color2 #b9c949 +color10 #b9c949 +color3 #e6c446 +color11 #e6c446 +color4 #79a6da +color12 #79a6da +color5 #c396d7 +color13 #c396d7 +color6 #70c0b1 +color14 #70c0b1 +color7 #fffefe +color15 #fffefe +selection_foreground #000000 diff --git a/kitty/kitty-themes/Tomorrow_Night_Eighties.conf b/kitty/kitty-themes/Tomorrow_Night_Eighties.conf new file mode 100644 index 0000000..404efc7 --- /dev/null +++ b/kitty/kitty-themes/Tomorrow_Night_Eighties.conf @@ -0,0 +1,21 @@ +background #2c2c2c +foreground #cccccc +cursor #cccccc +selection_background #505050 +color0 #000000 +color8 #000000 +color1 #f17779 +color9 #f17779 +color2 #99cc99 +color10 #99cc99 +color3 #ffcc66 +color11 #ffcc66 +color4 #6699cc +color12 #6699cc +color5 #cc99cc +color13 #cc99cc +color6 #66cccc +color14 #66cccc +color7 #fffefe +color15 #fffefe +selection_foreground #2c2c2c diff --git a/kitty/kitty-themes/ToyChest.conf b/kitty/kitty-themes/ToyChest.conf new file mode 100644 index 0000000..040cb8d --- /dev/null +++ b/kitty/kitty-themes/ToyChest.conf @@ -0,0 +1,21 @@ +background #23364a +foreground #30cf7b +cursor #d4d4d4 +selection_background #5f207a +color0 #2c3f57 +color8 #326889 +color1 #be2d26 +color9 #dd5943 +color2 #199171 +color10 #30cf7b +color3 #da8e26 +color11 #e7d74b +color4 #325d96 +color12 #33a5d9 +color5 #8a5ddb +color13 #ad6bdc +color6 #35a08f +color14 #41c3ad +color7 #23d082 +color15 #d4d4d4 +selection_foreground #23364a diff --git a/kitty/kitty-themes/Treehouse.conf b/kitty/kitty-themes/Treehouse.conf new file mode 100644 index 0000000..940751e --- /dev/null +++ b/kitty/kitty-themes/Treehouse.conf @@ -0,0 +1,21 @@ +background #191919 +foreground #776b53 +cursor #fac814 +selection_background #776b53 +color0 #321200 +color8 #423625 +color1 #b1270e +color9 #ed5c20 +color2 #44a900 +color10 #55f237 +color3 #a9810b +color11 #f1b731 +color4 #578499 +color12 #85cfec +color5 #96363c +color13 #e04b5a +color6 #b2591d +color14 #f07c14 +color7 #776b53 +color15 #ffc800 +selection_foreground #191919 diff --git a/kitty/kitty-themes/Twilight.conf b/kitty/kitty-themes/Twilight.conf new file mode 100644 index 0000000..452a4d2 --- /dev/null +++ b/kitty/kitty-themes/Twilight.conf @@ -0,0 +1,21 @@ +background #141414 +foreground #feffd3 +cursor #ffffff +selection_background #303030 +color0 #141414 +color8 #262626 +color1 #c06c43 +color9 #dd7c4c +color2 #afb979 +color10 #cbd88c +color3 #c2a86c +color11 #e1c47d +color4 #444649 +color12 #5a5d61 +color5 #b4be7b +color13 #d0db8e +color6 #778284 +color14 #8a989a +color7 #feffd3 +color15 #feffd3 +selection_foreground #141414 diff --git a/kitty/kitty-themes/Ubuntu.conf b/kitty/kitty-themes/Ubuntu.conf new file mode 100644 index 0000000..96e9d09 --- /dev/null +++ b/kitty/kitty-themes/Ubuntu.conf @@ -0,0 +1,21 @@ +background #300a24 +foreground #eeeeec +cursor #bbbbbb +selection_background #b4d5ff +color0 #2e3436 +color8 #555753 +color1 #cc0000 +color9 #ef2929 +color2 #4e9a06 +color10 #8ae234 +color3 #c4a000 +color11 #fce94f +color4 #3465a4 +color12 #729fcf +color5 #75507b +color13 #ad7fa8 +color6 #06989a +color14 #34e2e2 +color7 #d3d7cf +color15 #eeeeec +selection_foreground #300a24 diff --git a/kitty/kitty-themes/Urple.conf b/kitty/kitty-themes/Urple.conf new file mode 100644 index 0000000..a29dcad --- /dev/null +++ b/kitty/kitty-themes/Urple.conf @@ -0,0 +1,21 @@ +background #1b1b23 +foreground #86799a +cursor #a062ea +selection_background #a062ea +color0 #000000 +color8 #5c3125 +color1 #af425b +color9 #ff6387 +color2 #37a315 +color10 #28e51f +color3 #ac5b41 +color11 #f08061 +color4 #554d9a +color12 #8579ed +color5 #6c3ba1 +color13 #a05dee +color6 #808080 +color14 #eaeaea +color7 #87799c +color15 #bfa3ff +selection_foreground #1b1b23 diff --git a/kitty/kitty-themes/Vaughn.conf b/kitty/kitty-themes/Vaughn.conf new file mode 100644 index 0000000..26d1885 --- /dev/null +++ b/kitty/kitty-themes/Vaughn.conf @@ -0,0 +1,21 @@ +background #25234e +foreground #dcdccc +cursor #ff5555 +selection_background #b5d5ff +color0 #24234f +color8 #709080 +color1 #705050 +color9 #dca3a3 +color2 #60b48a +color10 #60b48a +color3 #dfaf8f +color11 #f0dfaf +color4 #5454ff +color12 #5454ff +color5 #f08cc3 +color13 #ec93d3 +color6 #8cd0d3 +color14 #93e0e3 +color7 #709080 +color15 #ffffff +selection_foreground #25234e diff --git a/kitty/kitty-themes/VibrantInk.conf b/kitty/kitty-themes/VibrantInk.conf new file mode 100644 index 0000000..5fbd281 --- /dev/null +++ b/kitty/kitty-themes/VibrantInk.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #ffffff +cursor #ffffff +selection_background #b4d5ff +color0 #868686 +color8 #545454 +color1 #ff6600 +color9 #ff0000 +color2 #ccff04 +color10 #00ff00 +color3 #ffcc00 +color11 #ffff00 +color4 #44b3cc +color12 #0000ff +color5 #9933cc +color13 #ff00ff +color6 #44b3cc +color14 #00ffff +color7 #f4f4f4 +color15 #e5e5e5 +selection_foreground #000000 diff --git a/kitty/kitty-themes/WarmNeon.conf b/kitty/kitty-themes/WarmNeon.conf new file mode 100644 index 0000000..3256f5d --- /dev/null +++ b/kitty/kitty-themes/WarmNeon.conf @@ -0,0 +1,21 @@ +background #3f3f3f +foreground #afdab6 +cursor #2fff24 +selection_background #b0ad21 +color0 #000000 +color8 #fdfcfc +color1 #e24345 +color9 #e86f71 +color2 #38b139 +color10 #9bc08f +color3 #dae145 +color11 #ddd979 +color4 #4260c5 +color12 #7a90d5 +color5 #f81ffb +color13 #f674b9 +color6 #29bad3 +color14 #5ed1e4 +color7 #d0b8a3 +color15 #d8c8bb +selection_foreground #3f3f3f diff --git a/kitty/kitty-themes/Wez.conf b/kitty/kitty-themes/Wez.conf new file mode 100644 index 0000000..11706ab --- /dev/null +++ b/kitty/kitty-themes/Wez.conf @@ -0,0 +1,21 @@ +background #000000 +foreground #b3b3b3 +cursor #52ad70 +selection_background #4c52f8 +color0 #000000 +color8 #555555 +color1 #cc5555 +color9 #ff5555 +color2 #55cc55 +color10 #55ff55 +color3 #cdcd55 +color11 #ffff55 +color4 #5455cb +color12 #5555ff +color5 #cc55cc +color13 #ff55ff +color6 #7acaca +color14 #55ffff +color7 #cccccc +color15 #ffffff +selection_foreground #000000 diff --git a/kitty/kitty-themes/WildCherry.conf b/kitty/kitty-themes/WildCherry.conf new file mode 100644 index 0000000..a4bfa47 --- /dev/null +++ b/kitty/kitty-themes/WildCherry.conf @@ -0,0 +1,21 @@ +background #1f1626 +foreground #d9faff +cursor #dd00ff +selection_background #002731 +color0 #000506 +color8 #009cc9 +color1 #d94085 +color9 #da6bab +color2 #2ab250 +color10 #f4dba5 +color3 #ffd06e +color11 #eac066 +color4 #873bdb +color12 #2f8bb9 +color5 #ececec +color13 #ae636b +color6 #c1b8b6 +color14 #ff919d +color7 #fff8dd +color15 #e4838d +selection_foreground #1f1626 diff --git a/kitty/kitty-themes/Wombat.conf b/kitty/kitty-themes/Wombat.conf new file mode 100644 index 0000000..d4616fc --- /dev/null +++ b/kitty/kitty-themes/Wombat.conf @@ -0,0 +1,21 @@ +background #171717 +foreground #ded9ce +cursor #bbbbbb +selection_background #453a39 +color0 #000000 +color8 #313131 +color1 #ff605a +color9 #f58b7f +color2 #b1e869 +color10 #dcf88f +color3 #ead89c +color11 #eee5b2 +color4 #5da9f6 +color12 #a5c7ff +color5 #e86aff +color13 #ddaaff +color6 #82fff6 +color14 #b6fff9 +color7 #ded9ce +color15 #fefffe +selection_foreground #171717 diff --git a/kitty/kitty-themes/Wryan.conf b/kitty/kitty-themes/Wryan.conf new file mode 100644 index 0000000..73d758d --- /dev/null +++ b/kitty/kitty-themes/Wryan.conf @@ -0,0 +1,21 @@ +background #101010 +foreground #999993 +cursor #9d9eca +selection_background #4d4d4d +color0 #333333 +color8 #3d3d3d +color1 #8c4665 +color9 #bf4d80 +color2 #287373 +color10 #53a6a6 +color3 #7c7c99 +color11 #9e9ecb +color4 #395573 +color12 #477ab3 +color5 #5e468c +color13 #7e62b3 +color6 #31658c +color14 #6096bf +color7 #899ca1 +color15 #c0c0c0 +selection_foreground #101010 diff --git a/kitty/kitty-themes/Zenburn.conf b/kitty/kitty-themes/Zenburn.conf new file mode 100644 index 0000000..032b99b --- /dev/null +++ b/kitty/kitty-themes/Zenburn.conf @@ -0,0 +1,25 @@ +# Zenburn by jnurmine, https://github.com/jnurmine/Zenburn +# This work is licensed under the terms of the GNU GPL license. +# For a copy, see http://www.gnu.org/licenses/gpl.html. + +background #3f3f3f +foreground #dcdccc +cursor #73635a +selection_background #21322f +color0 #4d4d4d +color8 #709080 +color1 #705050 +color9 #dca3a3 +color2 #60b48a +color10 #c3bf9f +color3 #f0deae +color11 #dfcf9f +color4 #506070 +color12 #94bff3 +color5 #dc8cc3 +color13 #ec93d3 +color6 #8cd0d3 +color14 #93e0e3 +color7 #dcdccc +color15 #ffffff +selection_foreground #3f3f3f diff --git a/kitty/kitty-themes/ayu.conf b/kitty/kitty-themes/ayu.conf new file mode 100644 index 0000000..8030263 --- /dev/null +++ b/kitty/kitty-themes/ayu.conf @@ -0,0 +1,21 @@ +background #0e1419 +foreground #e5e1cf +cursor #f19618 +selection_background #243340 +color0 #000000 +color8 #323232 +color1 #ff3333 +color9 #ff6565 +color2 #b8cc52 +color10 #e9fe83 +color3 #e6c446 +color11 #fff778 +color4 #36a3d9 +color12 #68d4ff +color5 #f07078 +color13 #ffa3aa +color6 #95e5cb +color14 #c7fffc +color7 #ffffff +color15 #ffffff +selection_foreground #0e1419 diff --git a/kitty/kitty-themes/ayu_light.conf b/kitty/kitty-themes/ayu_light.conf new file mode 100644 index 0000000..35c532c --- /dev/null +++ b/kitty/kitty-themes/ayu_light.conf @@ -0,0 +1,21 @@ +background #fafafa +foreground #5b6673 +cursor #ff6900 +selection_background #f0ede4 +color0 #000000 +color8 #323232 +color1 #ff3333 +color9 #ff6565 +color2 #86b200 +color10 #b8e532 +color3 #f19618 +color11 #ffc849 +color4 #41a6d9 +color12 #73d7ff +color5 #f07078 +color13 #ffa3aa +color6 #4cbe99 +color14 #7ff0cb +color7 #ffffff +color15 #ffffff +selection_foreground #fafafa diff --git a/kitty/kitty-themes/ayu_mirage.conf b/kitty/kitty-themes/ayu_mirage.conf new file mode 100644 index 0000000..19d2e40 --- /dev/null +++ b/kitty/kitty-themes/ayu_mirage.conf @@ -0,0 +1,21 @@ +background #212733 +foreground #d9d7ce +cursor #ffcc66 +selection_background #343f4c +color0 #191e2a +color8 #686868 +color1 #ed8274 +color9 #f28779 +color2 #a6cc70 +color10 #bae67e +color3 #fad07b +color11 #ffd580 +color4 #6dcbfa +color12 #73d0ff +color5 #cfbafa +color13 #d4bfff +color6 #90e1c6 +color14 #95e6cb +color7 #c7c7c7 +color15 #ffffff +selection_foreground #212733 diff --git a/kitty/kitty-themes/gruvbox_dark.conf b/kitty/kitty-themes/gruvbox_dark.conf new file mode 100644 index 0000000..369da8d --- /dev/null +++ b/kitty/kitty-themes/gruvbox_dark.conf @@ -0,0 +1,49 @@ +# gruvbox dark by morhetz, https://github.com/morhetz/gruvbox +# This work is licensed under the terms of the MIT license. +# For a copy, see https://opensource.org/licenses/MIT. + +background #282828 +foreground #ebdbb2 + +cursor #928374 + +selection_foreground #928374 +selection_background #3c3836 + +color0 #282828 +color8 #928374 + +# red +color1 #cc241d +# light red +color9 #fb4934 + +# green +color2 #98971a +# light green +color10 #b8bb26 + +# yellow +color3 #d79921 +# light yellow +color11 #fabd2d + +# blue +color4 #458588 +# light blue +color12 #83a598 + +# magenta +color5 #b16286 +# light magenta +color13 #d3869b + +# cyan +color6 #689d6a +# lighy cyan +color14 #8ec07c + +# light gray +color7 #a89984 +# dark gray +color15 #928374 diff --git a/kitty/kitty-themes/gruvbox_light.conf b/kitty/kitty-themes/gruvbox_light.conf new file mode 100644 index 0000000..6d8b89b --- /dev/null +++ b/kitty/kitty-themes/gruvbox_light.conf @@ -0,0 +1,49 @@ +# gruvbox light by morhetz, https://github.com/morhetz/gruvbox +# This work is licensed under the terms of the MIT license. +# For a copy, see https://opensource.org/licenses/MIT. + +background #fbf1c7 +foreground #3c3836 + +cursor #928374 + +selection_foreground #3c3836 +selection_background #928374 + +color0 #fbf1c7 +color8 #282828 + +# red +color1 #cc241d +# light red +color9 #9d0006 + +# green +color2 #98971a +# light green +color10 #79740e + +# yellow +color3 #d79921 +# light yellow +color11 #b57614 + +# blue +color4 #458588 +# light blue +color12 #076678 + +# magenta +color5 #b16286 +# light magenta +color13 #8f3f71 + +# cyan +color6 #689d6a +# lighy cyan +color14 #427b58 + +# light gray +color7 #7c6f64 +# dark gray +color15 #928374 diff --git a/kitty/kitty-themes/idleToes.conf b/kitty/kitty-themes/idleToes.conf new file mode 100644 index 0000000..941d4b2 --- /dev/null +++ b/kitty/kitty-themes/idleToes.conf @@ -0,0 +1,21 @@ +background #323232 +foreground #ffffff +cursor #d6d6d6 +selection_background #5b5b5b +color0 #323232 +color8 #535353 +color1 #d25252 +color9 #f07070 +color2 #7fe173 +color10 #9dff90 +color3 #ffc66d +color11 #ffe48b +color4 #4098ff +color12 #5eb7f7 +color5 #f57fff +color13 #ff9dff +color6 #bed6ff +color14 #dcf4ff +color7 #eeeeec +color15 #ffffff +selection_foreground #323232 diff --git a/kitty/kitty-themes/snazzy.conf b/kitty/kitty-themes/snazzy.conf new file mode 100644 index 0000000..2ed5ff5 --- /dev/null +++ b/kitty/kitty-themes/snazzy.conf @@ -0,0 +1,46 @@ +# snazzy by Connor Holyday (holyday.me) +# This work is licensed under the terms of the MIT license. +# For a copy, see https://opensource.org/licenses/MIT. + +# Snazzy Colorscheme for Kitty +# Based on https://github.com/sindresorhus/hyper-snazzy + +foreground #eff0eb +background #282a36 +selection_foreground #000000 +selection_background #FFFACD +url_color #0087BD +cursor #97979B +cursor_text_color #282A36 + +# black +color0 #282a36 +color8 #686868 + +# red +color1 #FF5C57 +color9 #FF5C57 + +# green +color2 #5AF78E +color10 #5AF78E + +# yellow +color3 #F3F99D +color11 #F3F99D + +# blue +color4 #57C7FF +color12 #57C7FF + +# magenta +color5 #FF6AC1 +color13 #FF6AC1 + +# cyan +color6 #9AEDFE +color14 #9AEDFE + +# white +color7 #F1F1F0 +color15 #EFF0EB diff --git a/kitty/kitty.conf b/kitty/kitty.conf new file mode 100644 index 0000000..fce357a --- /dev/null +++ b/kitty/kitty.conf @@ -0,0 +1,34 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # + +# you can choose themes from $HOME/.config/kitty/kitty-themes/ +include ./kitty-themes/00-Default.conf + +font_family FantasqueSansM Nerd Font Mono Bold +font_size 16.0 +bold_font auto +italic_font auto +bold_italic_font auto + +background_opacity 0.9 +dynamic_background_opacity 1 +confirm_os_window_close 0 + +# Animated cursor +cursor_trail 1 + +# change to x11 or wayland or leave auto +linux_display_server auto + +scrollback_lines 2000 +wheel_scroll_min_lines 1 + +enable_audio_bell no + +window_padding_width 4 + +selection_foreground none +selection_background none + +foreground #dddddd +background #000000 +cursor #dddddd \ No newline at end of file diff --git a/rofi/.current_wallpaper b/rofi/.current_wallpaper new file mode 120000 index 0000000..2eb8bbf --- /dev/null +++ b/rofi/.current_wallpaper @@ -0,0 +1 @@ +/home/aidan/Pictures/wallpapers/Abstract - Nature.jpg \ No newline at end of file diff --git a/rofi/0-shared-fonts.rasi b/rofi/0-shared-fonts.rasi new file mode 100644 index 0000000..2c3997b --- /dev/null +++ b/rofi/0-shared-fonts.rasi @@ -0,0 +1,16 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Ja KooLit - Global rofi fonts */ + +/* This is where you can change fonts and sizes */ + + +/*****-- Fonts Size and Font Size -----*****/ +configuration { + font: "JetBrainsMono Nerd Font SemiBold 15"; +} + + +/*****-- Elements Font Size -----*****/ +element-text { + font: "JetBrainsMono Nerd Font SemiBold 13"; +} \ No newline at end of file diff --git a/rofi/config-Animations.rasi b/rofi/config-Animations.rasi new file mode 100644 index 0000000..e1994b6 --- /dev/null +++ b/rofi/config-Animations.rasi @@ -0,0 +1,44 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Animations Menu */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Mainbox ---- */ +mainbox { + children: + [ "inputbar", "message", "listview"]; +} + +/* ---- Window ---- */ +window { + width: inherit; + height: inherit; +} + +/* ---- Entry ---- */ +entry { + width: 43%; + placeholder: " ✨ Search / Choose which Animations to load"; +} + +/* ---- Listview ---- */ +listview { + columns: 2; + lines: 7; + fixed-height: false; + margin: 10px; + scrollbar: true; + spacing: 6px; + cycle: true; +} + +/* ---- Elements ---- */ +element-icon { + size: 0%; +} +element-text { + horizontal-align: 0.0; + vertical-align: 0.0; + margin: 0px; + padding: 0px; +} diff --git a/rofi/config-Monitors.rasi b/rofi/config-Monitors.rasi new file mode 100644 index 0000000..453d711 --- /dev/null +++ b/rofi/config-Monitors.rasi @@ -0,0 +1,43 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Monitor Profiles Menu */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Mainbox ---- */ +mainbox { + children: + [ "inputbar", "message", "listview"]; +} + +/* ---- Window ---- */ +window { + width: inherit; + height: inherit; +} + +/* ---- Entry ---- */ +entry { + width: 43%; + placeholder: " 💻 Search / Choose which Monitor Profiles to load"; + horizontal-align: 0.5; +} + +/* ---- Listview ---- */ +listview { + columns: 2; + lines: 3; + fixed-height: false; + margin: 10px; + scrollbar: true; + cycle: true; +} + +/* ---- Elements ---- */ +element-icon { + size: 0%; +} +element-text { + horizontal-align: 0.5; + vertical-align: 0.0; + margin: 5px 30px 5px 30px; +} diff --git a/rofi/config-calc.rasi b/rofi/config-calc.rasi new file mode 100644 index 0000000..75912f0 --- /dev/null +++ b/rofi/config-calc.rasi @@ -0,0 +1,25 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Main Config Calculator */ +/* Submitted by: https://github.com/JosephArmas */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Mainbox ---- */ +mainbox { + children: [ "entry", "message" ]; + height: inherit; +} + +/* ---- Window ---- */ +window { + width: 30%; + height: inherit; +} + +/* ---- Entry ---- */ +entry { + expand: true; + placeholder: " 🧮 Calculate"; +} + +listview {enable: false;} \ No newline at end of file diff --git a/rofi/config-clipboard.rasi b/rofi/config-clipboard.rasi new file mode 100644 index 0000000..1109c3c --- /dev/null +++ b/rofi/config-clipboard.rasi @@ -0,0 +1,47 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Clipboard Config - Clipboard */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Window ---- */ +window { + width: inherit; + height: inherit; +} + +/* ---- Mainbox ---- */ +mainbox { + children: + [ "inputbar", "message", "listview"]; +} + +/* ---- Entry ---- */ +entry { + width: inherit; + placeholder: " 📋 Search Clipboard "; +} + +/* ---- Listview ---- */ +listview { + columns: 1; + lines: 8; + fixed-height: true; + spacing: 6px; + cycle: true; +} + +/* ---- Elements ---- */ +element { + orientation: horizontal; +} + +element-icon { + size: 0%; +} + +element-text { + horizontal-align: 0.0; + vertical-align: 0.5; + margin: 0px; + padding: 0px; +} diff --git a/rofi/config-edit.rasi b/rofi/config-edit.rasi new file mode 100644 index 0000000..915f158 --- /dev/null +++ b/rofi/config-edit.rasi @@ -0,0 +1,55 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Edit Rofi Config */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Mainbox ---- */ +mainbox { + children: + [ "inputbar", "message", "listview"]; +} + + +/* ---- Configuration ---- */ +configuration { + modi: "drun"; +} + +/* ---- Window ---- */ +window { + width: 70%; + height: inherit; +} + + +/* ---- Listview ---- */ +listview { + columns: 3; + lines: 6; + fixed-height: false; + scrollbar: true; + spacing: 6px; + cycle: true; +} + +/* ---- Entry input ---- */ +entry { + expand: true; + placeholder: " 💫 Customize KooL Hyprland 💫"; + horizontal-align: 0.5; +} + + +/* ---- Elements ---- */ +element { + orientation: horizontal; +} + +element-icon { + size: 0%; +} +element-text { + horizontal-align: 0.0; + margin: 0px; + padding: 0px; +} \ No newline at end of file diff --git a/rofi/config-emoji.rasi b/rofi/config-emoji.rasi new file mode 100644 index 0000000..80aa507 --- /dev/null +++ b/rofi/config-emoji.rasi @@ -0,0 +1,49 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Main Config - emoji */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Mainbox ---- */ +mainbox { + children: + [ "inputbar", "message", "listview"]; +} + +/* ---- Window ---- */ +window { + width: inherit; + height: inherit; +} + +/* ---- Entry ---- */ +entry { + width: 37%; + placeholder: " 💫 Search / Choose Emoji's"; + horizontal-align: 0.0; +} + +/* ---- Listview ---- */ +listview { + columns: 2; + lines: 7; + fixed-height: false; + scrollbar: true; + spacing: 6px; + cycle: true; +} + +/* ---- Elements ---- */ +element { + orientation: horizontal; +} + +element-icon { + size: 0%; +} + +element-text { + horizontal-align: 0.0; + vertical-align: 0.5; + padding: 0px; + margin: 0px; +} \ No newline at end of file diff --git a/rofi/config-keybinds.rasi b/rofi/config-keybinds.rasi new file mode 100644 index 0000000..03c0c8c --- /dev/null +++ b/rofi/config-keybinds.rasi @@ -0,0 +1,48 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Main Config - For Keybinds generation */ + +@import "~/.config/rofi/config.rasi" + + +/* ---- Mainbox ---- */ +mainbox { + children: + [ "inputbar", "message", "listview"]; +} + +/* ---- Entry ---- */ +entry { + expand: true; + placeholder: " 🧮 Search Keybinds"; +} + +/* ---- Listview ---- */ +listview { + columns: 2; + lines: 8; + fixed-height: false; + scrollbar: true; + spacing: 6px; + cycle: true; +} + +window { + width: 90%; + height: inherit; +} + +/* ---- Elements ---- */ +element { + orientation: horizontal; +} + +element-icon { + size: 0%; +} + +element-text { + horizontal-align: 0.0; + vertical-align: 0.5; + margin: 0px; + padding: 0px; +} \ No newline at end of file diff --git a/rofi/config-kitty-theme.rasi b/rofi/config-kitty-theme.rasi new file mode 100644 index 0000000..f62fea1 --- /dev/null +++ b/rofi/config-kitty-theme.rasi @@ -0,0 +1,68 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Oh My ZSH Theme */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Configuration ---- */ +configuration { + modi: "drun"; +} + +/* ---- Window ---- */ +window { + width: inherit; + height: inherit; + border-radius: 15px; +} + +mainbox { + children: [ "inputbar" , "listview" ]; +} + +/* ---- Listbox ---- */ +listbox { + border-radius: 12px; +} + +/* ---- Inputbar ---- */ +inputbar { + padding: 14px; + border-radius: 10px; +} + +entry { + expand: true; + placeholder: " 🐾 Choose Kitty theme: Enter to Preview; CTRL S to Apply"; +} + +/* ---- Listview ---- */ +listview { + columns: 3; + lines: 4; + spacing: 4px; + border-radius: 10px; + cycle: true; +} + +/* ---- Element ---- */ +element { + orientation: horizontal; +} + +/* ---- Message ---- */ +message { + border-radius: 10px; +} + +textbox { + padding: 15px; +} + +/* ---- Element ---- */ +element-icon { + size: 0%; +} +element-text { + horizontal-align: 0.0; + margin: 5px 30px 5px 30px; +} diff --git a/rofi/config-rofi-Beats-menu.rasi b/rofi/config-rofi-Beats-menu.rasi new file mode 100644 index 0000000..47e14b0 --- /dev/null +++ b/rofi/config-rofi-Beats-menu.rasi @@ -0,0 +1,45 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Main config Rofi Beats Config menu */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Mainbox ---- */ +mainbox { + children: + [ "inputbar", "listview"]; +} + +/* ---- Entry ---- */ +entry { + expand: false; + width: 25%; + width: 25%; + placeholder: " 📻 Choose Music Source"; + horizontal-align: 0.5; + horizontal-align: 0.5; +} + +/* ---- Window ---- */ +window { + width: 28%; + height: inherit; +} + +/* ---- Listview ---- */ +listview { + fixed-columns: false; + scrollbar: false; + colums: 1; + lines: 4; + spacing: 6px; + cycle: true; +} + +/* ---- Element ---- */ +element-icon { + size: 0%; +} +element-text { + horizontal-align: 0.5; + +} \ No newline at end of file diff --git a/rofi/config-rofi-Beats.rasi b/rofi/config-rofi-Beats.rasi new file mode 100644 index 0000000..f2fb783 --- /dev/null +++ b/rofi/config-rofi-Beats.rasi @@ -0,0 +1,48 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Rofi Beats Config */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Window ---- */ +window { + width: inherit; + height: inherit; +} + +/* ---- Mainbox ---- */ +mainbox { + children: + [ "inputbar", "listview"]; +} + +/* ---- Entry ---- */ +entry { + placeholder: "📻 Choose Media or Stations to play"; +} + +/* ---- Listview ---- */ +listview { + columns: 2; + lines: 7; + fixed-height: false; + margin: 10px; + scrollbar: true; + spacing: 6px; + cycle: true; +} + +/* ---- Elements ---- */ +element { + orientation: horizontal; +} + +element-icon { + size: 0%; +} + +element-text { + horizontal-align: 0.0; + vertical-align: 0.5; + margin: 0px; + padding: 0px; +} \ No newline at end of file diff --git a/rofi/config-rofi-theme.rasi b/rofi/config-rofi-theme.rasi new file mode 100644 index 0000000..0d77f85 --- /dev/null +++ b/rofi/config-rofi-theme.rasi @@ -0,0 +1,65 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Main Config Rofi Theme */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Window ---- */ +window { + width: inherit; + height: inherit; +} + +/* ---- Mainbox ---- */ +mainbox { + children: [ "inputbar", "message", "listview" ]; +} + +/* ---- Custombox ---- */ +/* Override custombox to ensure listview is visible for themes that use it */ +custombox { + spacing: 0px; + background-color: inherit; + text-color: inherit; + orientation: vertical; + children: [ "listview" ]; +} + +/* ---- Entry input ---- */ +entry { + expand: true; + placeholder: " ⬇️ Select Which Rofi Theme wanted to apply"; +} + +/* ---- Listview ---- */ +listview { + columns: 2; + lines: 7; + fixed-height: false; + margin: 10px; + scrollbar: true; + spacing: 6px; + cycle: true; +} + +/* ---- Elements ---- */ +element-icon { + size: 0%; +} +element-text { + horizontal-align: 0.0; + vertical-align: 0.5; + margin: 0px; + padding: 0px; +} + +/* ---- Message ---- */ +message { + padding: 10px; + border-radius: 10px; + background-color: inherit; +} + +textbox { + text-color: inherit; + background-color: inherit; +} diff --git a/rofi/config-search.rasi b/rofi/config-search.rasi new file mode 100644 index 0000000..d0d8357 --- /dev/null +++ b/rofi/config-search.rasi @@ -0,0 +1,25 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Rofi Config for Google Search) */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Window ---- */ +window { + width: 40%; + //orientation: horizontal; + height: inherit; + y-offset: 10px; + location: north; + children: [ "entry", "message" ]; + border: 2px; + border-color: white/25%; +} + +/* ---- Entry ---- */ +entry { + expand: true; + placeholder: " 🔎 Google Search"; + horizontal-align: 0.5; + padding: 15px; + border-radius: inherit; +} diff --git a/rofi/config-wallpaper-effect.rasi b/rofi/config-wallpaper-effect.rasi new file mode 100644 index 0000000..1a61e29 --- /dev/null +++ b/rofi/config-wallpaper-effect.rasi @@ -0,0 +1,50 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Wallpaper Effects */ + +@import "~/.config/rofi/config.rasi" + + +/* ---- Mainbox ---- */ +mainbox { + children: + [ "inputbar", "listview"]; +} + +/* ---- Entry ---- */ +entry { + width: 32%; + placeholder: " 🏙️ Search / Choose desired wallpaper effect"; +} + +/* ---- Window ---- */ +window { + width: inherit; + height: inherit; +} + +/* ---- Listview ---- */ +listview { + columns: 2; + lines: 7; + fixed-height: false; + scrollbar: true; + spacing: 6px; + cycle: true; +} + +/* ---- Inputbar ---- */ +inputbar { + background-image: url("~/.config/hypr/wallpaper_effects/.wallpaper_modified", width); +} + +/* ---- Element ---- */ +element-icon { + size: 0%; +} + +element-text { + horizontal-align: 0.0; + vertical-align: 0.0; + margin: 0px; + padding: 0px; +} \ No newline at end of file diff --git a/rofi/config-wallpaper.rasi b/rofi/config-wallpaper.rasi new file mode 100644 index 0000000..3cd320a --- /dev/null +++ b/rofi/config-wallpaper.rasi @@ -0,0 +1,69 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Main Config (wallpaper) */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Configuration ---- */ +configuration { + modi: "drun"; +} + +window { + width: 75%; + height: inherit; +} + +/* ---- Mainbox ---- */ +mainbox { + children: + [ "inputbar", "listview"]; +} + +entry { + expand: true; + placeholder: " 🎞️ Search / Choose Wallpaper"; + horizontal-align: 0.5; + horizontal-align: 0.5; +} + +/* ---- Listview ---- */ +listview { + columns: 6; + lines: 2; + spacing: 20px; + padding: 10px; + columns: 6; + lines: 2; + flow: horizontal; + fixed-width: true; + fixed-height: true; + cycle: true; +} + +/* ---- Element ---- */ +element { + orientation: vertical; + padding: 0px; + spacing: 0px; + border-radius: 10px; + padding: 0px; + margin: 0px; +} + +element selected.normal { + background-color: transparent; +} + +element-icon { + text-color: inherit; + size: 10%; + margin: -30px; + cursor: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.5; + padding: 6px; + margin: 6px; +} \ No newline at end of file diff --git a/rofi/config-waybar-layout.rasi b/rofi/config-waybar-layout.rasi new file mode 100644 index 0000000..2b01b15 --- /dev/null +++ b/rofi/config-waybar-layout.rasi @@ -0,0 +1,48 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Main Config (Waybar Layout) */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Mainbox ---- */ +mainbox { + children: + [ "inputbar", "message", "listview"]; +} + +/* ---- Configuration ---- */ +configuration { + modi: "drun"; +} + +/* ---- Window ---- */ +window { + width: inherit; + height: inherit; +} + +/* ---- Entry ---- */ +entry { + expand: true; + placeholder: " 🖼️ Search / Choose Waybar Layout"; +} + +/* ---- Listview ---- */ +listview { + columns: 2; + lines: 7; + fixed-height: false; + margin: 10px; + scrollbar: true; + spacing: 6px; + cycle: true; +} + +/* ---- Elements ---- */ +element-icon { + size: 0%; +} +element-text { + horizontal-align: 0.0; + margin: 0px; + padding: 0px; +} \ No newline at end of file diff --git a/rofi/config-waybar-style.rasi b/rofi/config-waybar-style.rasi new file mode 100644 index 0000000..ce6a76a --- /dev/null +++ b/rofi/config-waybar-style.rasi @@ -0,0 +1,47 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Main Config (waybar style) */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Mainbox ---- */ +mainbox { + children: [ "inputbar", "message", "listview"]; +} + +/* ---- Configuration ---- */ +configuration { + modi: "drun"; +} + +/* ---- Window ---- */ +window { + width: inherit; + height: inherit; +} + +/* ---- Entry ---- */ +entry { + expand: true; + placeholder: " 🖼️ Search / Choose Waybar Style"; +} + +/* ---- Listview ---- */ +listview { + columns: 2; + lines: 7; + fixed-height: false; + margin: 10px; + scrollbar: true; + spacing: 6px; + cycle: true; +} + +/* ---- Elements ---- */ +element-icon { + size: 0%; +} +element-text { + horizontal-align: 0.0; + margin: 0px; + padding: 0px; +} diff --git a/rofi/config-zsh-theme.rasi b/rofi/config-zsh-theme.rasi new file mode 100644 index 0000000..75c4476 --- /dev/null +++ b/rofi/config-zsh-theme.rasi @@ -0,0 +1,68 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Oh My ZSH Theme */ + +@import "~/.config/rofi/config.rasi" + +/* ---- Configuration ---- */ +configuration { + modi: "drun"; +} + +/* ---- Window ---- */ +window { + width: inherit; + height: inherit; + border-radius: 15px; +} + +mainbox { + children: [ "inputbar" , "listview" ]; +} + +/* ---- Listbox ---- */ +listbox { + border-radius: 12px; +} + +/* ---- Inputbar ---- */ +inputbar { + padding: 14px; + border-radius: 10px; +} + +entry { + expand: true; + placeholder: " 🪟 Search / Choose ZSH theme"; +} + +/* ---- Listview ---- */ +listview { + columns: 3; + lines: 3; + spacing: 4px; + border-radius: 10px; + cycle: true; +} + +/* ---- Element ---- */ +element { + orientation: horizontal; +} + +/* ---- Message ---- */ +message { + border-radius: 10px; +} + +textbox { + padding: 15px; +} + +/* ---- Element ---- */ +element-icon { + size: 0%; +} +element-text { + horizontal-align: 0.0; + margin: 5px 30px 5px 30px; +} diff --git a/rofi/config.rasi b/rofi/config.rasi new file mode 100644 index 0000000..781e44c --- /dev/null +++ b/rofi/config.rasi @@ -0,0 +1,23 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* Ja KooLit - Default + +* All main themes or configs are located in ~/.config/rofi/themes/ +* If you want to edit the config, that is where you should edit NOT here + +* To load a new theme, manually edit the file path below or choose desired theme via rofi theme selector (choose via app menu) + +* Alternative way to Load (preferred) own cooked by Ja +* SUPER CTRL R - Choose style & SUPER CTRL SHIFT R + +* TIPS +* If you have edited a config, rename it with a unique name. During update, the contents of +* ~/.config/rofi/themes/ will be replaced. */ + +/* ---- Global Configuration Fonts ---- */ +@import "~/.config/rofi/0-shared-fonts.rasi" + +/* note: Main themes in ~/.config/rofi/themes */ +/* You can manually change here or you can use rofi theme selector SUPER SHIFT E */ + + +@theme "~/.config/rofi/themes/KooL_style-4.rasi" diff --git a/rofi/themes/KooL_LonerOrZ.rasi b/rofi/themes/KooL_LonerOrZ.rasi new file mode 100644 index 0000000..0c8ce89 --- /dev/null +++ b/rofi/themes/KooL_LonerOrZ.rasi @@ -0,0 +1,198 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Style LonerOrZ */ +/* Submitted by https://github.com/lonerOrz */ +/* Edited by Ja */ + + + +configuration { + show-icons: true; + display-drun: ""; + drun-display-format: "{icon} {name}"; + disable-history: false; + click-to-exit: true; + location: 0; +} + +/*****----- Global Properties -----*****/ +* { + font: "Iosevka 12"; + + BG: #1E1D2Fff; + BGA: #89DCEBff; + FG: #D9E0EEff; + FGA: #F28FADff; + BDR: #96CDFBff; + SEL: #1E1E2Eff; + UGT: #F28FADff; + IMG: #FAE3B0ff; + OFF: #575268ff; + ON: #ABE9B3ff; +} + +window { + transparency: "real"; + background-color: @BG; + text-color: @FG; + border: 2px; + border-color: @BDR; + border-radius: 10px; + width: 25%; + anchor: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 8px; + background-color: @BG; + text-color: @IMG; +} + +textbox-prompt-colon { + expand: false; + str: ""; + border-radius: 100%; + background-color: @SEL; + text-color: @FG; + padding: 8px 12px 8px 12px; + font: "Iosevka Nerd Font 10"; +} + +entry { + background-color: @BG; + text-color: @FG; + placeholder-color: @FG; + expand: true; + horizontal-align: 0; + placeholder: "Search 👀 NOTE: CTRL TAB to change MODE"; + blink: true; + border: 0px 0px 2px 0px; + border-color: @BDR; + border-radius: 10px; + padding: 8px; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @BG; + text-color: @FG; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @BDR; + margin: 0px 0px 0px 0px; + padding: 0px; + position: center; +} + +case-indicator { + background-color: @BG; + text-color: @FG; + spacing: 0; +} + + +listview { + background-color: @BG; + columns: 1; + lines: 7; + spacing: 4px; + cycle: false; + dynamic: true; + layout: vertical; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 10px; + background-color: transparent; + handle-color: @BDR; + handle-width: 2px ; + padding: 0; +} + +mainbox { + background-color: @BG; + children: [ inputbar, message, listview ]; + spacing: 15px; + padding: 15px; +} + +element { + background-color: @BG; + text-color: @FG; + orientation: horizontal; + border-radius: 4px; + padding: 12px; +} + +element-icon { + background-color: inherit; + text-color: inherit; + horizontal-align: 0.5; + vertical-align: 0.5; + size: 24px; + border: 0px; +} + +element-text { + background-color: inherit; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 2px 0px 2px 2px; +} + + +element normal.urgent, +element alternate.urgent { + background-color: @UGT; + text-color: @FG; + border-radius: 9px; +} + +element normal.active, +element alternate.active { + background-color: @BGA; + text-color: @FG; +} + +element-text selected, +element selected { + background-color: @BGA; + text-color: @SEL; + border: 0px 0px 0px 0px; + border-radius: 10px; + border-color: @BDR; +} + +element selected.urgent { + background-color: @UGT; + text-color: @FG; +} + +element selected.active { + background-color: @BGA; + color: @FG; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0px; +} +error-message { + padding: 20px; +} +textbox { + padding: 10px; + border-radius: 10px; + background-color: @BDR; + text-color: @SEL; + vertical-align: 0.5; + horizontal-align: 0.5; +} diff --git a/rofi/themes/KooL_style-1.rasi b/rofi/themes/KooL_style-1.rasi new file mode 100644 index 0000000..89bb959 --- /dev/null +++ b/rofi/themes/KooL_style-1.rasi @@ -0,0 +1,242 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 1 */ + +/* ---- Configuration ---- */ + +configuration { + modi: "drun,run,filebrowser"; + show-icons: true; + display-drun: "  apps"; + display-run: "  term"; + display-filebrowser: "  files"; + display-window: "  window"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/* ---- Load wallust colors ---- */ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + +/* ---- Global Properties ---- */ +* { + background-alt: @color1; + selected: @color12; + active: @color11; + urgent: red; + + text-selected: @background; + text-color: @foreground; + border-color: @selected; +} + +/* ---- Window ---- */ +window { + // Default + enabled: true; + fullscreen: false; + transparency: "real"; + cursor: "default"; + spacing: 0px; + border: 3px 0px 3px 0px; + border-radius: 30px; + location: center; + anchor: center; + + // Style Values + width: 50%; + background-color: @background; +} + +/* ----- Main Box ----- */ +mainbox { + padding: 12px; + enabled: true; + orientation: vertical; + children: [ "inputbar", "listbox" ]; + background-color: transparent; +} + + +/* ---- Inputbar ---- */ +inputbar { + enabled: true; + padding: 10px 10px 50px 10px; + margin: 10px; + background-color: transparent; + border-radius: 20px; + orientation: horizontal; + children: ["entry", "dummy", "mode-switcher" ]; + background-image: url("~/.config/rofi/.current_wallpaper", width); +} + +/* ---- Entry input ---- */ +entry { + enabled: true; + expand: false; + width: 20%; + padding: 10px; + border-radius: 12px; + background-color: @active; + text-color: @text-selected; + cursor: text; + placeholder: " 🖥️ Search "; + placeholder-color: inherit; +} + +/* ---- Listbox ---- */ +listbox { + spacing: 10px; + padding: 10px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/* ---- Listview ---- */ +listview { + enabled: true; + columns: 5; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + spacing: 10px; + background-color: transparent; + margin: 10px; + text-color: @foreground; + +// Adapt rofi theme + border: 0px; +} + +/* ---- Dummy ---- */ +dummy { + expand: true; + background-color: transparent; +} + +/* ---- Mode Switcher ---- */ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; +} +button { + width: 5%; + padding: 12px; + border-radius: 12px; + background-color: @text-selected; + text-color: @text-color; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @text-selected; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 10px; + border-color: @color12; + handle-color: @color11; + handle-width: 2px ; + padding: 0; +} + +/* ---- Elements ---- */ +element { + enabled: true; + orientation: vertical; + padding: 10px; + spacing: 10px; + border-radius: 12px; + background-color: transparent; + cursor: pointer; +} + +element-text selected, +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} + +element selected.normal { + border: 0px 3px 0px 3px; + border-radius: 16px; + border-color: @active; + background-color: transparent; + text-color: @selected; +} + +element selected.urgent { + background-color: @urgent; + text-color: @text-selected; +} +element selected.active { + background-color: @urgent; + text-color: @text-selected; +} +// Adapt rofi theme +element alternate.normal { + background-color: transparent; + text-color: inherit; +} +element alternate.urgent { + background-color: transparent; + text-color: inherit; +} +element alternate.active { + background-color: transparent; + text-color: inherit; +} +element-icon { + size: 3%; + background-color: transparent; + text-color: inherit; + cursor: inherit; +} +element-text { + size: 1%; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/* ---- Message ---- */ +message { + background-color: transparent; + border: 0px; +} +textbox { + margin: 10px; + padding: 12px; + border-radius: 10px; + background-color: @active; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.5; +} +error-message { + padding: 12px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/rofi/themes/KooL_style-10-Fancy-v2.rasi b/rofi/themes/KooL_style-10-Fancy-v2.rasi new file mode 100644 index 0000000..654428b --- /dev/null +++ b/rofi/themes/KooL_style-10-Fancy-v2.rasi @@ -0,0 +1,176 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 10 - Fancy v2 */ +/* Credit to DaveDavenport & Rasmus Steinke */ + +/* global settings and color variables */ +* { + blue: #A7c6E2; + blue-trans: #A7c6e2aa; + darkblue: #005F87; + green: #00330088; + black: #000000; + grey: #444444; + orange: #FFD391; + dark-orange: #FFA664; + light-grey: #F5F5F5; + medium-grey: #D0D0D0; + dark-grey: #002B36; + urgent: #D75F00; + active: #005F87; + transparent: #000000aa; + spacing: 0em; + padding: 0px; + background-color: white; + line-style: "none"; +} + +prompt-box { + background-color : transparent; +} + +prompt { + background-color : transparent; + text-color : white; +} + +window { + border : 2px; + border-radius : 12px; + border-color : black; + background-color : transparent; + color : @grey; +} +mainbox { + background-color : @blue-trans; + color : @grey; + spacing : 0%; +} + +listview { + // Looks. + border-radius : 10px; + border : 5px; + padding : 20px; + margin : 20px 30px 30px 30px; + background-color : @orange; + // Enable scrollbar + scrollbar : false; + scrollbar-width : 5px; + fixed-height : true; + reverse : false; + color : #000000; + spacing : 0.3em; +} +/* ---- Scrollbar ---- */ +scrollbar { + border : 0px; + border-radius : 10px; + background-color: @blue; + handle-color : @orange; + handle-width : 2px ; + padding : 0; +} +element { + border: 0px; + padding: 5px; + margin: 0px; + spacing: 0.5em; + color: @black; + background-color: @blue; + children: [ element-icon, element-text ]; +} + +element normal.normal { + color: @black; + background-color: @orange; +} +element normal.urgent { + color: @urgent; + background-color: @light-grey; +} +element normal.active { + color: @active; + background-color: @light-grey; +} + +element-text selected, +element selected.normal { + border-radius: 10px; + color: @black; + background-color: @dark-orange; +} +element selected.urgent { + color: @light-grey; + background-color: @urgent; +} +element selected.active { + color: @light-grey; + background-color: @active; +} +element alternate.normal { + color: @black; + background-color: @orange; +} +element alternate.urgent { + color: @urgent; + background-color: @medium-grey; +} +element alternate.active { + color: @active; + background-color: @medium-grey; +} + +inputbar { + spacing : 5px; + background-color : #88003300; + border : 0px 0px 2px 0px; + border-radius : 0px; + padding : 5px 10px 5px 35px; + background-color : #00330088; + color : @black; + end : false; +} + +separator { + background-color : @blue; + color : #00000000; +} +prompt normal.normal { + background-color : #00000000; + color : #ffffff; + padding : 0px; +} +entry normal.normal { + background-color : #00000000; + color : #ffffff; + padding : 0px; +} +case-indicator normal.normal { + background-color : #00000000; + color : #ffffff; + padding : 0px; +} + +message { + margin : 30px; + padding : 20px 30px 20px 20px; + padding : 20px ; + border-radius : 10px; + border : 5px; +} + +textbox { + vertical-align: 0.5; + horizontal-align: 0.5; +} + +prompt-colon { + spacing : 0; + enabled : false; +} + +element-text, element-icon { + background-color : inherit; + text-color : inherit; + foreground-color : inherit; +} diff --git a/rofi/themes/KooL_style-10-Fancy.rasi b/rofi/themes/KooL_style-10-Fancy.rasi new file mode 100644 index 0000000..195cd70 --- /dev/null +++ b/rofi/themes/KooL_style-10-Fancy.rasi @@ -0,0 +1,295 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 10 - Fancy */ +/* Credit to DaveDavenport. I have only some few things changed */ + +/* ---- Configuration ---- */ + +configuration { + modi: "drun,run,filebrowser"; + show-icons: true; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +* { + selected-normal-foreground: rgba ( 248, 248, 242, 100 % ); + foreground: rgba ( 248, 248, 242, 100 % ); + normal-foreground: @foreground; + alternate-normal-background: rgba ( 39, 40, 34, 0 % ); + selected-urgent-foreground: rgba ( 248, 248, 242, 100 % ); + urgent-foreground: rgba ( 249, 38, 114, 100 % ); + alternate-urgent-background: rgba ( 39, 40, 34, 0 % ); + active-foreground: rgba ( 166, 226, 42, 100 % ); + lightbg: rgba ( 238, 232, 213, 100 % ); + selected-active-foreground: rgba ( 166, 226, 42, 100 % ); + alternate-active-background: rgba ( 39, 40, 34, 0 % ); + background: rgba ( 39, 40, 34, 93 % ); + bordercolor: rgba ( 0, 43, 54, 100 % ); + alternate-normal-foreground: @foreground; + normal-background: rgba ( 39, 40, 34, 0 % ); + selected-normal-background: rgba ( 20, 20, 17, 100 % ); + separatorcolor: rgba ( 230, 219, 116, 100 % ); + urgent-background: rgba ( 39, 40, 34, 0 % ); + selected-urgent-background: rgba ( 249, 38, 114, 100 % ); + alternate-urgent-foreground: @urgent-foreground; + background-color: transparent; + alternate-active-foreground: @active-foreground; + active-background: rgba ( 39, 40, 34, 0 % ); + selected-active-background: rgba ( 20, 20, 17, 100 % ); +} + +window { + border-color: darkgray/30%; + background-color: black/50%; + border: 2px; + padding: 0px; + border-radius: 10px; + padding: 0.5em; + spacing: 0px; + + anchor: north; + location: center; + y-offset: -15.5em; + + + children: [ inputbar, message, wrapper-mode-switcher, listview , pagerbox ]; +} + +pagerbox { + expand: false; + orientation: horizontal; + children: [ icon-left, pad, icon-right ]; +} + +pad { + expand: true; +} + +icon-left { + expand: false; + filename: "go-previous"; + size: 24; + vertical-align: 0.5; + action: "kb-page-prev"; +} + +icon-right { + expand: false; + filename: "go-next"; + size: 24; + vertical-align: 0.5; + action: "kb-page-next"; +} + +wrapper-mode-switcher { + orientation: horizontal; + + expand: false; + spacing: 0; + children: [ icon-ms-ic1, mode-switcher, icon-ms-ic2 ]; +} +icon-ms-ic1 { + filename: "go-previous"; +} +icon-ms-ic2 { + filename: "go-next"; +} +icon-ms-ic1,icon-ms-ic2 { + size: 16; + vertical-align: 0.8; + expand: false; + border: 0px 0px 2px ; + border-color: @separatorcolor; +} + +mode-switcher { + border: 0px; + spacing: 0px; + expand: true; +} + +button { + padding: 2px; + border: 0px 0px 2px ; + border-color: @separatorcolor; + text-color: dimgrey; +} +button selected.normal { + text-color: white; + background-color: black/50%; + + border: 2px 2px 0px ; + border-color: @separatorcolor; + border-radius: 10px 10px 0 0; +} + + +sidebar { + expand: false; +} + +message { + text-color: black; + background-color: lightgrey / 50%; + border-color: grey; + border: 2px; + border-radius: 5px; + padding: 4px; + margin: 0px 0px 0.5em; + expand: false; +} + +listview { + enabled: true; + columns: 2; + lines: 6; + spacing: 2px ; + scrollbar: false; + padding: 0.5em; + background-color: black/50%; + + expand: true; + border: 0px 2px 2px ; + border-color: @separatorcolor; + border-radius: 0px 0px 10px 10px; +} +element { + border: 1; + border-color: transparent; + padding: 12px ; +} +element-text { + background-color: inherit; + text-color: inherit; +} +element.normal.normal { + background-color: @normal-background; + text-color: @normal-foreground; +} +element.normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} +element.normal.active { + background-color: @active-background; + text-color: @active-foreground; +} +element.selected.normal { + border: 1; + border-color: grey/80%; + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +element.selected.urgent { + border: 1; + border-color: grey/80%; + background-color: @selected-urgent-background; + text-color: @selected-urgent-foreground; +} +element.selected.active { + border: 1; + border-color: grey/80%; + background-color: @selected-active-background; + text-color: @selected-active-foreground; +} +element.alternate.normal { + background-color: @alternate-normal-background; + text-color: @alternate-normal-foreground; +} +element.alternate.urgent { + background-color: @alternate-urgent-background; + text-color: @alternate-urgent-foreground; +} +element.alternate.active { + background-color: @alternate-active-background; + text-color: @alternate-active-foreground; +} + +element-text selected { + background-color: @selected-active-background; + text-color: @selected-active-foreground; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 10px; + background-color: @selected-normal-background; + handle-color: @separatorcolor; + handle-width: 2px ; + padding: 0; +} +sidebar { + border: 2px 0px 0px ; + border-color: @separatorcolor; +} +inputbar { + text-color: @normal-foreground; + padding: 0px 0px 0.5em; + children: [ wrapper ]; +} +case-indicator { + text-color: @normal-foreground; +} + +wrapper { + orientation: horizontal; + text-color: black; + background-color: white / 75%; + border-color: grey; + border: 2px; + border-radius: 5px; + padding: 4px; + children: [ icon-k, entry, icon-paste]; + spacing: 0.5em; +} +button-paste { + expand: false; + str: "gtk-paste"; + size: 24; + vertical-align: 0.5; + action: "kb-cancel"; +} +icon-paste { + expand: false; + filename: "gtk-paste"; + size: 24; + vertical-align: 0.5; + action: "kb-primary-paste"; +} +icon-k { + expand: false; + filename: "input-keyboard"; + size: 24; + vertical-align: 0.5; + +} +entry { + enabled: true; + expand: true; + background-color: white / 75%; + placeholder: " 🖥️ Search "; + vertical-align: 0.5; + border-radius: 5px; + padding: 4px; +} + + +/*****----- Message -----*****/ +error-message { + background-color: darkred/20%; + border-radius: 10px; + border: 2px; + +} +textbox { + padding: 5px; + background-color: darkred/10%; + vertical-align: 0.5; + horizontal-align: 0.5; +} + + diff --git a/rofi/themes/KooL_style-11-Win11-list-dark.rasi b/rofi/themes/KooL_style-11-Win11-list-dark.rasi new file mode 100644 index 0000000..c784381 --- /dev/null +++ b/rofi/themes/KooL_style-11-Win11-list-dark.rasi @@ -0,0 +1,149 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 11 - Windows 11 List Dark */ +/* source: https://github.com/newmanls */ + +/* Integrating Wallust and More tweaks */ + +/* ---- Configuration ---- */ +configuration { + show-icons: true; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/*****----- Global Properties -----*****/ +* { + bg0 : black/50%; + bg1 : black/40%; + bg2 : black/10%; + bg3 : black; + fg0 : #ffffff; + fg1 : #cecece; + accent : #60cdff; + urgent : @accent; + + background-color : transparent; + text-color : @fg0; + + margin : 0; + padding : 0; + spacing : 0; +} + + +element-icon, element-text, scrollbar { + cursor: pointer; +} + +window { + location : south; + width : 40%; + height : 50%; + y-offset : -10px; + + background-color : @bg1; + border-radius : 8px; +} + +mainbox { + padding : 24px; + spacing : 24px; +} + +inputbar { + padding : 8px; + spacing : 4px; + children : [ icon-search, entry ]; + border : 0 0 2px 0 solid; + border-color : @accent; + border-radius : 2px; + background-color : @bg0; +} + +icon-search, entry, element-icon, element-text { + vertical-align: 0.5; +} + +icon-search { + expand : false; + filename : "search-symbolic"; + size : 24px; +} + +entry { + placeholder : "Search 👀 NOTE: CTRL TAB to change MODE"; + text-color : @fg1; + horizontal-align : 0.5; +} + +listview { + columns : 2; + spacing : 8px; + fixed-height : true; + fixed-columns : true; +} + +element { + spacing : 1em; + padding : 20px; + border-radius : 2px; +} + +element normal urgent { + text-color: @urgent; +} + +element normal active { + text-color: @accent; +} + +element alternate active { + text-color: @accent; +} + +element selected active { + text-color: @accent; +} + +element-text selected, +element selected { + background-color: @bg3; + padding: 20px; + border-radius: 12px; +} + +element selected urgent { + background-color: @urgent; +} + +element-icon { + size: 1.5em; +} + +element-text { + text-color: inherit; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 10px; + background-color: inherit; + handle-color: @accent; + handle-width: 2px ; + padding: 0; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; +} + +textbox { + padding : 10px; + background-color : @bg0; + text-color : @fg0; + vertical-align : 0.5; + horizontal-align : 0.5; +} diff --git a/rofi/themes/KooL_style-11-Win11-list-light.rasi b/rofi/themes/KooL_style-11-Win11-list-light.rasi new file mode 100644 index 0000000..b640dda --- /dev/null +++ b/rofi/themes/KooL_style-11-Win11-list-light.rasi @@ -0,0 +1,150 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 11 - Windows 11 List Light */ +/* source: https://github.com/newmanls */ + +/* Integrating Wallust and More tweaks */ + +/* ---- Configuration ---- */ +configuration { + show-icons: true; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/*****----- Global Properties -----*****/ +* { + bg0 : #ffffff80; + bg1 : #f9f9f9bf; + bg2 : #f7f7f7; + bg3 : #fefefebf; + fg0 : #1a1a1a; + fg1 : #5f5f5f; + accent : #005fb8; + urgent : @accent; + + background-color: transparent; + text-color : @fg0; + + margin : 0; + padding : 0; + spacing : 0; +} + +element-icon, element-text, scrollbar { + cursor: pointer; +} + +window { + location : south; + width : 40%; + height : 50%; + y-offset : -10px; + + background-color : @bg1; + border-radius : 8px; +} + +mainbox { + padding : 24px; + spacing : 24px; +} + +inputbar { + padding : 8px; + spacing : 4px; + children : [ icon-search, entry ]; + border : 0 0 2px 0 solid; + border-color : @accent; + border-radius : 2px; + background-color : @bg0; +} + +icon-search, entry, element-icon, element-text { + vertical-align: 0.5; + background-color : transparent; +} + +icon-search { + expand : false; + filename : "search-symbolic"; + size : 24px; +} + +entry { + placeholder : "Search 👀 NOTE: CTRL TAB to change MODE"; + text-color : @fg1; + horizontal-align : 0.5; + background-color : transparent; +} + +listview { + columns : 2; + spacing : 8px; + fixed-height : true; + fixed-columns : true; +} + +element { + spacing : 1em; + padding : 8px; + border-radius : 2px; +} + +element normal urgent { + text-color: @urgent; +} + +element normal active { + text-color: @accent; +} + +element alternate active { + text-color: @accent; +} + +element selected active { + text-color: @accent; +} + +element-text selected, +element selected normal { + background-color: @bg0; + text-color: @accent; + padding: 20px; + border-radius: 12px; +} + +element selected urgent { + background-color: @urgent; +} + +element-icon { + size: 1.5em; +} + +element-text { + text-color: inherit; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 10px; + background-color: inherit; + handle-color: @accent; + handle-width: 1px ; + padding: 0; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; +} + +textbox { + padding : 10px; + text-color : @fg0; + vertical-align : 0.5; + horizontal-align : 0.5; +} diff --git a/rofi/themes/KooL_style-12-TOP-Docu.rasi b/rofi/themes/KooL_style-12-TOP-Docu.rasi new file mode 100644 index 0000000..fe80019 --- /dev/null +++ b/rofi/themes/KooL_style-12-TOP-Docu.rasi @@ -0,0 +1,157 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 12 - TOP - Docu */ +/* Credit to DaveDavenport. I have only some few things changed */ + +/** + * ROFI Documentation theme. + * User: Qball + * Copyright: Dave Davenport + */ + +configuration { + modi: "drun,run,filebrowser"; + show-icons: true; + display-drun: "  "; + display-run: "  "; + display-filebrowser: "  "; + display-window: "  "; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/* ---- Global Properties ---- */ +* { + background-color: transparent; + text-color: white; +} +entry { + border: 2px 0px; + border-color: darkgrey; + background-color: grey; + padding: 12px; + placeholder: "🔎 Search"; + placeholder-color: darkgrey; + cursor: text; +} + +inputbar { + spacing: 0; + children: [ icon-keyboard, entry, mode-switcher ]; +} + +mode-switcher { + spacing: 10px; + border: 2px; + border-radius: 0px 4px 4px 0px; + border-color: darkgrey; + background-color: darkgrey; +} + +button { + padding: 0px 60px 0px 60px; + background-color: grey; + border-color: darkgrey; + cursor: pointer; +} + +button selected { + background-color: white/20%; + text-color: black; +} + +icon-keyboard { + border: 2px 0px 2px 2px; + border-radius: 4px 0px 0px 4px; + border-color: darkgrey; + background-color: grey; + padding: 0px 10px 0px 10px; + expand: false; + size: 1.2em; + filename: "keyboard"; +} + +window { + anchor: north; + location: north; + y-offset: 10px; + width: 100%; + background-color: black / 50%; + padding: 0.5em; + border-color: black; + border: 0em 0.2em 0.2em; + chilren: [ inputbar, message, listview ]; +} + +mainbox { + spacing: 1em; +} + + +listview { + lines: 4; + columns: 6; + spacing: 1em; + fixed-columns: true; +} + +element { + orientation: vertical; + border: 2px; + border-radius: 4px ; + border-color: darkgrey; + background-color: grey; + cursor: pointer; + padding: 20px; +} + +element-text selected, +element selected { + background-color: inherit; + text-color: inherit; + padding: 20px; +} + + +element-icon { + size: 5%; + cursor: inherit; +} + +element-text { + horizontal-align: 0.5; + cursor: inherit; +} + + +/* ---- Scrollbar ---- */ +scrollbar { + border-radius: 10px; + background-color: transparent; + handle-color: darkgrey; + handle-width: 2px ; + padding: 0; +} + +/* ---- Message ---- */ +message { + background-color: transparent; + border: 0px; +} +textbox { + margin: 10px; + padding: 12px; + border-radius: 10px; + background-color: black / 50%; + text-color: white; + vertical-align: 0.5; + horizontal-align: 0.5; +} +error-message { + padding: 12px; + border-radius: 20px; + background-color: black / 50%; + text-color: white; +} \ No newline at end of file diff --git a/rofi/themes/KooL_style-13-Vertical.rasi b/rofi/themes/KooL_style-13-Vertical.rasi new file mode 100644 index 0000000..1e7f833 --- /dev/null +++ b/rofi/themes/KooL_style-13-Vertical.rasi @@ -0,0 +1,271 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL_Style 13 (thin) */ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,run,filebrowser"; + font: "Fira Code SemiBold 12"; + show-icons: true; + display-drun: " "; + display-run: " "; + display-filebrowser: ""; + display-window: " "; + drun-display-format: "{name}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} +/* ---- Load wallust colors ---- */ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + +/* ---- Global Properties ---- */ +* { + background-alt: @color10; + selected: @color12; + active: @color11; + urgent: red; + + text-selected: @background; + text-color: @foreground; + border-color: @selected; +} + +/* ---- Window ---- */ +window { + width: 15%; + height: 80%; + x-offset: 8px; + y-offset: 0px; + spacing: 0px; + padding: 0px; + margin: 0px; + border: 2px; + border-color: @border-color; + cursor: "default"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: 12px; + background-color: rgba(0, 0, 0, 0.6); +} + +/* ---- Mainbox ---- */ +mainbox { + enabled: true; + orientation: vertical; + padding: 0px; + background-color: rgba(0, 0, 0, 0.1); + children: [ "inputbar", "imagebox" ]; + border-radius: 12px; +} + +/* ---- Imagebox ---- */ +imagebox { + background-color: transparent; + orientation: vertical; + children: [ "mode-switcher", "listbox"]; +} + +/* ---- Listbox ---- */ +listbox { + spacing: 5px; + orientation: vertical; + children: [ "message", "listview" ]; + padding: 6px; + border-radius: 12px; + border: 0px; + border-color: @border-color; + background-color: transparent; +} + +/* ---- Dummy ---- */ +dummy { + background-color: transparent; +} + +/* ---- Inputbar ---- */ +inputbar { + enabled: true; + text-color: @foreground; + spacing: 10px; + padding: 30px; + border-radius: 10px; + border-color: @border-color; + background-color: @background; + background-image: url("~/.config/rofi/.current_wallpaper", width); + children: [ "textbox-prompt-colon","entry" ]; + border: 0px; +} + +textbox-prompt-colon { + enabled: true; + padding: 6px 0px 6px 10px; + expand: false; + str: "⁉️"; + text-color: inherit; + background-color: transparent; +} + +entry { + enabled: true; + padding: 6px 0px 0px 0px; + text-color: @foreground; + cursor: text; + border-radius: 12px; + placeholder: "Type to search"; + placeholder-color: inherit; + background-color: @background; + horizontal-align: 0.5; +} + +/* ---- Mode Switcher ---- */ +mode-switcher{ + orientation: horizontal; + enabled: true; + padding: 8px; + spacing: 12px; + background-color: transparent; + text-color: @foreground; +} + +button { + padding: 10px; + border-radius: 10px; + background-color: @background; + text-color: inherit; + cursor: pointer; + border: 1px; + border-color: @border-color; +} + +button selected { + background-color: @active; + text-color: @foreground; + border: 1px; + border-color: @background; + +} + +/* ---- Listview ---- */ +listview { + enabled: true; + columns: 1; + lines: 10; + spacing: 0px; + dynamic: true; + cycle: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: false; + fixed-columns: true; + background-color: transparent; + cursor: "default"; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 10px; + background-color: transparent; + handle-color: @active; + handle-width: 2px ; + padding: 0; +} + +/* ---- Element ---- */ +element { + enabled: true; + padding: 15px; + spacing: 10px; + cursor: pointer; + background-color: transparent; + border-radius: 10px; + border: 0px; +} + +element normal.normal { + background-color: inherit; + text-color: @foreground; +} + +element normal.urgent { + background-color: inherit; + text-color: @foreground; +} + +element normal.active { + background-color: inherit; + text-color: @foreground; +} + +element-text selected, +element selected.normal { + background-color: @active; + text-color: @foreground; +} + +element selected.urgent { + background-color: inherit; + text-color: @foreground; +} + +element selected.active { + background-color: inherit; + text-color: @foreground; +} + +element alternate.normal { + background-color: inherit; + text-color: @foreground; +} + +element alternate.urgent { + background-color: inherit; + text-color: @foreground; +} + +element alternate.active { + background-color: inherit; + text-color: @foreground; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 30px; + cursor: inherit; +} + +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: @background-alt; + margin: 10px; + border-radius: 12px; +} + +textbox { + padding: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +error-message { + padding: 15px; + border-radius: 12px; + background-color: @background-alt; + text-color: @foreground; +} diff --git a/rofi/themes/KooL_style-14.rasi b/rofi/themes/KooL_style-14.rasi new file mode 100644 index 0000000..a766cb9 --- /dev/null +++ b/rofi/themes/KooL_style-14.rasi @@ -0,0 +1,188 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 14 */ + +/* original design from: https://github.com/adi1090x/rofi */ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: "Applications"; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + +/*****----- Global Properties -----*****/ +* { + background-alt: @color0; + selected: @color13; + active: @color12; + urgent: #8E3596; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 40%; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 2px 0px 2px 0px; + border-radius: 16px; + border-color: @active; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 16px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + padding: 12px; + border-radius: 16px; + background-color: @active; + text-color: @background; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 12px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search 👀 NOTE: CTRL TAB to change MODE"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 16px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background-alt; + text-color: @foreground; +} +element alternate.normal { + background-color: @background-alt; + text-color: @foreground; +} +element selected.normal { + border: 0px 5px 0px 5px; + border-radius: 16px; + border-color: @selected; + background-color: @background-alt; + text-color: @selected; +} +element-icon { + padding: 0px 0px 0px 10px; + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + padding: 10px; + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 16px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @active; + padding: 10px; + border-radius: 16px; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + highlight: none; +} diff --git a/rofi/themes/KooL_style-15-solarized.rasi b/rofi/themes/KooL_style-15-solarized.rasi new file mode 100644 index 0000000..00a5385 --- /dev/null +++ b/rofi/themes/KooL_style-15-solarized.rasi @@ -0,0 +1,141 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 15 */ +/* original design: https://github.com/arkboix/dotfiles */ + + +configuration { + modi: "drun,run,filebrowser"; + show-icons: true; + display-drun: "  "; + display-run: "  "; + display-filebrowser: "  "; + display-window: "  "; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +* { + base03: #002b36; + base02: #073642; + base01: #586e75; + base00: #657b83; + base0: #839496; + base1: #93a1a1; + base2: #eee8d5; + base3: #fdf6e3; + yellow: #b58900; + orange: #cb4b16; + red: #dc322f; + magenta: #d33682; + violet: #6c71c4; + blue: #268bd2; + cyan: #2aa198; + green: #859900; + + background-color: transparent; +} + +window { + transparency: "real"; + background-color: #002b36E6; + width: 60%; + border-radius: 12px; + padding: 2% 2%; +} + +mainbox { + background-color: transparent; + children: [ inputbar, message, listview ]; + spacing: 20px; +} + +inputbar { + background-color: @base02; + border-radius: 6px; + padding: 10px; + spacing: 10px; + children: [ entry ]; +} + +prompt { + text-color: @red; +} + +entry { + placeholder: "Search 👀 NOTE: CTRL TAB to change MODE"; + placeholder-color: @base01; + text-color: @red; +} + +listview { + background-color: transparent; + columns: 5; + lines: 4; + fixed-height: false; + dynamic: true; + cycle: false; + scrollbar: false; + layout: vertical; + spacing: 10px; +} + +element { + background-color: @base02; + orientation: vertical; + border-radius: 6px; + padding: 15px 10px; +} + +element-icon { + size: 3%; + horizontal-align: 0.5; +} + +element-text { + text-color: @base00; + horizontal-align: 0.5; + vertical-align: 0.5; +} + +element selected { + border: 0px 3px 0px 3px; + border-radius: 16px; + border-color: @red; + background-color: @base03; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 10px; + border-color: transparent; + handle-color: @green; + handle-width: 2px ; + padding: 0; +} + +/*****----- Message -----*****/ +message { + background-color: @base00; + border-radius: 12px; +} +error-message { + padding: 6px; + border: 2px solid; + border-radius: 12px; + border-color: @base3; + background-color: @base03; + text-color: @red; +} +textbox { + padding: 6px; + border-radius: 12px; + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + highlight: none; +} \ No newline at end of file diff --git a/rofi/themes/KooL_style-2-Dark.rasi b/rofi/themes/KooL_style-2-Dark.rasi new file mode 100644 index 0000000..3ae384f --- /dev/null +++ b/rofi/themes/KooL_style-2-Dark.rasi @@ -0,0 +1,188 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 2 Dark */ +/* Source: https://github.com/adi1090x/rofi */ + + +/* ****----- Configuration -----**** */ +configuration { + modi: "drun,filebrowser,window"; + show-icons: true; + display-drun: "  apps"; + display-run: "  term"; + display-filebrowser: "  files"; + display-window: "  window"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/*****----- Global Properties -----*****/ +* { + +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 60%; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border-radius: 12px; + cursor: "default"; + background-color: transparent; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 10px; + padding: 15px; + border-radius: 12px; + background-color: black/90%; + children: [ "inputbar", "mode-switcher", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 20px 0px 20px 0px; + border: 0px 0px 2px 0px; + border-radius: 0px; + border-color: gray/20%; + background-color: black/50%; + children: [ "entry" ]; +} + +entry { + enabled: true; + background-color: black/50%; + text-color: white/75%; + cursor: text; + placeholder: "Type to search"; + placeholder-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 40px; + margin: 0px; + padding: 0px; + border: 0px solid; + background-color: transparent; + cursor: "default"; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 1px; + border-radius: 10px; + background-color: inherit; + handle-color: #719DF9; + handle-width: 2px ; + padding: 0; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 10px; + padding: 20px; + border: 1px solid; + border-radius: 8px; + border-color: white/30%; + background-color: black; + text-color: white; + cursor: pointer; +} +element normal.active { + background-color: #67FF80; + text-color: black; +} + +element-text selected, +element selected.normal { + background-color: #c19419; + text-color: black; +} +element selected.active { + background-color: #FF7F7C; + text-color: white; +} +element-icon { + background-color: transparent; + size: 48px; + cursor: inherit; +} +element-text { + background-color: inherit; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + expand: false; + spacing: 20px; + margin: 0px 10%; + background-color: transparent; + text-color: white; +} +button { + padding: 6px; + border: 0px solid; + border-radius: 100%; + background-color: #719DF9; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: #F37277; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0px; +} +error-message { + padding: 20px; +} +textbox { + padding: 10px; + background-color: #719DF9; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} \ No newline at end of file diff --git a/rofi/themes/KooL_style-2-Light.rasi b/rofi/themes/KooL_style-2-Light.rasi new file mode 100644 index 0000000..8470065 --- /dev/null +++ b/rofi/themes/KooL_style-2-Light.rasi @@ -0,0 +1,189 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 2 Light */ +/* credit: https://github.com/adi1090x/rofi */ + + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,filebrowser,window"; + show-icons: true; + display-drun: "  apps"; + display-run: "  term"; + display-filebrowser: "  files"; + display-window: "  window"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/*****----- Global Properties -----*****/ +* { + +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 60%; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border-radius: 12px; + cursor: "default"; + background-color: inherit; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 10px; + padding: 20px; + border-radius: 12px; + background-color: white/90%; + children: [ "inputbar", "mode-switcher", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px 10px 10px 0px; + border: 0px 0px 2px 0px; + border-radius: 0px; + border-color: gray/20%; + background-color: transparent; + children: [ "entry" ]; +} + +entry { + enabled: true; + background-color: inherit; + text-color: black; + cursor: text; + placeholder: "Type to search"; + placeholder-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 40px; + margin: 0px; + padding: 0px; + border: 0px solid; + background-color: transparent; + cursor: "default"; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 10px; + background-color: inherit; + handle-color: gray/50%; + handle-width: 2px ; + padding: 0; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px 0px 20px 0px; + border: 1px solid; + border-radius: 8px; + border-color: gray/30%; + background-color: white; + text-color: black; + cursor: pointer; +} +element normal.active { + background-color: #67FF80; + text-color: black; +} + +element-text selected, +element selected.normal { + background-color: #FDD66F; + text-color: black; +} + +element selected.active { + background-color: #FF7F7C; + text-color: black; +} +element-icon { + background-color: transparent; + size: 48px; + cursor: inherit; +} +element-text { + background-color: inherit; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + expand: false; + spacing: 20px; + margin: 0px 10%; + background-color: transparent; + text-color: white; +} +button { + padding: 6px; + border: 0px solid; + border-radius: 100%; + background-color: #719DF9; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: #F37277; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0px; +} +error-message { + padding: 20px; +} +textbox { + padding: 10px; + background-color: #719DF9; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} \ No newline at end of file diff --git a/rofi/themes/KooL_style-3-FullScreen-v1.rasi b/rofi/themes/KooL_style-3-FullScreen-v1.rasi new file mode 100644 index 0000000..4efe106 --- /dev/null +++ b/rofi/themes/KooL_style-3-FullScreen-v1.rasi @@ -0,0 +1,252 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 3 - Full screen v1 */ + +/* ---- Configuration ---- */ + +configuration { + modi: "drun,run,filebrowser"; + show-icons: true; + display-drun: "  apps"; + display-run: "  term"; + display-filebrowser: "  files"; + display-window: "  window"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/* ---- Load wallust colors ---- */ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + +/* ---- Global Properties ---- */ +* { + + background-alt: @selected-active-background; // Buttons background + selected: @selected-urgent-background; // Button selected + active: @selected-normal-background; // Window activated + urgent: @selected; // When hovering the activated window (maybe more?) + + text-selected: @background; + text-color: @foreground; + border-color: @selected; +} + +/* ---- Global Properties ---- */ +* { + main-bg: @background; + main-fg: @foreground; + main-br: @color12; + main-ex: @color11; + select-bg: @foreground; + select-fg: @background; + separatorcolor: transparent; + border-color: transparent; +} + + +/* ---- Window ---- */ +window { + // Default + enabled: true; + fullscreen: true; + transparency: "real"; + cursor: "default"; + spacing: 0px; + border: 3px 0px 3px 0px; + border-radius: 30px; + location: center; + anchor: center; + + // Style Values + background-color: @background; +} + +/* ----- Main Box ----- */ +mainbox { + padding: 12px; + enabled: true; + orientation: vertical; + children: [ "inputbar", "listbox" ]; + background-color: transparent; +} + + +/* ---- Inputbar ---- */ +inputbar { + enabled: true; + padding: 10px 10px 50px 10px; + margin: 10px; + background-color: transparent; + border-radius: 20px; + orientation: horizontal; + children: ["entry", "dummy", "mode-switcher" ]; + background-image: url("~/.config/rofi/.current_wallpaper", width); +} + +/* ---- Entry input ---- */ +entry { + enabled: true; + expand: false; + width: 20%; + padding: 10px; + border-radius: 12px; + background-color: @selected; + text-color: @text-selected; + cursor: text; + placeholder: " 🖥️ Search "; + placeholder-color: inherit; +} + +/* ---- Listbox ---- */ +listbox { + spacing: 10px; + padding: 10px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/* ---- Listview ---- */ +listview { + enabled: true; + columns: 5; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + spacing: 10px; + background-color: transparent; + margin: 10px; + +// Adapt rofi theme + border: 0px; +} + +/* ---- Dummy ---- */ +dummy { + expand: true; + background-color: transparent; +} + +/* ---- Mode Switcher ---- */ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; +} +button { + width: 5%; + padding: 12px; + border-radius: 12px; + background-color: @text-selected; + text-color: @text-color; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @text-selected; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + handle-color: @background-alt; + handle-width: 2px ; + padding: 0px; +} + +/* ---- Elements ---- */ +element { + enabled: true; + orientation: vertical; + padding: 10px; + spacing: 10px; + border-radius: 12px; + background-color: transparent; + cursor: pointer; +} + +element normal.normal { + background-color: inherit; + text-color: inherit; +} + +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} + +element normal.active { + background-color: @active; + text-color: @foreground; +} + +element selected.normal { + border: 0px 3px 0px 3px; + border-radius: 16px; + border-color: @selected; + background-color: transparent; + text-color: @background-alt; +} + +element selected.urgent { + background-color: @urgent; + text-color: @text-selected; +} +element selected.active { + background-color: @urgent; + text-color: @text-selected; +} +// Adapt rofi theme +element alternate.normal { + background-color: transparent; + text-color: inherit; +} +element alternate.urgent { + background-color: transparent; + text-color: inherit; +} +element alternate.active { + background-color: transparent; + text-color: inherit; +} +element-icon { + size: 5%; + background-color: transparent; + text-color: inherit; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/* ---- Message ---- */ +message { + background-color: transparent; + border: 0px; +} +textbox { + margin: 10px; + padding: 12px; + border-radius: 10px; + background-color: @selected; + text-color: @background; + vertical-align: 0.5; + horizontal-align: 0.5; +} +error-message { + padding: 12px; + border-radius: 20px; + background-color: @background-alt; + text-color: @background; +} diff --git a/rofi/themes/KooL_style-3-Fullscreen-v2.rasi b/rofi/themes/KooL_style-3-Fullscreen-v2.rasi new file mode 100644 index 0000000..7e77110 --- /dev/null +++ b/rofi/themes/KooL_style-3-Fullscreen-v2.rasi @@ -0,0 +1,224 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 3 - Full screen v2 */ +/* credit: https://github.com/adi1090x/rofi */ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser"; + show-icons: true; + display-drun: "  apps"; + display-run: "  term"; + display-filebrowser: "  files"; + display-window: "  window"; + display-ssh: " SSH"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/* ---- Load wallust colors ---- */ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + +/*****----- Global Properties -----*****/ +* { + background-alt: @color7; + selected: @color12; + active: @color11; + urgent: red; + + border-color: @selected; + handle-color: @selected; + background-color: @background; + foreground-color: @foreground; + alternate-background: @background-alt; + normal-background: @background; + normal-foreground: @foreground; + urgent-background: @urgent; + urgent-foreground: @background; + active-background: @active; + active-foreground: @background; + selected-normal-background: @selected; + selected-normal-foreground: @background; + selected-urgent-background: @active; + selected-urgent-foreground: @background; + selected-active-background: @urgent; + selected-active-foreground: @background; + alternate-normal-background: @background; + alternate-normal-foreground: @foreground; + alternate-urgent-background: @urgent; + alternate-urgent-foreground: @background; + alternate-active-background: @active; + alternate-active-foreground: @background; + + +} + + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 100px; + margin: 0px; + padding: 100px 225px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0% 28%; + padding: 10px; + border: 1px solid; + border-radius: 6px; + border-color: white / 25%; + background-color: white / 5%; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: transparent; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: transparent; + text-color: inherit; +} +entry { + enabled: true; + background-color: transparent; + text-color: @foreground; + cursor: text; + placeholder: " Search 👀 NOTE: CTRL TAB to change MODE"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 7; + lines: 4; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 2px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 35px 10px; + border: 0px solid; + border-radius: 15px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} + +element normal.normal { + background-color: transparent; + text-color: @foreground; +} + +element selected.normal { + background-color: inherit; + text-color: @foreground; +} + +element-text selected, +element selected.selected { + background-color: white/50%; + text-color: @foreground; + border-radius: 20px; + padding: 20px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 7%; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + padding: 30px; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0px; +} +error-message { + padding: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; +} +textbox { + padding: 20px; + border-radius: 15px; + background-color: white / 10%; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.5; + highlight: none; +} diff --git a/rofi/themes/KooL_style-4.rasi b/rofi/themes/KooL_style-4.rasi new file mode 100644 index 0000000..ea7b197 --- /dev/null +++ b/rofi/themes/KooL_style-4.rasi @@ -0,0 +1,324 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 4 */ +/* credit: https://github.com/adi1090x/rofi */ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser"; + show-icons: true; + display-drun: "  apps"; + display-run: "  term"; + display-filebrowser: "  files"; + display-window: "  window"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/* ---- Load wallust colors ---- */ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + +/*****----- Global Properties -----*****/ +* { + background-alt: @color1; + selected: @color12; + active: @color11; + urgent: #F7768E; + + border-color: @color11; + handle-color: @selected; + background-color: @background; + foreground-color: @foreground; + alternate-background: @background-alt; + normal-background: @background; + normal-foreground: @foreground; + urgent-background: @urgent; + urgent-foreground: @background; + active-background: @active; + active-foreground: @background; + selected-normal-background: @selected; + selected-normal-foreground: @background; + selected-urgent-background: @active; + selected-urgent-foreground: @background; + selected-active-background: @urgent; + selected-active-foreground: @color12; + alternate-normal-background: @background; + alternate-normal-foreground: @foreground; + alternate-urgent-background: @urgent; + alternate-urgent-foreground: @background; + alternate-active-background: @active; + alternate-active-foreground: @background; + + +} + + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 35%; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @border-color; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-color; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-color; + background-color: inherit; + children: [ "inputbar", "message", "custombox" ]; +} + +/*****----- A Custom Box -----*****/ +custombox { + spacing: 0px; + background-color: @background-color; + text-color: @foreground-color; + orientation: horizontal; + children: [ "mode-switcher", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px 12px; + border: 0px solid; + border-radius: 8px; + border-color: @border-color; + background-color: @alternate-background; + text-color: @foreground; + children: [ "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + padding: 5px 0px; + expand: false; + str: " 🔎"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 5px 0px; + background-color: @alternate-background; + text-color: @foreground; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 10px; + border: 2px 2px 2px 2px; + border-radius: 8px; + border-color: @border-color; + background-color: transparent; + text-color: @foreground-color; + cursor: "default"; +} +scrollbar { + handle-width: 2px ; + handle-color: @handle-color; + border-radius: 10px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 8px; + border-color: @border-color; + background-color: transparent; + text-color: @foreground-color; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @normal-foreground; +} +element normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} +element normal.active { + background-color: transparent; + text-color: @active-foreground; +} + +element-text selected, +element selected.normal { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +element selected.urgent { + background-color: @selected-urgent-background; + text-color: @selected-urgent-foreground; +} +element selected.active { + background-color: @selected-active-background; + text-color: @selected-active-foreground; +} +element alternate.normal { + background-color: @alternate-normal-background; + text-color: @alternate-normal-foreground; +} +element alternate.urgent { + background-color: @alternate-urgent-background; + text-color: @alternate-urgent-foreground; +} +element alternate.active { + background-color: @alternate-active-background; + text-color: @alternate-active-foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + expand: false; + orientation: vertical; + spacing: 0px; + margin: 0px; + padding: 0px 0px; + border: 0px solid; + border-radius: 8px 0px 0px 8px; + border-color: @border-color; + background-color: @alternate-background; + text-color: @foreground-color; +} +button { + padding: 0px 20px 0px 20px; + border: 0px 0px 0px 0px; + border-radius: 8px; + border-color: @border-color; + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: pointer; +} +button selected { + border: 2px 0px 2px 2px; + border-radius: 6px; + border-color: @border-color; + background-color: @selected-normal-foreground; + text-color: @selected-normal-background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-color; + background-color: transparent; + text-color: @foreground-color; +} +textbox { + padding: 12px; + border: 0px solid; + border-radius: 8px; + border-color: @border-color; + background-color: @color0; + text-color: @foreground-color; + vertical-align: 0.5; + horizontal-align: 0.5; + highlight: none; + placeholder-color: @foreground-color; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 2px solid; + border-radius: 8px; + border-color: @border-color; + background-color: @background-color; + text-color: @foreground-color; +} diff --git a/rofi/themes/KooL_style-5.rasi b/rofi/themes/KooL_style-5.rasi new file mode 100644 index 0000000..94555eb --- /dev/null +++ b/rofi/themes/KooL_style-5.rasi @@ -0,0 +1,268 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 5 */ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,run,filebrowser"; + show-icons: true; + display-drun: "  "; + display-run: "  "; + display-filebrowser: "  "; + display-window: "  "; + drun-display-format: "{name}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; +} + + +/* ---- Load wallust colors ---- */ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + +/* ---- Global Properties ---- */ +* { + + background-alt: @color1; + selected: @color12; + active: @color11; + urgent: red; + + text-selected: @background; + text-color: @foreground; + border-color: @selected; +} + + +/* ---- Window ---- */ +window { + width: 800px; + /*height: 450px;*/ + x-offset: 0px; + y-offset: 0px; + spacing: 0px; + padding: 1px; + margin: 0px; + border: 2px; + border-color: @active-background; + cursor: "default"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: 12px; + background-color: @background-color; +} + +/* ---- Mainbox ---- */ +mainbox { + enabled: true; + orientation: vertical; + padding: 8px; + background-image: url("~/.config/rofi/.current_wallpaper", width); + children: [ "inputbar", "listbox" ]; + border-radius: 12px; +} + +/* ---- Imagebox ---- */ +imagebox { + background-color: transparent; + orientation: vertical; + /*children: [ "inputbar"];*/ +} + +/* ---- Listbox ---- */ +listbox { + spacing: 4px; + orientation: vertical; + children: [ "message", "listview" ]; + padding: 10px; + border-radius: 12px; + border: 1px; + border-color: @active-background; + background-color: @background; +} + +/* ---- Dummy ---- */ +dummy { + background-color: transparent; +} + +/* ---- Inputbar ---- */ +inputbar { + enabled: true; + text-color: @foreground; + spacing: 10px; + border-radius: 12px; + border-color: @foreground; + background-color: @background; + children: [ "mode-switcher", "textbox-prompt-colon", "entry" ]; + border: 1px; + border-color: @active-background; +} + +textbox-prompt-colon { + enabled: true; + padding: 10px 0px 10px 10px; + expand: false; + str: "🐧"; + text-color: inherit; + background-color: transparent; +} + +entry { + enabled: true; + padding: 10px 0px 10px 0px; + text-color: @foreground; + cursor: text; + placeholder: " Search"; + placeholder-color: inherit; + background-color: @background; +} + +/* ---- Mode Switcher ---- */ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} + +button { + padding: 2px 24px 2px 24px; + border-radius: 12px; + background-color: @background; + text-color: inherit; + cursor: pointer; + border: 1px; + border-color: @active-background; +} + +button selected { + background-color: @selected; + text-color: @foreground; + border: 1px; + border-color: transparent; + +} + +/* ---- Listview ---- */ +listview { + enabled: true; + columns: 2; + lines: 6; + spacing: 5px; + padding: 6px; + dynamic: true; + cycle: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: false; + background-color: @background; + border-radius: 12px; + border: 0px; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 10px; + background-color: transparent; + handle-color: @active; + handle-width: 2px ; + padding: 0; +} + +/* ---- Element ---- */ +element { + enabled: true; + padding: 12px; + margin: 2px; + cursor: pointer; + background-color: transparent; + border-radius: 12px; + border: 0px; +} + +element normal.normal { + background-color: inherit; + text-color: inherit; +} + +element normal.urgent { + background-color: inherit; + text-color: inherit; +} + +element normal.active { + background-color: inherit; + text-color: inherit; +} + +element-text selected, +element selected.normal { + background-color: @active; + text-color: inherit; +} + +element selected.urgent { + background-color: inherit; + text-color: inherit; +} + +element selected.active { + background-color: inherit; + text-color: inherit; +} + +element alternate.normal { + background-color: inherit; + text-color: inherit; +} + +element alternate.urgent { + background-color: inherit; + text-color: @foreground; +} + +element alternate.active { + background-color: inherit; + text-color: inherit; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} + +element-text { + background-color: transparent; + text-color: @foreground; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0; +} + +/* ---- Message ---- */ +message { + background-color: transparent; + border: 0px; +} +textbox { + padding: 12px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.5; +} +error-message { + padding: 12px; + border-radius: 12px; + background-color: @background-alt; + text-color: @background; +} \ No newline at end of file diff --git a/rofi/themes/KooL_style-6.rasi b/rofi/themes/KooL_style-6.rasi new file mode 100644 index 0000000..c0b1eaa --- /dev/null +++ b/rofi/themes/KooL_style-6.rasi @@ -0,0 +1,237 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 6 */ + +/* ---- Configuration ---- */ + +configuration { + modi: "drun,run,filebrowser"; + show-icons: true; + display-drun: "  apps"; + display-run: "  term"; + display-filebrowser: "  files"; + display-window: "  window"; + drun-display-format: "{name}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; +} + +/* ---- Load wallust colors ---- */ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + +/* ---- Global Properties ---- */ +* { + + background-alt: @color1; + selected: @color12; + active: @color11; + urgent: red; + + text-selected: @background; + text-color: @foreground; + border-color: @selected; +} + +/* ---- Window ---- */ +window { + // Default + enabled: true; + fullscreen: false; + transparency: "real"; + cursor: "default"; + spacing: 0px; + border: 2px; + border-radius: 30px; + location: center; + anchor: center; + + // Style Values + width: 50%; + background-color: #00000099; +} + +/* ----- Main Box ----- */ +mainbox { + enabled: true; + orientation: vertical; + children: [ "inputbar", "listbox" ]; + background-color: transparent; +} + + +/* ---- Inputbar ---- */ +inputbar { + enabled: true; + padding: 10px 10px 150px 10px; + margin: 10px; + background-color: transparent; + border-radius: 25px; + orientation: horizontal; + children: ["entry", "dummy", "mode-switcher" ]; + background-image: url("~/.config/rofi/.current_wallpaper", width); +} + +/* ---- Entry input ---- */ +entry { + enabled: true; + expand: false; + width: 300px; + padding: 10px; + border-radius: 12px; + background-color: @background; + text-color: inherit; + cursor: text; + placeholder: " Search "; // << Search symbol + placeholder-color: inherit; +} + +/* ---- Listbox ---- */ +listbox { + spacing: 10px; + padding: 10px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/* ---- Listview ---- */ +listview { + enabled: true; + columns: 2; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + spacing: 10px; + padding: 10px; + background-color: transparent; + +// Adapt rofi theme + border: 0px; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 10px; + background-color: transparent; + handle-color: @active; + handle-width: 2px ; + padding: 0; +} +/* ---- Dummy ---- */ +dummy { + expand: true; + background-color: transparent; +} + +/* ---- Mode Switcher ---- */ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; +} +button { + width: 5%; + padding: 12px; + border-radius: 12px; + background-color: @background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @active; + text-color: @text-selected; +} + + +/* ---- Elements ---- */ +element { + enabled: true; + spacing: 10px; + padding: 15px; + border-radius: 10px; + background-color: transparent; + cursor: pointer; +} + +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} + +element-text selected, +element normal.active { + background-color: @active; + text-color: @foreground; +} + +element selected.normal { + background-color: @color11; + text-color: @text-selected; +} +element selected.urgent { + background-color: @urgent; + text-color: @text-selected; +} +element selected.active { + background-color: @urgent; + text-color: @text-selected; +} +// Adapt rofi theme +element alternate.normal { + background-color: transparent; + text-color: inherit; +} +element alternate.urgent { + background-color: transparent; + text-color: inherit; +} +element alternate.active { + background-color: transparent; + text-color: inherit; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 36px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; + +} + +/* ---- Message ---- */ +message { + background-color: @background; + border: 0px; +} +textbox { + margin: 10px; + padding: 12px; + border-radius: 10px; + background-color: @active; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.5; +} +error-message { + padding: 12px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/rofi/themes/KooL_style-7.rasi b/rofi/themes/KooL_style-7.rasi new file mode 100644 index 0000000..b1a1a9a --- /dev/null +++ b/rofi/themes/KooL_style-7.rasi @@ -0,0 +1,196 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 7 */ + +/* original design from: https://github.com/adi1090x/rofi */ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "  "; + display-run: "  "; + display-filebrowser: "  "; + display-window: "  "; + drun-display-format: "{name}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/* ---- Load wallust colors ---- */ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + + +/*****----- Global Properties -----*****/ +* { + background-alt: @color1; + selected: @color12; + active: @color11; + urgent: #8E3596; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 40%; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + background-color: @background-alt; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 40px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "entry" ]; +} + +prompt { + enabled: true; + padding: 15px; + border-radius: 100%; + background-color: @selected; + text-color: @background; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ":::"; + padding: 15px; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 15px 0px; + background-color: inherit; + text-color: @foreground; + cursor: text; + placeholder: "Search... 👀 NOTE: CTRL TAB to change MODE"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 2px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: horizontal; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} + +element-text selected, +element selected.normal { + border-radius: 30px; + background-color: @color11; + text-color: @foreground; +} +element-icon { + padding: 0px; + background-color: transparent; + text-color: inherit; + size: 5%; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0px; +} +error-message { + padding: 20px; + border: 2px solid; + border-radius: 20px; + border-color: @active; + background-color: @background; + text-color: @foreground; +} +textbox { + padding: 10px; + border-radius: 20px; + background-color: @selected; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.5; + highlight: none; +} diff --git a/rofi/themes/KooL_style-8.rasi b/rofi/themes/KooL_style-8.rasi new file mode 100644 index 0000000..e0ca320 --- /dev/null +++ b/rofi/themes/KooL_style-8.rasi @@ -0,0 +1,238 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 8 */ + + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + show-icons: true; + display-drun: "  apps"; + display-run: "  term"; + display-filebrowser: "  files"; + display-window: "  window"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/* ---- Load wallust colors ---- */ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + +/* ---- Global Properties ---- */ +* { + + border-width: 2px; + border-radius: 12px; +} + +/* ---- Window ---- */ +window { + width: 50%; + transparency: "real"; + fullscreen: false; + enabled: true; + cursor: "default"; + spacing: 0em; + padding: 0em; + border: @border-width; + border-color: @color12; + border-radius: @border-radius; + background-color: @background; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: vertical; + children: [ "inputbar" , "mode-switcher", "message", "listbox" ]; + background-color: transparent; +} + + +/* ---- Inputbar ---- */ +inputbar { + enabled: true; + spacing: 0em; + padding: 4em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/rofi/.current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " ➡️"; + padding: 1em 0.2em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: " Search"; + placeholder-color: inherit; +} + +/* ---- Listbox ---- */ +listbox { + padding: 0em; + spacing: 0em; + orientation: horizontal; + children: [ "listview" ]; + background-color: @background; +} + +/* ---- Listview ---- */ +listview { + padding: 0.5em; + spacing: 0.5em; + enabled: true; + columns: 2; + lines: 4; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; +} + + +/* ---- Mode Switcher ---- */ +mode-switcher { + orientation: horizontal; + width: 2em; + enabled: true; + padding: 0.7em; + spacing: 1em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; + padding: 0.4em; +} + +button selected { + background-color: @color12; + text-color: @foreground; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + handle-color: @color11; + handle-width: 2px ; + padding: 0; +} + + +/* ---- Elements ---- */ +element { + enabled: true; + spacing: 0em; + padding: 0.8em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; +} + +element-text selected, +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +element normal.normal { + background-color: inherit; + text-color: @foreground; +} + +element normal.urgent { + background-color: inherit; + text-color: @foreground; +} + +element normal.active { + background-color: inherit; + text-color: @foreground; +} + +element selected.urgent { + background-color: inherit; + text-color: @foreground; +} + +element selected.active { + background-color: inherit; + text-color: @foreground; +} + +element alternate.normal { + background-color: inherit; + text-color: @foreground; +} + +element alternate.urgent { + background-color: inherit; + text-color: @foreground; +} + +element alternate.active { + background-color: inherit; + text-color: @foreground; +} + +element-icon { + size: 2em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/* ---- Message ---- */ +message { + background-color: transparent; + border: 0px; +} +textbox { + margin: 12px; + padding: 12px; + border-radius: @border-radius; + background-color: @color12; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.5; +} +error-message { + padding: 0px; + border-radius: @border-radius; + background-color: @background; + text-color: @foreground; +} diff --git a/rofi/themes/KooL_style-9.rasi b/rofi/themes/KooL_style-9.rasi new file mode 100644 index 0000000..6b1346f --- /dev/null +++ b/rofi/themes/KooL_style-9.rasi @@ -0,0 +1,202 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +/* KooL Hyprland Rofi Style 9 */ +/* Modified version of Rofi Config which was submitted by https://github.com/lonerOrz via Discord */ + +/* Integrating Wallust and More tweaks */ + + +configuration { + show-icons: true; + display-drun: ""; + drun-display-format: "{icon} {name}"; + disable-history: false; + click-to-exit: true; + location: 0; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; +} + +/* ---- Load wallust colors ---- */ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + +/*****----- Global Properties -----*****/ +* { + BG: @background; + BGA: @color11; + FG: @foreground; + FGA: #F28FADff; + BDR: @color12; + SEL: #1E1E2Eff; + UGT: #F28FADff; + IMG: #FAE3B0ff; + OFF: #575268ff; + ON: #ABE9B3ff; +} + +/* ---- Window ---- */ +window { + transparency: "real"; + background-color: @BG; + text-color: @FG; + border: 2px; + border-color: @BDR; + border-radius: 10px; + width: 25%; + anchor: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 8px; + background-color: @BG; + text-color: @IMG; +} + +textbox-prompt-colon { + expand: false; + str: ""; + border-radius: 100%; + background-color: @SEL; + text-color: @FG; + padding: 8px 12px 8px 12px; +} + +entry { + background-color: @BG; + text-color: @FG; + placeholder-color: @FG; + expand: true; + horizontal-align: 0; + placeholder: "Search 👀 NOTE: CTRL TAB to change MODE"; + blink: true; + border: 0px 0px 2px 0px; + border-color: @BDR; + border-radius: 10px; + padding: 8px; +} + +inputbar { + children: [ textbox-prompt-colon, entry ]; + background-color: @BG; + text-color: @FG; + expand: false; + border: 0px 0px 0px 0px; + border-radius: 0px; + border-color: @BDR; + margin: 0px 0px 0px 0px; + padding: 0px; + position: center; +} + +case-indicator { + background-color: @BG; + text-color: @FG; + spacing: 0; +} + + +listview { + background-color: @BG; + columns: 1; + lines: 7; + spacing: 4px; + cycle: false; + dynamic: true; + layout: vertical; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 10px; + background-color: transparent; + handle-color: @BDR; + handle-width: 2px ; + padding: 0; +} + +mainbox { + background-color: @BG; + children: [ inputbar, message, listview ]; + spacing: 15px; + padding: 15px; +} + +element { + background-color: @BG; + text-color: @FG; + orientation: horizontal; + border-radius: 4px; + padding: 12px; +} + +element-icon { + background-color: inherit; + text-color: inherit; + horizontal-align: 0.5; + vertical-align: 0.5; + size: 24px; + border: 0px; +} + +element-text { + background-color: inherit; + text-color: inherit; + expand: true; + horizontal-align: 0; + vertical-align: 0.5; + margin: 2px 0px 2px 2px; +} + + +element normal.urgent, +element alternate.urgent { + background-color: @UGT; + text-color: @FG; + border-radius: 9px; +} + +element normal.active, +element alternate.active { + background-color: @BGA; + text-color: @FG; +} + +element-text selected, +element selected { + background-color: @BGA; + text-color: @SEL; + border: 0px 0px 0px 0px; + border-radius: 10px; + border-color: @BDR; +} + +element selected.urgent { + background-color: @UGT; + text-color: @FG; +} + +element selected.active { + background-color: @BGA; + color: @FG; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0px; +} +error-message { + padding: 20px; +} +textbox { + padding: 10px; + border-radius: 10px; + background-color: @BDR; + text-color: @SEL; + vertical-align: 0.5; + horizontal-align: 0.5; +} \ No newline at end of file diff --git a/rofi/themes/saint-rofi.rasi b/rofi/themes/saint-rofi.rasi new file mode 100644 index 0000000..e85c678 --- /dev/null +++ b/rofi/themes/saint-rofi.rasi @@ -0,0 +1,207 @@ + + +/* ---- Configuration ---- */ +configuration { + modi: "drun,run,filebrowser"; + show-icons: true; + display-drun: " apps"; + display-run: " term"; + display-filebrowser: " files"; + display-window: " window"; + drun-display-format: "{name}"; + hover-select: true; + me-select-entry: "MouseSecondary"; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; +} + +/* ---- Load wallust colors ---- */ +@theme "~/.config/rofi/wallust/colors-rofi.rasi" + +/* ---- Global Properties ---- */ +* { + background-alt: @color1; + selected: @color12; + active: @color11; + urgent: red; + text-selected: @background; + text-color: @foreground; + border-color: @selected; +} + +/* ---- Window ---- */ +window { + enabled: true; + fullscreen: false; + transparency: "real"; + cursor: "default"; + spacing: 0px; + border: 2px; + border-radius: 0px; + location: center; + anchor: center; + width: 40%; + background-color: #1a1a1a99; +} + +/* ----- Main Box ----- */ +mainbox { + enabled: true; + orientation: vertical; + children: [ "inputbar", "listbox" ]; + background-color: transparent; +} + +/* ---- Inputbar ---- */ +inputbar { + enabled: true; + padding: 8px; + margin: 10px; + background-color: transparent; + border-radius: 0px; + orientation: horizontal; + children: ["entry"]; + +} + +/* ---- Entry input ---- */ +entry { + enabled: true; + expand: true; + width: 100%; + padding: 8px; + border-radius: 0px; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Search "; + placeholder-color: inherit; +} + +/* ---- Listbox ---- */ +listbox { + spacing: 0px; + padding: 0px 10px 10px 10px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/* ---- Listview ---- */ +listview { + enabled: true; + columns: 1; + lines: 7; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + spacing: 0px; + padding: 0px; + background-color: transparent; + border: 0px; +} + +/* ---- Scrollbar ---- */ +scrollbar { + border: 0px; + border-radius: 0px; + background-color: transparent; + handle-color: @active; + handle-width: 2px ; + padding: 0; +} + + + +/* ---- Elements ---- */ +element { + enabled: true; + spacing: 8px; + padding: 8px; + border-radius: 0px; + background-color: transparent; + cursor: pointer; +} + +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} + +element-text selected, +element normal.active { + background-color: @active; + text-color: @foreground; +} + +element selected.normal { + background-color: @color11; + text-color: @text-selected; +} +element selected.urgent { + background-color: @urgent; + text-color: @text-selected; +} +element selected.active { + background-color: @urgent; + text-color: @text-selected; +} + +element alternate.normal { + background-color: transparent; + text-color: inherit; +} +element alternate.urgent { + background-color: transparent; + text-color: inherit; +} +element alternate.active { + background-color: transparent; + text-color: inherit; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 28px; + cursor: inherit; +} + +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/* ---- Message ---- */ +message { + background-color: @background; + border: 0px; +} + +textbox { + margin: 10px; + padding: 8px; + border-radius: 0px; + background-color: @active; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +error-message { + padding: 8px; + border-radius: 0px; + background-color: @background; + text-color: @foreground; +} diff --git a/rofi/wallust/colors-rofi.rasi b/rofi/wallust/colors-rofi.rasi new file mode 100644 index 0000000..1c29f45 --- /dev/null +++ b/rofi/wallust/colors-rofi.rasi @@ -0,0 +1,50 @@ + /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ + /* wallust template - colors-rofi */ + +* { +active-background: #80878F; +active-foreground: #EAEEF0; +normal-background: #2C2A29; +normal-foreground: #EAEEF0; +urgent-background: #A9B0B2; +urgent-foreground: #EAEEF0; + +alternate-active-background: #9F7664; +alternate-active-foreground: #EAEEF0; +alternate-normal-background: #2C2A29; +alternate-normal-foreground: #EAEEF0; +alternate-urgent-background: #2C2A29; +alternate-urgent-foreground: #EAEEF0; + +selected-active-background: #A9B0B2; +selected-active-foreground: #EAEEF0; +selected-normal-background: #A9B0B2; +selected-normal-foreground: #EAEEF0; +selected-urgent-background: #80878F; +selected-urgent-foreground: #EAEEF0; + +background-color: #2C2A29; +background: rgba(0,0,0,0.7); +foreground: #EAEEF0; +border-color: #80878F; + +color0: #514F4E; +color1: #3E4823; +color2: #555554; +color3: #77594B; +color4: #60656B; +color5: #7E8486; +color6: #939B9E; +color7: #D9DFE1; +color8: #989C9D; +color9: #53602F; +color10: #727171; +color11: #9F7664; +color12: #80878F; +color13: #A9B0B2; +color14: #C4CFD3; +color15: #D9DFE1; + + +} + diff --git a/waybar/config b/waybar/config new file mode 100644 index 0000000..b1bc38e --- /dev/null +++ b/waybar/config @@ -0,0 +1,166 @@ +{ + "layer": "top", + "position": "bottom", + "height": 5, + "spacing": 0, + "margin-top": "0", + "margin-bottom": 0, + + // Choose the order of the modules + + "modules-right":["tray","pulseaudio","network","battery","custom/date-clock","clock"], + + "modules-center": ["hyprland/workspaces"], + + "modules-left":["backlight", "cpu", "temperature", "memory", "network#speed"], + + // Modules configuration + "hyprland/workspaces": { + // "all-outputs": true, + // "format": "{name}: {icon}", + "format": "{icon}", + "format-window-separator": "", + "format-icons": { + "active": "", + "default": "", + "empty": "", + "urgent": "" + }, + "persistent-workspaces": { + "*": 10, // 10 workspaces by default on every monitor + }, + "on-scroll-up": "$HOME/.config/waybar/hyprland_workspace_switcher.sh next 10", + "on-scroll-down": "$HOME/.config/waybar/hyprland_workspace_switcher.sh prev 10", + "reverse-scrolling": true, + "smooth-scrolling-threshold": 1 + }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": " {name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "icon-size": 20, + "spacing": 20 + }, + "clock": { + // "timezone": "America/New_York", + "format": "{:%h %d %I:%M %p}", + "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": "{percent}% {icon}", + "format-icons": ["", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{icon}", + "format-icons": ["󰤯", "󰤟", "󰤢", "󰤥", "󰤨"], + "format-ethernet": "Connected  ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{essid} {ifname}: {ipaddr}/{cidr}", + "on-click-right": "bash ~/.config/rofi/wifi_menu/rofi_wifi_menu" + }, + "network#speed": { + "interval": 5, + "format": "↓ {bandwidthDownBytes} ↑ {bandwidthUpBytes}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "", + "format-bluetooth": "{icon}", + "format-bluetooth-muted": "{icon} {format_source}", + "format-muted": "{format_source}", + "format-source": "", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "bash ~/.config/system_scripts/volume up", + "on-click-right": "bash ~/.config/system_scripts/volume down" + + }, + //"custom/media": { + // "format": "{icon} {}", + // "return-type": "json", + // "max-length": 25, + // "format-icons": { + // "spotify": " ", + // "default": " " + // }, + // "escape": true, + // "exec": "$HOME/.config/system_scripts/mediaplayer.py 2> /dev/null", + // "on-click": "bash ~/.config/system_scripts/volume pause" + //}, + "custom/launcher":{ + "format": " ", + "on-click": "fuzzel", + "on-click-right": "killall fuzzel" + }, + "custom/power":{ + "format": "", + "on-click": "nwg-bar", + "on-click-right": "killall nwg-bar" + }, + "custom/snip":{ + "format": "", + "on-click": "grimshot --notify save area $HOME/Pictures/$(zenity --entry --text 'Set filename:' --entry-text '.png')" + } +} + diff --git a/waybar/style.css b/waybar/style.css new file mode 120000 index 0000000..d286418 --- /dev/null +++ b/waybar/style.css @@ -0,0 +1 @@ +/home/aidan/.config/waybar/style/[Extra] Neon Circuit.css \ No newline at end of file diff --git a/waybar/wallust/colors-waybar.css b/waybar/wallust/colors-waybar.css new file mode 100644 index 0000000..b8d9b0c --- /dev/null +++ b/waybar/wallust/colors-waybar.css @@ -0,0 +1,24 @@ +/* ---- 💫 https://github.com/JaKooLit 💫 ---- */ + /* wallust template - colors-waybar */ + + @define-color foreground #EAEEF0; + @define-color background #2C2A29; + @define-color background-alt rgba(44,42,41,0.25); + @define-color cursor #AEB0B0; + + @define-color color0 #514F4E; + @define-color color1 #3E4823; + @define-color color2 #555554; + @define-color color3 #77594B; + @define-color color4 #60656B; + @define-color color5 #7E8486; + @define-color color6 #939B9E; + @define-color color7 #D9DFE1; + @define-color color8 #989C9D; + @define-color color9 #53602F; + @define-color color10 #727171; + @define-color color11 #9F7664; + @define-color color12 #80878F; + @define-color color13 #A9B0B2; + @define-color color14 #C4CFD3; + @define-color color15 #D9DFE1; \ No newline at end of file