aboutsummaryrefslogtreecommitdiffstats
path: root/copy.sh
diff options
context:
space:
mode:
authorDon Williams <don.e.williams@gmail.com>2025-11-30 20:04:02 -0500
committerDon Williams <don.e.williams@gmail.com>2025-11-30 20:04:02 -0500
commitca0c23cce006ea3f7d793c5fa8eee6acff196470 (patch)
tree092a7446c0f494c958b11b1af09474d99718a74e /copy.sh
parent510eafbe0560cff6e459b64fcb778d645cd43ab3 (diff)
Integrate Quickshell-Overview with Qt6 fixes and automation scripts
## Overview This commit integrates the corrected Quickshell-Overview feature across all installation and update workflows. The overview provides an AGS alternative with live window previews toggled via Super+TAB keybind. ## Changes ### 1. Quickshell Overview QML Files - Added config/quickshell/overview/ subdirectory with Qt6-compatible QML - Includes 20+ files covering: * OverviewWindow.qml with proper clipping (no OpacityMask, uses QtQuick.Effects) * OverviewWidget.qml for window handling * Overview.qml main component with Hyprland integration * Common utilities and styling * Services for Hyprland data and global state management ### 2. copy.sh Updates - Removes default shell.qml that blocks quickshell named config detection - Auto-copies config/quickshell/overview to ~/.config/quickshell/overview/ - Updates old 'qs' startup commands to 'qs -c overview' - Handles both fresh installs and config overwrite scenarios ### 3. upgrade.sh Updates - Added config/quickshell/ to upgrade directory list - Excludes shell.qml to preserve overview config detection capability - Enables seamless upgrades without losing quickshell settings ### 4. IPC Command Fixes - Corrected OverviewToggle.sh to use proper 'qs ipc -c overview call overview toggle' - Fixed startup commands from old 'qs' to 'qs -c overview' - Hyprland-Dots now uses corrected toggle script ## Qt6 Compatibility - Replaced Qt5Compat.GraphicalEffects with QtQuick.Effects - Removed OpacityMask in favor of Qt6-compatible clipping technique - All QML properly imports Qt6 modules ## Release Script - release.sh automatically uses copy.sh, inheriting all quickshell updates ## Testing - Verified on target systems (Fedora 43 VM, jak-nixos) - qs -c overview successfully launches overview config when shell.qml is removed - IPC toggle commands work correctly within Wayland sessions ## Files Modified - config/quickshell/overview/* (20 new files) - copy.sh (enhanced QS handling) - upgrade.sh (added quickshell to upgrade paths)
Diffstat (limited to 'copy.sh')
-rwxr-xr-xcopy.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/copy.sh b/copy.sh
index a4c3e666..5b3d17cd 100755
--- a/copy.sh
+++ b/copy.sh
@@ -767,6 +767,13 @@ if command -v qs >/dev/null 2>&1; then
cp -r "config/quickshell/" "$DIRPATH_QS" 2>&1 | tee -a "$LOG"
fi
else
+ # If default shell.qml exists, it blocks named config subdirectory detection
+ # Remove it to enable the overview config to be found
+ if [ -f "$DIRPATH_QS/shell.qml" ]; then
+ echo "${NOTE} - Removing default shell.qml to enable quickshell overview config detection" 2>&1 | tee -a "$LOG"
+ rm "$DIRPATH_QS/shell.qml"
+ fi
+
read -p "${CAT} Do you want to overwrite your existing ${YELLOW}quickshell${RESET} config? [y/N] " answer_qs
case "$answer_qs" in
[Yy]*)
@@ -777,6 +784,8 @@ if command -v qs >/dev/null 2>&1; then
cp -r "config/quickshell/" "$DIRPATH_QS" 2>&1 | tee -a "$LOG"
if [ $? -eq 0 ]; then
echo "${OK} - ${YELLOW}quickshell${RESET} overwritten successfully."
+ # Remove default shell.qml from new copy to enable overview detection
+ rm -f "$DIRPATH_QS/shell.qml" 2>&1 | tee -a "$LOG"
else
echo "${ERROR} - Failed to copy ${YELLOW}quickshell${RESET} config."
exit 1
@@ -787,6 +796,26 @@ if command -v qs >/dev/null 2>&1; then
;;
esac
fi
+
+ # Ensure overview subdirectory exists and is up to date
+ DIRPATH_OVERVIEW="$DIRPATH_QS/overview"
+ if [ ! -d "$DIRPATH_OVERVIEW" ] && [ -d "config/quickshell/overview" ]; then
+ echo "${INFO} - Copying quickshell overview config..." 2>&1 | tee -a "$LOG"
+ cp -r "config/quickshell/overview" "$DIRPATH_QS/" 2>&1 | tee -a "$LOG"
+ echo "${OK} - Quickshell overview config copied successfully" 2>&1 | tee -a "$LOG"
+ fi
+
+ # Check for old quickshell startup commands and update them
+ HYPR_STARTUP="$HOME/.config/hypr/configs/Startup_Apps.conf"
+ if [ -f "$HYPR_STARTUP" ]; then
+ if grep -q '^exec-once = qs\s*$\|^exec-once = qs &' "$HYPR_STARTUP"; then
+ echo "${NOTE} - Found old Quickshell startup command, updating to new overview config..." 2>&1 | tee -a "$LOG"
+ # Replace old 'qs' or 'qs &' with new 'qs -c overview'
+ sed -i 's/^\(\s*\)exec-once = qs\s*$/\1exec-once = qs -c overview # Quickshell Overview/' "$HYPR_STARTUP" 2>&1 | tee -a "$LOG"
+ sed -i 's/^\(\s*\)exec-once = qs &$/\1exec-once = qs -c overview # Quickshell Overview/' "$HYPR_STARTUP" 2>&1 | tee -a "$LOG"
+ echo "${OK} - Updated Quickshell startup command to use overview config" 2>&1 | tee -a "$LOG"
+ fi
+ fi
fi
printf "\n%.0s" {1..1}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage