Motion in Time
displays the current time while animation and music are playing in the background- Two versions are available:
- The
PyQt6
version withAdvanced Settings
options as described below - The original version created with
Tkinter
, without additional features
- The
- Launching
Motion in Time
from theTaskbar
:- With only one click you can enjoy the current time from your bed according to your mood
inst_prez.mp4
back_prez.mp4
- App opens with the latest:
- Skin
- Music volume
- Animation speed
- Play/Stop toggle button action:
- Starts, stops the music
- Value saved automatically
- Settings button: launches the
Settings
pop-up window
- Using the related sliders, able to change:
- Music Volume
- Animation speed
- Both values are automatically saved
- Roll-down menu:
- Able to switch between skins, currently available:
- Arrival
- Back to the Future I.
- Donnie Darko
- Idiocracy
- Interstellar
- Terminator I.
- After the new selection, app restarts with the selected skin
- Able to switch between skins, currently available:
- Clicking on the Advanced button:
- Closes the
Settings window
- Opens the
Advanced settings
options on the right side of the main window
- Closes the
- Roll-down menu (first):
- Able to switch between skins
- After the new selection, app restarts with the selected skin + visible
Advanced settings
- Roll-down menu (second):
- Able to select the widget to use
- Once it is selected, it automatically updates the sliders to the selected widget's current position and size(timers only)
- Able to change the positions:
- Home screen buttons (Play, Settings):
- Settings window (displayed with disabled functionalities)
- Main window (the top slider moved/displayed in a pop-up window for the horizontal adjustment)
- Timer:
Hours:Minutes
and:Seconds
separately - Timer's shadow:
Hours:Minutes
and:Seconds
separately
- If after a display change the previously selected app position would be outside the current displayed size:
- App opens at the half of the screen (the app`s left-top corner in the middle)
- Abe to change the size of all Timer instance separately
- Able to change the colour of the:
- Timer (shadow remains black)
- Windows, buttons (same value)
- Buttons pressed
- Which equals to the colour of the unpressed buttons’ bottom part (contributing the buttons 3D effect)
- Able to change the Timers font style together
- Save settings button: after the confirmation able to save all the update actioned on the current skin
- Delete skin button (if more than one skin is available):
- After the confirmation* able to delete the current skin
- *The skin's title and folder path are displayed in the pop-up window
- App automatically restarts, with the first skin in the list (+ confirmation message)
- Add / Edit skin button:
- Launches a new window with two tabs:
- Edit Current Skin:
- Name: field can not be empty
- Window Title: not mandatory
- Files: no mandatory change needed
- If new file selected, checkmark is displayed at the end of the title
- Add Skin:
- Apart from the Window Title, all options are mandatory
-
The GIF images are generated in
DaVinci Resolve
:- On the Deliver page:
- Format: GIF
- Codec: Animated GIF
- Resolution: 720 x 486 NTSC
- On the Deliver page:
-
PyQt6
:- The GIF/animation playback is handled by
PyQt's
ownQMovie
module
- The GIF/animation playback is handled by
-
Tkinter
:- Image objects are created from the GIF via DIY in the app
- The returning phase of the movements in the animation are not part of the GIF images
- It is coming from allocating the same image object for 2 mirrored positions in the image sequence/list:
- half sized GIF images, faster load time
-
The current GIF images are tailored for the faster
PyQt
version
pip install -r requirements_pyqt.txt
pip install -r requirements_tkinter.txt
- Tested on
Windows 11
,Linux Mint 22