/FFcast

Run command on rectangular screen regions

Primary LanguageShellGNU General Public License v3.0GPL-3.0

FFcast

FFcast deals with rectangles on screens. Mostly, it selects rectangles. Like most boring jobs, there are many ways to do it: free selection, selection by window, screen number, numeric geometry, or by edge detection. Simple arithmetic operations allow simple combinations and adjustments.

Now FFcast knows all about these rectangles, but what to do with them? Well, like most useless things, there are many ways to use them: in practice, screenshots and screencasts are obviously popular options; in general, the geometry can be utilized by any application that understands X geometry, including window managers, xorg-apps (xclock, xev), byzanz-record, dunst, dzen2, FFmpeg, gifview, ImageMagick, maim, mousetweaks, mpv, Nautilus, screenkey, sxiv, xdotool, xscast, xsnap, zenity, to randomly name a few.

FFcast provides several short commands for common tasks, just to please its users, but hardly ever satisfies anyone. Like most unhelpful tools, it encourages its users to roll their own cigarettes.

Anyway, here’s wonder…​ful demos.

Requirements

Bash 4.3+, FFmpeg (png rec), ImageMagick or GraphicsMagick (trim), xdpyinfo (-x), xprop (-f), xrectsel (-s), xwininfo (-w).

Installation

To build and install from source,

./bootstrap  # generates ./configure
./configure --prefix /usr --libexecdir /usr/lib --sysconfdir /etc
make
make DESTDIR="$dir" install  # $dir must be an absolute path

To get xrectsel along with FFcast, pull in the submodule,

git clone --recursive https://github.com/lolilolicon/FFcast.git

Then build and install as described above, but passing an additional --enable-xrectsel to ./configure.

Usage

See ffcast(1). Perhaps start with EXAMPLES.