5f4d4ffe1a123e163485ba6a7109b48d61e93a58
The GTK embedder's OpenGL compositor uploaded the frame with the window's new dimensions while its pixel buffer still held the previous size, so memcpy read past the end of the buffer and the process died with SIGSEGV (fl_compositor_opengl.cc). Upstream fix: flutter#187626, present in Flutter 3.47.7 but not in 3.44.7. Linux builds now use /home/alhan/development/flutter-3.47.7; pubspec.lock was re-resolved for Dart 3.13.5 and the new tool added its build/platform excludes to analysis_options.yaml. dist/ carries the 1.6.3 package instead of 1.6.2.
imajViewer
Ultra-lightweight image viewer written in Flutter — Linux & Windows.
Features
- Formats: PNG, JPEG, JFIF, WebP, BMP, GIF, WBMP
- Pan: Left drag
- Zoom: Mouse wheel (cursor-centered; viewport-centered in rotate mode)
- Fill/Fit toggle: Double left click
- Contrast: Right drag + vertical move
- Saturation: Ctrl + Right drag + vertical move
- Brightness: Ctrl+Shift + Right drag + vertical move
- Rotate: Shift + Right drag + vertical move (~100px = 90°)
- Flip horizontally:
Ctrl+R— mirrors the view and clears the active effects (same reset as double right click); pressCtrl+Ragain to undo. Also matches the physical R key position, so keymaps that report the R key as a different character still work - Reset (all effects): Double right click
- Navigation arrows: bottom corners, visible on hover
- Settings (gear): sort by time/name, print, shortcut info
- Print: send the image to a printer (A4, fit)
- Save visible area: title bar save icon or
Ctrl+S— the on-screen region is written at original resolution as JPEG (quality 95) next to the source file (photo.jpg→photo_143025.jpg); active effects (contrast/saturation/brightness), rotation and horizontal flip are baked into the output; if that name already exists, nothing is written and a warning is shown - Drag & drop to open images
- Window size/position memory (JSON persistence)
- Set as default image viewer
- Cascade placement for new windows
- Taskbar grouping (Linux:
StartupWMClass)
Install
Linux (.deb, recommended)
No Flutter SDK needed — grab the latest .deb from the
Releases page:
sudo dpkg -i imajviewer_*_amd64.deb
sudo apt-get install -f # install missing dependencies, if any
After install, open an image with xdg-open <file> or double-click it.
Windows (installer)
Download imajviewer_setup_*.exe from the
Releases page and run it.
The installer:
- Installs to Program Files
- Adds a Start Menu shortcut (optional desktop shortcut)
- Registers file associations (PNG, JPG, JPEG, WebP, BMP, GIF)
- Supports uninstall (Settings > Apps)
Build from source
| Requirement | Notes |
|---|---|
| Flutter SDK | stable channel |
| Linux: GTK dev libs | libgtk-3-dev, ninja-build, clang, cmake |
| Windows: VS 2022 Build Tools | "Desktop development with C++" workload |
flutter pub get
flutter build linux # Linux
flutter build windows --release # Windows
Linux output: build/linux/x64/release/bundle/
Windows output: build\windows\x64\runner\Release\ (portable: copy the whole
folder including imajviewer.exe and all DLLs).
Keyboard & Mouse Shortcuts
| Interaction | Action |
|---|---|
| Left drag | Pan |
| Mouse wheel | Zoom (cursor-centered) |
| Double left click | Fill / Fit toggle |
| Right drag + vertical | Contrast (0.0 – 2.0) |
| Ctrl + Right drag + vertical | Saturation (0.0 – 2.0) |
| Ctrl+Shift + Right drag + vertical | Brightness (-100 – 100) |
| Shift + Right drag + vertical | Rotate (free) |
| Ctrl + R | Flip horizontally (clears effects; press again to undo) |
| Double right click | Reset (all effects) |
| Left / Right arrow | Previous / next image |
| Ctrl + S | Save visible area (JPEG 95, original resolution) |
| Ctrl + Q | Close window |
| Ctrl + Shift + Q | Close all windows |
CI / Releases
GitHub Actions builds Linux .deb and Windows installer on every push to
main. Pushing a v* tag creates a GitHub Release with both installers as
assets.
Development
flutter pub get
flutter analyze
flutter test
To rebuild the .deb locally:
flutter build linux --release
bash dist/rebuild-deb.sh
License
Description
Ultra hafif Linux görüntü izleyici - Flutter
588 MiB
0 Stars
1 Watchers
0 Forks
