GithubHelp home page GithubHelp logo

bokunodev / hoverclock Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kostoskistefan/hoverclock-qt

0.0 0.0 0.0 834 KB

A simple floating clock for Linux

License: GNU General Public License v3.0

C++ 93.38% C 0.48% Makefile 1.78% QMake 2.57% Dockerfile 1.78%

hoverclock's Introduction

AUR version

Hoverclock

Hoverclock is a simple, yet customizable floating clock for Linux created with QT.

Clock Screenshot

Table of contents

General info

The main incentive for this project is having a desktop panel (system tray) that automatically hides, but still being able to see the time and date without moving your mouse to unhide the panel.

Technologies

Quick disclaimer

This project has only been tested on Arch Linux with KDE Plasma, but it should work on other distros.

Installation

Arch based distro users

You can download and install the app from the AUR package.

Other distros

Head on over to the releases section of this repository and download the latest release.

  • If you are running on a Debian based distribution, use the .deb package.
  • If you want to use a GUI installer which will configure everything for you, use the .run file. (Recommended for non-debian distributions)
  • If you wish to manually install everything, extract the .zip file to a location of your choosing. Then you can run the hoverclock.sh file to launch the clock. (You'll also need to copy the icons and desktop file manually, as well as creating a symlink of the hoverclock.sh in /usr/bin/hoverclock)

Optional dependencies

X Server

To use the application blacklist feature, you must have an X Server running. If you are using Wayland, make sure you have XWayland installed.

To support different systems, the blacklist feature is disabled by default and you need to enable it in the Visibility tab of the settings dialog to use it.

Font

The recommended font to use is Montserrat and it's selected by default when you first start the program.

If you are on Arch based distributions, you can install it from the AUR package.

Of course, if you wish to use a different font, you can. Change it in the settings dialog in the Appearance tab.

Configuration

As stated previously, Hoverclock is designed to be customizable.

Left clicking the system tray icon will toggle the visibility of the clock, while right clicking brings up a menu from which you can access the application settings. If you do not have a system tray, the application settings can be accessed by launching hoverclock from a terminal and passing the -c/--configure flag. There's also a -h flag which will bring up a help menu.

Time and Date settings screenshot Appearance settings screenshot Visibility settings screenshot

Building and deploying

To make the build and deploy process as simple as possible, I have created a simple Dockerfile that will configure the build environment.

To build and run the docker container, use the following commands:

$ docker build --network=host -t hoverclock /path/to/project/directory
$ docker run -u $(id -u):$(id -g) --rm -v /path/to/project/directory:/app hoverclock make

When it finishes building, you should have a directory called DistributionKit containing a .deb, .zip and a .run files.

Known issues

  • The font and color picker do not fully use the custom theme resource.

Future work

  • Add terminal support to open and configure settings
  • Add support for multi-monitor setups
  • Add a feature that allows you to specify programs in which you want to hide the clock.
  • Add Light and Dark mode icon support

Getting help

If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.

Getting involved

There are two primary ways to help:

  • Using the issue tracker, and
  • Changing the code-base.

Using the issue tracker

Use the issue tracker to suggest feature requests, report bugs, and ask questions. Any feedback is greatly appreciated.

Changing the code-base

If you want to directly affect the code, you should fork this repository, make changes on your own fork, then submit a pull request.

Code conventions

When writing code, please mimic the styles and patterns in the existing code-base. That means, using camelCase variable names, self-explanatory variable names, all new files should use the underscore notation, use a #define guard for header files, etc.

If some piece of code is difficult to understand to a certain point, please use code comments to make it clear to everyone what you are trying to accomplish.

hoverclock's People

Contributors

kostoskistefan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.