███╗ ██╗ ██████╗ ████████╗██╗███╗ ███╗███████╗
████╗ ██║██╔═══██╗ ╚══██╔══╝██║████╗ ████║██╔════╝
██╔██╗ ██║██║ ██║ ██║ ██║██╔████╔██║█████╗
██║╚██╗██║██║ ██║ ██║ ██║██║╚██╔╝██║██╔══╝
██║ ╚████║╚██████╔╝ ██║ ██║██║ ╚═╝ ██║███████╗
╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝
Notime is a productivity application designed to enhance your focus by managing work and break cycles with synchronized animations and sounds.
-
Customizable Work & Break Cycles: Set your preferred durations for work sessions and breaks via the new Settings window.
-
Pause & Resume: Pause the timer at any time and resume when you're ready, providing flexibility in managing your schedule.
-
Full-Screen Animations: Displays engaging animations to signal the start and end of cycles, helping you transition smoothly between work and rest periods.
-
Audio Notifications: Plays sounds synchronized with animations to grab your attention and reinforce cycle transitions.
-
System Tray Icon: Minimizes to the system tray with a context menu for quick access to all functionalities.
-
Settings Persistence: Your custom settings are saved and persist across sessions, so your preferences are always remembered.
-
Background Operation: Runs silently in the background without interrupting your workflow, allowing you to focus on your tasks.
-
Multi-language Support: Implement localization for different languages to make Notime accessible to a wider audience.
-
Cross-Platform Compatibility: Extend support to macOS and Linux systems to reach more users.
-
Notification Enhancements: Add desktop notifications in addition to animations and sounds for more subtle alerts.
-
User Interface Improvements: Enhance the settings window and system tray menu for better usability and a more intuitive experience.
-
Statistics Tracking: Implement tracking of work sessions and breaks for productivity insights and progress monitoring.
- 🆕 Version 0.0.3 Released: Now includes customizable timer settings, pause/resume functionality, and improved animation performance.
-
Launching the Application: Run
notime.exe
or executepython notime.py
if running from the source code. -
System Tray Menu:
- Pause/Start: Pause or resume the timer according to your needs.
- Disable Sound: Toggle audio notifications on or off.
- Settings: Open the Settings window to adjust timer durations and preferences.
- Exit: Close the application completely.
-
Cycle Notifications:
- Work Cycle: Starts with a "counter" animation and sound to signal the beginning of a work session.
- Break Cycle: Signaled by an "over" animation and sound to indicate it's time for a break.
-
Customizing Cycle Durations:
- Access the Settings window from the system tray menu.
- Adjust the durations for:
- Work Interval
- Break 1 Interval
- Break 2 Interval
- Total Duration
- Click Save Settings to apply changes immediately.
- Your settings will be saved for future sessions.
-
Default Cycle Durations (if not customized):
- Work: 45 minutes
- Breaks: Alternates between 10 and 20 minutes
- Total Duration: 8 hours
This repository is released under the GNU GENERAL PUBLIC LICENSE. Please see the LICENSE
file for more information.
In your quest for more tools to enhance your desktop productivity, these additional repositories are worth a look:
- Barcraft: Create barcodes/QRCodes using an application free from malware, sourced directly from GitHub.
Looking for more? Discover user-friendly, GUI-free scripts here:
If you're a 3D animator, consider:
██ ██ ██████ ██ ██ ████████ ██████ ██████ ██ ██ ███ ██
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██
███████ ██ ██ ██ █ ██ ██ ██ ██ ██████ ██ ██ ██ ██ ██
██ ██ ██ ██ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ██ ██████ ███ ███ ██ ██████ ██ ██ ██████ ██ ████
Here's a tutorial explaining different ways to run the files:
Since this script is designed for Windows users, you should probably first improve the code.
However, here is the procedure to run the script:
- 💻: [MAC] - https://macosx-faq.com/how-to-run-python-script/
- ⌨️ [LINUX] - open a terminal, then
cd
to the script's directory and type:
python script.pyw
(where script.pyw
is obviously the name of the file you've downloaded)
Most of the time you can find an MSI installer in source forge, or in latest relase here, but if you don't you can still watch this tutorial.
Because this script is made by PyInstaller, it could be detected as malware. (sorry, but I will not spend money to just be approved by "security" software/websites, you have the code, and here are possibilities to help you run it:
The .exe
file is a portable version created for Microsoft users with PyInstaller, allowing you to download and use this file alone, without any additional files.
If there is no .exe
file available, it means that the application is stored in a directory, as a portable version is not provided. In this case, simply locate the APP_NAME.exe
file within the directory and launch it with a single click. You can place the folder anywhere you like and create a shortcut to the executable file for easy access.
Python script
is a directory with the original script for python 3.11.
In case you have a lower version, you may have to download module imported not included with your version. Just read the first lines of the script in Alexandria with a notepad or whatever to find what's missing.
If you would like to run with python YOU WILL NEED THE IMAGE .png PLACED IN THE SAME DIRECTORY OF THE RUNNING SCRIPT.
Also, you can add a w
to the extension (like script.pyw
). It means windowed mode
, to launch the python script without the CMD, but it's still a common python file.
To create your own executable from the python file, you will need to install pyinstaller and python.
Here are the steps you should follow:
🔺 Download python 3.11.1
Don't forget to add it to your path with the installer or in variables environment (so reboot your PC after the installation), here is the link:
🎌 https://www.python.org/ftp/python/3.11.1/python-3.11.1-amd64.exe 🎌
🔺 Open your CMD as an administrator and type the following command:
python -m pip install pyinstaller
🔺 You can now run it using a ruby .spec
file by entering the following command in the project directory:
pyinstaller YOUR_FILE.spec
Normally, I place a blank.spec file in the "script" folder, if there isn't one let's watch over here:
🎌 HOW TO MAKE AN EXECUTABLE FAST 🎌
🔺 You can also run it directly with your OS, type the following command, replacing the file paths with your own:
pyinstaller --onefile --icon="...YOUR PATH.../YOUR ICON.ico" --add-data "...YOUR PATH.../ico;ico" --noconsole test.py
-
--onefile
: creates a single executable that includes all dependencies. -
--icon=icon.ico
: specifies the icon to use for the executable (replace icon.ico with the path to your icon file). -
--add-data "path/to/file;folder_name"
: adds external files required by the program. The path to the file and the name of the folder in which the file will be extracted should be separated by a semicolon;
. You can add multiple files by separating them with semicolons. -
script.py
: specifies the name of your Python script. -
--noconsole
: hides the console when the executable is run.
Make sure to replace the snipped parts with the names of your files and folders. Also note that the path should be specified based on the operating system you are working on.
After running this command, you should have a single executable that includes all dependencies, external files, and a custom icon, and does not show the console when running.
Alternatively, you can also :
-
Create a text file
-
In the text file type and write (and change/complete the path, first is for python, 2nd is for script.py):
C:\YOUR PATH TO PYTHON\python.exe" "C:\**YOUR PATH TO THE SCRIPT**\script.pyw"
If Python is in the path, you can just:
python "C:\**YOUR PATH TO THE SCRIPT**\script.pyw"
- Rename the
new_file.txt
toscript.bat
then just click on it, and it will run the program
_ ._ _ , _ ._ _ ._ _ , _ ._ _ ._ _ , _ ._ _ ._ _ , _ .__ _ , _ ._ ._ _ , _ ._ _ , _ ._ .---. _ ._ _ , _ .__ _ , _ ._ ._ _ , _ ._ _ ._ _ , _ .__ _ , _ . .---<__. \ _
(_ ' ( ` )_ .__) (_ ' ( ` )_ .__ (_ ' ( ` )_ .__) (_ ' ___ ._( ` )_ .__) ( ` )_ .__) )_ .__)/ \(_ ' ( )_ ._( ` )_ .__) ( ` )_ .__) (_ ' ( ` )_ ._( `` )_ . `---._ \ \ \
( ( ( ) `) ) _) ( ( ( ) `) ) ( ( ) `) ) _ ( ( (o o) ) ) `) ) _ ) `) ) _ `) ) \.@-@./( ( ) `) ) `) ) _ ) `) ) _ ( ( ) `) `) ` ),----`- `.))
(__ (_ (_ . _) _) ,__) (__ (_ (_ . _) _) _ (_ (_ . _) _) ,__ (_ ( V ) _) (_ . _) _) ,_ (_ . _) _) ,_ . _) _) ,/`\_/`\ (_ ( . _) _) (_ . _) _) ,_ (_ . _) _) ,__ (_ (_ . _) _) (__. _) _)/ ,--. ) |
`~~`\ ' . /`~~` `~~`\ ' . /`~~` `~~`\ ' . /`~~` `~~`/--m-m- ~~`\ ' . /`~~` `\ ' . /`~~` `\ ' . / // _ \\ ``\ ' . /`~~`\ ' . /`~~` `\ ' . /`~~` `~~`\ ' . /`~~`\ ' . /`~~/_/ > |
; ; ; ; ; ; ; ; ; ; ; ; ; ; | \ )|_ ; ; ; ; ; ; ; ; ; ; |,\__-' |
/ \ / \ / \ / \ / \ / \ / \ /`\_`> <_/ \ / \ / \ / \ / \ / \ \__ \
________/_ __ \___________________/_ __ \___________/_ __ \______ __ ___/_ __ \____/_ __ \________/_ __ \_______/_ __ \\__/'---'\__/_/_ __ \____/_ __ \________/_ __ \_____ _______/_ __ \____/_ __ \____ __\___ )