using monitor_workarea instead of the full size of a monitor
refactoring
execute selection, optional scrollbar, refactoring
listen changes workarea, refactoring, CFLAGS