Menyoki
Screen{shot,cast} and perform ImageOps on the command line 🌱 🏞️
Install / Use
/learn @orhun/MenyokiREADME
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
healthcheck
339.5kHost security hardening and risk-tolerance configuration for OpenClaw deployments
himalaya
339.5kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
imsg
339.5kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
