百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
M

menyoki

> 编程语言
开源

在命令行上截取{镜像,播放}并执行 ImageOps 操作

667 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

在命令行上截取{镜像,播放}并执行 ImageOps 操作

Screen{shot,cast} and perform ImageOps on the command line ️

menyoki is a screencast and screenshot utility that can also perform various image related operations such as making/splitting GIFs and modifying/analyzing/viewing image files. It aims to be a lightweight command line tool for either helping out on day-to-day life operations or complicated detail-centric issues. Originally it was designed to record/screenshot terminal windows but it can be tweaked easily for other purposes with command line arguments, environment variables, or a configuration file.

Table of Contents

  • Supported Platforms
  • Supported Formats
  • Installation
    • Requirements
    • Cargo
    • Arch Linux
    • Docker
      • Docker Hub
      • Building an image
    • Manual
      • From source
      • Releases
  • Features
  • Usage
    • General
      • Arguments
      • Examples
    • Record
      • Arguments
      • Examples
      • Pro Tip
    • Split
      • Arguments
      • Examples
    • Make
      • Arguments
      • Examples
    • Capture
      • Arguments
      • Examples
    • Edit
      • Arguments
      • Examples
    • Analyze
      • Arguments
      • Examples
    • View
      • Arguments
      • Examples
    • Other
      • GIF/APNG
      • PNG
      • JPG
      • WEBP
      • PNM
      • Save
  • Wayland
  • Key Bindings
  • Configuration
  • Environment Variables
    • Examples
  • Roadmap
    • Accessibility
    • Platforms
    • Formats
    • Optimization
    • Testing
  • Resources
    • About the project
    • Why "menyoki"?
    • Social Media
    • Funding
  • License
  • Copyright

Supported Platforms

  • Linux
    • X11 (fully supported)
    • Wayland (output record/capture, window on Hyprland)
  • Windows (no record/capture)
  • macOS (no record/capture)

menyoki requires a window system implementation of the supported platform for record and capture actions. Other features are expected to work normally since they don't require a window system running (or grabbing a window to operate on). For example, despite the macOS is not listed as a supported platform, menyoki still can perform image operations such as edit, analyze and view if it's compiled on macOS.

Supported Formats

  • GIF
  • APNG
  • PNG
  • JPEG
  • BMP
  • ICO
  • TIFF
  • PNM
  • TGA
  • farbfeld
  • OpenEXR
  • WebP
  • AVIF
  • MP4

Installation

Requirements

  • Rust: 1.88+
  • Dependencies (only needed for the X11 backend, the Wayland one is pure Rust)
    • Arch Linux: libx11, libxrandr
    • Debian, Ubuntu: libx11-dev/librust-x11-dev, libxrandr-dev
    • Fedora: libX11-devel, libXrandr

Cargo

menyoki can be installed from crates.io using cargo if Rust is installed.

bash
cargo install menyoki

Use --force option to update.

bash
cargo install menyoki --force

Arch Linux

menyoki can be installed from the Arch Linux extra repository.

bash
pacman -S menyoki

Or if you prefer, you can use an available AUR package for installation.

  • Use an AUR helper:
bash
paru menyoki
  • Clone the package and compile it with makepkg:
bash
git clone https://aur.archlinux.org/menyoki-git.git
cd menyoki-git
makepkg -si

Docker

Docker Hub

Download the orhunp/menyoki image from Docker Hub (see available tags):

bash
docker pull orhunp/menyoki:

Run a container:

bash
docker run orhunp/menyoki:

Building an image

After cloning the repository, you can build an image from Dockerfile:

bash
docker build -t menyoki .

Then you can either run a container:

bash
docker run menyoki

or spawn a shell inside the container with running it interactively:

bash
docker run -it menyoki /bin/bash

Manual

From source

  1. Clone the repository.
bash
git clone https://github.com/orhun/menyoki.git && cd menyoki/
  1. Build the project and install binary.
bash
cargo install --path .

Releases

  1. Download the latest archive from releases page and extract it.
  2. Move menyoki binary to /usr/local/bin/ (Linux)

Features

  • Record an animation
  • Split an animation into frames
  • Make an animation from frames
  • Capture an image
  • Edit an image
  • Analyze an image
  • View an image

Usage

Action





Result

Command line arguments of menyoki are designed to be as intuitive as possible. As a result of that, an action can be performed with a chain of subcommands along with the flags and options. The general prototype for the usage of command line arguments is the following:

menyoki (ACTION) (FORMAT) (OUTPUT)

The subcommand that will indicate the action is mandatory whereas format and output subcommands might be optional (or they might not exist at all). The format subcommand can be one of the supported formats and output basically corresponds to the save subcommand.

The default format is the first listed subcommand if there is not any subcommand given for specifying a format. On the other hand, save subcommand uses the "menyoki" directory in the home (or images if it exists) as the default output directory.

General

Flags and options that will generally affect the execution of menyoki can be set before specifying the main action to perform. Then the main subcommand (action) must be specified.

menyoki [FLAGS] [OPTIONS]

Arguments

FLAGS:
    -h, --help       Print help information
    -V, --version    Print version information
    -v, --verbose    Increase logging verbosity
    -q, --quiet      Do not show output

OPTIONS:
    -c, --config     Set the configuration file
        --color       Set the main color [default: 3AA431]

SUBCOMMANDS:
    record     Record an animation
    split      Split an animation into frames
    make       Make an animation from frames
    capture    Capture an image
    edit       Edit an image
    analyze    Analyze an image
    view       View an image

Examples

Command Action
menyoki -V Print the version information
menyoki -vv --color FF00FF Set log verbosity level to 2 (trace) and use "FF00FF" as the main color
menyoki -q -c menyoki.conf Run in quiet mode and read the configuration from "menyoki.conf"

Record

menyoki can record an area of a window or the whole screen and encode it as a supported format. Area selection and resize is performed with the key bindings.

A few scenarios that record action might be helpful would be:

  • Record a specific area of a window
  • Record for a given duration
  • Record the output of a command (especially for TUI applications)

Encoding options can be changed using the arguments of the provided format. (See the output of menyoki record gif --help)

menyoki record [FLAGS] [OPTIONS] [COMMAND] [SUBCOMMAND]

Arguments

…

Examples

Command Action
menyoki record Select a window and start recording with default settings
menyoki record --root --countdown 5 Record the root window after 5 seconds of countdown
menyoki record --focus --with-alpha Record the focused window with the alpha channel (for transparency)
menyoki record --size 200x300 --duration 10 Record an area of size 200x300 for 10 seconds
menyoki record --padding 20:10:0:10 --timeout 120 Record an area with given padding and set window selection timeout to 120 seconds
menyoki record --parent Record the parent window of the selected window
menyoki record --root --select --monitor 1 Record the first monitor as root window
menyoki record --border 5 Record the area selected by a border with 5 width
menyoki record --action-keys LControl-Q,LAlt-W Record with the default settings using custom key bindings
menyoki record --cancel-keys LControl-X,E Record with the default settings using custom key bindings
menyoki record gif --fps 15 --quality 90 Record 15 frames per second with 90% quality
menyoki record gif --gifski Record and encode using the gifski encoder
menyoki record gif save "test.gif" --timestamp Record and save as "test.gif" with timestamp in the file name
menyoki record apng --fps 30

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rustanimated-pnganimationapngcapture

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言