{"id":13499700,"url":"https://github.com/nsxiv/nsxiv","last_synced_at":"2025-03-29T05:32:07.289Z","repository":{"id":37009380,"uuid":"404719494","full_name":"nsxiv/nsxiv","owner":"nsxiv","description":"Read-only mirror of Neo Simple X Image Viewer","archived":false,"fork":false,"pushed_at":"2025-03-01T05:58:34.000Z","size":2206,"stargazers_count":692,"open_issues_count":15,"forks_count":73,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-03-01T06:26:50.893Z","etag":null,"topics":["c","image-viewer","suckless","x11"],"latest_commit_sha":null,"homepage":"https://codeberg.org/nsxiv/nsxiv","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nsxiv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-09T12:48:46.000Z","updated_at":"2025-03-01T05:58:38.000Z","dependencies_parsed_at":"2024-02-17T09:25:53.353Z","dependency_job_id":"cbfe9ef0-a83a-4c15-9352-69c3fabc7eba","html_url":"https://github.com/nsxiv/nsxiv","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nsxiv%2Fnsxiv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nsxiv%2Fnsxiv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nsxiv%2Fnsxiv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nsxiv%2Fnsxiv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nsxiv","download_url":"https://codeload.github.com/nsxiv/nsxiv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246145012,"owners_count":20730494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","image-viewer","suckless","x11"],"created_at":"2024-07-31T22:00:38.803Z","updated_at":"2025-03-29T05:32:06.952Z","avatar_url":"https://github.com/nsxiv.png","language":"C","funding_links":[],"categories":["Applications","C"],"sub_categories":["Image Viewers"],"readme":"[![nsxiv](https://codeberg.org/nsxiv/pages/raw/branch/master/img/logo.png)](https://codeberg.org/nsxiv/nsxiv)\n\n[![Codeberg](https://img.shields.io/badge/Hosted_at-Codeberg-%232185D0?style=flat-square\u0026logo=CodeBerg)](https://codeberg.org/nsxiv/nsxiv)\n[![tags](https://img.shields.io/github/v/tag/nsxiv/nsxiv?style=flat-square)](https://codeberg.org/nsxiv/nsxiv/tags)\n[![license](https://img.shields.io/badge/license-GPL--2.0%2B-lightgreen?style=flat-square)](https://codeberg.org/nsxiv/nsxiv/src/branch/master/LICENSE)\n[![loc](https://img.shields.io/tokei/lines/github/nsxiv/nsxiv?color=red\u0026style=flat-square)](https://codeberg.org/nsxiv/nsxiv)\n\n**Neo (or New or Not) Simple (or Small or Suckless) X Image Viewer**\n--------------------------------------------------------------------\n\nnsxiv is a fork of the now-unmaintained [sxiv](https://github.com/xyb3rt/sxiv)\nwith the purpose of being a (mostly) drop-in replacement for sxiv, maintaining its\ninterface and adding simple, sensible features. nsxiv is free software licensed\nunder GPL-2.0-or-later and aims to be easy to modify and customize.\n\nPlease file a bug report if something does not work as documented or expected on\n[Codeberg] after making sure you are using the latest release. If you're looking\nto migrate from `sxiv`, see [MIGRATION]. Contributions are welcome, see\n[CONTRIBUTING] to get started.\n\n[Codeberg]: https://codeberg.org/nsxiv/nsxiv/issues/new\n[CONTRIBUTING]: etc/CONTRIBUTING.md#contribution-guideline\n[MIGRATION]: etc/MIGRATION.md\n\n\nFeatures\n--------\n\n* Basic image operations like zooming, panning, rotating\n* Basic support for animated/multi-frame images (**requires Imlib2 v1.8.0 or above**)\n* Thumbnail mode: grid of selectable previews of all images\n* Ability to cache thumbnails for fast re-loading\n* Automatically refreshing modified images\n* Customizable keyboard and mouse mappings via `config.h`\n* Scriptability via `key-handler`\n* Displaying image information in status bar via `image-info` \u0026 `thumb-info`\n* Customizable window title via `win-title`\n\n\nScreenshots\n-----------\n\n**Image mode with default colors:**\n\n![Image](https://codeberg.org/nsxiv/pages/raw/branch/master/img/image.png \"Image mode\")\n\n**Thumbnail mode with custom colors:**\n\n![Thumb](https://codeberg.org/nsxiv/pages/raw/branch/master/img/thumb.png \"Thumb mode\")\n\n\nInstalling via package manager\n------------------------------\n\n\u003ca href=\"https://repology.org/project/nsxiv/versions\"\u003e\n  \u003cimg align=\"right\" width=\"192\" src=\"https://repology.org/badge/vertical-allrepos/nsxiv.svg\"\u003e\n\u003c/a\u003e\n\nnsxiv is available on the following distributions/repositories. If you don't see\nyour distro listed here, either contact your distro's package maintainer or\nconsider packaging it yourself and adding it to the respective community repo.\n\n\nDependencies\n------------\n\nnsxiv requires the following software to be installed:\n\n  * X11\n  * Imlib2 (built with X11 support)\n\nThe following dependencies are optional:\n\n  * `inotify`\u003csup\u003e\\*\u003c/sup\u003e: Used for auto-reloading images on change.\n    Disabled via `HAVE_INOTIFY=0`.\n  * `libXft`, `freetype2`, `fontconfig`: Used for the status bar.\n    Disabled via `HAVE_LIBFONTS=0`.\n  * `libexif`: Used for auto-orientation and exif thumbnails.\n    Disable via `HAVE_LIBEXIF=0`.\n\nPlease make sure to install the corresponding development packages in case that\nyou want to build nsxiv on a distribution with separate runtime and development\npackages (e.g. \\*-dev on Debian).\n\n\\* [inotify][] is a Linux-specific API for monitoring filesystem changes.\n  It's not natively available on `*BSD` systems but can be enabled via\n  installing and linking against [libinotify-kqueue][].\n\n[inotify]: https://www.man7.org/linux/man-pages/man7/inotify.7.html\n[libinotify-kqueue]: https://github.com/libinotify-kqueue/libinotify-kqueue\n\n\nBuilding\n--------\n\nnsxiv is built using the commands:\n\n    $ make\n\nYou can pass `HAVE_X=0` to `make` to disable an optional dependency.\nFor example:\n\n    $ make HAVE_LIBEXIF=0\n\nwill disable `libexif` support. Alternatively they can be disabled via editing\n`config.mk`. `OPT_DEP_DEFAULT=0` can be used to disable all optional\ndependencies.\n\nInstalling nsxiv:\n\n    # make install\n\nInstalling desktop entry:\n\n    # make install-desktop\n\nInstalling icons:\n\n    # make install-icon\n\nInstalling all of the above:\n\n    # make install-all\n\nPlease note, that these requires root privileges.\nBy default, nsxiv is installed using the prefix `/usr/local`, so the full path\nof the executable will be `/usr/local/bin/nsxiv`, the `.desktop` entry will be\n`/usr/local/share/applications/nsxiv.desktop` and the icon path will be\n`/usr/local/share/icons/hicolor/{size}/apps/nsxiv.png`.\n\nYou can install nsxiv into a directory of your choice by changing this command to:\n\n    $ make PREFIX=\"/your/dir\" install\n\nExample scripts are installed using `EGPREFIX` which defaults to\n`/usr/local/share/doc/nsxiv/examples`. You can change `EGPREFIX` the same way\nyou can change `PREFIX` shown above.\n\nThe build-time specific settings of nsxiv can be found in the file *config.h*.\nPlease check and change them, so that they fit your needs.\nIf the file *config.h* does not already exist, then you have to create it with\nthe following command:\n\n    $ make config.h\n\n\nUsage\n-----\n\nRefer to the man-page for the documentation:\n\n    $ man nsxiv\n\nYou may also view the man-page [online](https://nsxiv.codeberg.page/man/).\nHowever, note that the online man-page might not accurately represent your local\ncopy.\n\n\nF.A.Q.\n------\n\n* Can I open remote urls with nsxiv? \u003cbr\u003e\nYes, see [nsxiv-url](https://codeberg.org/nsxiv/nsxiv-extra/src/branch/master/scripts/nsxiv-url)\n\n* Can I open all the images in a directory? \u003cbr\u003e\nYes, see [nsxiv-rifle](https://codeberg.org/nsxiv/nsxiv-extra/src/branch/master/scripts/nsxiv-rifle)\n\n* Can I set default arguments for nsxiv? \u003cbr\u003e\nYes, see [nsxiv-env](https://codeberg.org/nsxiv/nsxiv-extra/src/branch/master/scripts/nsxiv-env)\n\n* Can I pipe images into nsxiv? \u003cbr\u003e\nYes, see [nsxiv-pipe](https://codeberg.org/nsxiv/nsxiv-extra/src/branch/master/scripts/nsxiv-pipe)\n\nYou may also wish to see the [known issues](https://codeberg.org/nsxiv/nsxiv/issues/242).\n\n\nCustomization\n-------------\n\nThe main method of customizing nsxiv is by setting values for the variables in *config.h*,\nor by using Xresources as explained in the manual. If these options are not sufficient,\nyou may implement your own features by following\n[this guide](https://codeberg.org/nsxiv/nsxiv-extra/src/branch/master/CUSTOMIZATION.md).\n\nDue to our limited [project scope](etc/CONTRIBUTING.md#project-scope), certain features or\ncustomization cannot be merged into nsxiv mainline. Following the spirit of suckless\nsoftware, we host the [nsxiv-extra](https://codeberg.org/nsxiv/nsxiv-extra) repo where users\nare free to submit whatever patches or scripts they wish.\n\nIf you think your custom features can be beneficial for the general user base and is within\nour project scope, please submit it as a pull request on this repository, then we *may*\nmerge it to mainline.\n\nDescription on how to use or submit patches can be found on\nnsxiv-extra's [README](https://codeberg.org/nsxiv/nsxiv-extra).\n\n\nDownload\n--------\n\nYou can [browse](https://codeberg.org/nsxiv/nsxiv) the source code repository\non Codeberg or get a copy using git with the following command:\n\n    $ git clone https://codeberg.org/nsxiv/nsxiv.git\n\nYou can view the changelog [here](etc/CHANGELOG.md)\n\n\nSimilar projects\n----------------\n\nIf nsxiv isn't able to fit your needs, check out the image viewer section of\n**[suckless rocks](https://suckless.org/rocks)** to find other minimal image\nviewers to try out.\n\nBelow are a couple other lesser known projects not listed in suckless rocks.\n\n* [MAGE](https://codeberg.org/explosion-mental/mage):\n  A smaller/more-suckless version of sxiv.\n* [div](https://codeberg.org/TAAPArthur/div):\n  Minimal and extensive, aimed at C devs willing to build their own features.\n* [mpv-image-viewer](https://github.com/occivink/mpv-image-viewer):\n  Lua script to turn mpv into an image viewer. Supports thumbnails via\n  [mpv-gallery-view](https://github.com/occivink/mpv-gallery-view).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnsxiv%2Fnsxiv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnsxiv%2Fnsxiv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnsxiv%2Fnsxiv/lists"}