feat: rename project to DualFloatingClock, add README, public release
Build and Release DualFloatingClock / build-linux (push) Failing after 32s
CI Build / build (macos-latest) (push) Canceled after 0s
CI Build / build (windows-latest) (push) Canceled after 0s
Build and Release DualFloatingClock / build-macos (push) Canceled after 0s
Build and Release DualFloatingClock / build-windows (push) Canceled after 0s
Build and Release DualFloatingClock / generate-changelog (push) Canceled after 0s
Build and Release DualFloatingClock / create-release (push) Canceled after 0s

- Full rename: CMake target, bundle, LaunchAgent label
  (com.dualfloatingclock.clock), QSettings org/app, tray tooltip,
  icns resource, build scripts, CI workflows, sample config
- Config XML: new root DualFloatingClockConfig; reader accepts legacy
  ClouckConfig root for painless migration of existing settings
- README rewritten: fork provenance (ivaquero/clouck), features, build,
  tests, usage
- Drop stale README-CN.md
This commit is contained in:
2026-08-27 22:36:05 +03:00
parent db02df7ca2
commit 45fc172fc8
16 changed files with 129 additions and 359 deletions
+1 -1
View File
@@ -52,7 +52,7 @@ Every push to main/master branches triggers CI builds to ensure code quality.
### Manual Release
1. Go to Actions tab in GitHub
2. Select "Build and Release Clouck"
2. Select "Build and Release DualFloatingClock"
3. Click "Run workflow"
4. Enter version number (e.g., v1.0.0)
5. Click "Run workflow"
+2 -2
View File
@@ -50,5 +50,5 @@ jobs:
- name: Upload Build Artifact
uses: actions/upload-artifact@v7
with:
name: Clouck-${{ runner.os }}-cmake
path: build/Clouck*
name: DualFloatingClock-${{ runner.os }}-cmake
path: build/DualFloatingClock*
+43 -43
View File
@@ -1,4 +1,4 @@
name: Build and Release Clouck
name: Build and Release DualFloatingClock
on:
push:
@@ -43,43 +43,43 @@ jobs:
ls -la build/
# Look for the .app bundle or executable
if [ -d "build/Clouck.app" ]; then
if [ -d "build/DualFloatingClock.app" ]; then
echo "Found .app bundle"
cp -r build/Clouck.app ./
elif [ -f "build/Clouck" ]; then
cp -r build/DualFloatingClock.app ./
elif [ -f "build/DualFloatingClock" ]; then
echo "Found standalone executable"
# Create app bundle
mkdir -p Clouck.app/Contents/MacOS
mkdir -p Clouck.app/Contents/Resources
cp build/Clouck Clouck.app/Contents/MacOS/
mkdir -p DualFloatingClock.app/Contents/MacOS
mkdir -p DualFloatingClock.app/Contents/Resources
cp build/DualFloatingClock DualFloatingClock.app/Contents/MacOS/
else
echo "Looking for executable in build directory..."
find build/ -name "Clouck*" -type f
find build/ -name "DualFloatingClock*" -type f
# Try to find and copy the first executable
EXECUTABLE=$(find build/ -name "Clouck*" -type f | head -1)
EXECUTABLE=$(find build/ -name "DualFloatingClock*" -type f | head -1)
if [ -n "$EXECUTABLE" ]; then
echo "Found executable: $EXECUTABLE"
mkdir -p Clouck.app/Contents/MacOS
mkdir -p Clouck.app/Contents/Resources
cp "$EXECUTABLE" Clouck.app/Contents/MacOS/
mkdir -p DualFloatingClock.app/Contents/MacOS
mkdir -p DualFloatingClock.app/Contents/Resources
cp "$EXECUTABLE" DualFloatingClock.app/Contents/MacOS/
else
echo "ERROR: No Clouck executable found!"
echo "ERROR: No DualFloatingClock executable found!"
exit 1
fi
fi
# Create Info.plist
cat > Clouck.app/Contents/Info.plist << EOF
cat > DualFloatingClock.app/Contents/Info.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>Clouck</string>
<string>DualFloatingClock</string>
<key>CFBundleIdentifier</key>
<string>com.clouck.app</string>
<key>CFBundleName</key>
<string>Clouck</string>
<string>DualFloatingClock</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>CFBundlePackageType</key>
@@ -92,18 +92,18 @@ jobs:
- name: Deploy Qt Dependencies
run: |
if [ -d "Clouck.app" ]; then
macdeployqt Clouck.app -dmg || hdiutil create -volname "Clouck" -srcfolder Clouck.app -ov -format UDZO Clouck.dmg
if [ -d "DualFloatingClock.app" ]; then
macdeployqt DualFloatingClock.app -dmg || hdiutil create -volname "DualFloatingClock" -srcfolder DualFloatingClock.app -ov -format UDZO DualFloatingClock.dmg
else
echo "ERROR: Clouck.app not found!"
echo "ERROR: DualFloatingClock.app not found!"
exit 1
fi
- name: Upload macOS Artifact
uses: actions/upload-artifact@v7
with:
name: Clouck-macos
path: Clouck.dmg
name: DualFloatingClock-macos
path: DualFloatingClock.dmg
build-windows:
runs-on: windows-latest
@@ -127,17 +127,17 @@ jobs:
# Check what was actually built
Get-ChildItem -Path "build" -Recurse -Name
New-Item -ItemType Directory -Path Clouck-win -Force
Copy-Item "build/Release/Clouck.exe" -Destination "Clouck-win/" -ErrorAction SilentlyContinue
Copy-Item "build/Release/*.dll" -Destination "Clouck-win/" -ErrorAction SilentlyContinue
windeployqt --release Clouck-win/Clouck.exe
Compress-Archive -Path Clouck-win -DestinationPath Clouck-win.zip
New-Item -ItemType Directory -Path DualFloatingClock-win -Force
Copy-Item "build/Release/DualFloatingClock.exe" -Destination "DualFloatingClock-win/" -ErrorAction SilentlyContinue
Copy-Item "build/Release/*.dll" -Destination "DualFloatingClock-win/" -ErrorAction SilentlyContinue
windeployqt --release DualFloatingClock-win/DualFloatingClock.exe
Compress-Archive -Path DualFloatingClock-win -DestinationPath DualFloatingClock-win.zip
- name: Upload Windows Artifact
uses: actions/upload-artifact@v7
with:
name: Clouck-win
path: Clouck-win.zip
name: DualFloatingClock-win
path: DualFloatingClock-win.zip
build-linux:
runs-on: ubuntu-latest
@@ -169,27 +169,27 @@ jobs:
ls -la build/
# Look for the executable
EXECUTABLE=$(find build/ -name "Clouck" -type f -executable | head -1)
EXECUTABLE=$(find build/ -name "DualFloatingClock" -type f -executable | head -1)
if [ -n "$EXECUTABLE" ]; then
echo "Found executable: $EXECUTABLE"
mkdir -p Clouck-linux
cp "$EXECUTABLE" Clouck-linux/
mkdir -p DualFloatingClock-linux
cp "$EXECUTABLE" DualFloatingClock-linux/
else
echo "ERROR: No Clouck executable found!"
echo "ERROR: No DualFloatingClock executable found!"
exit 1
fi
# Copy any Qt libraries
find build/ -name "*.so*" -exec cp {} Clouck-linux/ \; 2>/dev/null || true
find build/ -name "*.so*" -exec cp {} DualFloatingClock-linux/ \; 2>/dev/null || true
# Create tar.gz for distribution
tar -czf Clouck-linux.tar.gz Clouck-linux/
tar -czf DualFloatingClock-linux.tar.gz DualFloatingClock-linux/
- name: Upload Linux Artifact
uses: actions/upload-artifact@v7
with:
name: Clouck-linux
path: Clouck-linux.tar.gz
name: DualFloatingClock-linux
path: DualFloatingClock-linux.tar.gz
generate-changelog:
needs: [ build-macos, build-windows, build-linux ]
@@ -227,9 +227,9 @@ jobs:
echo "$CHANGELOG" >> $GITHUB_OUTPUT
echo "" >> $GITHUB_OUTPUT
echo "## Downloads" >> $GITHUB_OUTPUT
echo "- **macOS**: Clouck.dmg" >> $GITHUB_OUTPUT
echo "- **Windows**: Clouck-win.zip" >> $GITHUB_OUTPUT
echo "- **Linux**: Clouck-linux.tar.gz" >> $GITHUB_OUTPUT
echo "- **macOS**: DualFloatingClock.dmg" >> $GITHUB_OUTPUT
echo "- **Windows**: DualFloatingClock-win.zip" >> $GITHUB_OUTPUT
echo "- **Linux**: DualFloatingClock-linux.tar.gz" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
create-release:
@@ -252,16 +252,16 @@ jobs:
- name: Create Release
uses: softprops/action-gh-release@v3
with:
name: Clouck ${{ needs.generate-changelog.outputs.version }}
name: DualFloatingClock ${{ needs.generate-changelog.outputs.version }}
body: |
Cross-platform clock widget application
${{ needs.generate-changelog.outputs.changelog }}
files: |
artifacts/Clouck-macos/Clouck.dmg
artifacts/Clouck-win/Clouck-win.zip
artifacts/Clouck-linux/Clouck-linux.tar.gz
artifacts/DualFloatingClock-macos/DualFloatingClock.dmg
artifacts/DualFloatingClock-win/DualFloatingClock-win.zip
artifacts/DualFloatingClock-linux/DualFloatingClock-linux.tar.gz
draft: false
prerelease: false
generate_release_notes: true