Menyoki
Screen{shot,cast} and perform ImageOps on the command line 🌱 🏞️
Install / Use
npx skills add orhun/menyokiInstalls into whichever agent you are using.
README
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.
<details> <summary>Table of Contents</summary>- Supported Platforms
- Supported Formats
- Installation
- Features
- Usage
- Key Bindings
- Configuration
- Environment Variables
- Roadmap
- Resources
- License
- Copyright
Supported Platforms
- [x] Linux
- [ ] 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
- [x] GIF
- [x] APNG
- [x] PNG
- [x] JPEG
- [x] BMP
- [x] ICO
- [x] TIFF
- [x] PNM
- [x] TGA
- [x] farbfeld
- [x] OpenEXR
- [x] WebP
- [ ] AVIF
- [ ] MP4
Installation
Requirements
- Rust:
1.56.1+ - Dependencies
- Arch Linux:
libx11,libxrandr - Debian, Ubuntu:
libx11-dev/librust-x11-dev,libxrandr-dev - Fedora:
libX11-devel,libXrandr
- Arch Linux:
Cargo
menyoki can be installed from crates.io using cargo if Rust is installed.
cargo install menyoki
Use --force option to update.
cargo install menyoki --force
Arch Linux
menyoki can be installed from the Arch Linux extra repository.
pacman -S menyoki
Or if you prefer, you can use an available AUR package for installation.
- Use an AUR helper:
paru menyoki
- Clone the package and compile it with makepkg:
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):
docker pull orhunp/menyoki:<tag>
Run a container:
docker run orhunp/menyoki:<tag>
Building an image
After cloning the repository, you can build an image from Dockerfile:
docker build -t menyoki .
Then you can either run a container:
docker run menyoki
or spawn a shell inside the container with running it interactively:
docker run -it menyoki /bin/bash
Manual
From source
- Clone the repository.
git clone https://github.com/orhun/menyoki.git && cd menyoki/
- Build the project and install binary.
cargo install --path .
Releases
- Download the latest archive from releases page and extract it.
- Move
menyokibinary 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
<table> <tr> <th>Action</th> <td><img src="https://user-images.githubusercontent.com/24392180/99543947-cdeb2280-29c4-11eb-87a9-ad559f9522ad.gif"></td> </tr> <tr> <th>Result</th> <td><img src="https://user-images.githubusercontent.com/24392180/99814600-3cadb480-2b5a-11eb-84ce-1a693d5ddc2c.gif"></td> </tr> </table>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 <a href="https://github.com/orhun/menyoki"><img src="https://user-images.githubusercontent.com/24392180/99184076-96c10b00-2751-11eb-99ea-ad962144df76.png" height="30"></a>
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
Related Skills
clawhub
385.5kSearch ClawHub for skills when a requested capability is not already available; install, verify, update, uninstall, publish, or sync skills.
coding-agent
385.5kDelegate coding work to Codex, Claude Code, or OpenCode as background workers; not simple edits or read-only code lookup.
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
notion
385.5kNotion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.
