Brightside Renders Into Gnome Helpful Things Such as are In Other Desktop Environments †
The Brightside Screen Corners and Edges daemon
Brightside is a tool to add reactivity to the corners and edges of your Gnome desktop.
Brightside provides ‘edge flipping’ to allow you to switch to the adjacent workspace simply by pressing your mouse against the edge of the screen.
Brightside also allows you to assign configurable actions to occur while you rest the mouse in a corner of the screen. Currently available actions comprise:
The actions are reversed when the pointer leaves the corner — if you wish to prevent the screen being locked you have until the action progress bar fills up (1 second, as it happens). Custom actions comprise a command to run upon entering the corner, and a decision to either kill that process upon leaving the corner or run another command.
Alternatively, you may choose to switch to the diagonally adjacent workspace when you press the mouse into the corner of the screen.
Upon switching workspace, a pager will be shown in the centre of the screen; as long as it stays on screen you can keep switching workspace without penalty of delay for workspace switching to be activated.
Brightside was born both out of a motivation to add a missing if nonessential feature, i.e. edge flipping, to Gnome; and also out of the need for an easy and fast way to mute music when taking a phone call or responding to conversation, and a quick way to lock the screen when leaving the computer.
Because of my lack of experience at starting software projects, I used Bastien Nocera's ACME as a template, a guide, and a source of useful code. Quite a bit of code still shows its provenance.
There is more up-to-date information available in the README and ChangeLog.
†. The acronym for Brightside was made up on the spot shortly after the name was decided upon. I consider it worse than most (yet still better than many) in terms of trite artificiality. Incidentally, ‘renders’ is intended to be taken in the sense ofTo give (or hand) back, to restore; also, the use of ‘into’ rather than ‘unto’ may be excused by either taking Gnome as a collective noun, or regarding my usage as an archaism (indeed, one employed by Shakespeare).
...‘ouija board’ UI, where you just move the mouse around and the computer guesses what you mean, has a lot of issues.
I don't like edge flipping because:
- it breaks fitt's law
- it's disorienting to users since just moving the mouse causes a lot of "instability"
- it involves a lot of implementation complexity (putting up input-only windows on the sides of the screen to detect the mouse motion)
[regarding workspace wrapping]Jamie Zawinski:
Basically this is your standard combinatorial explosion of preferences; you can change number of spaces and their layout, and choose directional or direct-to-space or mouse navigation, etc. etc., and so then you might learn to work in a way that involves wrapping or not, and then it goes on and on. How many ways can we accomplish the same simple task...
I'm opposed to a preference here, it just perpetuates the insanity and is feature-micromanagement-via-prefs. Let's just pick something and go with it.
[regarding the lack of corner actions in XScreenSaver]
The reason is just that I don't like that behavior (I think it's non-obvious, non-discoverable, and counter-intuitive.) I added an ‘Activate XScreenSaver’ menu item to my window manager, and that's good enough for me.
Screenshots of Brightside 1.3.0:
Brightside is, of course, licensed under the GNU GPL, version 2 or later.
Source code is available in the download folder. To install the traditional way, just use the standard method:
./configure
make
make install
Brightside will install an item into the
Gnome Desktop Preferences system, available
via preferences:/// and the
Gnome menu — if you aren't running
FAM you will
need to kill gnome-panel
to reload the menu tree.
Make sure you read the README.
The configure stage should generate a spec
file, suitable for RPM
based systems.
Note that if you are compiling on an RPM based
binary system you will need to install -devel
packages for all the support libraries used by
Brightside. On Debian based binary systems
you will need the corresponding -dev
packages. Of
course, if you use a source-based distribution the header files
will be installed with the libraries.
Ebuilds are available from my Portage overlay, in the directory gnome-extra/brightside (download directory tarball).
I would welcome specification files for other package management systems.
I am willing to post links to binary packages for popular distributions, as long as the packager is willing to support users of their packages.
The Brightside logo (which you can see at
the top of this page) is based on the
Monitor icon from the beautiful
Amaranth
Gnome icon theme by Michael Doches. It was
edited using
Inkscape 0.36, then
the original
SVG
was converted to
PNG
using rsvg
from the
librsvg library.