Skip to content
Merged

Lua #1755

Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
9a25229
Merge branch 'master' into main
kRHYME7 May 14, 2026
bed8663
Merge branch 'main' into lua
kRHYME7 May 19, 2026
f5f69df
lua
kRHYME7 May 19, 2026
a26e93c
Merge branch 'lua' of https://github.com/HyDE-Project/HyDE into lua
kRHYME7 May 19, 2026
109406f
Added lua configs
kRHYME7 May 19, 2026
5eabb5b
Added lua support for Scripts
kRHYME7 May 19, 2026
5ff6634
[for testing ] Added deez dots manifest files
kRHYME7 May 19, 2026
89a2178
[for testing ] Added deez dots manifest files
kRHYME7 May 19, 2026
835531f
some migration logic for zsh
kRHYME7 May 19, 2026
4b2d95c
Added the partial deps list
kRHYME7 May 20, 2026
58585a7
Removed old hyprlang.
kRHYME7 May 20, 2026
36a3586
added defualt blnk hyprland.lua
kRHYME7 May 20, 2026
bbde53e
Added hyprland error when wallbash for hyprland is not yet generated
kRHYME7 May 20, 2026
3c77acb
Added hyprland error when wallbash for hyprland is not yet generated
kRHYME7 May 20, 2026
eaf8d83
Clean up all deprecated scripts
kRHYME7 May 20, 2026
58a02f0
fixing session management logic for newer hyprland
kRHYME7 May 21, 2026
ca3e8cf
reload on on common --reload and better keb hint UX and alt tab be…
kRHYME7 May 21, 2026
cb6e9e7
altab implementation and better binds handling
kRHYME7 May 21, 2026
4cb81cb
fix hyprlock
kRHYME7 May 22, 2026
ba7ed28
fix dolphin
kRHYME7 May 22, 2026
f9e3ab4
fix dolphin
kRHYME7 May 22, 2026
ff19627
move kdeglobals to hyde bundle
kRHYME7 May 22, 2026
6c7f9c1
cleanup
kRHYME7 May 24, 2026
9ab3044
Potential fix for pull request finding
kRHYME7 May 24, 2026
37fadb9
anim
kRHYME7 May 26, 2026
2f9c60e
fix batteerynotify dameon
kRHYME7 May 26, 2026
6814403
resolves some issues
kRHYME7 May 26, 2026
9f51587
no anim on selection layer
kRHYME7 May 26, 2026
0a50be3
exposes hyprland.anim.duration_scale for animation speed(duration) c…
kRHYME7 May 26, 2026
60f6c1f
Silent fail when missing toml parser
kRHYME7 May 26, 2026
fbcf4b8
fix altab
kRHYME7 May 26, 2026
9098b79
fix altab
kRHYME7 May 26, 2026
1c629ab
y
kRHYME7 May 31, 2026
8b389f1
app2unit wrapper for non systemd
kRHYME7 Jun 1, 2026
b3ff03d
kitty
kRHYME7 Jun 1, 2026
be4b89f
some adjustments
kRHYME7 Jun 4, 2026
a41d67e
added pm agnostic system update ui
kRHYME7 Jun 4, 2026
2740d2f
cleanup
kRHYME7 Jun 6, 2026
62d7bb6
fix sys update
kRHYME7 Jun 7, 2026
01af4ae
pm
kRHYME7 Jun 14, 2026
51fc2da
fix: gobject theming
kRHYME7 Jun 14, 2026
4497d47
Fix waybar, move dconf to use lua lgi
kRHYME7 Jun 16, 2026
85b8e08
make keepass and bitwarden float
kRHYME7 Jun 17, 2026
741e060
some foundation for i18n , docs etc for scripts
kRHYME7 Jun 19, 2026
c357399
todo
kRHYME7 Jun 19, 2026
9fc73a5
fix screenshot conflict
kRHYME7 Jun 19, 2026
dff8c52
org
kRHYME7 Jun 22, 2026
05e919b
some handling on fresh install
kRHYME7 Jul 4, 2026
db98d23
almost
kRHYME7 Jul 26, 2026
e25fa70
Merge remote-tracking branch 'origin/dev' into lua
kRHYME7 Jul 26, 2026
aade688
Update Configs/.local/bin/hyde-shell
kRHYME7 Jul 26, 2026
b5f5c08
Update Configs/.local/lib/hyde/luautils/selector/rofi.lua
kRHYME7 Jul 26, 2026
e033a8e
Update Configs/.local/lib/hyde/keybinds_hint.sh
kRHYME7 Jul 26, 2026
41d0e01
Update Configs/.local/lib/hyde/session/compositor/hyprland.py
kRHYME7 Jul 26, 2026
f3655ba
Update Configs/.local/lib/hyde/session/plugins/brave.py
kRHYME7 Jul 26, 2026
8b1bb88
Update Configs/.local/lib/hyde/shell/activate.fish
kRHYME7 Jul 26, 2026
61330a7
fix shell activations
kRHYME7 Jul 26, 2026
0e29644
uwsm hyprland env
kRHYME7 Jul 26, 2026
3c3ebe5
fix session hyprland compositor
kRHYME7 Jul 26, 2026
c338e43
fix luau hyprtils rofi helper
kRHYME7 Jul 26, 2026
0e26431
fix no regex alternation on lua.
kRHYME7 Jul 26, 2026
00932fa
fix lua runtime
kRHYME7 Jul 26, 2026
c4fff2b
fix json output on lua
kRHYME7 Jul 27, 2026
83a2bdc
fix list builtin in completions
kRHYME7 Jul 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ Scripts/pkg_user.lst
.zsh_history*
.zcompdump*
Configs/.config/uwsm/*
.*
5 changes: 2 additions & 3 deletions Configs/.config/zsh/conf.d/binds.zsh
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# My own binds manually copy if you want to use them

bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
bindkey "^[[5C" forward-word
bindkey "^[[5D" backward-word
bindkey "^[OC" forward-word
bindkey "^[OD" backward-word
bindkey "^[OD" backward-word
bindkey "^[[3~" delete-char
91 changes: 45 additions & 46 deletions Configs/.config/zsh/conf.d/hyde/env.zsh
Original file line number Diff line number Diff line change
@@ -1,54 +1,53 @@
#!/usr/bin/env zsh

#! ██████╗░░█████╗░  ███╗░░██╗░█████╗░████████╗  ███████╗██████╗░██╗████████╗
#! ██╔══██╗██╔══██╗  ████╗░██║██╔══██╗╚══██╔══╝  ██╔════╝██╔══██╗██║╚══██╔══╝
#! ██║░░██║██║░░██║  ██╔██╗██║██║░░██║░░░██║░░░  █████╗░░██║░░██║██║░░░██║░░░
#! ██║░░██║██║░░██║  ██║╚████║██║░░██║░░░██║░░░  ██╔══╝░░██║░░██║██║░░░██║░░░
#! ██████╔╝╚█████╔╝  ██║░╚███║╚█████╔╝░░░██║░░░  ███████╗██████╔╝██║░░░██║░░░
#! ╚═════╝░░╚════╝░  ╚═╝░░╚══╝░╚════╝░░░░╚═╝░░░  ╚══════╝╚═════╝░╚═╝░░░╚═╝░░░
# HyDE Shell Environment Initialization

# Hyde's Shell Environment Initialization Script
# If users used UWSM, uwsm will override any variables set anywhere in your shell configurations
case ":$PATH:" in
*":$HOME/.local/bin:"*) ;;
*) PATH="$HOME/.local/bin:$PATH" ;;
esac

# Basic PATH prepending (user local bin)
PATH="$HOME/.local/bin:$PATH"
: "${XDG_CONFIG_HOME:=$HOME/.config}"
: "${XDG_DATA_HOME:=$HOME/.local/share}"
: "${XDG_STATE_HOME:=$HOME/.local/state}"
: "${XDG_CACHE_HOME:=$HOME/.cache}"
: "${XDG_DATA_DIRS:=$XDG_DATA_HOME:/usr/local/share:/usr/share}"
Comment thread
kRHYME7 marked this conversation as resolved.
Outdated

# XDG Base Directory Specification variables with defaults
XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
XDG_DATA_DIRS="${XDG_DATA_DIRS:-$XDG_DATA_HOME:/usr/local/share:/usr/share}"
XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}"
XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
function set_xdg_user_dir() {
[[ -n "$2" ]] && typeset -gx "$1=$2"
}

# XDG User Directories (fallback to xdg-user-dir command if available)
if command -v xdg-user-dir >/dev/null 2>&1; then
XDG_DESKTOP_DIR="${XDG_DESKTOP_DIR:-$(xdg-user-dir DESKTOP)}"
XDG_DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$(xdg-user-dir DOWNLOAD)}"
XDG_TEMPLATES_DIR="${XDG_TEMPLATES_DIR:-$(xdg-user-dir TEMPLATES)}"
XDG_PUBLICSHARE_DIR="${XDG_PUBLICSHARE_DIR:-$(xdg-user-dir PUBLICSHARE)}"
XDG_DOCUMENTS_DIR="${XDG_DOCUMENTS_DIR:-$(xdg-user-dir DOCUMENTS)}"
XDG_MUSIC_DIR="${XDG_MUSIC_DIR:-$(xdg-user-dir MUSIC)}"
XDG_PICTURES_DIR="${XDG_PICTURES_DIR:-$(xdg-user-dir PICTURES)}"
XDG_VIDEOS_DIR="${XDG_VIDEOS_DIR:-$(xdg-user-dir VIDEOS)}"
set_xdg_user_dir XDG_DESKTOP_DIR "$(xdg-user-dir DESKTOP 2>/dev/null)"
set_xdg_user_dir XDG_DOWNLOAD_DIR "$(xdg-user-dir DOWNLOAD 2>/dev/null)"
set_xdg_user_dir XDG_TEMPLATES_DIR "$(xdg-user-dir TEMPLATES 2>/dev/null)"
set_xdg_user_dir XDG_PUBLICSHARE_DIR "$(xdg-user-dir PUBLICSHARE 2>/dev/null)"
set_xdg_user_dir XDG_DOCUMENTS_DIR "$(xdg-user-dir DOCUMENTS 2>/dev/null)"
set_xdg_user_dir XDG_MUSIC_DIR "$(xdg-user-dir MUSIC 2>/dev/null)"
set_xdg_user_dir XDG_PICTURES_DIR "$(xdg-user-dir PICTURES 2>/dev/null)"
set_xdg_user_dir XDG_VIDEOS_DIR "$(xdg-user-dir VIDEOS 2>/dev/null)"
fi
unfunction set_xdg_user_dir

typeset -gx LESSHISTFILE="${LESSHISTFILE:-$XDG_STATE_HOME/less/history}"
typeset -gx PARALLEL_HOME="${PARALLEL_HOME:-$XDG_CONFIG_HOME/parallel}"
typeset -gx SCREENRC="${SCREENRC:-$XDG_CONFIG_HOME/screen/screenrc}"
typeset -gx TERMINFO="${TERMINFO:-$XDG_DATA_HOME/terminfo}"
typeset -gx TERMINFO_DIRS="${TERMINFO_DIRS:-$XDG_DATA_HOME/terminfo:/usr/share/terminfo}"
typeset -gx WGETRC="${WGETRC:-$XDG_CONFIG_HOME/wgetrc}"
typeset -gx PYTHON_HISTORY="${PYTHON_HISTORY:-$XDG_STATE_HOME/python_history}"
typeset -gx MANPAGER="${MANPAGER:-less -R}"

# HyDE Compositor Environment
if [[ -z "$HYDE_ACTIVATED" ]]; then
for _hyde_activate in \
"$HOME/.local/lib/hyde/shell/activate" \
"/usr/local/lib/hyde/shell/activate" \
"/usr/lib/hyde/shell/activate"; do
[[ -f "$_hyde_activate" ]] && {
source "$_hyde_activate"
break
}
done
unset _hyde_activate
fi

# Less history file location
LESSHISTFILE="${LESSHISTFILE:-/tmp/less-hist}"

# Application config files
PARALLEL_HOME="$XDG_CONFIG_HOME/parallel"
SCREENRC="$XDG_CONFIG_HOME/screen/screenrc"
TERMINFO="$XDG_DATA_HOME"/terminfo
TERMINFO_DIRS="$XDG_DATA_HOME"/terminfo:/usr/share/terminfo
WGETRC="${XDG_CONFIG_HOME}/wgetrc"
PYTHON_HISTORY="$XDG_STATE_HOME/python_history"

# HyDEs Compositor Configuration
export HYPRLAND_CONFIG="${XDG_DATA_HOME:-$HOME/.local/share}/hypr/hyprland.conf"

# Export all variables
export PATH \
XDG_CONFIG_HOME XDG_DATA_HOME XDG_DATA_DIRS XDG_STATE_HOME XDG_CACHE_HOME \
XDG_DESKTOP_DIR XDG_DOWNLOAD_DIR XDG_TEMPLATES_DIR XDG_PUBLICSHARE_DIR \
XDG_DOCUMENTS_DIR XDG_MUSIC_DIR XDG_PICTURES_DIR XDG_VIDEOS_DIR \
LESSHISTFILE PARALLEL_HOME SCREENRC
6 changes: 3 additions & 3 deletions Configs/.config/zsh/conf.d/hyde/terminal.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
# And ensures that we have an obstruction-free .zshrc file
# This also ensures that the proper HyDE $ENVs are loaded

setopt INTERACTIVE_COMMENTS

function _load_functions() {
# Load all custom function files // Directories are ignored
for file in "${ZDOTDIR:-$HOME/.config/zsh}/functions/"*.zsh; do
Expand Down Expand Up @@ -226,7 +228,7 @@ else
_load_completions
fi

__package_manager () {
__package_manager () {
${PM_COMMAND[@]} "$@"
}

Expand All @@ -244,5 +246,3 @@ alias c='clear' \
.4='cd ../../../..' \
.5='cd ../../../../..' \
mkdir='mkdir -p'


12 changes: 9 additions & 3 deletions Configs/.local/lib/hyde/.editorconfig
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
root = true

[*.sh]
# Global rules for EVERYTHING in this folder
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true

# JSON is usually better at 2 spaces for readability
[*.json]
indent_size = 2

# Override for xdg-terminal-exec: neutralize EditorConfig rules
# Keep your ignore rule for the terminal exec script
[xdg-terminal-exec]
ignore = true
ignore = true
73 changes: 73 additions & 0 deletions Configs/.local/lib/hyde/animations.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/usr/bin/env lua

local root = debug.getinfo(1, "S").source:match("^@(.*/)") or "./"
package.path = package.path .. ";" .. root .. "?.lua;" .. root .. "?/init.lua;"

