The Gnome Clipboard Manager
- From: Philip Van Hoof <me freax org>
- To: gnome-devel-list gnome org
- Subject: The Gnome Clipboard Manager
- Date: 21 Oct 2002 23:29:35 +0200
Hi there,
Some people on this list probably remember my mail about a new
application called GNOME Clipboard Manager. Well based on some request
that I received from people (like people on the usability mailinglist
and Havoc) I changed the scope of the project a bit and this is the
result : The GNOME Clipboard Manager 2.0.2 application and environment.
ps. If people from this list are interested in helping me then please
let me know. I have enough ideas so don't think that this is a project
that is finished already :). Or you can just start reading the Plugin
and libgcm documentation and start writing plugins for GNOME Clipboard
Manager :). Note that the future of gcm is open, anything is possible if
you are willing to help me build it.
So, what has GNOME Clipboard Manager become ...
GNOME Clipboard Manager for GNOME 2.0 desktops is an application and an
environment for managing clipboards -a.k.a. selections- and their
available formats -a.k.a. their available targets-.
The three core components of GNOME Clipboard Manager :
* GNOME Clipboard Manager itself is a daemon that will autocollect new
clipboards and has the option to choose which clipboard is to be
pasted when an application asks for the clipboard in a specific
format. A longer list of features is listed below. They include
saving, creating, editing, merging of items. GNOME Clipboard Manager
is plugable and writing new plugins for GNOME Clipboard Manager is
not a difficult task.
* Libgcm is a library for controlling the GNOME Clipboard Manager daemon
from your own applications.
* GcmApplet is a sample GNOME 2.0 PanelApplet that uses libgcm for
controlling the GNOME Clipboard Manager daemon. It is still a little
bit buggy because I am not very good at writing PanelApplets and
because there is not very much documentation about them available
already. That is why I prefer calling it a sample.
Non core :
* libgcmtest is a sample application that shows all functionality
libgcm. So it's a libgcm-demo :)
* sampleplugin.c is a sample plugin for GNOME Clipboard Manager that
shows all possible event-functions a plugin can handle.
Please check out http://gcm.sf.net/about_gcm.html if you want to know
more about GNOME Clipboard Manager.
What applications could use libgcm :
- Applications like IDEs (devstudio, anjuta, gIDE) and texteditors
- PanelApplets
- Office applications
Example of Microsoft applications that have a Clipboard
Management tool : Microsoft Visual Studio.NET, Ms. Office
Both save clipboards on a shelve.
Plugins? For A CLIPBOARD MANAGER? MAN! Are you NuTz???
- No, GNOME Clipboard Manager should never become bloatware
however.. there are a few features that I would like to implement
like some sort of networking support (sending and receiving
clipboards over a tcp/ip network) and converting of targets
to other targets (text/html to OpenOffice.org's gzipped XML format)
- Such features do not belong in the core functionality of Gcm and
should therefor be written as plugins.
- Feel free to help me with such features :-) by writing plugins.
Features list :
Note:
I know that it might be confusing but I am not the person who gave these
animals names, "a target is a format" and "a clipboard is a selection"
in the following text :
* Storing your clipboards and all their available formats. A.k.a the
collecting of clipboards.
o A clipboard (a.k.a. a selection) can have multiple formats
(a.k.a targets) o GNOME Clipboard Manager will store all your
previous clipboards and formats so that you can go back to a
previously saved clipboard o A format can be
+ Html : which are the HTML-tags of a HTML selection
when you copypaste some stuff in your browser + Image
data : If you select a portion of an image and use the
"Copy"- or "Cut"-feature in for example OpenOffice.org
+ Normal text :
a.k.a. COMPOUND_TEXT which is the most common format of
clipboards
+ Some other format used by a specific
application that contains information about the data.
For example the clipboards of OpenOffice.org contain
gzipped formats which host XML-files that define the
layout and information that is to be copypasted to for
example another OpenOffice.org screen.
o Once collected, a clipboard becomes an Item for GNOME
Clipboard Manager o Making a clipboardring by setting the
max. amount of collected items. Older items will then
automatically be deleted from the list of collected items.
o The autocollecting of new items
* Saving and loading collected clipboards (Items) to
XML-formatted files.
o The data of the items will be written to the files in
UUEncoded data to make sure that we don't write binary data in
an UTF-8 orientated fileformat like XML is o Saving multiple
items in one file is, of course, possible
* Editing and viewing some supported formats in a clipboard
o The editing of the COMPOUND_TEXT or normal text target is
possible o The editing (and previewing in a GtkHtml widget) of
the text/html target is possible
* Manipulating of formats
o Blocking specific formats that are too large to store into
memory. E.g. Blocking large binary format-types
o Copying a specified format-type to another format-type o The
possibility to write a plugin for GNOME Clipboard Manager that
does the converting of the format-data while copying it to
another format-type
* Some advanced UserInterface options
o The UserInterface is, by default, hidden. So GNOME Clipboard
Manager is, by default, a clipboard collecting daemon. You can
make it show its UserInterface by using a small external tool
or by using the GNOME Clipboard Manager Applet. o Hiding all
UserInterface objects
o Making the scrollbar follow while adding new items o
Autoselect most new collected item
o Unselect-all after collecting a new item
* Support for the following selectiontypes
o The CLIPBOARD-selection : Used when using CTRL+C and CTRL+V
and the "Copy"- and "Paste"-features in the menus of most
applications o The PRIMARY selection : The text that is
selected in your session o The SECONDARY selection : The text
that was selected the last time in your session o A CUSTOM
atom : For those who know what they are doing
* A PanelApplet
o A PanelApplet for GNOME Clipboard Manager that can make
GNOME Clipboard Manager perform some specific tasks.
* A library for your own applications to control GNOME Clipboard
Manager
o GNOME Clipboard Manager comes with libgcm which is a library
that enables your application(s) to control and make use of
GNOME Clipboard Managers features.
* The hosting of plugins
o You can write plugins for GNOME Clipboard Manager in a same
fashion as you can with applications like mediaplayers (like
xmms).
Availability
You can download the latest release (which has all the listed features)
here :
http://prdownloads.sourceforge.net/gcm/gcm-2.0.2.tar.gz?download
http://prdownloads.sourceforge.net/gcm/gcmapplet-2.0.2.tar.gz?download
http://prdownloads.sourceforge.net/gcm/libgcmtest-2.0.2.tar.gz?download
You can get a more up-to-date version from CVS. Please note that a
version from CVS is a development version and can contain more or less
bugs than a release. It will definitely not contain less features unless
a specific feature caused very strange problems that cannot be solved.
- I suggest using the cvs for the people who are reading this list -
export CVSROOT=':pserver:anonymous cvs gcm sf net:/cvsroot/gcm'
cvs login
cvs -z3 co -P gcm-2 libgcmtest gcmapplet
More information
You can get more information about GNOME Clipboard Manager from its
website which is available here :
http://gcm.sf.net
http://gcm.sf.net/about_gcm.html
You can get screenshots from GNOME Clipboard Manager here :
http://gcm.sf.net/gcm_screens/
Yes, I now hate myself for sending such a large E-mail to very busy
people..
--
Philip van Hoof aka freax (http://www.freax.eu.org)
irc: irc.openprojects.net mailto:me at freax dot org
Go not to the Elves for counsel, for they will say both no and yes.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]