Skip to content

darkmusic/sticky-image-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sticky Image Manager

Maven PackageJava CI with Maven

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

Sticky Image Manager

It consists of two parts:

  1. Sticky Image Manager: A simple application that allows you to manage and launch multiple instances of a Viewer.

Sticky Image Manager:

Sticky Image Manager

  1. 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):

Sticky Image Viewer

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.

Actions menu

  • 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.

Drag and Drop

  • 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.

Building

  1. Install JDK 25 (GraalVM JDK 25+37.1 has been confirmed to work) and Maven.

  2. Make sure your JAVA_HOME is set in justfile.

    export JAVA_HOME := /path/to/your/jdk
  3. Install Just if you don't have it already.

  4. In the project root, run:

    just build

Running

just run

System Requirements

  • Java Runtime, currently tested with Java 25 (GraalVM-25+37.1)
  • Maven
  • OS: Windows, Linux, MacOS
  • Just CLI tool (for building and running)

License

This project is licensed under the MIT License - see the LICENSE file for details.

Roadmap

  • 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

About

Image manager application

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors