
|
LOBOTOMY PROJECT
|

|
KIAZMA PROJECT
|
Mapping the Graphical Environment into Filesystem (and Viceversa)
(v0.1, 29.3.2007)
Abstract
When we speak about "graphical rappresentation of the filesystem" (and "graphical rappresentation of metadata associated to the files") we think to the filemanager window with all his icons inside, the emblems, a properties panel and so on. But the real filesystem contains more than traditional user's files: it contains everything. Applications, graphical elements used into the environment itself, and, if appropriately handled and recognized, informations showed inside applications.
Summary:
Introduction
Look at your monitor, now. How many files do you see? I reply: I see only files.
Icons in the panel are files, the panel is a file (an executable), the wallpaper is a file, the mouse cursor is shaped from a file, the application I'm using to write this is a file, window manager is a file and all its buttons are files.
Those files are, of course, contained into the filesystem, in folders where are retrived to be used to compose all I see and I use.
But not only what I'm directly seing: bookmarks in the browser are stored in files, contacts and mails in the mail client are in files, configurations of applications are formatted into files...
The sentence "everything is a file", so popular in Unix environment, is really adeguate to describe this point of view.
Tracking Elements on the Screen
With the appropriate API, it is possible for an application to sign those graphical elements which are related to a filesystem item: wrapping, for example, the common GtkWidget into a KiazmaWidget, which have as property the identifier of the file (or, more generally, the node. Look for documents about Mnemonics in Hyppocampus' page) that rappresents.
Most of work is did: the more elaborate task is to identify and isolate graphs which are "sensitive" to particular signals, dispatched by the window manager as reaction for an user's request, such as a keyboard shortcut. When user will press, say, Ctrl-Win (so we use the actually useless Windows button ;-P ), the Kiazma library, through an abstraction build on top of XEmbed (and GtkPlug) or DBUS, will evidence those elements on the screen, so to made them recognizable and permit to engage interactions with them.
Interacting with the Filesystem
When items are identified and showed with the choosen shortcut / button / gesture, interaction can be performed in a number of ways, because we can use metadata catched from the relational filesystem and format them on the preferred shape.
Imagine that Ctrl-Win-N shortcut is binded to the visualization of notes associated to the files (and stored into Hyppocampus, as appropriate): the monitor is populated of yellow Post-It like windows, each attached to the relative file.
Other possible exotic visualizations can be performed using, as primary criteria, keywords, or relationship among files, or size, or usage indexes... And not only showed, but metadata could be also added (or removed, or modified) selecting the desidered evidenced area with mouse and using a contextual menu (or similar) binded by the widgets library itself only when in "tracking mode".
Always remember that, into Hyppocampus, not only traditional files but also contacts, bookmarks, configurations, mails... are stored as single atoms, each with his metadata, and with a complete widgets integrations (to abstract into Kiazma) each of them can be showed and managed in the same manner.
Links