💻
Cheatsheets
  • Most Useful Command Line Tools: 50 Cool Tools to Improve Your Workflow, Boost Productivity, and More
  • 7_tips_to_reverse_engineer_javascript
  • Configuring a Repl
  • How to create your command-line program (CLI) with NodeJS and Commander.js | by Duc N. | JavaScript
  • replit Node.JS 24/7 Project Hoster
  • cheatsheets
  • Alacritty, Tmux, and Vim
  • amethyst
  • Android
  • Installing Arch Linux
  • Arch Linux
  • aria2
  • bin
  • bspwm
  • Chocolately Notes
  • command_line_pipes
  • CSS Grid
  • curl
  • The curl guide to HTTP requests
  • Docker
  • Easymotion
  • Emmet
  • Favorite figlet fonts
  • FFMPEG
  • figlet
  • File Serve
  • File Transfer
  • fish shell
  • Front End Dev Links
  • How to use Git.io to shorten GitHub URLs and create vanity URLs
  • Git
  • Downloading a Tarball from GitHub
  • Make Infinite Gmail Addresses For One Inbox
  • How To Use GPG on the Command Line
  • guide_to_fish_completions
  • Homebrew
  • How to clean Arch Linux
  • HTML5 Boilerplate
  • Install
  • All the keyboard shortcuts you’ll ever need for Safari on iPad
  • iosevka
  • iPhone
  • ish (iOS)
  • Javascript Notes
  • jq
  • Jupyter Notebooks
  • Lettering
  • lf-wiki
  • lf
  • Command Line
  • Adding a swapfile after a clean installation without swap partition
  • mac_bluetooth_issues
  • Mac Terminal
  • maim
  • markdown-sample
  • Markdown Notes
  • Images in README.md Markdown Files
  • Organizing information with tables
  • md_cheatsheet
  • NiftyWindows Help
  • nix
  • Justin Restivo - A Portable Text Editor: Nix <3 Neovim
  • NPM
  • neovim configuration
  • Pastery
  • Powershell
  • Table of Basic PowerShell Commands | Scripting Blog
  • Powershell Modules
  • Puppeteer
  • Python
  • rclone-colab
  • replit
  • Hi there, I'm Raju Ghorai - a.k.a. [coderj001]
  • Scriptable
  • Servor
  • Replacing Postlight’s Mercury scraping service with your self-hosted copy
  • Shell Scripts
  • skhd
  • Spicetify
  • SSH
  • SurfingKeys
  • tar
  • Terminal Web Browser Docker
  • Text Generators
  • tmux shortcuts & cheatsheet
  • unicode
  • VIM
  • VIM Diff
  • vi Complete Key Binding List
  • 8 Essential Vim Editor Navigation Fundamentals
  • Vim Shortcut Keys
  • Vite
  • VNC
  • web-servers
  • Web Server
  • Windows Command Line
  • Writeguard
  • WSL Cheatsheet
  • youtube-dl
  • zsh Plugins
  • zspotify
Powered by GitBook
On this page
  • Features
  • Installation
  • Install using your Package Manager (Preferred)
  • Install using CMake (Requires CMake, git, libXrender, libXfixes, libGLM, libxcomposite, libxrandr, libxext, GLEW)
  • Examples

Was this helpful?

maim

PreviousMac TerminalNextmarkdown-sample

Last updated 3 years ago

Was this helpful?

maim (Make Image) is a utility that takes screenshots of your desktop. It's meant to overcome shortcomings of scrot and performs better in several ways.

Features

  • Takes screenshots of your desktop, and saves it in png, jpg, or bmp format.

  • Takes screenshots predetermined regions or windows, useful for automation.

  • Allows a users to select a region, or window, before taking a screenshot on the fly.

screenshot with selection
  • Masks off-screen pixels to be transparent or black.

  • Maim cleanly pipes screenshots directly to standard output (unless otherwise specified). Allowing for command chaining.

Installation

Install using your Package Manager (Preferred)

  • Please make a package for maim on your favorite system, and make a pull request to add it to this list.

Install using CMake (Requires CMake, git, libXrender, libXfixes, libGLM, libxcomposite, libxrandr, libxext, GLEW)

git clone https://github.com/naelstrof/slop.git
cd slop
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" ./
make && sudo make install
cd ..
git clone https://github.com/naelstrof/maim.git
cd maim
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/usr" ./
make && sudo make install

Examples

Maim allows for a lot of unique and interesting functionalities. Here's an example of a few interactions.

  • This command will allow you to select an area on your screen, then copy the selection to your clipboard. This can be used to easily post images in mumble, discord, gimp-- or any other image supporting application.

$ maim -s | xclip -selection clipboard -t image/png
  • This messy command forces a user to select a window to screenshot, then applies a shadow effect using imagemagick, then saves it to shadow.png. It looks really nice on windows that support an alpha channel.

$ maim -st 9999999 | convert - \( +clone -background black -shadow 80x3+5+5 \) +swap -background none -layers merge +repage shadow.png
  • This command is a particular favorite of mine, invented by a friend. It simply prints the RGB values of the selected pixel. A basic color picker that has the additional ability to average out the pixel values of an area. If used cleverly with the geometry and window flag, the return color might warn you of a found counter-strike match...

$ maim -st 0 | convert - -resize 1x1\! -format '%[pixel:p{0,0}]' info:-
  • This is a basic, but useful command that simply screenshots the current active window.

$ maim -i $(xdotool getactivewindow) ~/mypicture.jpg
  • This is another basic command, but I find it necessary to describe the usefulness of date. This particular command creates a full screenshot, and names it as the number of seconds that passed since 1970. Guaranteed unique, already sorted, and easily read.

$ maim ~/Pictures/$(date +%s).png
  • This one overlays a still of your desktop, then allows you to crop it. Doesn't play well with multiple monitors, but I'm sure if it did it wouldn't look this pretty and simple.

$ maim | feh - -x & maim -s cropped.png
$ maim -s /tmp/screenshot.png; imgur.sh /tmp/screenshot.png | xclip -selection clipboard

Blends the system cursor to the screenshot.

screenshot with masked pixels

Maim supports anything slop does, even selection !

slop animation

Finally with the , pictures can automatically be uploaded and their URLs copied to the clipboard with this basic command.

shaders
ALT Linux: maim
Arch Linux: community/maim
Debian: maim
Ubuntu: maim
Void Linux: maim
FreeBSD: graphics/maim
NetBSD: x11/maim
OpenBSD: graphics/maim
CRUX: maim
Gentoo: media-gfx/maim
NixOS: maim
GNU Guix: maim
Ravenports: maim
Fedora: maim
help your friendly neighborhood scripter
screenshot with cursor