Skip to content

Adaptive digital clock with a modern minimalist design

License

Notifications You must be signed in to change notification settings

orrstudio/OrrClock

Repository files navigation

OrrClock

OrrClock Logo

License: MIT Python Kivy GitHub release Maintenance GitHub issues

Adaptive digital clock with a modern minimalist design, developed using the Kivy Framework.

🇦🇿 Azərbaycan |
🇹🇷 Türkçe |
🇸🇦 العربية
🇮🇷 فارسی |
🇷🇺 Русский |
🇩🇪 Deutsch |
🇮🇹 Italiano |
🇪🇸 Español |
🇫🇷 Français |
🇯🇵 日本語 |
🇨🇳 中文 |
🇮🇳 हिंदी |

Features

  • Automatic interface adaptation for portrait and landscape orientation
  • Smooth animations when changing orientation and updating time
  • Customizable color scheme with 9 preset colors
  • Minimalist design with black background
  • Optimized performance using hysteresis for orientation detection

Applications and Capabilities

OrrClock is not just a clock, it's a multifunctional time display application that can be used in various scenarios:

Home Use

  • As a desktop clock on your computer or laptop
  • As a clock for presentations or online meetings
  • As a fullscreen clock for home theater

Professional Use

  • In TV studios for current time display
  • On information displays in offices and public spaces
  • In educational institutions for time control

Advantages

  • Adaptive design allows using the application on screens of any orientation
  • High readability thanks to contrasting colors and minimalist design
  • Customizable colors allow adapting the clock to any interior or corporate style

Customization

The application is easily customizable:

  • Choice of color schemes
  • Adaptation to portrait or landscape mode

Technologies

  • Python 3
  • Kivy 2.2.1
  • Modular architecture with UI component separation

Project Structure

OrrClock/
├── main.py                 # Main application file
├── ui/                     # UI components
│   ├── base_clock.py       # Base clock class
│   ├── landscape_clock.py  # Landscape orientation
│   ├── portrait_clock.py   # Portrait orientation
│   └── settings_window.py  # Settings window
├── data/                   # Additional data
├── fonts/                  # Fonts
└── requirements.txt        # Dependencies

Installation

  1. Clone the repository:
git clone https://github.com/OrrStudio/OrrClock.git
cd OrrClock
  1. Create and activate virtual environment:
python -m venv venv
source venv/bin/activate  # for Linux/Mac
  1. Install dependencies:
pip install -r requirements.txt
  1. Run the application:
python main.py

System Requirements

  • Python 3.8 or higher
  • Kivy 2.2.1
  • Minimum 512MB RAM
  • Any operating system supporting Python and Kivy (Windows, Linux, macOS)

Building APK for Android with Buildozer

To build an APK using Buildozer, follow these steps:

  1. Install Buildozer: Follow the installation instructions from the Buildozer Documentation.

  2. Build the APK: Run the following command to build the APK:

    buildozer android debug

    The built APK will be located in the bin/ directory of your project.

  3. Deploy to a device (optional): If you have an Android device connected, you can deploy the APK directly using:

    buildozer android deploy run

Building Standalone Executables and Packages

Linux Packaging

PyInstaller (Standalone Executable)

  1. Install PyInstaller:
pip install pyinstaller
  1. Create executable:
pyinstaller --onefile --windowed --add-data "fonts:fonts" --add-data "icons:icons" main.py

AppImage

  1. Install appimagetool:
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod +x appimagetool-x86_64.AppImage
  1. Create AppDir structure:
mkdir -p OrrClock.AppDir/usr/bin
mkdir -p OrrClock.AppDir/usr/share/applications
mkdir -p OrrClock.AppDir/usr/share/icons
  1. Copy files and create .desktop file
cp dist/main OrrClock.AppDir/usr/bin/orrclock
cp icons/iconEzanClock.svg OrrClock.AppDir/usr/share/icons/orrclock.svg
  1. Create OrrClock.desktop:
[Desktop Entry]
Name=OrrClock
Exec=orrclock
Icon=orrclock
Type=Application
Categories=Utility;Clock;
  1. Generate AppImage:
./appimagetool-x86_64.AppImage OrrClock.AppDir

Windows Packaging

PyInstaller (Executable)

  1. Install PyInstaller:
pip install pyinstaller
  1. Create executable:
pyinstaller --onefile --windowed --add-data "fonts;fonts" --add-data "icons;icons" main.py

Inno Setup (Installer)

  1. Download and install Inno Setup
  2. Create a script (OrrClock_Installer.iss):
[Setup]
AppName=OrrClock
AppVersion=1.0.0
DefaultDirName={pf}\OrrClock
DefaultGroupName=OrrClock
OutputBaseFilename=OrrClock_Installer

[Files]
Source: "dist\main.exe"; DestDir: "{app}"; DestName: "OrrClock.exe"
Source: "icons\*"; DestDir: "{app}\icons"
Source: "fonts\*"; DestDir: "{app}\fonts"

[Icons]
Name: "{group}\OrrClock"; Filename: "{app}\OrrClock.exe"
  1. Compile the installer using Inno Setup Compiler

License

MIT License

Author

Oruc Qafar - Python Developer

About

Adaptive digital clock with a modern minimalist design

Resources

License

Stars

Watchers

Forks

Languages