The server for the Decklify client written in Python.
Important
The installer and Auto Hot key only work on Windows
- Auto Hot key installed and runnning.
Download the installer from the releases and install the server.
Note
Since the binary is not digitally signed, Windows Defender may warn that the installer is potentially dangerous. This warning is expected. You can safely proceed if you downloaded the installer from this repository’s Releases section. For extra assurance, you may verify the file checksum provided along in the releases.
To edit the deck configuration
- right click on the tray app
- click
open editor
This will open the editor in your browser, in case it didn't work you can go to http://localhost:8000.
In there you'll be able to drag the tiles and pages around and configure them. Once done click the Save to Server button and restart the client to load in the new config.
To add macros and icons
- right click on the tray app
- click
open config folder
To get started take a look at the example configuration.
Decklify/
├── assets/
│ └── tile_icons/
├── config/
├── logs/
└── macros/
- assets: contains media that can be requested by the client.
- tile_icons: contains the icon of the tiles.
- config: contains a json file that describes the page layout, the tiles, their action, their label (optional) and their icon (optional).
- logs: contains the logs of the server.
- macros: contains the ahk scripts.
- Python - The language
- uv - The package manager
- FastAPI - The webserver
- pystray - The tray
- ahk - The Auto Hot Key Python wrapper
- Pillow - Image manipulation
- platformdirs - Platform directory handler
- PyInstaller - The bundler
- Inno Setup - The installation builder for Windows
- Add an editor in the browser to customize the deck (instead of going into the files)
-
Add a way to easily change the client's ip address in the editorAdd mDNS for automatic pairing - Add CONTRIBUTING.md
- Document code
- Optional: use https between client and server
- Change the app icon (or not :))
- Migrate editor from plain html, js and css to svelte
This project is licensed under the GNU GPLv3 License - see the COPYING.md file for details