Add Live Activities as configurable bar items (#30)
* Add Live Activities as configurable bar items * Fix activity owner monitoring and Morph list interactions * Keep activity rows stable during updates and tighten their layout * Use subtle theme tint for activity cards * Tighten activity title and progress spacing * Use theme accent for active progress rings * Fit compact activities to measured titles and badge * Expose Live Activities display controls in Settings * Open activity terminals and streamline the Morph header * Give Morph continuous icons and prioritize workspace navigation * Show activity progress inside its ring * Inset activity progress rings and strengthen their stroke * Fix activity lifecycle, command output handling and list navigation * Reduce activity update work and harden publisher lifetimes * Set up Live Activities for the detected user shell during installation * Document Activities setup, daily use and troubleshooting * Preserve Morph idle width across empty activity updates * Fix dimming flicker, hide inactive music tab and consolidate Activities docs * Fix panel clearance across styles and match previews to theme settings * Prevent panel blur from repainting neighboring islands --------- Co-authored-by: Samuel Onoja <[email protected]>
This commit is contained in:
1 parent
7a7df0106c
commit
6b0d903ad0
107 files changed
+9340
-291
No files matched your search
@@ -0,0 +1,47 @@
|
||||
# Opt in by sourcing this file in an interactive Bash shell. Rules must also
|
||||
# enable activities.sources.shell-hook. No command is executed by these hooks.
|
||||
[[ $- == *i* ]] || return
|
||||
[[ ${__ferese_installed:-} == 1 ]] && return
|
||||
__ferese_installed=1
|
||||
__ferese_sequence=0
|
||||
__ferese_phase=prompt
|
||||
_ferese_preexec() {
|
||||
local saved=$? command=${1:-$BASH_COMMAND}
|
||||
[[ $__ferese_phase == armed && $command != _ferese_* ]] || return "$saved"
|
||||
__ferese_phase=running
|
||||
((__ferese_sequence+=1))
|
||||
__ferese_local="bash-$$-$__ferese_sequence"
|
||||
feresectl activity hook "$__ferese_local" --command "${command:0:4096}" --cwd "${PWD:0:1024}" >/dev/null 2>&1
|
||||
return "$saved"
|
||||
}
|
||||
_ferese_finish() {
|
||||
local saved=$?
|
||||
__ferese_phase=prompt
|
||||
if [[ -n ${__ferese_local:-} ]]; then
|
||||
if ((saved == 130 || saved == 143)); then
|
||||
feresectl activity cancel "$__ferese_local" >/dev/null 2>&1
|
||||
elif ((saved == 0)); then
|
||||
feresectl activity end "$__ferese_local" --result ok >/dev/null 2>&1
|
||||
else
|
||||
feresectl activity end "$__ferese_local" --result fail >/dev/null 2>&1
|
||||
fi
|
||||
unset __ferese_local
|
||||
fi
|
||||
return "$saved"
|
||||
}
|
||||
_ferese_arm() { local saved=$?; __ferese_phase=armed; return "$saved"; }
|
||||
if [[ -n ${bash_preexec_imported:-} ]] || declare -p preexec_functions >/dev/null 2>&1; then
|
||||
preexec_functions+=(_ferese_preexec)
|
||||
else
|
||||
# Bash DEBUG has a single owner and is not inherited reliably by sourced
|
||||
# files. The established bash-preexec arrays compose without replacing it.
|
||||
printf '%s\n' 'Ferese: load bash-preexec before this hook to preserve existing DEBUG integrations.' >&2
|
||||
unset __ferese_installed
|
||||
return
|
||||
|
||||
fi
|
||||
if [[ $(declare -p PROMPT_COMMAND 2>/dev/null) == 'declare -a'* ]]; then
|
||||
PROMPT_COMMAND=(_ferese_finish "${PROMPT_COMMAND[@]}" _ferese_arm)
|
||||
else
|
||||
PROMPT_COMMAND=(_ferese_finish "${PROMPT_COMMAND:-:}" _ferese_arm)
|
||||
fi
|
||||
Reference in new issue
Block a user