Skip to content
Branch: master
Go to file

Latest commit

lolilolicon committed 557531e Mar 24, 2019
Example: use slop for smarter & infinite selection
Also add example for killing ffmpeg screencast process.
The user can bind the two command lines to keyboard shortcuts for
terminal-less screen recording.

See also issues #23 #19


Failed to load latest commit information.
Latest commit message
Commit time



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.


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


To build and install from source,

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

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

git clone --recursive

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


See ffcast(1). Perhaps start with EXAMPLES.

You can’t perform that action at this time.