require("luautils.init")
local xdg = require("luautils.xdg")
local lfs = require("lfs")
local common = require("luautils.selector.common")

-- Write $XDG_CONFIG_HOME/hypr/animations.conf after selection
local function write_animations_conf(item)
local conf_dir = xdg.config .. "/hypr"
local cur = ""
for part in conf_dir:gmatch("[^/]+") do
cur = cur .. "/" .. part
lfs.mkdir(cur)
end
local f = assert(io.open(conf_dir .. "/animations.conf", "w"))
f:write("$ANIMATION=", item.key, "\n")
f:write("$ANIMATION_PATH=./animations/", item.key, ".conf\n")
f:write("source = $ANIMATION_PATH\n")
f:close()
end

local M =
common.new(
{
dirs = {
xdg.config .. "/hypr/lua/animations",
xdg.data .. "/hypr/lua/animations",
"/usr/local/share/hypr/lua/animations",
"/usr/share/hypr/lua/animations"
},
state_name = "animations",
waybar_class = "custom-animations",
staterc_key = "HYPR_ANIMATION",
-- .lua item files, same convention as workflows
-- static_items = {
-- {key = "disable", name = "Disable Animation", description = "Turn off all animations", icon = ""},
-- {key = "theme", name = "Theme Preference", description = "Use the theme's animation setting", icon = ""}
-- },
static_items_position = "prepend",
on_set = write_animations_conf
}
)

-- current() checks $HYPR_ANIMATION env first (set by hyde globalcontrol)
local _base_current = M.current
M.current = function()
local env = os.getenv("HYPR_ANIMATION")
if env then
local item = M.find(env)
if item then
return item
end
end
return _base_current()
end

local _src = debug.getinfo(1, "S").source
local _is_main = arg and arg[0] and (_src == "@" .. arg[0] or _src:sub(2):match("[^/]+$") == arg[0]:match("[^/]+$"))
if _is_main then
common.run(
M,
{
name = "hyde-shell animations",
description = "HyDE Animation Selector"
}
)
end

return M
Loading
Loading