{"id":13451541,"url":"https://github.com/atanunq/viu","last_synced_at":"2025-05-13T00:07:37.832Z","repository":{"id":38239552,"uuid":"181028447","full_name":"atanunq/viu","owner":"atanunq","description":"Terminal image viewer with native support for iTerm and Kitty","archived":false,"fork":false,"pushed_at":"2024-12-04T18:31:08.000Z","size":43647,"stargazers_count":2789,"open_issues_count":40,"forks_count":65,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-05-13T00:07:27.782Z","etag":null,"topics":["cli","image-viewer","rust","terminal"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atanunq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-MIT","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":"2019-04-12T14:51:16.000Z","updated_at":"2025-05-11T18:29:47.000Z","dependencies_parsed_at":"2025-02-11T14:21:08.183Z","dependency_job_id":"2fce43f1-9de4-413c-8354-d5dbd9a0cbbe","html_url":"https://github.com/atanunq/viu","commit_stats":{"total_commits":202,"total_committers":17,"mean_commits":"11.882352941176471","dds":"0.15841584158415845","last_synced_commit":"af8f2ae90040baeeb24b92adedc645edc4ea0e85"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atanunq%2Fviu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atanunq%2Fviu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atanunq%2Fviu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atanunq%2Fviu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atanunq","download_url":"https://codeload.github.com/atanunq/viu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253843215,"owners_count":21972873,"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":["cli","image-viewer","rust","terminal"],"created_at":"2024-07-31T07:00:55.518Z","updated_at":"2025-05-13T00:07:37.800Z","avatar_url":"https://github.com/atanunq.png","language":"Rust","readme":"- [Description](#description)\n- [Features](#features)\n- [Installation](#installation)\n  - [From source (recommended)](#from-source-recommended)\n  - [Binary](#binary)\n  - [Packages](#packages)\n    - [MacOS](#macos)\n    - [Arch Linux](#arch-linux)\n    - [NetBSD](#netbsd)\n- [Usage](#usage)\n  - [Examples](#examples)\n  - [iTerm note](#iterm-note)\n  - [Aspect Ratio](#aspect-ratio)\n  - [Command line options](#command-line-options)\n\n## Description\nA small command-line application to view images from the terminal written in Rust. It is basically the\nfront-end of [`viuer`](https://github.com/atanunq/viuer). It uses either [iTerm](https://iterm2.com/documentation-images.html)\nor [Kitty](https://sw.kovidgoyal.net/kitty/graphics-protocol.html) graphics protocol, if supported.\nIf not, lower half blocks (▄ or \\u2584) are displayed instead.\n\nBased on the value of `$TERM`, `viuer` decides which protocol to use. For half\nblocks, `$COLORTERM` is inspected. If it contains either `truecolor` or `24bit`,\ntruecolor (16 million colors) will be used. If not, it will fallback to using only ansi256. A nice\nexplanation can be found in this [gist](https://gist.github.com/XVilka/8346728).\n\n\n## Features\n- Native iTerm and Kitty support\n- Animated GIF support\n- Accept media through stdin\n- Custom dimensions\n- Transparency\n- Experimental Sixel support (behind the `sixel` feature flag)\n\n## Installation\n\n### From source (recommended)\n\nInstallation from source requires a local [Rust environment](https://www.rust-lang.org/tools/install).\n\n```bash\ngit clone https://github.com/atanunq/viu.git\n\n# Build \u0026 Install\ncd viu/\ncargo install --path .\n\n# Use\nviu img/giphy.gif\n```\nOr without cloning:\n```bash\ncargo install viu\n```\n\n### Binary\nA precompiled binary can be downloaded from the [release\npage](https://www.github.com/atanunq/viu/releases/latest).\nGPG fingerprint is B195BADA40BEF20E4907A5AC628280A0217A7B0F.\n\n### Packages\n\n#### MacOS\nAvailable in [`brew`](https://formulae.brew.sh/formula/viu).\n```bash\nbrew install viu\n```\n\n#### Arch Linux\nAvailable in [`extra/viu`](https://archlinux.org/packages/extra/x86_64/viu/).\n```bash\npacman -S viu\n```\n\n#### NetBSD\nAvailable in [`graphics/viu`](http://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/graphics/viu/README.html).\n\n## Usage\n\n### Examples\nOn a [Kitty](https://github.com/kovidgoyal/kitty) terminal:\n\n![Kitty](img/kittydemo.gif)\n\nOn a Mac with iTerm:\n\n![iTerm](img/iterm.png)\n\n\nUsing half blocks (Kitty protocol and `tmux` do not get along):\n\n![Demo](img/demo.gif)\n\n\n![Demo](img/gifdemo.gif)\n\n\n![Demo](img/curldemo.gif)\n\n\nCtrl-C was pressed to stop the GIFs.\n\n\nWhen `viu` receives only one file and it is GIF, it will be displayed over and over until Ctrl-C is\npressed. However, when couple of files are up for display the GIF will be displayed only once.\n\n### iTerm note\niTerm can handle GIFs by itself with better performance, but configuration through `--once`\nand `--frame-rate` will have no effect there.\n\n### Aspect Ratio\nIf no flags are supplied to `viu` it will try to get the size of the terminal where it was invoked.\nIf it succeeds it will fit the image and preserve the aspect ratio. The aspect ratio will be changed\nonly if both options **-w** and **-h** are used together.\n\n### Command line options\n```\nView images right from the terminal.\n\nUsage: viu [OPTIONS] [file]...\n\nArguments:\n  [file]...  The images to be displayed. Set to - for standard input.\n\nOptions:\n  -w, --width \u003cwidth\u003e\n          Resize the image to a provided width\n  -h, --height \u003cheight\u003e\n          Resize the image to a provided height\n  -x \u003cx\u003e\n          X offset [default: 0]\n  -y \u003cy\u003e\n          Y offset [default: 0]\n  -a, --absolute-offset\n          Make the x and y offset be relative to the top left terminal corner. If not set, they are relative to the cursor's position.\n  -r, --recursive\n          Recurse down directories if passed one\n  -b, --blocks\n          Force block output\n  -n, --name\n          Output the name of the file before displaying\n  -t, --transparent\n          Display transparent images with transparent background\n  -f, --frame-rate \u003cframes-per-second\u003e\n          Play the gif at a given frame rate\n  -1, --once\n          Loop only once through the gif\n  -s, --static\n          Show only the first frame of the gif\n  -H, --help\n          Print help information\n  -V, --version\n          Print version information\n```\n","funding_links":[],"categories":["Rust","Productivity","Tools","cli","Other"],"sub_categories":["Kubernetes","Rust"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatanunq%2Fviu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatanunq%2Fviu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatanunq%2Fviu/lists"}