It doesn't actually capture your screen, but rather saves the Cairo
surface to an image. The path to the image and some other options
can also be configured in the config file.
By default, Print Screen can be pressed in Normal mode with no modifier
to take a screenshot. The default location is the user's home directory,
and the file has a date attached to it. Of course, this can be changed
as well.
The fullscreen functionality is kind of cool, but adds a lot of code and
as commit history has shown, plenty of bugs and extra required testing.
I may reimplement this later in a less bad manner. Note that the
fullscreen behavior can be achieved by simply increasing image size to
the max. spmenu will let you do that.
Fixes issue #9
This commit also adds MASSIVE speed improvements to image drawing, due
to code cleanup. There are still a *few* issues to resolve, one is
X11 related, and one is caused by alpha/blending.
It seemed like a good thing at first to combine all the movement stuff
in a single function, however as soon as you want to move multiple lines
at once it becomes very difficult to do that, especially if you aren't
familiar with C.
This commit splits it into 4 separate functions, where the argument
(arg->i) is how many times we move. This means it is now possible to
choose how many lines to move without even editing the function itself,
just through keybinds. This also makes the "fastmove" keybindings
redundant.
Note that calcoffsets() and drawmenu() after that must be called AFTER the for loop added with this commit, otherwise
you can see the selection moving from each line to the next which is
rather ugly.