120 lines
2.6 KiB
Markdown
120 lines
2.6 KiB
Markdown
# ⏰ Flock
|
|
|
|

|
|

|
|
|
|
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.
|
|
|
|

|
|
|
|
## ✨ Features
|
|
|
|
- [ ] **Main Window**
|
|
- [ ] Frameless
|
|
- [x] Drag and Move
|
|
- [x] Right Click Menu
|
|
- [ ] Always On Top
|
|
- [ ] Show in Fullscreen Mode
|
|
- [x] **Style**
|
|
- [x] Set Background Color
|
|
- [x] Set Font Color
|
|
- [x] Set FontSize
|
|
- [ ] **Configuration File** (XML)
|
|
- [ ] Read Settings
|
|
- [ ] Write Settings
|
|
- [ ] Reset Settings
|
|
- [ ] **Time**
|
|
- [ ] Select Time Zone
|
|
- [ ] Set Alarms
|
|
|
|
## Quick Start
|
|
|
|
### Build and Run
|
|
|
|
#### Quick Build (Recommended)
|
|
|
|
```bash
|
|
# One-click build
|
|
./build.sh
|
|
|
|
# Run application
|
|
./build/flock.app/Contents/MacOS/flock # macOS
|
|
./build/flock # Linux
|
|
```
|
|
|
|
#### Manual Build
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
mkdir build && cd build
|
|
cmake ..
|
|
make
|
|
./flock
|
|
```
|
|
|
|
### Usage
|
|
|
|
- **Move**: Left-click and drag
|
|
- **Menu**: Right-click for context menu
|
|
- **Customize**: Change colors, font size, always-on-top behavior
|
|
|
|
### Project Structure
|
|
|
|
```text
|
|
qflock/
|
|
├── build/ # Build output directory
|
|
│ ├── flock.app/ # macOS application bundle
|
|
│ ├── *.o # Object files
|
|
│ ├── moc_*.cpp # Qt meta-object compiler output
|
|
│ └── Makefile # Build 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.
|