2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-15 20:05:49 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2023-07-30 17:40:44 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 01:53:51 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00
2026-04-18 06:13:30 +08:00

☁ Clouck

Build Qt Release code size repo size

This project aims to build a cross-platform floating clock based on Qt6.

Motivation

When coding in full screen mode, I often forget the time. When on macOS / Linux, the clock on the menu bar is too small to be noticeable, so is the clock on Windows.

clock

Features

  • Main Window
    • Always On Top
    • Frameless
    • Drag and Move
    • Right Click Menu
    • Resizable
    • Show in Fullscreen Mode
  • Style
    • Set Background Color
    • Set Font Color
    • Set FontSize
  • Configuration File (XML)
    • Read Settings
    • Write Settings
    • Reset Settings
  • Time
    • Select Time Zone

Quick Start

Build and Run

# One-click build
./build.sh

# Run application
./build/flock.app/Contents/MacOS/flock  # macOS
./build/flock                           # Linux

Manual Build

# Clean build files
./clean.sh

# Generate Makefile
qmake flock.pro

# Build
make

# Run
./build/flock.app/Contents/MacOS/flock  # macOS
./build/flock                             # Linux

Using CMake

mkdir build && cd build
cmake ..
make
./flock

🚀 GitHub Actions

This project uses GitHub Actions for automated building and releasing:

CI/CD Workflows

  • CI Build: Validates builds on all platforms for every push/PR
  • Build Qt: Comprehensive builds using both qmake and CMake
  • Release: Creates distributable packages for tagged releases

Download Pre-built Binaries

Visit the Releases page to download pre-built binaries for:

  • macOS: DMG installer with native app bundle
  • Windows: ZIP package with all dependencies
  • Linux: TAR.GZ package with shared libraries

Creating a Release

  1. Tag a new version:

    git tag v1.0.0
    git push origin v1.0.0
    
  2. GitHub Actions will automatically build and create a release with binaries for all platforms

See .github/workflows/ for detailed workflow configuration.

Configuration

The application now uses XML configuration files instead of QSettings. Configuration is stored in config.xml with the following options:

  • FontColor: Font color in hex format
  • BackgroundColor: Background color with alpha transparency
  • FontSize: Font size in points (8-72)
  • AlwaysOnTop: Window always stays on top
  • WindowPosition: Window position coordinates

The configuration file is automatically created when you first run the application and make changes to settings.

Usage

  • Move: Left-click and drag
  • Menu: Right-click for context menu
  • Customize: Change colors, font size, always-on-top behavior
  • Configuration: Settings are saved to config.xml and persist between sessions

Project Structure

qflock/
├── build/                    # Build output directory
│   ├── flock.app/           # macOS application bundle
│   ├── *.o                   # Object files
│   ├── moc_*.cpp            # Qt meta-object compiler output
│   └── Makefile             # Build file
├── config.xml               # XML configuration file
├── build.sh                 # One-click build script
├── clean.sh                 # Clean script
├── flock.pro                # qmake project file
├── CMakeLists.txt           # CMake project file
└── README.md

Build Output Management

  • All compilation files (.o, moc_*.cpp, Makefile, etc.) are output to build/ directory
  • Executable files are located at build/flock.app/Contents/MacOS/flock (macOS) or build/flock (Linux)
  • Use ./clean.sh to quickly clean all build files
  • Use ./build.sh for complete one-click build

Next Steps

  • Time zone selection
  • Alarm functionality
  • Enhanced UI/UX

Requirements

  • Qt6 (Core, Widgets)
  • C++17 compatible compiler
  • CMake 3.16+ (optional, for CMake build)

License

See LICENSE file for details.

S
Description
Dual-timezone floating clock (Qt6) — fork of ivaquero/clouck
Readme MIT
419 KiB
Languages
C++ 86.3%
CMake 4.7%
Shell 4.5%
Objective-C++ 2.5%
QMake 1.6%
Other 0.4%