Note
The project is a work in progress so anything might change at any time.
GrassPaint is a cross-platform drawing application built on Java Swing, designed for users who prioritize keyboard-centric workflows and speed.
I initially had the idea for this software after buying a drawing tablet and feeling constrained by the limited and rigid shortcuts in existing applications. While GrassPaint doesn't implement Vim's modal editing, it is engineered to offer a high degree of shortcut customization and key bindings to boost your drawing efficiency.
This current release includes the essential features for the core drawing engine:
- Persistent History: Reliable Undo/Redo stack for managing drawing actions.
- Canvas Control: Resizable drawing canvas and dynamic resizing upon image loading.
- Refined UI Feedback: The thickness slider value is only displayed while the slider is actively being dragged.
- Core Tools: Pencil, Eraser (with dynamic background matching), Color Picker, and color presets.
- I/O: Load and save artwork as PNG files(currently you have to specify the extension but in future releases they will be automatically appended).
-
<C-o>-> Open a file -
<C-s>-> Save file -
<C-u>-> Undo action -
<C-r>-> Redo action -
<C-c>-> Exit application -
<C-l>-> View License -
Alt + p -> Toggle pencil
-
Alt + e -> Toggle eraser
You must have Java Development Kit (JDK) 17 or newer installed to compile and run GrassPaint.
git clone https://github.com/INNOCENT-ops806/GrassPaint.git
cd GrassPaintYou have two options to run the project:
Run the run.sh script, which handles compilation and packaging.
# Ensure the script is executable and run it
chmod +x run.sh
./run.shDownload the executable .jar file from the latest release on GitHub: Releases
To run the JAR file:
java -jar /path/to/GrassPaint-v1.0.0-SNAPSHOT-jar-with-dependencies.jarIf you find a bug, please open an Issue on this repository or send a detailed email.
When reporting an issue, please include:
- Operating System (e.g., Windows 10, Kali/WSL2).
- Your Java Version (
java -version). - The exact steps required to reproduce the issue.
- Core Technology: Java Swing (Standard Desktop GUI Library).
- Look and Feel: FlatLaf (provides the FlatLafLight theme used for this software).
- Inspired by the ideas and structure of: swing-paint-application



