On screen annotation

Write on top of apps on your screen

There are many occasions where you might want to draw something on your screen. Most commonly, during a presentation. LibreOffice Impress, and other presentation software, has a pen built into the presenter mode which enables you to draw on slides. But what if you want to show a programming example, and you want to draw on the terminal, or on the IDE to highlight something? There are a few options available to do this.

Support Funtoo and help us grow! Donate $15 per month and get a free SSD-based Funtoo Virtual Container.

Compiz

The "Compiz" compositor has on screen annotation built in. You can enable it in the options, and set up shortcuts for clearing the screen etc.

Gromit

Gromit is available for installation from the Funtoo repositories.

   emerge gromit

After installing it, you need to change the settings in the .gromitrc settings file:

   nano ~/.gromitrc

Here are some example contents of settings:

   "red Pen" = PEN (size=7 color="red");
   "blue Pen" = "blue Arrow" (arrowsize=2);
   "yellow Pen" = "red Pen" (color="yellow");
   "Eraser" = ERASER (size = 95);
   
   "Core Pointer" = "red Pen";
   "Core Pointer"[SHIFT] = "blue Pen";
   "Core Pointer"[CONTROL] = "yellow Pen";
   "Core Pointer"[2] = "Eraser";

Gromit has not been updated for a very long time. The latest version is 20041223-rc1. It can be extremely slow and because of how slow it is to draw there are cases where it becomes impossible to use for anything else than putting a point on the screen.

To start drawing on the screen, you press the Pause button (usually located close to the numeric keyboard). Quitting Gromit is done with Alt-Pause, and you can hide the painting and bring it back by pressing Ctrl-Pause. Clearing the annotations for the entire screen is done with Shift-Pause.

Gromit-MPX

There is a development of Gromit called Gromit-MPX, which is currently under active development. This is much faster than the original Gromit because it uses the XCOMPOSITE extension if it is available (e.g. if you are using Compton with Openbox). Therefore, this is a much preferable alternative for those who want to draw on the screen in a light weight installation such as LXQt. Gromit-MPX uses GTK3 to create a panel applet that can be used for controlling its behaviour.

   emerge gromit-mpx

To draw on the screen in Gromit-MPX you would by default press F9, otherwise the same as Gromit.

Gromit-MPX also has an option to change the opacity of the drawing layer:

   gromit-mpx -o <opacity>

Configuration of Gromit-MPX is similar to Gromit, but the file is in ~/.config/gromit-mpx.cfg so it is not hidden. Here is an example configuration file:

   "red Pen" = PEN (size=5 color="red");				
   "blue Pen" = "red Pen" (color="blue");				
   "yellow Pen" = "red Pen" (color="yellow");			
   "green Marker" = PEN (size=6 color="green" arrowsize=1);		
   
   "Eraser" = ERASER (size = 75);					
   
   "default" = "red Pen";						
   "default"[SHIFT] = "blue Pen";					
   "default"[CONTROL] = "yellow Pen";				
   "default"[2] = "green Marker";					
   "default"[Button3] = "Eraser";	
As you can see, using [2] or [Button2] accomplishes the same thing; it controls the behavior of mouse button 2. You can use up to mouse button 5. The colors can be anything in rgb.txt or you can specify rgb yourself, e.g. #FF0000 for red.