diff --git a/README.md b/README.md
index 6c97250..29bf3cc 100644
--- a/README.md
+++ b/README.md
@@ -1,199 +1,12 @@
[![nsxiv](https://codeberg.org/nsxiv/pages/raw/branch/master/img/logo.png)](https://codeberg.org/nsxiv/nsxiv)
-
-[![Codeberg](https://img.shields.io/badge/Hosted_at-Codeberg-%232185D0?style=flat-square&logo=CodeBerg)](https://codeberg.org/nsxiv/nsxiv)
-[![tags](https://img.shields.io/github/v/tag/nsxiv/nsxiv?style=flat-square)](https://codeberg.org/nsxiv/nsxiv/tags)
[![license](https://img.shields.io/badge/license-GPL--2.0%2B-lightgreen?style=flat-square)](https://codeberg.org/nsxiv/nsxiv/src/branch/master/LICENSE)
-[![loc](https://img.shields.io/tokei/lines/github/nsxiv/nsxiv?color=red&style=flat-square)](https://codeberg.org/nsxiv/nsxiv)
-**Neo (or New or Not) Simple (or Small or Suckless) X Image Viewer**
+**Zeniba Image Viewer**
--------------------------------------------------------------------
-nsxiv is a fork of the now-unmaintained [sxiv](https://github.com/xyb3rt/sxiv)
-with the purpose of being a (mostly) drop-in replacement for sxiv, maintaining its
-interface and adding simple, sensible features. nsxiv is free software licensed
-under GPL-2.0-or-later and aims to be easy to modify and customize.
-
-Please file a bug report if something does not work as documented or expected on
-[Codeberg] after making sure you are using the latest release. If you're looking
-to migrate from `sxiv`, see [MIGRATION]. Contributions are welcome, see
-[CONTRIBUTING] to get started.
-
-[Codeberg]: https://codeberg.org/nsxiv/nsxiv/issues/new
-[CONTRIBUTING]: etc/CONTRIBUTING.md#contribution-guideline
-[MIGRATION]: etc/MIGRATION.md
-
-
-Features
---------
-
-* Basic image operations like zooming, panning, rotating
-* Basic support for animated/multi-frame images (**requires Imlib2 v1.8.0 or above**)
-* Thumbnail mode: grid of selectable previews of all images
-* Ability to cache thumbnails for fast re-loading
-* Automatically refreshing modified images
-* Customizable keyboard and mouse mappings via `config.h`
-* Scriptability via `key-handler`
-* Displaying image information in status bar via `image-info` & `thumb-info`
-* Customizable window title via `win-title`
-
-
-Screenshots
------------
-
-**Image mode with default colors:**
-
-![Image](https://codeberg.org/nsxiv/pages/raw/branch/master/img/image.png "Image mode")
-
-**Thumbnail mode with custom colors:**
-
-![Thumb](https://codeberg.org/nsxiv/pages/raw/branch/master/img/thumb.png "Thumb mode")
-
-
-Installing via package manager
-------------------------------
-
-
-
-
-
-nsxiv is available on the following distributions/repositories. If you don't see
-your distro listed here, either contact your distro's package maintainer or
-consider packaging it yourself and adding it to the respective community repo.
-
-
-Dependencies
-------------
-
-nsxiv requires the following software to be installed:
-
- * X11
- * Imlib2 (built with X11 support)
-
-The following dependencies are optional:
-
- * `inotify`\*: Used for auto-reloading images on change.
- Disabled via `HAVE_INOTIFY=0`.
- * `libXft`, `freetype2`, `fontconfig`: Used for the status bar.
- Disabled via `HAVE_LIBFONTS=0`.
- * `libexif`: Used for auto-orientation and exif thumbnails.
- Disable via `HAVE_LIBEXIF=0`.
-
-Please make sure to install the corresponding development packages in case that
-you want to build nsxiv on a distribution with separate runtime and development
-packages (e.g. \*-dev on Debian).
-
-\* [inotify][] is a Linux-specific API for monitoring filesystem changes.
- It's not natively available on `*BSD` systems but can be enabled via
- installing and linking against [libinotify-kqueue][].
-
-[inotify]: https://www.man7.org/linux/man-pages/man7/inotify.7.html
-[libinotify-kqueue]: https://github.com/libinotify-kqueue/libinotify-kqueue
-
-
-Building
---------
-
-nsxiv is built using the commands:
-
- $ make
-
-You can pass `HAVE_X=0` to `make` to disable an optional dependency.
-For example:
-
- $ make HAVE_LIBEXIF=0
-
-will disable `libexif` support. Alternatively they can be disabled via editing
-`config.mk`. `OPT_DEP_DEFAULT=0` can be used to disable all optional
-dependencies.
-
-Installing nsxiv:
-
- # make install
-
-Installing desktop entry:
-
- # make install-desktop
-
-Installing icons:
-
- # make install-icon
-
-Installing all of the above:
-
- # make install-all
-
-Please note, that these requires root privileges.
-By default, nsxiv is installed using the prefix `/usr/local`, so the full path
-of the executable will be `/usr/local/bin/nsxiv`, the `.desktop` entry will be
-`/usr/local/share/applications/nsxiv.desktop` and the icon path will be
-`/usr/local/share/icons/hicolor/{size}/apps/nsxiv.png`.
-
-You can install nsxiv into a directory of your choice by changing this command to:
-
- $ make PREFIX="/your/dir" install
-
-Example scripts are installed using `EGPREFIX` which defaults to
-`/usr/local/share/doc/nsxiv/examples`. You can change `EGPREFIX` the same way
-you can change `PREFIX` shown above.
-
-The build-time specific settings of nsxiv can be found in the file *config.h*.
-Please check and change them, so that they fit your needs.
-If the file *config.h* does not already exist, then you have to create it with
-the following command:
-
- $ make config.h
-
-
-Usage
------
-
-Refer to the man-page for the documentation:
-
- $ man nsxiv
-
-You may also view the man-page [online](https://nsxiv.codeberg.page/man/).
-However, note that the online man-page might not accurately represent your local
-copy.
-
-
-F.A.Q.
-------
-
-* Can I open remote urls with nsxiv?
-Yes, see [nsxiv-url](https://codeberg.org/nsxiv/nsxiv-extra/src/branch/master/scripts/nsxiv-url)
-
-* Can I open all the images in a directory?
-Yes, see [nsxiv-rifle](https://codeberg.org/nsxiv/nsxiv-extra/src/branch/master/scripts/nsxiv-rifle)
-
-* Can I set default arguments for nsxiv?
-Yes, see [nsxiv-env](https://codeberg.org/nsxiv/nsxiv-extra/src/branch/master/scripts/nsxiv-env)
-
-* Can I pipe images into nsxiv?
-Yes, see [nsxiv-pipe](https://codeberg.org/nsxiv/nsxiv-extra/src/branch/master/scripts/nsxiv-pipe)
-
-You may also wish to see the [known issues](https://codeberg.org/nsxiv/nsxiv/issues/242).
-
-
-Customization
--------------
-
-The main method of customizing nsxiv is by setting values for the variables in *config.h*,
-or by using Xresources as explained in the manual. If these options are not sufficient,
-you may implement your own features by following
-[this guide](https://codeberg.org/nsxiv/nsxiv-extra/src/branch/master/CUSTOMIZATION.md).
-
-Due to our limited [project scope](etc/CONTRIBUTING.md#project-scope), certain features or
-customization cannot be merged into nsxiv mainline. Following the spirit of suckless
-software, we host the [nsxiv-extra](https://codeberg.org/nsxiv/nsxiv-extra) repo where users
-are free to submit whatever patches or scripts they wish.
-
-If you think your custom features can be beneficial for the general user base and is within
-our project scope, please submit it as a pull request on this repository, then we *may*
-merge it to mainline.
-
-Description on how to use or submit patches can be found on
-nsxiv-extra's [README](https://codeberg.org/nsxiv/nsxiv-extra).
+fork of the famous [nsxiv](https://codeberg.org/nsxiv/nsxiv)
+to configure it juust the way I like it
Download
--------
@@ -203,22 +16,3 @@ on Codeberg or get a copy using git with the following command:
$ git clone https://codeberg.org/nsxiv/nsxiv.git
-You can view the changelog [here](etc/CHANGELOG.md)
-
-
-Similar projects
-----------------
-
-If nsxiv isn't able to fit your needs, check out the image viewer section of
-**[suckless rocks](https://suckless.org/rocks)** to find other minimal image
-viewers to try out.
-
-Below are a couple other lesser known projects not listed in suckless rocks.
-
-* [MAGE](https://codeberg.org/explosion-mental/mage):
- A smaller/more-suckless version of sxiv.
-* [div](https://codeberg.org/TAAPArthur/div):
- Minimal and extensive, aimed at C devs willing to build their own features.
-* [mpv-image-viewer](https://github.com/occivink/mpv-image-viewer):
- Lua script to turn mpv into an image viewer. Supports thumbnails via
- [mpv-gallery-view](https://github.com/occivink/mpv-gallery-view).
diff --git a/etc/.clang-format b/etc/.clang-format
deleted file mode 100644
index a29be62..0000000
--- a/etc/.clang-format
+++ /dev/null
@@ -1,82 +0,0 @@
-# clang-format doesn't dictate the project's code style and can mess up a
-# couple edge cases. However it comes quite close and can be used for fixing
-# most style issues automatically on new changes via `git-clang-format`.
----
-
-Standard: c++03
-
-ColumnLimit: 0
-
-AccessModifierOffset: -8
-ConstructorInitializerIndentWidth: 8
-ContinuationIndentWidth: 8
-IndentCaseLabels: false
-IndentGotoLabels: false
-IndentPPDirectives: None
-IndentWidth: 8
-IndentWrappedFunctionNames: false
-NamespaceIndentation: None
-TabWidth: 8
-UseTab: AlignWithSpaces
-
-AlignAfterOpenBracket: true
-AlignConsecutiveAssignments: false
-AlignConsecutiveDeclarations: false
-AlignEscapedNewlines: false
-AlignOperands: true
-AlignTrailingComments: false
-DerivePointerAlignment: true
-PointerAlignment: true
-
-AllowAllParametersOfDeclarationOnNextLine: false
-AllowShortBlocksOnASingleLine: true
-AllowShortCaseLabelsOnASingleLine: false
-AllowShortFunctionsOnASingleLine: None
-AllowShortIfStatementsOnASingleLine: false
-AllowShortLoopsOnASingleLine: false
-
-AlwaysBreakAfterDefinitionReturnType: None
-AlwaysBreakAfterReturnType: None
-AlwaysBreakBeforeMultilineStrings: false
-AlwaysBreakTemplateDeclarations: false
-
-BinPackArguments: true
-BinPackParameters: true
-
-BreakBeforeBraces: Custom
-BraceWrapping:
- AfterControlStatement: MultiLine
- AfterEnum: false
- AfterExternBlock: false
- AfterFunction: true
- AfterStruct: false
- AfterUnion: false
- BeforeElse: false
- IndentBraces: false
- SplitEmptyFunction: true
-
-BreakBeforeBinaryOperators: None
-BreakBeforeInheritanceComma: false
-BreakBeforeTernaryOperators: false
-BreakConstructorInitializers: BeforeComma
-BreakConstructorInitializersBeforeComma: false
-BreakStringLiterals: true
-
-Cpp11BracedListStyle: false
-MaxEmptyLinesToKeep: 1
-
-ReflowComments: false
-
-SortIncludes: true
-
-SpaceAfterCStyleCast: false
-SpaceBeforeAssignmentOperators: true
-SpaceBeforeParens: ControlStatements
-SpaceInEmptyParentheses: false
-SpacesBeforeTrailingComments: 1
-SpacesInAngles: false
-SpacesInCStyleCastParentheses: false
-SpacesInParentheses: false
-SpacesInSquareBrackets: false
-
-...
diff --git a/etc/CHANGELOG.md b/etc/CHANGELOG.md
deleted file mode 100644
index 5af260f..0000000
--- a/etc/CHANGELOG.md
+++ /dev/null
@@ -1,499 +0,0 @@
-nsxiv - Changelog
------------------
-
-**[git](https://codeberg.org/nsxiv/nsxiv.git)**
-
-Changes will only be documented on stable releases. If you're on git/master then
-there may be more changes. Please use `git log` to view them.
-
-- - -
-
-**[v32](https://codeberg.org/nsxiv/nsxiv/archive/v32.tar.gz)**
-*(October 01, 2023)*
-
-* Changes:
-
- * Removed legacy multi-frame loaders. Animated image support now requires
- Imlib2 v1.8.0 or above.
- * Move loading/caching messages to right side bar [#446]
- * Set a default delay if delay is 0 in a multi-frame image [#445]
- * `config.mk`: default to `-O2` [#435]
- * `config.mk` no longer explicitly sets `CC` to `c99` [#455]
- * Assertions are now opt-in and requires explicitly defining `DEBUG` [#447]
-
-* Added:
-
- * Added a pick-quit key-binding [#432]
- * Ability to configure Xresources class name in `config.h` [#427]
- * `--version` output now also includes compiled-in feature list [#462]
- * Document handling of empty X resources values [#428]
- * Experimental flag `--bg-cache` to generate thumbnail cache in a background
- process [#438]
-
-* Fixes:
-
- * Changing brightness/contrast on multi-frame images [#440]
- * Brightness keybindings on manpage [#467]
- * Various autoreload bugs [#437], [#459], [#460]
- * `*-info` scripts not updating when selecting thumbnail with mouse [#477]
- * Updated openbsd configuration in `config.mk` [#453]
- * Memory leak in `win_draw_bar` [#444]
- * Thumbnail leak when removing the last file [#423]
-
-[#423]: https://codeberg.org/nsxiv/nsxiv/pulls/423
-[#427]: https://codeberg.org/nsxiv/nsxiv/pulls/427
-[#428]: https://codeberg.org/nsxiv/nsxiv/pulls/428
-[#432]: https://codeberg.org/nsxiv/nsxiv/pulls/432
-[#435]: https://codeberg.org/nsxiv/nsxiv/pulls/435
-[#437]: https://codeberg.org/nsxiv/nsxiv/pulls/437
-[#438]: https://codeberg.org/nsxiv/nsxiv/pulls/438
-[#440]: https://codeberg.org/nsxiv/nsxiv/pulls/440
-[#444]: https://codeberg.org/nsxiv/nsxiv/pulls/444
-[#445]: https://codeberg.org/nsxiv/nsxiv/pulls/445
-[#446]: https://codeberg.org/nsxiv/nsxiv/pulls/446
-[#447]: https://codeberg.org/nsxiv/nsxiv/pulls/447
-[#453]: https://codeberg.org/nsxiv/nsxiv/pulls/453
-[#455]: https://codeberg.org/nsxiv/nsxiv/pulls/455
-[#459]: https://codeberg.org/nsxiv/nsxiv/pulls/459
-[#460]: https://codeberg.org/nsxiv/nsxiv/pulls/460
-[#462]: https://codeberg.org/nsxiv/nsxiv/pulls/462
-[#467]: https://codeberg.org/nsxiv/nsxiv/pulls/467
-[#477]: https://codeberg.org/nsxiv/nsxiv/pulls/477
-
-- - -
-
-**[v31](https://codeberg.org/nsxiv/nsxiv/archive/v31.tar.gz)**
-*(January 28, 2023)*
-
-* Changes:
-
- * Uncritical files moved to `etc/`. [#350]
- * Empty Xresource entry will now be ignored. [#340]
- * `win-title` will be read in a non-blocking manner. [#314]
-
-* Added:
-
- * Support for multi-frame images via `Imlib2`. [#373]
- * Support for long-opts. [#332]
- * Cli flag `--anti-alias` to enable/disable anti-aliasing. [#361]
- * Cli flag `--alpha-layer` to enable/disable checkerboard background. [#408]
- * Accept directory via stdin (-i) [#383]
- * Support for modifying brightness and contrast [#396]
-
-* Fixes:
-
- * Build failure when `_SC_PHYS_PAGES` is not defined. [#334]
- * Various statusbar issues. [#353],[#341]
- * Crashes due to faulty signal-handler. [#411]
- * Potential memory leak in `r_readdir()`. [#319]
- * Potentially printing incorrect error message. [#321]
- * Wrong slideshow length on animated webp. [#381]
- * Document missing Ctrl+6 binding in the manpage. [#347]
-
-[#314]: https://codeberg.org/nsxiv/nsxiv/pulls/314
-[#319]: https://codeberg.org/nsxiv/nsxiv/pulls/319
-[#321]: https://codeberg.org/nsxiv/nsxiv/pulls/321
-[#332]: https://codeberg.org/nsxiv/nsxiv/pulls/332
-[#334]: https://codeberg.org/nsxiv/nsxiv/pulls/334
-[#340]: https://codeberg.org/nsxiv/nsxiv/pulls/340
-[#341]: https://codeberg.org/nsxiv/nsxiv/pulls/341
-[#347]: https://codeberg.org/nsxiv/nsxiv/pulls/347
-[#350]: https://codeberg.org/nsxiv/nsxiv/pulls/350
-[#353]: https://codeberg.org/nsxiv/nsxiv/pulls/353
-[#361]: https://codeberg.org/nsxiv/nsxiv/pulls/361
-[#373]: https://codeberg.org/nsxiv/nsxiv/pulls/373
-[#381]: https://codeberg.org/nsxiv/nsxiv/pulls/381
-[#383]: https://codeberg.org/nsxiv/nsxiv/pulls/383
-[#396]: https://codeberg.org/nsxiv/nsxiv/pulls/396
-[#408]: https://codeberg.org/nsxiv/nsxiv/pulls/408
-[#411]: https://codeberg.org/nsxiv/nsxiv/pulls/411
-
-- - -
-
-***SPECIAL NOTE***: Due to [this incident](https://codeberg.org/nsxiv/nsxiv-tmp/issues/1)
-we have moved development over to [Codeberg](https://codeberg.org/nsxiv/nsxiv).
-
-A lot of the references *below* may now be 404 on GitHub. Any threads which
-survived the wipe have been migrated over to [nsxiv-record]. All of the
-references *above* can be found on the new main nsxiv repository on Codeberg.
-
-[nsxiv-record]: https://codeberg.org/nsxiv/nsxiv-record/
-
-- - -
-
-**[v30](https://codeberg.org/nsxiv/nsxiv/archive/v30.tar.gz)**
-*(June 15, 2022)*
-
-* Changes:
-
- * Development and main repository moved over to Codeberg.
- See the special note above for more info.
- * `autoreload_{inotify,nop}.c` merged into a single file, `autoreload.c`. [#263]
- * Moved all configuration related macros to `config.mk`. [#264]
- * `win-title` is now called only when there's change rather than being called
- on each redraw. [#266]
-
-* Added:
-
- * Added more mimetypes to the `.desktop` entry. [#260]
- * Added `thumb-info` for customizing the statusbar in thumbnail-mode. [#265]
- * Added comments for building on OpenBSD. [#264]
-
-* Fixes:
-
- * "Too many open file" error due to not closing the win-title script. [#245]
- * `-f` now directly starts in fullscreen mode rather than opening a normal
- window and then going fullscreen. [#251]
- * Broken slideshow on slow systems or fast animations. [#282]
- * Memory leak when removing an image in thumbnail mode. [#247]
- * Correctly setting `_NET_WM_PID`. [#251]
- * Don't override statusbar if info script doesn't exist. [#271]
- * Potential misbehavior regarding font. [#250]
-
-[#245]: https://codeberg.org/nsxiv/nsxiv-record/pulls/245
-[#247]: https://codeberg.org/nsxiv/nsxiv-record/pulls/247
-[#250]: https://codeberg.org/nsxiv/nsxiv-record/pulls/250
-[#251]: https://codeberg.org/nsxiv/nsxiv-record/pulls/251
-[#263]: https://codeberg.org/nsxiv/nsxiv-record/pulls/263
-[#264]: https://codeberg.org/nsxiv/nsxiv-record/pulls/264
-[#260]: https://codeberg.org/nsxiv/nsxiv-record/pulls/260
-[#264]: https://codeberg.org/nsxiv/nsxiv-record/pulls/264
-[#265]: https://codeberg.org/nsxiv/nsxiv-record/pulls/265
-[#266]: https://codeberg.org/nsxiv/nsxiv-record/pulls/266
-[#271]: https://codeberg.org/nsxiv/nsxiv-record/pulls/271
-[#282]: https://codeberg.org/nsxiv/nsxiv-record/pulls/282
-
-- - -
-
-**[v29](https://github.com/nsxiv/nsxiv/archive/v29.tar.gz)**
-*(March 03, 2022)*
-
-* Changes:
-
- * Window title is now customizable via `win-title`, cli flag `-T` and related
- config.h options are removed. See `WINDOW TITLE` section of the manpage for
- more info. [#213]
- * Imlib2 cache size is now set based on total memory percentage, by default
- set to 3%. [#184]
- * Removed some non-POSIX extensions in the Makefile. [#225]
-
-* Added:
-
- * Ability to customize thumbnail mode mouse-bindings via `config.h`. [#167]
- * Option to set statusbar position to top via `config.h`. [#231]
- * New keybinding z to scroll to center. [#203]
-
-* Fixes:
-
- * Manpage cleanup: avoid confusing wording and document thumbnail mode
- mouse-bindings. [#186]
- * Wrong jpeg exif orientation with Imlib2 v1.7.5 (and above). [#188]
- * Animation slowdown when zoomed in. [#200]
- * Reset statusbar after failed keyhandler. [#191]
- * Window title not working on certain WMs. [#234]
- * Various compiler warnings. [#197]
-
-[#167]: https://codeberg.org/nsxiv/nsxiv-record/pulls/167
-[#184]: https://codeberg.org/nsxiv/nsxiv-record/pulls/184
-[#186]: https://codeberg.org/nsxiv/nsxiv-record/pulls/186
-[#188]: https://codeberg.org/nsxiv/nsxiv-record/pulls/188
-[#191]: https://codeberg.org/nsxiv/nsxiv-record/pulls/191
-[#197]: https://codeberg.org/nsxiv/nsxiv-record/pulls/197
-[#200]: https://codeberg.org/nsxiv/nsxiv-record/pulls/200
-[#203]: https://codeberg.org/nsxiv/nsxiv-record/pulls/203
-[#213]: https://codeberg.org/nsxiv/nsxiv-record/pulls/213
-[#225]: https://codeberg.org/nsxiv/nsxiv-record/pulls/225
-[#231]: https://codeberg.org/nsxiv/nsxiv-record/pulls/231
-[#234]: https://codeberg.org/nsxiv/nsxiv-record/pulls/234
-
-- - -
-
-**[v28](https://github.com/nsxiv/nsxiv/archive/v28.tar.gz)**
-*(December 12, 2021)*
-
-* Changes:
-
- * Statusbar made optional via `HAVE_LIBFONTS`. [#95]
- * Remove library auto-detection, use `OPT_DEP_DEFAULT` instead. [#71]
- * Example scripts will now be installed into `EGPREFIX`
- (`$(PREFIX)/share/doc/nsxiv/examples` by default). See README for more
- info. [#86]
-
-* Added:
-
- * Animated webp support (optional via `HAVE_LIBWEBP`). [#20]
- * New mouse-binding Ctrl-Button1 for relative drag. [#117]
- * Ability to configure colors and fonts in `config.h`. [#115]
- * Ability to configure navigation width area in `config.h`. [#155]
- * Ability to customize the set of modifiers used when processing keybindings
- in `config.h` via `USED_MODMASK`. [#150]
- * Ability to configure Imlib2's cache size for better image (re)loading
- performance in `config.h`. [#171]
- * Cli flag `-0` for sending null-seperated file-list to standard out (`-o`),
- and key-handler and receiving null-seperated file-list via stdin (`-i`).
- [#68],[#141],[#164]
- * Export environment variable `NSXIV_USING_NULL` to key-handler. [#164]
- * Embed new nsxiv icon. [#163]
- * `make install-icon` to install icons. [#80],[#96]
- * `make install-desktop` to install .desktop entry. [#80],[#96]
- * `make install-all` to install everything. [#80],[#96]
- * Configurable `KEYHANDLER_ABORT` in `config.h`. [#91],[#172]
- * Statusbar message upon key-handler activation. [#98]
- * Ability to write custom C functions in `config.h` and use them via
- keybindings. [#76]
-
-* Fixes:
-
- * Not able to use `KEYHANDLER_ABORT` key (Escape by default) in
- regular keybindings. [#91]
- * Memory leak related to Xresources. [#134]
- * Memory leak in gif loader. [#165]
- * Better handle gif colormap and prevent out-of-bound access. [#165]
- * Prevent crash when zooming out in very small images. [#178]
- * Removed non-POSIX commands and extensions from `Makefile`. [#71]
- * Regression where nsxiv wouldn't run on non-TrueColor X server. [#114]
- * Wrong comments in `config.h` and description in `manpage`.
- [#105],[#106],[#152]
-
-[#20]: https://codeberg.org/nsxiv/nsxiv-record/pulls/20
-[#68]: https://codeberg.org/nsxiv/nsxiv-record/pulls/68
-[#71]: https://codeberg.org/nsxiv/nsxiv-record/pulls/71
-[#76]: https://codeberg.org/nsxiv/nsxiv-record/pulls/76
-[#80]: https://codeberg.org/nsxiv/nsxiv-record/pulls/80
-[#86]: https://codeberg.org/nsxiv/nsxiv-record/pulls/86
-[#91]: https://codeberg.org/nsxiv/nsxiv-record/pulls/91
-[#95]: https://codeberg.org/nsxiv/nsxiv-record/pulls/95
-[#96]: https://codeberg.org/nsxiv/nsxiv-record/pulls/96
-[#98]: https://codeberg.org/nsxiv/nsxiv-record/pulls/98
-[#105]: https://codeberg.org/nsxiv/nsxiv-record/pulls/105
-[#106]: https://codeberg.org/nsxiv/nsxiv-record/pulls/106
-[#114]: https://codeberg.org/nsxiv/nsxiv-record/pulls/114
-[#115]: https://codeberg.org/nsxiv/nsxiv-record/pulls/115
-[#117]: https://codeberg.org/nsxiv/nsxiv-record/pulls/117
-[#134]: https://codeberg.org/nsxiv/nsxiv-record/pulls/134
-[#141]: https://codeberg.org/nsxiv/nsxiv-record/pulls/141
-[#150]: https://codeberg.org/nsxiv/nsxiv-record/pulls/150
-[#152]: https://codeberg.org/nsxiv/nsxiv-record/pulls/152
-[#155]: https://codeberg.org/nsxiv/nsxiv-record/pulls/155
-[#163]: https://codeberg.org/nsxiv/nsxiv-record/pulls/163
-[#164]: https://codeberg.org/nsxiv/nsxiv-record/pulls/164
-[#165]: https://codeberg.org/nsxiv/nsxiv-record/pulls/165
-[#171]: https://codeberg.org/nsxiv/nsxiv-record/pulls/171
-[#172]: https://codeberg.org/nsxiv/nsxiv-record/pulls/172
-[#178]: https://codeberg.org/nsxiv/nsxiv-record/pulls/178
-
-- - -
-
-**[v27.1](https://github.com/nsxiv/nsxiv/archive/v27.1.tar.gz)**
-*(September 16, 2021)*
-
-* Fixes:
-
- * Source tarball failing build [#66]
-
-[#66]: https://codeberg.org/nsxiv/nsxiv-record/pulls/66
-
-- - -
-
-**[v27](https://github.com/nsxiv/nsxiv/archive/v27.tar.gz)**
-*(September 16, 2021)*
-
-* Changes:
-
- * Re-release under the name nsxiv.
- * Xresources `Sxiv.foreground` and `Sxiv.background` changed
- to `Nsxiv.window.foreground` and `Nsxiv.window.background`.
- * Xresources `Sxiv.font` changed to `Nsxiv.bar.font`.
- * Rework the build system. Now by default we'll build with only optional
- dependencies that are already installed. [#19]
-
-* Added:
-
- * Fill scale mode. [#2]
- * Configurable X window title (via `config.h` and the `-T` flag). [#23]
- * Support custom bar colors via Xresources. [#19]
- * Support custom mark color via Xresources. [#51]
- * Toggle animation playback with Ctrl-a. [#33]
- * Set `_NET_WM_PID` and `WM_CLIENT_MACHINE` X properties. [#13]
- * Set `ICCCM WM manager` hints. [#12]
-
-* Fixes:
-
- * Cli flag `-G` not initially setting gamma. [#31]
- * Wrong keybinding description in the manpage. [#14]
- * .desktop entry not advertising webp support. [#15]
- * Prevent crash when embedded into transparent window. [#3]
- * Small memory leak. [#57]
- * Rare crash when showing some GIFs. [#41]
- * Rare event where nsxiv wouldn't close after window being destroyed. [#53]
-
-[#2]: https://codeberg.org/nsxiv/nsxiv-record/pulls/2
-[#3]: https://codeberg.org/nsxiv/nsxiv-record/pulls/3
-[#12]: https://codeberg.org/nsxiv/nsxiv-record/pulls/12
-[#13]: https://codeberg.org/nsxiv/nsxiv-record/pulls/13
-[#14]: https://codeberg.org/nsxiv/nsxiv-record/pulls/14
-[#15]: https://codeberg.org/nsxiv/nsxiv-record/pulls/15
-[#19]: https://codeberg.org/nsxiv/nsxiv-record/pulls/19
-[#23]: https://codeberg.org/nsxiv/nsxiv-record/pulls/23
-[#31]: https://codeberg.org/nsxiv/nsxiv-record/pulls/31
-[#33]: https://codeberg.org/nsxiv/nsxiv-record/pulls/33
-[#41]: https://codeberg.org/nsxiv/nsxiv-record/pulls/41
-[#51]: https://codeberg.org/nsxiv/nsxiv-record/pulls/51
-[#53]: https://codeberg.org/nsxiv/nsxiv-record/pulls/53
-[#57]: https://codeberg.org/nsxiv/nsxiv-record/pulls/57
-
-
-sxiv
-----
-
-**Stable releases**
-
-**[v26](https://github.com/nsxiv/nsxiv/archive/v26.tar.gz)**
-*(January 16, 2020)*
-
- * Maintenance release
-
-**[v25](https://github.com/nsxiv/nsxiv/archive/v25.tar.gz)**
-*(January 26, 2019)*
-
- * Support font fallback for missing glyphs
- * Fix busy loop when built without inotify
- * Use background/foreground colors from X resource database
-
-**[v24](https://github.com/nsxiv/nsxiv/archive/v24.tar.gz)**
-*(October 27, 2017)*
-
- * Automatically reload the current image whenever it changes
- * Support embedding into other X windows with -e (e.g. tabbed)
- * New option -p prevents sxiv from creating cache and temporary files
- * Simpler mouse mappings, the most basic features are accessible with the
- mouse only (navigate, zoom, pan)
-
-**[v1.3.2](https://github.com/nsxiv/nsxiv/archive/v1.3.2.tar.gz)**
-*(December 20, 2015)*
-
- * external key handler gets file paths on stdin, not as arguments
- * Cache out-of-view thumbnails in the background
- * Apply gamma correction to thumbnails
-
-**[v1.3.1](https://github.com/nsxiv/nsxiv/archive/v1.3.1.tar.gz)**
-*(November 16, 2014)*
-
- * Fixed build error, caused by delayed config.h creation
- * Fixed segfault when run with -c
-
-**[v1.3](https://github.com/nsxiv/nsxiv/archive/v1.3.tar.gz)**
-*(October 24, 2014)*
-
- * Extract thumbnails from EXIF tags (requires libexif)
- * Zoomable thumbnails, supported sizes defined in config.h
- * Fixed build error with giflib version >= 5.1.0
-
-**[v1.2](https://github.com/nsxiv/nsxiv/archive/v1.2.tar.gz)**
-*(April 24, 2014)*
-
- * Added external key handler, called on keys prefixed with `Ctrl-x`
- * New keybinding `{`/`}` to change gamma (by András Mohari)
- * Support for slideshows, enabled with `-S` option & toggled with `s`
- * Added application icon (created by 0ion9)
- * Checkerboard background for alpha layer
- * Option `-o` only prints files marked with `m` key
- * Fixed rotation/flipping of multi-frame images (gifs)
-
-**[v1.1.1](https://github.com/nsxiv/nsxiv/archive/v1.1.1.tar.gz)**
-*(June 2, 2013)*
-
- * Various bug fixes
-
-**[v1.1](https://github.com/nsxiv/nsxiv/archive/v1.1.tar.gz)**
-*(March 30, 2013)*
-
- * Added status bar on bottom of window with customizable content
- * New keyboard shortcuts `\`/`|`: flip image vertically/horizontally
- * New keyboard shortcut `Ctrl-6`: go to last/alternate image
- * Added own EXIF orientation handling, removed dependency on libexif
- * Fixed various bugs
-
-**[v1.0](https://github.com/nsxiv/nsxiv/archive/v1.0.tar.gz)**
-*(October 31, 2011)*
-
- * Support for multi-frame images & GIF animations
- * POSIX compliant (IEEE Std 1003.1-2001)
-
-**[v0.9](https://github.com/nsxiv/nsxiv/archive/v0.9.tar.gz)**
-*(August 17, 2011)*
-
- * Made key and mouse mappings fully configurable in config.h
- * Complete code refactoring
-
-**[v0.8.2](https://github.com/nsxiv/nsxiv/archive/v0.8.2.tar.gz)**
-*(June 29, 2011)*
-
- * POSIX-compliant Makefile; compiles under NetBSD
-
-**[v0.8.1](https://github.com/nsxiv/nsxiv/archive/v0.8.1.tar.gz)**
-*(May 8, 2011)*
-
- * Fixed fullscreen under window managers, which are not fully EWMH-compliant
-
-**[v0.8](https://github.com/nsxiv/nsxiv/archive/v0.8.tar.gz)**
-*(April 18, 2011)*
-
- * Support for thumbnail caching
- * Ability to run external commands (e.g. jpegtran, convert) on current image
-
-**[v0.7](https://github.com/nsxiv/nsxiv/archive/v0.7.tar.gz)**
-*(February 26, 2011)*
-
- * Sort directory entries when using `-r` command line option
- * Hide cursor in image mode
- * Full functional thumbnail mode, use Return key to switch between image and
- thumbnail mode
-
-**[v0.6](https://github.com/nsxiv/nsxiv/archive/v0.6.tar.gz)**
-*(February 16, 2011)*
-
- * Bug fix: Correctly display filenames with umlauts in window title
- * Basic support of thumbnails
-
-**[v0.5](https://github.com/nsxiv/nsxiv/archive/v0.5.tar.gz)**
-*(February 6, 2011)*
-
- * New command line option: `-r`: open all images in given directories
- * New key shortcuts: `w`: resize image to fit into window; `W`: resize window
- to fit to image
-
-**[v0.4](https://github.com/nsxiv/nsxiv/archive/v0.4.tar.gz)**
-*(February 1, 2011)*
-
- * New command line option: `-F`, `-g`: use fixed window dimensions and apply
- a given window geometry
- * New key shortcut: `r`: reload current image
-
-**[v0.3.1](https://github.com/nsxiv/nsxiv/archive/v0.3.1.tar.gz)**
-*(January 30, 2011)*
-
- * Bug fix: Do not set setuid bit on executable when using `make install`
- * Pan image with mouse while pressing middle mouse button
-
-**[v0.3](https://github.com/nsxiv/nsxiv/archive/v0.3.tar.gz)**
-*(January 29, 2011)*
-
- * New command line options: `-d`, `-f`, `-p`, `-s`, `-v`, `-w`, `-Z`, `-z`
- * More mouse mappings: Go to next/previous image with left/right click,
- scroll image with mouse wheel (horizontally if Shift key is pressed),
- zoom image with mouse wheel if Ctrl key is pressed
-
-**[v0.2](https://github.com/nsxiv/nsxiv/archive/v0.2.tar.gz)**
-*(January 23, 2011)*
-
- * Bug fix: Handle window resizes correctly
- * New keyboard shortcuts: `g`/`G`: go to first/last image; `[`/`]`: go 10
- images back/forward
- * Support for mouse wheel zooming (by Dave Reisner)
- * Added fullscreen mode
-
-**[v0.1](https://github.com/nsxiv/nsxiv/archive/v0.1.tar.gz)**
-*(January 21, 2011)*
-
- * Initial release
diff --git a/etc/CONTRIBUTING.md b/etc/CONTRIBUTING.md
deleted file mode 100644
index aa96068..0000000
--- a/etc/CONTRIBUTING.md
+++ /dev/null
@@ -1,112 +0,0 @@
-Project Scope
--------------
-
- * Bug fixes and maintenance
- * Prioritize extensibility and simplicity
- * Do not make the codebase more complex, keep it simple to hack on
- * Do not add extra dependency (if we do, add compile time switch to disable it)
- * New features may be added if it cannot be achieved (easily) via a shell script,
- doesn't break backwards compatibility and doesn't violate any of the above rules.
-
-Note: Since we aim to be a drop-in replacement for sxiv, we intend to keep all
-sxiv's behaviors/features even in cases where removing them would make the
-code-base simpler.
-
-Also note that (n)sxiv uses `imlib2` for loading images. Thus any request or
-patches for adding support for new image formats should go into
-[imlib2's repo](https://git.enlightenment.org/old/legacy-imlib2) instead.
-
-
-Contribution Guideline
-----------------------
-
-When contributing, make sure:
-
- * Your contribution falls under nsxiv's scope and aim
- * You follow the existing code style (see the "Code Style" section below)
- * You open the pull request from a new branch, not from master
- * To avoid using force pushes, especially for bigger patches. Only use them
- when there's merge conflicts.
-
-If your contribution is not suitable for general use, it will not be included in nsxiv.
-For changes that are very much up to preference, such as changing values in config.h,
-please do not open a pull request unless you have an objective explanation.
-
-See the [open issues](https://codeberg.org/nsxiv/nsxiv/issues) to find something
-to work on. You can also filter the issues via label:
-
-* [Good first issue](https://codeberg.org/nsxiv/nsxiv/issues?labels=49698):
- (Easy) Issues which do not require much if any experience.
-* [Up for grabs](https://codeberg.org/nsxiv/nsxiv/issues?labels=49705):
- (Intermediate) Issues which are free for anyone who wants to pick it up.
- Might require some experience.
-* [Help wanted](https://codeberg.org/nsxiv/nsxiv/issues?labels=49699):
- (Intermediate/Experienced) Issues where we require some help.
-
-
-Code Style
-----------
-
-`nsxiv` mostly follows the [suckless code-style][sl], with a few exceptions.
-If your editor supports [.editorconfig](../.editorconfig) then you'll already be
-off to a good start without needing much manual intervention. Additionally we
-provide a [clang-format](./.clang-format) configuration for reference, which you
-may use via [`git-clang-format`][cf] to format the changes you've made (please
-do not run it globally on the entire code-base since clang-format gets a decent
-amount of edge cases wrong).
-
-[sl]: https://suckless.org/coding_style/
-[cf]: https://clang.llvm.org/docs/ClangFormat.html#git-integration
-
-
-Development workflow for maintainers
-------------------------------------
-
-If we notice you contributing and/or showing interest in issues/pull requests,
-we may invite you to join the nsxiv org as a member. Being a member simply means
-you will be able to approve, disapprove and merge pull requests.
-
-Our workflow regarding pull requests is the following:
-
- * Code related changes require two approvals, but documentation related
- changes (e.g. typo) can be merged with just one.
- * If a pull request has a single approval, no objections and has been open
- for more than 7 days, then it may be force-merged.
- * Always prefer squashing when merging. In the case a PR makes more than one
- significant change, use the "don't squash" tag and rebase instead.
- * When merging, make sure the commit message is cleaned up properly so that
- it reflects the current intention of the PR.
-
-For releases, the process is the following:
-
- * Tag the release with a "vN" tag, where N is the version number. Also set
- the commit message and tag description for the release commit to "Release
- version N". Make sure to use an annotated tag.
- * Update `VERSION` macro in `config.mk`.
- * Update the changelog (`etc/CHANGELOG.md`):
- * Include link to the release tarball and add the release date.
- * Document only the changes or fixes between releases. Don't document
- changes which never made it into a release.
- * Use the "Changes" section to document behavior changes since the last
- release, the "Added" section for new features, and the "Fixes" section
- for fixed bugs or regressions.
- * Include pull request IDs with reference style links.
-
-Mirroring to GitHub:
-
-Assuming `origin` is the name of the codeberg remote and `github` is the name
-of the github remote; run the following commands to mirror the codeberg repo to
-github:
-
-```console
-$ git fetch --prune origin
-$ git push --prune github '+refs/remotes/origin/*:refs/heads/*' '+refs/tags/*:refs/tags/*'
-```
-
-The first command updates the local repo and the second command pushes
-everything on `origin` without pushing any of the local branches.
-
-- - -
-
-For mundane development related talks which don't warrant their own issue, use
-the [general discussion](https://codeberg.org/nsxiv/nsxiv/issues/294) thread.
diff --git a/etc/MIGRATION.md b/etc/MIGRATION.md
deleted file mode 100644
index db776e0..0000000
--- a/etc/MIGRATION.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# Migrating from `sxiv`
-
-`nsxiv` is *mostly* a drop-in replacement for `sxiv`, but not fully.
-This document outlines some key differences to be aware of if you're migrating
-from `sxiv`.
-
-### Configuration directory
-
-`sxiv` looks for config files under the directory
-`${XDG_CONFIG_HOME:-${HOME}/.config}/sxiv`. E.g
-`~/.config/sxiv/exec/key-handler`.
-
-`nsxiv` uses the same logic to find the config dir but uses the name "nsxiv".
-E.g `~/.config/nsxiv/...`.
-
-The "exec" scripts such as `key-handler` and `image-info` in `nsxiv` has some
-more features, but all previous argument order are preserved. And so if you have
-any exec scripts, you can simply copy them over and they should just work.
-
-### Xresources
-
-The xresources config for `nsxiv` is under the "Nsxiv" namespace whereas `sxiv`
-uses the "Sxiv" namespace. Some of the variables are also different between
-`nsxiv` and `sxiv`, below is a table that shows the old and new names:
-
-| sxiv | nsxiv |
-| :-- | :-- |
-| Sxiv.background | Nsxiv.window.background |
-| Sxiv.foreground | Nsxiv.window.foreground |
-| Sxiv.barBackground | Nsxiv.bar.background |
-| Sxiv.barForeground | Nsxiv.bar.foreground |
-| Sxiv.font | Nsxiv.bar.font |
-
-### Default window class
-
-The window class of `nsxiv` is set to "Nsxiv" by default (can be overwritten via
-`-N` flag). This usually shouldn't matter, unless you have scripts that search
-for "Sxiv" window class.
-
-### Thumbnail cache directory
-
-Similar to config dir, the thumbnail cache dir of `nsxiv` is under the "nsxiv"
-name instead of "sxiv". E.g `~/.cache/nsxiv`.
-
-The "caching structure" in `nsxiv` is the same as `sxiv`. Which means that you
-can simply rename the directory to `nsxiv`:
-
-```console
-$ mv ~/.cache/sxiv ~/.cache/nsxiv
-```
-
-If you want to have both `sxiv` and `nsxiv` installed at the same time, you can
-even use symlink to avoid duplicate cache.
diff --git a/etc/examples/image-info b/etc/examples/image-info
deleted file mode 100755
index 5f06123..0000000
--- a/etc/examples/image-info
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-# Example for $XDG_CONFIG_HOME/nsxiv/exec/image-info
-# Called by nsxiv(1) whenever an image gets loaded.
-# The output is displayed in nsxiv's status bar.
-# Arguments:
-# $1: path to image file (as provided by the user)
-# $2: image width
-# $3: image height
-# $4: fully resolved path to the image file
-
-s=" " # field separator
-
-exec 2>/dev/null
-
-filename=$(basename -- "$1")
-filesize=$(du -Hh -- "$1" | cut -f 1)
-geometry="${2}x${3}"
-
-echo "${filesize}${s}${geometry}${s}${filename}"
-
diff --git a/etc/examples/key-handler b/etc/examples/key-handler
deleted file mode 100755
index 3fe741d..0000000
--- a/etc/examples/key-handler
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-
-# Example for $XDG_CONFIG_HOME/nsxiv/exec/key-handler
-# Called by nsxiv(1) after the external prefix key (C-x by default) is pressed.
-# The next key combo is passed as its first argument. Passed via stdin are the
-# images to act upon: all marked images, if in thumbnail mode and at least one
-# image has been marked, otherwise the current image. nsxiv(1) will block until
-# the handler terminates. It then checks which images have been modified and
-# reloads them.
-
-# By default nsxiv(1) will send one image per-line to stdin, however when using
-# -0 the image list will be NULL separated and the environment variable
-# "$NSXIV_USING_NULL" will be set to 1.
-
-# The key combo argument has the following form: "[C-][M-][S-]KEY",
-# where C/M/S indicate Ctrl/Meta(Alt)/Shift modifier states and KEY is the X
-# keysym as listed in /usr/include/X11/keysymdef.h without the "XK_" prefix.
-# If KEY has an uppercase equivalent, S-KEY is resolved into it. For instance,
-# K replaces S-k and Scedilla replaces S-scedilla, but S-Delete is sent as-is.
-
-rotate() {
- degree="$1"
- tr '\n' '\0' | xargs -0 realpath | sort | uniq | while read file; do
- case "$(file -b -i "$file")" in
- image/jpeg*) jpegtran -rotate "$degree" -copy all -outfile "$file" "$file" ;;
- *) mogrify -rotate "$degree" "$file" ;;
- esac
- done
-}
-
-case "$1" in
-"C-x") xclip -in -filter | tr '\n' ' ' | xclip -in -selection clipboard ;;
-"C-c") while read file; do xclip -selection clipboard -target image/png "$file"; done ;;
-"C-e") while read file; do urxvt -bg "#444" -fg "#eee" -sl 0 -title "$file" -e sh -c "exiv2 pr -q -pa '$file' | less" & done ;;
-"C-g") tr '\n' '\0' | xargs -0 gimp & ;;
-"C-r") while read file; do rawtherapee "$file" & done ;;
-"C-comma") rotate 270 ;;
-"C-period") rotate 90 ;;
-"C-slash") rotate 180 ;;
-esac
-
diff --git a/etc/examples/thumb-info b/etc/examples/thumb-info
deleted file mode 100755
index b422f9c..0000000
--- a/etc/examples/thumb-info
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# Example for $XDG_CONFIG_HOME/nsxiv/exec/thumb-info
-# Called by nsxiv(1) whenever the selected thumbnail changes.
-# The output is displayed in nsxiv's status bar.
-# Arguments:
-# $1: path to image file (as provided by the user)
-# $2: empty
-# $3: empty
-# $4: fully resolved path to the image file
-
-s=" " # field separator
-
-exec 2>/dev/null
-
-filename=$(basename -- "$4")
-filesize=$(du -Hh -- "$4" | cut -f 1)
-
-echo "${filesize}${s}${filename}"
-
diff --git a/etc/examples/win-title b/etc/examples/win-title
deleted file mode 100755
index 31994ef..0000000
--- a/etc/examples/win-title
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-# Example for $XDG_CONFIG_HOME/nsxiv/exec/win-title
-# Called by nsxiv(1) whenever any of the relevant information changes.
-# The output is set as nsxiv's window title.
-#
-# Arguments, "Optional" arguments might be empty:
-# $1: resolved absolute path of the current file
-# $2: current file number
-# $3: total file number
-# $4: image width (Optional: Disabled on thumbnails mode)
-# $5: image height (Optional: Disabled on thumbnails mode)
-# $6: current zoom (Optional: Disabled on thumbnails mode)
-#
-# The term file is used rather than image as nsxiv does not
-# precheck that the input files are valid images. Total file
-# count may be different from the actual count of valid images.
-
-exec 2>/dev/null
-
-filename="${1##*/}"
-
-if [ -n "$4" ]; then # image mode
- printf "%s" "nsxiv - ${filename} | ${4}x${5} ${6}% [${2}/${3}]"
-else
- printf "%s" "nsxiv - ${filename} [${2}/${3}]"
-fi
diff --git a/etc/nsxiv.1 b/etc/nsxiv.1
deleted file mode 100644
index 55ce0da..0000000
--- a/etc/nsxiv.1
+++ /dev/null
@@ -1,627 +0,0 @@
-.TH NSXIV 1 nsxiv\-VERSION
-.SH NAME
-nsxiv \- Neo Simple X Image Viewer
-.SH SYNOPSIS
-.B nsxiv
-.RB [ \-abcfhiopqrtvZ0 ]
-.RB [ \-A
-.IR FRAMERATE ]
-.RB [ \-e
-.IR WID ]
-.RB [ \-G
-.IR GAMMA ]
-.RB [ \-g
-.IR GEOMETRY ]
-.RB [ \-N
-.IR NAME ]
-.RB [ \-n
-.IR NUM ]
-.RB [ \-S
-.IR DELAY ]
-.RB [ \-s
-.IR MODE ]
-.RB [ \-z
-.IR ZOOM ]
-.IR FILE ...
-.SH DESCRIPTION
-nsxiv is a simple image viewer for X.
-.P
-It has two modes of operation: image and thumbnail mode. The default is image
-mode, in which only the current image is shown. In thumbnail mode a grid of
-small previews is displayed, making it easy to choose an image to open.
-.P
-Please note, that the fullscreen mode requires an EWMH/NetWM-compliant window
-manager.
-.SH OPTIONS
-.TP
-.BI "\-A, \-\-framerate " FRAMERATE
-Play animations with a constant frame rate set to
-.IR FRAMERATE .
-If
-.I FRAMERATE
-is set to 0 then animation playback is disabled.
-.TP
-.B "\-a, \-\-animate"
-Play animations of multi-frame images.
-.TP
-.B "\-b"
-Do not show statusbar.
-.TP
-.B "\-\-bar, \-\-no\-bar"
-Enables or disables statusbar.
-.B "\-\-no\-bar"
-is equivalent to
-.BR "\-b" .
-.TP
-.B "\-c, \-\-clean\-cache"
-Remove all orphaned cache files from the thumbnail cache directory and exit.
-.TP
-.BI "\-e, \-\-embed " WID
-Embed nsxiv's window into window whose ID is
-.IR WID .
-.TP
-.B "\-f, \-\-fullscreen"
-Start in fullscreen mode.
-.TP
-.BI "\-G, \-\-gamma " GAMMA
-Set image gamma to GAMMA (\-32..32).
-.TP
-.BI "\-g, \-\-geometry " GEOMETRY
-Set window position and size. See section GEOMETRY SPECIFICATIONS of X(7) for
-more information on GEOMETRY argument.
-.TP
-.B "\-h, \-\-help"
-Print brief usage information to standard output and exit.
-.TP
-.B "\-i, \-\-stdin"
-Read names of files to open from standard input. Also done if FILE is `-'.
-.TP
-.BI "\-N, \-\-class " NAME
-Set the resource name (WM_CLASS) of nsxiv's X window to NAME.
-.TP
-.BI "\-n, \-\-start\-at " NUM
-Start at picture number NUM.
-.TP
-.B "\-o, \-\-stdout"
-Write list of all marked files to standard output when quitting. In combination
-with
-.B "\-i, \-\-stdin"
-nsxiv can be used as a visual filter/pipe.
-.TP
-.B "\-p, \-\-private"
-Enable private mode, in which nsxiv does not write any cache or temporary files.
-.TP
-.B "\-q, \-\-quiet"
-Be quiet, and disable warnings to standard error stream.
-.TP
-.B "\-r, \-\-recursive"
-Search the given directories recursively for images to view.
-.TP
-.BI "\-S, \-\-ss\-delay " DELAY
-Start in slideshow mode. Set the delay between images to
-.I DELAY
-seconds.
-.I DELAY
-may be a floating-point number.
-.TP
-.BI "\-s, \-\-scale\-mode " MODE
-Set scale mode according to MODE character. Supported modes are: [d]own,
-[f]it, [F]ill, [w]idth, [h]eight.
-.TP
-.BR "\-t, \-\-thumbnail" [=no]
-Start in thumbnail mode. The long option accepts an optional "no" to disable it.
-.TP
-.B "\-v, \-\-version"
-Print version information to standard output and exit.
-.TP
-.B "\-Z, \-\-zoom\-100"
-The same as `\-z 100'.
-.TP
-.BI "\-z, \-\-zoom " ZOOM
-Set zoom level to ZOOM percent.
-.TP
-.B "\-0, \-\-null"
-Use NULL-separator. With this option, output of \-o and file-list sent to the
-key-handler and the input of \-i will be separated by a NULL character.
-.TP
-.BI "\-\-anti\-alias" [=no]
-Enables anti-aliasing, when given
-.I no
-as an argument, disables it instead.
-.TP
-.BI "\-\-alpha\-layer" [=no]
-Enables checkerboard background for alpha layer, when given
-.I no
-as an argument, disables it instead.
-.TP
-.BI "\-\-cache\-allow, \-\-cache\-deny " "CACHE\-PATHS"
-List of directories to whitelist or blacklist for thumbnail caching.
-See
-.I "THUMBNAIL CACHING"
-section for more information on the argument format.
-These options are mutually exclusive, if they are specified more than once then
-only the final one takes effect.
-.SH KEYBOARD COMMANDS
-.SS General
-The following keyboard commands are available in both image and thumbnail modes:
-.TP
-.BR 0 \- 9
-Prefix the next command with a number (denoted via
-.IR count ).
-.TP
-.B q
-Quit nsxiv.
-.TP
-.B Q
-Quit nsxiv, but additionally print the current filename when \-o is active and
-no files have been marked.
-.TP
-.B Return
-Switch to thumbnail mode / open selected image in image mode.
-.TP
-.B f
-Toggle fullscreen mode.
-.TP
-.B b
-Toggle visibility of statusbar at the bottom of the window.
-.TP
-.B Ctrl-x
-Send the next key to the external key-handler. See section EXTERNAL KEY HANDLER
-for more information.
-.TP
-.B g
-Go to the first image.
-.TP
-.B G
-Go to the last image, or image number
-.IR count .
-.TP
-.B r
-Reload image.
-.TP
-.B D
-Remove current image from file list and go to next image.
-.TP
-.BR Ctrl-h ", " Ctrl-Left
-Scroll left one screen width.
-.TP
-.BR Ctrl-j ", " Ctrl-Down
-Scroll down one screen height.
-.TP
-.BR Ctrl-k ", " Ctrl-Up
-Scroll up one screen height.
-.TP
-.BR Ctrl-l ", " Ctrl-Right
-Scroll right one screen width.
-.TP
-.BR +
-Zoom in.
-.TP
-.B \-
-Zoom out.
-.TP
-.B m
-Mark/unmark the current image.
-.TP
-.B M
-Mark/unmark all images starting from the last marked/unmarked image up to the
-current one.
-.TP
-.B Ctrl-m
-Reverse all image marks.
-.TP
-.B Ctrl-u
-Remove all image marks.
-.TP
-.B N
-Go
-.I count
-marked images forward.
-.TP
-.B P
-Go
-.I count
-marked images backward.
-.TP
-.B {
-Decrease gamma correction by
-.I count
-steps.
-.TP
-.B }
-Increase gamma correction by
-.I count
-steps.
-.TP
-.B Ctrl-g
-Reset gamma correction.
-.TP
-.B Ctrl-[
-Decrease brightness correction by
-.I count
-steps.
-.TP
-.B Ctrl-]
-Increase brightness correction by
-.I count
-steps.
-.TP
-.B (
-Decrease contrast by
-.I count
-steps.
-.TP
-.B )
-Increase contrast by
-.I count
-steps.
-.SS Thumbnail mode
-The following keyboard commands are only available in thumbnail mode:
-.TP
-.BR h ", " Left
-Move selection left
-.I count
-times.
-.TP
-.BR j ", " Down
-Move selection down
-.I count
-times.
-.TP
-.BR k ", " Up
-Move selection up
-.I count
-times.
-.TP
-.BR l ", " Right
-Move selection right
-.I count
-times.
-.TP
-.B R
-Reload all thumbnails.
-.SS Image mode
-The following keyboard commands are only available in image mode:
-.TP
-Navigate image list:
-.TP
-.BR n ", " Space
-Go
-.I count
-images forward.
-.TP
-.BR p ", " Backspace
-Go
-.I count
-images backward.
-.TP
-.B [
-Go
-.I count
-* 10 images backward.
-.TP
-.B ]
-Go
-.I count
-* 10 images forward.
-.TP
-.B Ctrl-6
-Go to the previously viewed image.
-.TP
-Handle multi-frame images:
-.TP
-.B Ctrl-n
-Go
-.I count
-frames of a multi-frame image forward.
-.TP
-.B Ctrl-p
-Go
-.I count
-frames of a multi-frame image backward.
-.TP
-.BR Ctrl-a ", " Ctrl-Space
-Play/stop animations of multi-frame images.
-.TP
-Panning:
-.TP
-.BR h ", " Left
-Scroll image 1/5 of window width or
-.I count
-pixels left.
-.TP
-.BR j ", " Down
-Scroll image 1/5 of window height or
-.I count
-pixels down.
-.TP
-.BR k ", " Up
-Scroll image 1/5 of window height or
-.I count
-pixels up.
-.TP
-.BR l ", " Right
-Scroll image 1/5 of window width or
-.I count
-pixels right.
-.TP
-.B H
-Scroll to left image edge.
-.TP
-.B J
-Scroll to bottom image edge.
-.TP
-.B K
-Scroll to top image edge.
-.TP
-.B L
-Scroll to right image edge.
-.TP
-.B z
-Scroll to image center.
-.TP
-Zooming:
-.TP
-.B =
-Set zoom level to 100%, or
-.IR count %.
-.TP
-.B w
-Set zoom level to 100%, but fit large images into window.
-.TP
-.B W
-Fit image to window.
-.TP
-.B F
-Fill image to window.
-.TP
-.B e
-Fit image to window width.
-.TP
-.B E
-Fit image to window height.
-.TP
-Rotation:
-.TP
-.B <
-Rotate image counter-clockwise by 90 degrees.
-.TP
-.B >
-Rotate image clockwise by 90 degrees.
-.TP
-.B ?
-Rotate image by 180 degrees.
-.TP
-Flipping:
-.TP
-.B |
-Flip image horizontally.
-.TP
-.B _
-Flip image vertically.
-.TP
-Miscellaneous:
-.TP
-.B a
-Toggle anti-aliasing.
-.TP
-.B A
-Toggle visibility of alpha-channel, i.e. image transparency.
-.TP
-.B s
-Toggle slideshow mode and/or set the delay between images to
-.I count
-seconds.
-.SH MOUSE COMMANDS
-.SS Thumbnail mode
-The following mouse mappings are available in thumbnail mode:
-.TP
-.B Button1
-Select the image. Goes into image mode if double\-clicked.
-.TP
-.B Button3
-Mark/unmark the image. Dragging while holding down Button3 will mark/unmark
-multiple images.
-.TP
-.B Button4
-Scroll up by one row.
-.TP
-.B Button5
-Scroll down by one row.
-.TP
-.B Ctrl-Button4
-Scroll up by one page.
-.TP
-.B Ctrl-Button5
-Scroll down by one page.
-.SS Image mode
-The following mouse mappings are available in image mode:
-.TP
-.B Button1
-Go to the next image if the mouse cursor is in the right part of the window or
-to the previous image if it is in the left part.
-.TP
-.B Ctrl-Button1
-Pan the image relative to the mouse cursor.
-.TP
-.B Button2
-Pan the image according to the mouse cursor position in the window while
-keeping this button pressed down.
-.TP
-.B Button3
-Switch to thumbnail mode.
-.TP
-.B Button4
-Zoom in.
-.TP
-.B Button5
-Zoom out.
-.SH CONFIGURATION
-The following X resources are supported under "Nsxiv" (e.g.
-.B Nsxiv.bar.font
-):
-.TP
-.B window.background
-Color of the window background
-.TP
-.B window.foreground
-Color of the window foreground
-.TP
-.B bar.font
-Name of Xft bar font
-.TP
-.B bar.background
-Color of the bar background. Defaults to window.background
-.TP
-.B bar.foreground
-Color of the bar foreground. Defaults to window.foreground
-.TP
-.B mark.foreground
-Color of the mark foreground. Defaults to window.foreground
-.TP
-Please see xrdb(1) on how to change them.
-.LP
-An X resources entry with an empty value means the default
-(defined in config.h) will be used.
-.SH WINDOW TITLE
-The window title can be replaced with the output of a user-provided script,
-which is called by nsxiv whenever any of the relevant information changes.
-The path of this script is
-.I $XDG_CONFIG_HOME/nsxiv/exec/win-title
-and the arguments given to it (where "Optional" arguments might be empty) are:
-.IP $1 4
-resolved absolute path of the current file
-.IP $2 4
-current file number
-.IP $3 4
-total file count
-.IP $4 4
-image width (Optional: Disabled on thumbnails mode)
-.IP $5 4
-image height (Optional: Disabled on thumbnails mode)
-.IP $6 4
-current zoom (Optional: Disabled on thumbnails mode)
-.P
-The term file is used rather than image as nsxiv does not precheck that the
-input files are valid images. Total file count may be different from the actual
-count of valid images.
-.P
-There is also an example script installed together with nsxiv as
-.IR EGPREFIX/win-title .
-.SH STATUS BAR
-The information displayed on the left side of the status bar can be replaced
-with the output of user-provided script.
-.P
-The script that is called by nsxiv whenever an image gets loaded is located at
-.I $XDG_CONFIG_HOME/nsxiv/exec/image-info
-and the arguments given to it are:
-.IP $1 4
-path to image file (as provided by the user)
-.IP $2 4
-image width
-.IP $3 4
-image height
-.IP $4 4
-fully resolved path to the image file
-.P
-In thumbnail mode, the script that is called is located at
-.I $XDG_CONFIG_HOME/nsxiv/exec/thumb-info
-and the arguments given to it are:
-.IP $1 4
-path to image file (as provided by the user)
-.IP $2 4
-empty
-.IP $3 4
-empty
-.IP $4 4
-fully resolved path to the image file
-.P
-There are also example scripts installed together with nsxiv as
-.IR EGPREFIX/image-info
-and
-.IR EGPREFIX/thumb-info .
-.SH EXTERNAL KEY HANDLER
-Additional external keyboard commands can be defined using a handler program
-located in
-.IR $XDG_CONFIG_HOME/nsxiv/exec/key-handler .
-The handler is invoked by pressing
-.BR Ctrl-x .
-The next key combo is passed as its first argument. Passed via stdin are the
-images to act upon: all marked images, if in thumbnail mode and at least one
-image has been marked, otherwise the current image. nsxiv(1) will block until
-the handler terminates. It then checks which images have been modified and
-reloads them.
-
-By default nsxiv(1) will send one image per-line to stdin, however when using
-\-0 the image list will be NULL separated and the environment variable
-"$NSXIV_USING_NULL" will be set to 1.
-
-The key combo argument has the following form: "[C-][M-][S-]KEY",
-where C/M/S indicate Ctrl/Meta(Alt)/Shift modifier states and KEY is the X
-keysym as listed in /usr/include/X11/keysymdef.h without the "XK_" prefix.
-If KEY has an uppercase equivalent, S-KEY is resolved into it. For instance,
-K replaces S-k and Scedilla replaces S-scedilla, but S-Delete is sent as-is.
-
-There is also an example script installed together with nsxiv as
-.IR EGPREFIX/key-handler .
-.SH THUMBNAIL CACHING
-nsxiv stores all thumbnails under
-.IR $XDG_CACHE_HOME/nsxiv/ .
-.P
-Use the command line option
-.I \-c
-to remove all orphaned cache files. Additionally, run the following command
-afterwards inside the cache directory to remove empty subdirectories:
-.P
-.RS
-find . \-depth \-type d \-empty ! \-name '.' \-exec rmdir {} \\;
-.RE
-.P
-The option
-.BR "\-\-cache\-allow " or " \-\-cache\-deny"
-may be used to whitelists or blacklist certain directories from being cached.
-The argument is a
-.B :
-separated list of paths. A
-.B *
-at the beginning of the path indicates that path should be matched recursively.
-.P
-For example:
-.B \-\-cache\-allow \(dq/user/pictures:*/media/pictures\(dq
-whitelists \(dq/user/pictures\(dq directory non-recursively and \(dq/media/pictures\(dq
-directory recursively. Nothing outside these two directories will be cached.
-And
-.B \-\-cache\-deny \(dq*/secret\(dq
-will enable blacklist mode and will not cache anything inside \(dq/secret\(dq
-or it's subdirectories.
-.SH ORIGINAL AUTHOR
-.EX
-Bert Muennich
-.EE
-.SH CURRENT MAINTAINERS
-.EX
-NRK
-Berke Kocaoğlu
-TAAPArthur
-eylles
-Stein Gunnar Bakkeby
-explosion-mental
-.EE
-.SH CONTRIBUTORS
-.EX
-For a list of contributors, run `git shortlog -s` in the nsxiv git repository.
-.EE
-.SH HOMEPAGE
-.TP
-Website:
-.EE
-https://nsxiv.codeberg.page/
-.EX
-.TP
-Source code:
-.EE
-https://codeberg.org/nsxiv/nsxiv
-.EX
-.SH SEE ALSO
-.BR X (7),
-.BR xrdb (1)
diff --git a/etc/nsxiv.desktop b/etc/nsxiv.desktop
deleted file mode 100644
index de90437..0000000
--- a/etc/nsxiv.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=nsxiv
-GenericName=Image Viewer
-Exec=nsxiv %F
-MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/png;image/tiff;image/x-bmp;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-tga;image/x-xpixmap;image/webp;image/heic;image/svg+xml;application/postscript;image/jp2;image/jxl;image/avif;image/heif;
-NoDisplay=true
-Icon=nsxiv
diff --git a/etc/woodpecker/CFLAGS b/etc/woodpecker/CFLAGS
deleted file mode 100644
index 57d7d16..0000000
--- a/etc/woodpecker/CFLAGS
+++ /dev/null
@@ -1,13 +0,0 @@
-# vanilla flags
--std=c99 -Wall -pedantic
-# optimizations: enables extra warnings and deeper analysis thus catches more errors/warnings
--O3 -flto
-# treat warnings as errors
--Werror
-# extra flags
--Wextra -Wshadow -Wvla -Wpointer-arith
--Wundef -Wstrict-overflow=4 -Wwrite-strings -Wunreachable-code
--Wbad-function-cast -Wdeclaration-after-statement
--Wmissing-prototypes -Wstrict-prototypes
-# silence
--Wno-unused-parameter -Wno-missing-field-initializers
diff --git a/etc/woodpecker/analysis.sh b/etc/woodpecker/analysis.sh
deleted file mode 100755
index 5a227ce..0000000
--- a/etc/woodpecker/analysis.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh -e
-
-std="c99"
-NProc=$(( $(nproc) / 4 ))
-if [ -z "$NProc" ] || [ "$NProc" -lt 1 ]; then NProc="1"; fi
-
-run_cppcheck() {
- cppcheck --std="$std" --enable=performance,portability \
- --force --quiet --inline-suppr --error-exitcode=1 \
- --max-ctu-depth=8 -j"$NProc" \
- $(make OPT_DEP_DEFAULT="$1" dump_cppflags) -DDEBUG \
- --suppress=varFuncNullUB --suppress=uninitvar \
- $(git ls-files *.c)
-}
-
-run_tidy() {
- checks="$(sed '/^#/d' etc/woodpecker/clang-tidy-checks | paste -d ',' -s)"
- git ls-files *.c | xargs -P"$NProc" -I{} clang-tidy --quiet \
- --warnings-as-errors="*" --checks="$checks" {} \
- -- -std="$std" $(make OPT_DEP_DEFAULT="$1" dump_cppflags) -DDEBUG
-}
-
-run_cppcheck "0" & run_cppcheck "1" & run_tidy "0" & run_tidy "1";
-wait
diff --git a/etc/woodpecker/analysis.yml b/etc/woodpecker/analysis.yml
deleted file mode 100644
index 4edcd6b..0000000
--- a/etc/woodpecker/analysis.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-when:
- branch: master
-
-steps:
- analysis:
- image: alpine
- commands: |
- apk add --no-cache build-base cppcheck clang-extra-tools git \
- imlib2-dev xorgproto \
- libxft-dev libexif-dev >/dev/null
- make config.h version.h
- ./etc/woodpecker/analysis.sh
diff --git a/etc/woodpecker/build.yml b/etc/woodpecker/build.yml
deleted file mode 100644
index 431f27f..0000000
--- a/etc/woodpecker/build.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-when:
- branch: master
-
-# NOTE: "stable" tcc is too old and fails at linking. instead fetching a recent known working commit.
-steps:
- build:
- image: alpine
- environment:
- - TCC_SHA=29ae3ed4d5b83eec43598d6cd7949bccb41c8083
- commands: |
- apk add --no-cache \
- imlib2 imlib2-dev xorgproto \
- libxft libxft-dev libexif libexif-dev \
- gcc clang llvm llvm-dev build-base wget ca-certificates bc >/dev/null
- wget "https://github.com/TinyCC/tinycc/archive/$TCC_SHA.tar.gz" >/dev/null
- tar xzf "$TCC_SHA.tar.gz" >/dev/null
- ( cd "tinycc-$TCC_SHA" && ./configure --config-musl && make -s -j"$(nproc)" && make install; ) >/dev/null
- CFLAGS="$(sed '/^#/d' etc/woodpecker/CFLAGS | paste -d ' ' -s)"
- build () {
- for cc in "gcc" "clang"; do
- echo "### $cc - $2 build ###"
- make clean && make -s -j"$(nproc)" CC="$cc" CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT="$1"
- done
- }
- # try all combination with tcc #
- etc/woodpecker/try-all-builds.sh
- # full-build with gcc and clang #
- build "1" "full"
- # ensure minimal-build works without opt deps installed
- apk del libxft libxft-dev libexif libexif-dev >/dev/null
- build "0" "minimal"
diff --git a/etc/woodpecker/clang-tidy-checks b/etc/woodpecker/clang-tidy-checks
deleted file mode 100644
index c326eef..0000000
--- a/etc/woodpecker/clang-tidy-checks
+++ /dev/null
@@ -1,16 +0,0 @@
-# checks
-clang-analyzer-*,clang-diagnostic-*,bugprone-*,performance-*,modernize-*
-misc-*,android-cloexec-*,llvm-include-order
--readability-*,readability-duplicate-include,readability-misleading-indentation
-
-# silence
--misc-unused-parameters,-misc-include-cleaner,-misc-no-recursion
--bugprone-easily-swappable-parameters,-bugprone-narrowing-conversions,-bugprone-incorrect-roundings
--bugprone-implicit-widening-of-multiplication-result,-bugprone-integer-division
--android-cloexec-fopen,-android-cloexec-pipe,-cert-err33-c
--bugprone-assignment-in-if-condition
--bugprone-suspicious-realloc-usage
--bugprone-switch-missing-default-case
-
-# false positive warnings
--clang-analyzer-valist.Uninitialized
diff --git a/etc/woodpecker/spell.yml b/etc/woodpecker/spell.yml
deleted file mode 100644
index 78ce57f..0000000
--- a/etc/woodpecker/spell.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-when:
- branch: master
-
-# NOTE: codespell not available on stable alpine, grab it from pip
-steps:
- spell-check:
- image: alpine:edge
- commands: |
- apk add --no-cache python3 py3-pip git
- python3 -m venv ~/py3-venv
- . ~/py3-venv/bin/activate
- pip install codespell
- git ls-files | sed '/\.png$/d' | xargs codespell
diff --git a/etc/woodpecker/try-all-builds.sh b/etc/woodpecker/try-all-builds.sh
deleted file mode 100755
index 89e41f1..0000000
--- a/etc/woodpecker/try-all-builds.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-#
-# Shell script that checks for all possible build combination with TCC.
-# Usage: call the script while in the nsxiv root directory
-
-set -- $(grep -o '^HAVE_[[:alpha:]]* ' config.mk)
-CFLAGS="$(sed '/^#/d' etc/woodpecker/CFLAGS | paste -d ' ' -s)"
-z=$(echo "2 ^ $#" | bc)
-
-print_opt_name() {
- shift "$(( $1 + 1 ))"
- printf "%s=" "$1"
-}
-
-print_opt_arg() {
- bn=$(echo "$1 / (2 ^ $2)" | bc)
- printf "%d " $(( bn % 2 ))
-}
-
-n=0
-while [ "$n" -lt "$z" ]; do
- i=0
- while [ "$i" -lt "$#" ]; do
- print_opt_name "$i" "$@"
- print_opt_arg "$n" "$i"
- i=$((i + 1))
- done | tee "/dev/stderr" | (
- make clean
- if ! xargs make -j"$(nproc)" CC=tcc CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS"; then
- echo "[FAILED]" >&2
- exit 1
- else
- echo "[SUCCESS]" >&2
- fi
- )
- [ "$?" -ne 0 ] && exit "$?"
- n=$((n + 1))
-done >/dev/null
diff --git a/icon/128x128.png b/icon/128x128.png
deleted file mode 100644
index d45250b..0000000
Binary files a/icon/128x128.png and /dev/null differ
diff --git a/icon/16x16.png b/icon/16x16.png
deleted file mode 100644
index a19074a..0000000
Binary files a/icon/16x16.png and /dev/null differ
diff --git a/icon/32x32.png b/icon/32x32.png
deleted file mode 100644
index e18ccf8..0000000
Binary files a/icon/32x32.png and /dev/null differ
diff --git a/icon/48x48.png b/icon/48x48.png
deleted file mode 100644
index 442a96c..0000000
Binary files a/icon/48x48.png and /dev/null differ
diff --git a/icon/64x64.png b/icon/64x64.png
deleted file mode 100644
index 3ce0d27..0000000
Binary files a/icon/64x64.png and /dev/null differ
diff --git a/icon/README.md b/icon/README.md
deleted file mode 100644
index 3ddd7f8..0000000
--- a/icon/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
-img2data
---------
-
-img2data is a helper program to convert images to binary data for embedding in
-software. The generated data is used in nsxiv to set the window icons.
-
-
-How It Works
-------------
-
-Each given image is compressed using run-length encoding and a data array is
-generated. In these arrays, the four high bits of each byte are the run length
-minus one and the lowest four bits are the data, which are indices for the
-color array.
-
-See `data.gen.h` or the output of img2data for a better understanding.
-
-
-Dependencies
-------------
-
-img2data requires Imlib2 to be installed.
-
-
-Building
---------
-
-img2data is built using the command:
-
- $ CC -Wall -std=c89 -pedantic -lImlib2 img2data.c -o img2data
-
-where `CC` is a C compiler such as `gcc`.
-
-
-Usage
------
-
-img2data is used as the following:
-
- $ ./img2data 16x16.png 32x32.png 48x48.png 64x64.png 128x128.png
-
-You may replace or omit any image, but you must have a `data.gen.h` with at
-least 1 image for nsxiv to compile.
diff --git a/icon/img2data.c b/icon/img2data.c
deleted file mode 100644
index 2223bf0..0000000
--- a/icon/img2data.c
+++ /dev/null
@@ -1,157 +0,0 @@
-#include
-#include
-#include
-#include
-#include
-
-/* macros */
-#define ARRLEN(a) (sizeof(a) / sizeof((a)[0]))
-
-/* globals */
-static unsigned long palette[16] = {0};
-static unsigned int palette_size = 0;
-static unsigned int run_column = 0;
-static unsigned int icon_sizes[16] = {0};
-static unsigned int icon_sizes_size = 0;
-
-/* functions */
-static void error(int eval, int err, const char *fmt, ...)
-{
- va_list ap;
-
- fflush(stdout);
- va_start(ap, fmt);
- if (fmt)
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- if (err)
- fprintf(stderr, "%s%s", fmt ? ": " : "", strerror(err));
- fputc('\n', stderr);
-
- if (eval)
- exit(eval);
-}
-
-static unsigned long color_to_ulong(Imlib_Color color)
-{
- return (color.alpha << 24 & 0xff000000) |
- (color.red << 16 & 0x00ff0000) |
- (color.green << 8 & 0x0000ff00) |
- (color.blue & 0x000000ff);
-}
-
-static int to_palette(unsigned long color)
-{
- unsigned int i;
-
- for (i = 0; i < palette_size; i++) {
- if (palette[i] == color)
- return i;
- }
- if (palette_size + 1 == 16)
- error(EXIT_FAILURE, 0, "Error: More than 16 colors in palette");
- palette[palette_size] = color;
-
- return palette_size++;
-}
-
-static void print_run(int color, unsigned int run_length)
-{
- while (run_length > 0) {
- int x = run_length / 16 >= 1 ? 16 : run_length;
-
- printf("0x%02x, ", (x - 1) << 4 | color);
- run_length -= x;
- if (++run_column % 12 == 0)
- printf("\n\t");
- }
-}
-
-static void print_palette(void)
-{
- unsigned int i;
-
- printf("static const unsigned long icon_colors[] = {\n\t");
- for (i = 0; i < palette_size; i++) {
- printf("0x%08lx, ", palette[i]);
- if (i % 4 == 3)
- printf("\n\t");
- }
- printf("\n};\n\n");
-}
-
-static void print_icon_array(void)
-{
- unsigned int i;
-
- printf("static const icon_data_t icons[] = {\n");
- for (i = 0; i < icon_sizes_size; i++)
- printf("\tICON_(%d),\n", icon_sizes[i]);
- printf("};\n\n");
-}
-
-static unsigned int print_encoded_image(const char *path)
-{
- Imlib_Image image;
- Imlib_Color color;
- unsigned int width, height, x, y;
- unsigned int run_length = 1;
- int currentcolor = 0;
- int lastcolor = -1;
-
- image = imlib_load_image(path);
-
- if (image == NULL)
- error(EXIT_FAILURE, 0, "Error loading image: %s", path);
-
- imlib_context_set_image(image);
-
- width = imlib_image_get_width();
- height = imlib_image_get_height();
-
- if (width != height)
- error(EXIT_FAILURE, 0, "Image is not square: %s", path);
-
- printf("static const unsigned char icon_data_%d[] = {\n\t", width);
- for (y = 0; y < height; y++) {
- for (x = 0; x < width; x++) {
- imlib_image_query_pixel(x, y, &color);
- currentcolor = to_palette(color_to_ulong(color));
- if (currentcolor != lastcolor) {
- if (lastcolor != -1)
- print_run(lastcolor, run_length);
- run_length = 1;
- } else {
- run_length++;
- }
- lastcolor = currentcolor;
- }
- }
- print_run(lastcolor, run_length);
- printf("\n};\n\n");
-
- imlib_free_image();
-
- return width;
-}
-
-int main(int argc, char **argv)
-{
- unsigned int img_size = 0;
- unsigned int i;
-
- if (argc < 2)
- error(EXIT_FAILURE, 0, "No icons provided");
- else if (argc-1 > ARRLEN(icon_sizes))
- error(EXIT_FAILURE, 0, "Too many icons");
-
- for (i = 1; i < argc; i++) {
- img_size = print_encoded_image(argv[i]);
- run_column = 0;
- icon_sizes[icon_sizes_size++] = img_size;
- }
- print_palette();
- print_icon_array();
-
- return EXIT_SUCCESS;
-}