commit f13afcf5e62ec3cca91bb86463352854f3b735df670738cc5671f082be8b1fa5
Author: Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
Date:   Mon Jan 13 08:20:19 2025 +0000

    - Update to version 0.9.2:
      + Bug Fixes
        - Prevent application from saving current channel to settings
          file. The current image channel now is reset between restarts
          as this was confusing to users.
        - prevent dng from being loaded as tiff
        - Send frame wen editing alpha tools to prevent crash
        - Fallback to native image library if TurboJPEG fails on
          certain images, such as taken by Samsung phones
        - Add all supported heif extensions.
      + Features
        - Add Support Japanese, Arabic, Chinese
        - Enable bypassing image filters
        - generate palette from image
        - Copy palette color to clipboard, highlight palette color if
          contained
        - Basic swatch / palette UI
        - enable thumbnails in image browser
        - search files in current directory in file browser
        - Expose image save options
        - Allow storing bookmarls in the file dialog
        - Criterion benchmarks
        - Read Krita files
        - Rotate images according to their EXIF rotation data
    - Add psd mimetype
    - Removed cargo_audit from _service due that contains vendor now
    
    OBS-URL: https://build.opensuse.org/package/show/graphics/oculante?expand=0&rev=43

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..9b03811
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,23 @@
+## Default LFS
+*.7z filter=lfs diff=lfs merge=lfs -text
+*.bsp filter=lfs diff=lfs merge=lfs -text
+*.bz2 filter=lfs diff=lfs merge=lfs -text
+*.gem filter=lfs diff=lfs merge=lfs -text
+*.gz filter=lfs diff=lfs merge=lfs -text
+*.jar filter=lfs diff=lfs merge=lfs -text
+*.lz filter=lfs diff=lfs merge=lfs -text
+*.lzma filter=lfs diff=lfs merge=lfs -text
+*.obscpio filter=lfs diff=lfs merge=lfs -text
+*.oxt filter=lfs diff=lfs merge=lfs -text
+*.pdf filter=lfs diff=lfs merge=lfs -text
+*.png filter=lfs diff=lfs merge=lfs -text
+*.rpm filter=lfs diff=lfs merge=lfs -text
+*.tbz filter=lfs diff=lfs merge=lfs -text
+*.tbz2 filter=lfs diff=lfs merge=lfs -text
+*.tgz filter=lfs diff=lfs merge=lfs -text
+*.ttf filter=lfs diff=lfs merge=lfs -text
+*.txz filter=lfs diff=lfs merge=lfs -text
+*.whl filter=lfs diff=lfs merge=lfs -text
+*.xz filter=lfs diff=lfs merge=lfs -text
+*.zip filter=lfs diff=lfs merge=lfs -text
+*.zst filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..57affb6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.osc
diff --git a/_constraints b/_constraints
new file mode 100644
index 0000000..44239c4
--- /dev/null
+++ b/_constraints
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<constraints>
+  <hardware>
+    <physicalmemory>
+      <!-- Maximal used memory: 12667668kB -->
+      <size unit="G">13</size>
+    </physicalmemory>
+  </hardware>
+</constraints>
\ No newline at end of file
diff --git a/_service b/_service
new file mode 100644
index 0000000..056ca49
--- /dev/null
+++ b/_service
@@ -0,0 +1,8 @@
+<services>
+  <service name="download_files" mode="manual" />
+  <service name="cargo_vendor" mode="manual">
+     <param name="src">oculante-*.tar.gz</param>
+     <param name="compression">zst</param>
+     <param name="update">true</param>
+  </service>
+</services>
diff --git a/oculante-0.8.22.tar.gz b/oculante-0.8.22.tar.gz
new file mode 100644
index 0000000..2b22f7a
--- /dev/null
+++ b/oculante-0.8.22.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:101a8a1ffec97add9994e85b79dbc42e723326c7a73a87850963e1cd78636936
+size 57878985
diff --git a/oculante-0.8.23.tar.gz b/oculante-0.8.23.tar.gz
new file mode 100644
index 0000000..4739673
--- /dev/null
+++ b/oculante-0.8.23.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fa3826727db01a6472762de2444c195bd0db31936f8041481c487029b7cf2b34
+size 59558845
diff --git a/oculante-0.9.0.tar.gz b/oculante-0.9.0.tar.gz
new file mode 100644
index 0000000..8a96ebd
--- /dev/null
+++ b/oculante-0.9.0.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d3faf017cc3aa8dc4f84cd75a934703b4e4b2522ae79e42fcfc0e439e9d5e430
+size 59617742
diff --git a/oculante-0.9.1.tar.gz b/oculante-0.9.1.tar.gz
new file mode 100644
index 0000000..965649e
--- /dev/null
+++ b/oculante-0.9.1.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6d3b733492c75b5da5d83a2c879fb0d74545d46323030e7b64adce55a81aa23d
+size 60739840
diff --git a/oculante-0.9.2.tar.gz b/oculante-0.9.2.tar.gz
new file mode 100644
index 0000000..aa76e4b
--- /dev/null
+++ b/oculante-0.9.2.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c79bc52b1d919b4ba702b4b1edad0d734287af80c592e8b5bb7bf7d70f1b0497
+size 73352915
diff --git a/oculante.changes b/oculante.changes
new file mode 100644
index 0000000..b0a8243
--- /dev/null
+++ b/oculante.changes
@@ -0,0 +1,258 @@
+-------------------------------------------------------------------
+Mon Jan 13 05:47:09 UTC 2025 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.9.2:
+  + Bug Fixes
+    - Prevent application from saving current channel to settings
+      file. The current image channel now is reset between restarts
+      as this was confusing to users.
+    - prevent dng from being loaded as tiff
+    - Send frame wen editing alpha tools to prevent crash
+    - Fallback to native image library if TurboJPEG fails on
+      certain images, such as taken by Samsung phones
+    - Add all supported heif extensions.
+  + Features
+    - Add Support Japanese, Arabic, Chinese
+    - Enable bypassing image filters
+    - generate palette from image
+    - Copy palette color to clipboard, highlight palette color if
+      contained
+    - Basic swatch / palette UI
+    - enable thumbnails in image browser
+    - search files in current directory in file browser
+    - Expose image save options
+    - Allow storing bookmarls in the file dialog
+    - Criterion benchmarks
+    - Read Krita files
+    - Rotate images according to their EXIF rotation data
+- Add psd mimetype
+- Removed cargo_audit from _service due that contains vendor now
+
+-------------------------------------------------------------------
+Wed Oct  2 09:10:50 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Add StartupWMClass on dekstop file to fix missing icon on GNOME
+- Add missing jxl mimetype
+
+-------------------------------------------------------------------
+Mon Sep 23 20:48:21 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.9.1:
+  + Bug Fixes
+    - Prevent scrollbars from occluding info panel
+    - Noise filter ui would extend panel too much
+  + Chore
+    - Fix wronf icon for Rotate operator
+
+-------------------------------------------------------------------
+Sun Sep 22 00:07:11 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- add appstream-glib BuildRequires: for validate xml file
+
+-------------------------------------------------------------------
+Sat Sep 21 12:23:35 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.9.0:
+  + Bug Fixes
+    - Flip operation would always flip horizontal
+    - When pressing right mouse, panning operation got stuck.
+      Panning is now only possible using left or middle mouse.
+  + Features
+    - Show confirmation dialog when deleting a file
+    - Stack Blur provides much faster blur performance for the blur
+      filter
+    - Visually indicate difference between operator types with a
+      separator
+    - Persistent and volatile settings are now split for easier
+      versioning of configuration files
+    - enable version control friendly settings
+    - Use built in file browser
+  + Chore
+    - deps: bump quinn-proto from 0.11.3 to 0.11.8
+    - update turbojpeg and remove image dependency
+    - Update gif/ gif-dispose
+    - Update fast_image_resize, libavif-image, self_update,
+      libheif-rs
+    - update trash
+    - Update webbrowser, wgpu, ruzstd
+    - Update jpg2000 and add test image
+    - update image and nalgebra
+
+-------------------------------------------------------------------
+Tue Aug  6 07:25:44 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Fix conditional build for leap
+
+-------------------------------------------------------------------
+Mon Jul 29 14:50:34 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.23:
+  + Bug Fixes
+    - Display image path for loading errors
+    - Prevent panic for scrubber index being out of range and
+      allow opening images without path prefic correctly
+    - update index when image in same folder is loaded
+    - Switching theme removes accent color
+    - Preserve scubber index
+    - Prevent image removal going out of bounds
+    - Clearing and deleting an image removes it from the virtual
+      scrubber and advances to the next according to the scrubber
+      direction
+    - Fix issue where SVG files were detected as XML
+    - Compare menu works without image loaded
+    - ClearImage can be assigned to a shortcut
+  + Features
+    - Allow configuring mipmaps and linear mag/min filters
+    - Allow passing multiple images on the command line
+    - Enhance scrubber experience to provide a virtual file list.
+    - Detect file types by content instead of extension. Warn if
+      mismatch happens.
+    - More love for compare mode ui, option to remove current image
+    - Allow configuring the minimum window size
+  + Chore
+    - deps: bump zerovec from 0.10.2 to 0.10.4
+    - update resvg
+    - Update Notan and Egui
+    - update deps
+- add conditional build for leap with force gcc version
+- add desktop-file-utils BuildRequires: for validate desktop file
+
+-------------------------------------------------------------------
+Mon May 20 01:52:34 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.22:
+  + Bug Fixes
+    - Ensure spirv is not used when only using shaderc
+    - Allow loading huge webp images and handle still frames
+      differently
+    - Set window min size to 100x100 to prevent super tiny window
+  + Features
+    - add icns image support
+  + Chore
+    - update avif-decode, evalexpr, exr, rfd, self_update,
+      jxl-oxide, imageproc
+    - Clean up warnings
+
+-------------------------------------------------------------------
+Mon May 13 04:25:02 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Enable heif format support
+
+-------------------------------------------------------------------
+Sun May 12 18:29:39 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.21:
+  + Features
+    - Support EXR with single layers (non-rgba)
+  + Chore
+    - update deps and use new HDR support from image
+    - bump rustls version from 0.21.10 to 0.21.12: fix infinite
+      loop (bsc#1223231)
+- Update scripts install and check for test
+
+-------------------------------------------------------------------
+Mon Apr 29 23:07:26 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.19:
+  + Bug Fixes
+    - prevent zoom with keyboard
+  + Features
+    - Map float TIFF images to min-max range
+  + Chore
+    - Update logo
+    - update icon
+
+-------------------------------------------------------------------
+Sun Apr  7 19:04:05 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.18:
+  + Features:
+    - Add APNG support
+  + Chore:
+    - update logo
+
+-------------------------------------------------------------------
+Wed Mar 13 19:23:34 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.16:
+  + Bug Fixes:
+    - Fix Uri causing files not loading
+
+-------------------------------------------------------------------
+Mon Mar 11 00:01:47 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.15:
+  + Bug Fixes:
+    - Fix issue where "Open with..." does not work any more
+
+-------------------------------------------------------------------
+Fri Mar  8 10:38:52 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.14:
+  + Bug Fixes:
+    - Enable hotkey copy and paste
+    - Enable clipboard support on wayland
+    - Prevent image from flickering at the first frame
+    - Make sure window size is not larger than window
+    - Disable heif image support by default due to non-static
+      linking
+  + Features:
+    - use .config location on unix for storing settings
+    - Add perspective cropping with UI. You can now de-warp scans
+      or similar into a nice rectangular picture. 
+
+-------------------------------------------------------------------
+Sun Feb 25 20:17:46 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.11:
+  + Bug Fixes:
+    - Prevent app from hanging if not image in stdin
+    
+-------------------------------------------------------------------
+Sat Feb 24 19:54:53 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.10:
+  + Bug Fixes:
+    - prevent zoom from being stuck at extreme levels
+    - Blurry text/UI is now rendered crisp
+  + Features:
+    - Allow piping image data to oculante on the command line
+  + Chore:
+    - rename release artifacts
+    
+-------------------------------------------------------------------
+Thu Feb 22 20:15:53 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.9:
+  + Features:
+    - Only redraw when needed on windows (less cpu/gpu usage)
+    - App Id is now available for wayland
+    
+-------------------------------------------------------------------
+Tue Feb 20 19:48:00 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.8:
+  + Bug Fixes:
+    - Prevent "Do not reset image view" being reset
+  + Features:
+    - Allow opening of webp animations
+    - Use custom filebrowser instead of rfd
+    - Enable borderless mode and allow to toggle via settings menu
+    - add 3x3 Filter operator
+    - scale to available ui area
+  + Chore:
+    - Update notan
+    - Update rfd and strum
+    
+-------------------------------------------------------------------
+Sun Jan 28 01:44:30 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Update to version 0.8.7:
+  + Features:
+    - Add Basic support for ktx2
+- add _constraints to fix out of memory on aarch64 build
+
+-------------------------------------------------------------------
+Sat Dec 16 09:33:00 UTC 2023 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
+
+- Initial package
diff --git a/oculante.spec b/oculante.spec
new file mode 100644
index 0000000..5e25bd6
--- /dev/null
+++ b/oculante.spec
@@ -0,0 +1,101 @@
+#
+# spec file for package oculante
+#
+# Copyright (c) 2025 mantarimay
+# Copyright (c) 2024 SUSE LLC
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%bcond_without test
+%define force_gcc_version 13
+%define appid io.github.woelper.Oculante
+Name:           oculante
+Version:        0.9.2
+Release:        0
+Summary:        A minimalistic crossplatform image viewer written in rust
+License:        MIT
+URL:            https://github.com/woelper/oculante
+Source0:        %{url}/archive/%{version}/%{name}-%{version}.tar.gz
+Source1:        vendor.tar.zst
+BuildRequires:  appstream-glib
+BuildRequires:  cargo-packaging
+BuildRequires:  cmake
+BuildRequires:  desktop-file-utils
+%if 0%{?suse_version} < 1600
+BuildRequires:  gcc%{?force_gcc_version}
+BuildRequires:  gcc%{?force_gcc_version}-c++
+%else
+BuildRequires:  gcc-c++
+%endif
+BuildRequires:  gtk3-devel
+BuildRequires:  libheif-devel
+BuildRequires:  nasm
+ExclusiveArch:  x86_64 aarch64
+
+%description
+Oculante's vision is to be a fast, unobtrusive, portable image viewer with
+wide image format support, offering image analysis and basic editing
+tools.
+
+%prep
+%autosetup -a1 -p1
+
+echo 'StartupWMClass=oculante' >> res/flathub/%{appid}.desktop
+sed -i 's|MimeType=|MimeType=image/jxl;image/vnd.adobe.photoshop;|' res/flathub/%{appid}.desktop
+
+%build
+%if 0%{?suse_version} < 1600
+export CC="gcc-%{?force_gcc_version}"
+export CXX="g++-%{?force_gcc_version}"
+%endif
+%{cargo_build} \
+%if 0%{?suse_version} > 1600
+     --features 'heif' \
+%endif
+     %{nil}
+
+%install
+install -Dpm755 target/release/%{name} -t %{buildroot}%{_bindir}
+install -Dpm644 res/icons/icon.png \
+    %{buildroot}%{_datadir}/pixmaps/%{appid}.png
+install -Dpm644 res/flathub/%{appid}.desktop -t \
+    %{buildroot}%{_datadir}/applications
+install -Dpm644 res/flathub/%{appid}.metainfo.xml -t \
+    %{buildroot}%{_datadir}/metainfo
+
+%check
+%if %{with test}
+%if 0%{?suse_version} < 1600
+export CC="gcc-%{?force_gcc_version}"
+export CXX="g++-%{?force_gcc_version}"
+%endif
+%{cargo_test} -- \
+    --skip=tests::net \
+    --skip=bench \
+    --skip=thumbnails::test_thumbs \
+    --skip=tests::flathub
+%endif
+appstream-util validate-relax --nonet \
+      %{buildroot}%{_datadir}/metainfo/%{appid}.metainfo.xml
+desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
+
+%files
+%license LICENSE*
+%doc README* CHANGELOG.md
+%{_bindir}/%{name}
+%{_datadir}/pixmaps/%{appid}.png
+%{_datadir}/applications/%{appid}.desktop
+%{_datadir}/metainfo
+
+%changelog
diff --git a/vendor.tar.zst b/vendor.tar.zst
new file mode 100644
index 0000000..32bde0d
--- /dev/null
+++ b/vendor.tar.zst
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:48e95c218ac324070f97f6eab06a43219562ab60202e6faf030b546ce28b551a
+size 118325121