diff options
| author | Don Williams <don.e.williams@gmail.com> | 2025-11-30 20:04:02 -0500 |
|---|---|---|
| committer | Don Williams <don.e.williams@gmail.com> | 2025-11-30 20:04:02 -0500 |
| commit | ca0c23cce006ea3f7d793c5fa8eee6acff196470 (patch) | |
| tree | 092a7446c0f494c958b11b1af09474d99718a74e /copy.sh | |
| parent | 510eafbe0560cff6e459b64fcb778d645cd43ab3 (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-x | copy.sh | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -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} |
