This is an application that allows you to manage and launch multiple instances of a Viewer. It is written in Java 25 and uses JavaFX for the UI.
It is designed to add some ambience to your desktop (if you have the available screen space).
Features:
- Allows individual image viewers to be resized and repositioned as desired
- Remembers positions, images, and sizes so they can be restored upon the next launch
- Supports EXIF rotation
- Stores recent images in a list for easy access
- Remembers the last directory when browsing for an image in the viewer's file dialog
- Supports GIF animations
It consists of two parts:
- Sticky Image Manager: A simple application that allows you to manage and launch multiple instances of a Viewer.
Sticky Image Manager:
- Sticky Image Viewer: A simple application that allows you to view images and videos.
Empty Viewer (right-click to bring up context menu to allow loading / closing image):
It supports EXIF rotation if present.
You can resize images if needed by dragging a corner or a side. It will maintain the aspect ratio of the image.
- Launch: Starts the configured number of viewer windows based on the current configuration.
- Kill: Closes all launched viewer windows.
- Reset: Moves all currently open viewer windows to the manager window's current position on screen, preserving their sizes and content. Use this if a viewer appears offscreen after launch.
- You can drag an image file from your OS (Explorer/Finder/Nautilus) directly onto a viewer to load it.
- Supported formats: PNG, JPG/JPEG, GIF, BMP.
- The viewer reuses its existing window (no reset), so custom move/resize remains active.
- The last-used directory is updated on successful drop and is remembered by the File Open dialog.
-
Install JDK 25 (GraalVM JDK 25+37.1 has been confirmed to work) and Maven.
-
Make sure your JAVA_HOME is set in
justfile.export JAVA_HOME := /path/to/your/jdk -
Install Just if you don't have it already.
-
In the project root, run:
just build
just run- Java Runtime, currently tested with Java 25 (GraalVM-25+37.1)
- Maven
- OS: Windows, Linux, MacOS
- Just CLI tool (for building and running)
This project is licensed under the MIT License - see the LICENSE file for details.
- Support movement and resizing in undecorated mode
- Remove decorated mode once functionality has been confirmed in undecorated mode
- Improve resizing logic so no filling is needed
- Fix EXIF rotation issues
- Add drag-and-drop support
- Add support for multiple images per viewer (slideshow)
- Add support for video files
- Add support for image transitions
- Add support for image effects (grayscale, sepia, etc.)
- Find replacement for metadata-extractor, as this currently results in a "required filename-based automodules" warning during the build
- Fix other build warnings such as
sun.misc.Unsafe::allocateMemory - Create release build with jlink
- Create installer for Windows, MacOS, and Linux
- Add more documentation


