No description
Find a file
leyoda 496614f790 feat(pdf): improve PDF rendering quality and zoom sharpness
- Change PDF_RENDER_QUALITY from 2.0 to 3.0 for higher resolution rendering
- Replace PNG round-trip with direct Cairo surface → DynamicImage conversion
- Convert ARgb32 to RGBA directly, avoiding PNG encoding/decoding artifacts
- Switch image filter from Nearest to Linear for smoother zoom display
- Remove unused Cursor and ImageReader imports
- Strip release binary to reduce size from 612MB to 36MB
2026-05-21 19:59:07 +02:00
docs chore: update README and screenshot 2026-02-05 18:03:59 +01:00
i18n Merge pull request #2 from bittin/main 2026-02-24 17:45:57 +01:00
resources i18n(cs): Add Czech translation 2026-02-24 16:50:48 +01:00
src feat(pdf): improve PDF rendering quality and zoom sharpness 2026-05-21 19:59:07 +02:00
.gitignore chore: ignore for .zed 2026-02-05 14:59:43 +01:00
Cargo.lock feat(pdf): improve PDF rendering quality and zoom sharpness 2026-05-21 19:59:07 +02:00
Cargo.toml feat(pdf): improve PDF rendering quality and zoom sharpness 2026-05-21 19:59:07 +02:00
i18n.toml chore: initial commit 2026-01-07 20:22:49 +01:00
justfile Fix: correct metainfo path, icon destination, add post-install 2026-01-08 20:49:54 +01:00
LICENSE chore: initial commit 2026-01-07 20:22:49 +01:00
README.md chore: update README and screenshot 2026-02-05 18:03:59 +01:00
rustfmt.toml chore: initial commit 2026-01-07 20:22:49 +01:00

Noctua

An image viewer application for the COSMIC™ desktop

Screenshot

Features

  • Multi-format support: Raster images (PNG, JPEG, WebP, etc.), SVG vector graphics, and PDF documents
  • Navigation: Browse through folders with keyboard shortcuts
  • Transformations: Rotate, flip, and crop images
  • Zoom & Pan: Flexible viewing with zoom controls and panning
  • Multi-page documents: Navigate PDF pages with thumbnail previews
  • Metadata display: View EXIF data and file information
  • Wallpaper setting: Set images as desktop wallpaper (multi-DE support)

Architecture

Noctua follows Clean Architecture principles with clear separation of concerns.

Key Patterns:

  • MVU (Model-View-Update): Elm architecture via libcosmic
  • Command Pattern: Domain operations encapsulated in commands
  • Dependency Inversion: Domain has no dependencies on infrastructure
  • Type-Erased Documents: DocumentContent enum for unified handling

Installation

A justfile is included by default for the [casey/just][just] command runner.

  • just builds the application with the default just build-release recipe
  • just run builds and runs the application
  • just install installs the project into the system
  • just vendor creates a vendored tarball
  • just build-vendored compiles with vendored dependencies from that tarball
  • just check runs clippy on the project to check for linter warnings
  • just check-json can be used by IDEs that support LSP

Dependencies

Arch Linux

sudo pacman -S poppler-glib

Debian/Ubuntu

sudo apt install libpoppler-glib-dev

Fedora

sudo dnf install poppler-glib-devel

OpenSUSE

sudo zypper install poppler-glib-devel

Documentation

License

GPL-3.0-or-later