Hi all !!

Update: emergency release : fix build failure & include latest swedish translation

For Chrismas, i expected a 0.3.2 release, but enhancments and API breakage are so important, i decided to make a major release. i codenamed this release « Is your app people-ready ? » in order to wink at Microsoft advertisments in the past month : « Are you people ready ? ». I really hate this ads which don’t expose product quality, but “feelings” and “concepts”. That’s manipulation. This release of Gnome Scan add nice smart behaviour that make it very suitable for daily use, both for basic and advanced users.


  • The scan dialog has been entirely review and is now very consistent with Gtk print dialog. The new dialog implements a mecanism to include extras widget inside the dialog instead of building an entire dialog using provided widgets. This add consistency between app using Gnome Scan, and reduce the amount of code in app/plugin.
  • Gnome Scan now implement a smart way of selecting area and rotation for you. Select the device, select the source, select the format and the page orientation. Gnome Scan will compute if the document will be rotated in order to fit the scanner, and centered if you use ADF.
  • Gnome Scan preview now allow you to resize only “custom size”. So if you choose A4 paper, you will just be able to move the area. Select back Custom size to adjust area again.
  • The preview area now shows a “document” icon in top left corner instead of a centered application icon, this is far more useful when you set the rotation, in order to know where is you document, even if you didn’t trigger preview acquisition.
  • Gnome Scan now handle X/Y resolution. Gnome Scan try determine wether the device allow dual resolution and allow you to unsync res.
  • Gimp plugin now allow you to choose layer name before scan. The acquisition dialog is now 4 times smaller !!
  • Updated translations. Many thanks to Philip Sadleder for deutsch translation, Gil Forcada for catalan translation and Daniel Nylander for swedish translation !


Under the hood

  • GnomeScanDialog has been highly reviewed. It now herit (again) from GtkDialog, like GtkPrintUnixDialog. GnomeScanDialog now use GtkNotebook in order to separate fields. This allow to have a tab completely dedicated to preview. In contrary to printing, scan preview is interactive : user can choose area and rotation, this is why i choose to use a tab instead of a separate window. The preview tab is shown only if user select “Flatbed” source.
  • The GnomeScanDialog implement a “front widget” mecanism that allow developer to add a custom widget in the General tab, below source and format selectors. There is not yet an API for adding/hiding custom tabs.
  • Introducing GnomeScanAreaSelector, a smart widget that allow user to choose document format and orientation. When a device is selected, the widget compute a list of available formats that fit the device geometry. The widget compute if the document needs to be rotated to fit the device geometry and setup the context in order to rotate back the document in the right orientation. This behaviour apply both with flatbed or adf source selected. GnomeScanAreaSelector use new Gtk+-2.10 GtkPaperSize API which use PWG standard for sizes and names.
  • Gnome Scan now store wether an area is user defined (custom) or not, this allow GnomeScanPreviewArea to hide resize handle if area is not user defined.
  • GnomeScanContext now handle dual resolution. However, i based the device dual resolution capability on SANE 2 standard. SANE backends may implement differently that for SANE 1. That’s one of the problem with SANE.
  • GnomeScanPreview and GnomeScanAdvancedPreview has been dropped. They were quite duplicated. now GnomeScanDialog provide a unique preview GUI.
  • GnomeScannerSelector has been dropped in favor of GnomeScanListStore which allow to feed both GtkTreeView (implemented) or GtkComboBox. GnomeScanDialog now use a GtkTreeView feeded with a GnomeScanListStore.
  • GnomeScanOptionWidget has also been dropped. This widget only added automaticcaly a field before a widget. This widget didn’t allow to keep fields aligned. Now let user use either a GtkTable or frame (like GnomeScanDialog).
  • Add a –disabled-gnome option in order to build flegita for xfce desktop target. (Patch from Olaf Leidinger).

How to help ?

  • Please test the smart behaviour. If your does not center document in ADF, if should review the process.
  • If you didn’t find useful stock paper size, please ask for adding it.
  • Please translate this major alpha release.
  • If your device handle dual resolution, please test wether Gnome Scan detect this capability.
  • Spread the word, ask for package in your distribution or package it !

About Gnome Scan and Gnome

I failed to follow Gnome 2.18 schedule. Mostly because i’m new to free software development, i do not yet manage my work as i want. I often let Gnome Scan hibernate during few weeks, and then develop it during on weeks and produce a release. I wish i’ll be able to spend this week just before tarball dues.
Also, Gnome Scan still have deep API changes. I wonder if i will modify the API to be more consistant with GtkPrint API, as far as possible.

Gnome SVN migration is soon to be completed. I wish to switch to a a gnome as possible hosting solution for SVN, FTP, translation, …


For next releases, i intend to implement a few features.

  • Select maximal possible area.
  • Auto select area.
  • Gamma correction.
  • Highlight/Shadow point
  • The return of GnomeScanOptionSet.
  • Device specific options tab in GnomeScanDialog.
  • Depth selection.
  • Colorspace selection.
  • Whatever you asked for …


Currently, SANE manage two task : probe and access. That’s a bad thing. SANE must let OS do the probe and ask it for access. SANE should provide a simple glue between various OSes and driver so that OSes can load driver on plug, monitor buttons, and trigger acquisition. I wish that SANE 2 will move toward this design or scanner in HAL will be a dream (or cost a fork which i really do not want). After 1.0 release, i plan to implement one or two driver for SANE (my father owns about 9 scanners at home from all-in-one printers to various pens), especially a nice business card reader. This will allow me to dive deeply into SANE, hoping to make constructive critic for SANE 2 design. Martin Owens is working hard on Scanner in HAL, wish that for this summer, Gnome Scan will use HAL.

Allan, a most active SANE devloper said that linux distro user often do not use HAL. I really think that’s a mistake. All major distro ship HAL, and tons of other ditros do that too. SANE can handle probe, but must allow OS integration. Mac OS X has nothing for scanners. Vista has a very nice scanner handling (espcially probe and detection), but drivers lakes or are unsusable, also Vista scan UI is a joke (not people ready !). Freedesktops has a huge opportunity to make the difference with proprietary OSes ; Droping “probe each launch” and adding hotplug+button support is a must-have feature to fulfill this goal, along with OCR.

Merry Chrismas and see you in 2007 !


Hi all,

I’m very happy to announce you the availibility of Gnome Scan 0.3.1. This version is what should have been Gnome Scan 0.3. A lot of bugs has been fixed. Translations are uptodate in french, deutsch and catalan. The data receiving process has been review in order to support Grey, RGB and three-pass acquisition (e.g. all red then all blue then all green data). I intend to support multiple depth in the future. Note that the final result will always be a GdkPixbuf with its limitations : 8bit per sample, RGB only, etc. But choosing lower depth or different colorspace allow to fasten acquisition, and more.

This version include a filled NEWS file for maintainers. Sadly, svn log wasn’t able to output all changelog, need to investigate more in order to get a good ChangeLog file.

Hi all,

I’m releasing 0.3 release of Gnome Scan. This release add a major feature in GnomeScan and Flegita : Mass acquisition. Now GnomeScan implement acquisition as a set of image. This mean that user/application has to manually stop the acquisition process. The acquisition process take advantage of ADF. In flegita, this is shown by the buttons “Stop” or “Next”. If the output format is PDF, flegita write all image in the same file, one page per image. For other image format, the behavior keep being the same.

The acquisition dialog has been a lot review and is now far more HIG compliant, text are more useful. I also fix a lot of bug, including the crazy value of the progress bar. I updated translation and documentation. I weren’t able to contact the deutsch translator, so only the french translation is updated.

Download at usual download page. I update screenshots and documentation at GnomeScan homepage.


Gnome Scan 0.2.4

October 11, 2006

Hi all,

I made a bugfix release 0.2.4. I fix bugs for epson, v4l devices and more. Please test it and report bugs at GnomeScan bugzilla . Download it at the usual GnomeScan download page .


0.2.1: ready for use !

August 26, 2006

Hello all,

I released the 0.2.1 version of GnomeScan which include fixes for area size bug (which was a far deep and larger bug) and the “always-busy-after-first-acquisition”. See more details at GnomeScan newspage at Gna!.

Download is also at Gna! project page : http://download.gna.org/gnomescan/ .

Next step is the dbus service. Which means a lot of documentation to read, test to write. This is a huge mutation of the project which make it very different from any other sane frontends. I’ll also have to see how to integrate with hal.


Hello all !

Tomorow begin the final project evaluation. This is one more reason to release the exciting version 0.2 of gnomescan !


  • Beware this is still an alpha release.
  • this version has been tested against gtk 2.10 and cairo 1.2 (cairo-pdf). I should reasonnabily work with gtk2.8, but cairo-pdf is required.
  • Please uninstall previous version, or old documentation will remain.
  • Please report bugs and patches at bersace03 at laposte dot net.
  • If you have any ideas for a rocking gnome scan experience, put them on the GnomeScan wiki !



  • Localisation finaly enter the game. I translated to french, this allow me to commente string and make string easy to translated (no splitted string, avoid pango tags, etc.).
  • A new widget allow to choose scan resolution.
  • First plugin implemented : flegita-gimp which allow to scan in new image and scan as layer ! The plugin set default scan resolution to the image resolution or default resolution. But allow to manually set resolution using the new resolution widget.
  • The overal UI has been review in order to have HIG and consistent margins. The save as popup dialog has been replaced by a widget in the main dialog that allow to choose action (only save is available, Sent and Print are planned) and choose the format between PNG, JPEG, TIFF and …. PDF !!! Thanks to cairo-pdf backend 🙂
  • The preview widget has be rewrite in order to improve performance. The selection is now nicer and far more faster to render. (Thanks to #cairo people). Scrolling with mouse wheel is now supporte, both vertical and horizontal direction. And the most wanted Rotation feature !
  • GnomeScanUI provide new and improves icons for buttons and devices. Thanks to the Tango/ArtLibre project. GnomeScan no longer use “xsane” icons … 🙂

Under the hood

  • A lot of usefull enums are now declared in the GType system using glib-mkenum (which makes me some headhaches in collaboration with autotools).
  • New widget: GnomeScanAdvancedPreview. Used in Gimp plugins. For now, it just draw rulers around preview area which show the size (in centimeters) and the cursor position. Would be nice if the widget tel the exact size of the area.
  • GnomeScanPreview and GnomeScanAdvancedPreview now use GtkToolBar to display buttons in order to follow desktop toolbar policy.
  • libgnomescanui provide the gnome_scan_ui_init() function which declare stock items GS_STOCK_SCAN, GS_STOCK_ROTATE_COUNTER_CLOCKWISE and GS_STOCK_ROTATE_CLOCKWISE and intialize i18n.
  • GnomeScanDialog has been slightly review and use now one GtkHButtonBox with secondary group instead of two GtkHButtonBox inside a GtkHBox.
  • GnomeScanPreviewArea now draw to a buffer when neeed and just output the buffer at expose. It also correctly handle motion hint in order to keep a decent sync between drawing operation and pointer motion.
  • GnomeScanBackend now handle slightly better errors (i.e. does not crash, just jump), still lake some real errors handling.
  • FlegitaActionWidget now handle GdkPixbuf grab and execute the user request on it. If a file exists, it is save to the Filename-%i.png needed. Image are scanned at screen resolution (using a Gdk call), choosing PDF outpur format select 300dpi (which seems to be far too much, i need advice about that). This is how flegita is intended to work : carry option setting without people to know their screen resolution or what means dpi (think that most of the world uses ISO centimeters).
  • pkg-config modules files are provided for libgnomescan (module gnomescan) and libgnomescanui (module gnomescanui).
  • Documentation has been review including GObject hierarchy, chapters and sections, Indexes, True Widget gallery (not only widget screenshot per page). I wrote a ulgy hack, flegita-shoot that take screenshot of widget using Gdk features.
  • I upgraded to edgy on my box which means gtk2.10 and cairo1.2. I don’t try with cairo1.0. I wish this will allow to create a nice print UI 🙂 Scanning an Printing together in Gnome … so nice !

Known bugs

  • On my Canon CanoScan N1220U (plusteck:libusb), the area selection isn’t efficient. Don’t know on other backend/devices.
  • With networked all-in-on printer Hewlett-Packard OfficeJet 7140xi, the devices keep at busy state after the first acquisition (i.e. preview acquisition) until the app is closed 🙁
  • Acquisition progress bar is completely dumb. Don’t trust it !
  • Don’t click the about dialog, it strill segfault !
  • And many more, i’m waiting for reports 🙂

If you have problem with scanning (like ugly pictures, crash, etc.), you can enable verbose output by editing a source file. Remove the #undef g_debug and #define g_debug(…) ((void) 0) lines in libgnomescan/gnomescanbackend.c . Yes that’s not so nice as a –verbose or –debug option, but.


The end of the holidays will surely reduce the rhythm of releases, but i’m very excited about developing and improve the stability of the project. I subscribe to various hosting service like sf.net, gna.org, launchpad.net and freashmeat.net. I also request for a SVN repo at gnome.org and a Gnome maintainer account.

Further development will be made first on GnomeScanBackend in order to get ride of those bugs with many devices. After that, here are functionnality i wish to implement (not in order) :

  • Fixed area (A4, A5, photo, US Letter, etc.)
  • Auto area selection.
  • Zoom.
  • X and Y resolution.
  • Multiple acquisition and multipage PDF output.
  • Sent by mail (with contact completion).
  • Print
  • Fax ?
  • Multiple area per scan.
  • Gamma, contrast
  • A dbus service that handle devices detection and sharing in order to get ride of the waiting dialog (are user waiting so much for printer detection ???).
  • A capplet to configure devices specific options and sharing.
  • Application provided about dialog.
  • AbiWord and gthumb plugins.
  • Split gnomescan (libgnomescan, libgnomscanui, dbus and capplet) and flegita (flegita-gimp, AbiWord and gthumb plugins).
  • And many more you would like to add to the wiki !

Even if that’s out of GnomeScan, i want to mention that I may write one or more backends for SANE. (since my father own almost 9 scanner devices and only 3 are supported). I have a Business card reader. Expect nice plugins for Evolution !

As a conclusion, I would like say i’m very very happy to contribute to Gnome and Free Software. Thanks to Google which allow me to get officially mentored by Gnome and to spend this summer coding for free developers and free users.

Enjoy ! 😀


After long work and deep rework, i’m please to announce the availability of GnomeScan-0.1 !

GnomeScan aim to provide scan to the Gnome infrastructure. The plateforme part of the project consists of two library : libgnomescan — which may be considered as libsane-glib — and libgnomescanui — a collection of widgets to write scan interfaces. The desktop part consists of a tiny app : flegita and more to come.

This release features a lot of changes in almost every part of the project, especially libgnomescan and libgnomescanui. The code has been entirely review in order to write documentation using gtk-doc tool. This lead to many changes in the naming schemes and coding style. The coding style is now much closer to gtk+ one. The code has been simplified in some part (e.g. using G_DEFINE_TYPE). The autotools files has been corrected so that make distcheck pass successfully.

What changed ?

  • libgnomescan:
    • GnomeScanBackend device probe has been deeply reviewed. API has been cleaned of loosy function such as gnome_scan_backend_compute_image_measure() and other. Use boxed type GnomeScanContextInfo to share context data instead of applying sane option (like “tl-x” and other). Work around some unfollowed SANE convention (never use string where an enum is possible).
    • GnomeScanner recevied the following properties:
      • “dimension”: the dimension of the device (in mm)
      • “resolution-range”: the range of available resolution on the device.
      • “sources”: an array of available source (Automatic document feeder, flatbed, etc.).
    • GnomeScanner:”device-type” is now an enum value which make it far more easy to use.
    • GnomeScanContext received new signals:
      • “preview-started”
      • “preview-terminated”
    • GnomeScanContext has been deeply review with GnomeScanBackend and GnomeScanner. rotation is appointing, but not yet implemented. The API has been cleaned. image-size, image-measure and other loose code has been dropped. More signals are to come since this allow GnomeScanContext to marshall all widgets of a scan UI.
    • GnomeScannerOptionSet has been drop.
    • Scan option (resolution, area, source, etc.) and device option (light, etc.) are now separated. gnome_scanner_get_options() now give only scanner options. Scan options are now handle only with GnomeScanContext.
    • gnomescanutils has been a lot completed. New types has been created. Glib enums are generated. Types used in GObjects properties are now registered in the Glib type system. Also a set of useful function has been implemented such as g_value_new_{int,boolean,double,string}(), g_enum_get_{name,nick}() and other.
    • The library is entirely documented.
  • libgnomescanui:
    • New widgets:
      • GnomeScanOptionWidget: a widget that make simple the creation of other option widget, showing a nice label, storing a GnomeScanContext and packing a child widget. That save a lot of codes :).
      • GnomeScanSourceSelector: a widget that allow to select a source if a device has several choices.
    • GnomeScannerSelector is now base on GnomeScanOptionWidget. Also the combo box now show an icon representing the device type. The overall look of this widget has been review so it take less place. See screenshots.
    • GnomeScanDialog now set it sensitivity according to GnomeScanContext “preview-started”, “preview-terminated”, “acquisition-started” and “acquisition-terminated”. One time it will also react on a “probe-started” and “probe-terminated” signal. That kill the bug of a partly insensitive window during preview acquisition.
    • GnomeScanPreviewArea now show an empty pictures of the size of the selected device (thanks to GnomeScanner:”dimension” property). The widget does not insensitive itself during preview acquisition.
    • The library has been entirely documented. That lead to a lot of code clean up. Most widgets has now a screenshot of it. Some widget screenshot are obsolete, but this is a details.
  • flegita:
    • Now use GnomeScanSourceSelector above the GnomeScannerSelector widget.
    • a new FlegitaActionWidget appeared in the code, but is still hidden and non functionnal. A preview screenshot is available. (Uncomment lines 113, 115 and 117-121 in order to show the widget).

What didn’t happen ?

  • The Gimp plugin: This is the next step before the end of the Summer of Code. I wish to publish it before the end of the month in GnomeScan 0.2. This plugin require a new widget : GnomeScanAdvancedPreview.
  • Rotation: This feature needed the deep review i made in libgnomescan. A bit of code has been written for that feature. This feature include another widget : GnomeScanRotationSelector based on GnomeScanOptionWidget. Also, all the infrastructure of the post acquisition image manipulation has to be designed. Since the review of the acquisition configuration design, this should be a lot simpler.
  • Preview zoom: Not for 0.2.
  • Mass acquisition: source selection is one step in the way to implement this feature. But a lot of work has to be done do design and implement this feature. GnomeScanAcquisitionDialog is to be deeply review for this feature. Not for 0.2.


I made myself the icons using the great Inkscape and trying to follow Tango guidelines. But I’m not satisfied with the icons. If anyone wants to contribute a bit and create an icon for each device type described in the libgnomescan reference manual, I’m open to any contribution :-).

Known bugs

  • Preview: the scan area selection is not efficient.
  • Preview: dimension of the preview seems buggy on certain devices.
  • Funky picture: raw data aren’t handle correctly. Currently, GnomeScanBackend just put raw data into a GdkPixbuf using gdk_pixbuf_new_from_data().


If you read this blog you may know i wheren’t motivated to dive back in the code. I want to thank my mento Vincent Untz that help me re-entering the game. Thanks all the people who help me on IRC, especially on #gnome-hackers (chpe, nud, hub, etc.) and on #gimp, etc. Thanks to all Gnome developers that help making great software in happyness. Thanks to Marc-André Lureau, GSmartMix developers with whom i had nice discussions and happy testings of the the wonderful Vista killer GSmartMix project !


Documentation, code review, 0.1 release. All that things make GnomeScan an ever more mature project. This release is kind of Request For Comments. Especially for the API of both libgnomescan and libgnomescanui. Sent me your comments. Add your ideas in at http://live.gnome.org/GnomeScanning/Ideas.

Hosting is a key point in order to get feedback and code. The bzr branch at http://bersace.ath.cx/bersace/flegita is far from accessible. I’m wondering wether to use sf.net, gna or launchpad. More important, i don’t know well if and when this project will be included in Gnome and then hosted in cvs.gnome.org. After using bzr, CVS looks really backward for me :|.

Next step is 0.2 realease which mainly include GnomeScanAdvancedPreview widget and Gimp plugin based on this widget. This will end the Summer of Code projet. Of course, i intend to continue the work as long as the project is useful. At the end of the Summer of Code, a lot of work has been done. But the overall project is still in an obvious alpha state. Key feature like rotation, save as pdf, mass acquisition are missing.


Update: A version has been released which use gnome crash report tool !

Hello all,

This week was a tremendous week. I implemented Preview. The preview is divided in two widget : an area widget and a widget encapsulating the area. This allow to implement Simple Preview and Advanced Preview. For flegita, i only implemented simple Preview widget. I drop the rulers since its quite useless for day to day scan. For simple preview, i prefer to implement auto selection and fixed selection. The preview area is drawn using cairo, of course 🙂

I fixed a lot of bugs and implemented a lot of tiny features and API call that make libgnomescan, libgnomescanui and flegita a lot better. This version has a bug in the translation between pixels and millimeter for the scan area.

This version is a prerelease as i go to holidays during 3 weeks. I’ll be back late july. Wish you’ll put ideas in http://live.gnome.org/GnomeScanning/Ideas 🙂

The 0.0.3 release will have a full preview implementation including rotation, fixed selection and maybe autoselection. The 0.0.4 release will have source handling, i.e. flatbed or automatic document feeder (ADF) with mass acquisition support. Then i will start plugins.

Many thanks to neo from #gimp and other for the great help they provide.

As of now, I dedicate the project in memoriam Mark Finlay, a lovely Gnome hacker and funny blogger that passed away late 2003. He did some work on GnomeScan that highly inspire me to do the Preview area.

Have nice holydays.

Update:Something very important imho, i use this software for real use :). I needed to scan sketches and was able to do it using Flegita in the Graphics menu, croping the image to the right size :D. This make me quite confident about the state of the program and this is why i let it rest during 3 week before wake it up late july.

Hello all,

I’m glad to announce the availability of GnomeScan version 0.0.2. You download it at the current releases page hosted at my homepage. See the screenshot page for a preview of flegita.

A few word about GnomeScan for new readers : GnomeScan is a Gnome xsane replacement for the Gnome desktop. The project provide libgnomescan : a glib-ish API for scanner access using SANE as backend ; libgnomescanui : a collection of widget that use libgnomescan API for scanner access ; and flegita, a tiny standalone app for quick scan.

What’s new in this version :

  • Acquisition is implemented. Not yet cancelable. All signals for acquisitions has been implemented : “acquisition-started”, “data-received”, “acquisition-terminated” and “image-received”. This allow a high coordination of Widgets
  • Flegita now connect to the signal “image-received” and just save to a file using a GtkFileChooserDialog. Flegita is close to what it will be. I’ll only add a GnomeScanPreview widget to the UI and flegita will be done. As Flegita is pretty near its final state, you can easily see the simplicity of the code : 99 lines including comments and blank line !
  • Option handling has been highly improved. Properties “title”, “desc”, “readonly” and “unit” has been added and implemented. Future options “range” and “enum” for constraint are declared. A new signal “changed” is trigger on value set. This signal will be propagate to GnomeScanner signal “option-changed”.
  • The GnomeScanContext object received a lot of improvement. A new property “image-size” allow UI to inform the user of the approximate end image size. GnomeScanContext has now a lot of signal to coordinate all the GnomeScan implementation. This Object just rocks !
  • UI receive good improvement. Window use “xsane” icon. The ScannerSelector now show “xsane” icon for each device. The final goal is to have a Flegita icon and a icon representing the type of the scanner. An important changes is that the GnomeScanDialog now receive the UI as parameters. This allow and force user to instanciate ScanWidget (like ScannerSelector, Preview, etc.) before the ScanDialog. That’s a better design in a general manner.
  • Probe is threaded, but thread is blocking so that’s not yet useful. I may investigate further in that domain later.

The future :

  • Implement GnomeScanPreview widget. Get inspired by Mark Finlay work (thanks Colin Marquardt)
  • Improve GnomeScannerOption. Implement option lookup and improve “changed” signals. etc.
  • Maybe provide a ComboBox to Flegita that allow to choose action : “Save to File”, “Print”, “Fax”, “e-mail”, etc.
  • Investigate global well know option in GnomeScanContext. (e.g. resolution, area, etc.).

Stay tuned.

The work on Gnome Scan API and UI is going on. I work on a quite well designed API and start building a GnomeScanDialog and a GnomeScannerSelector widgets. As a first step is done, I release gnomescan-0.0.1.

What is implemented :

  • Devices and Device’s option probe.
  • Device selector updated on “probe-done” signal. If you have only one device, the selector is hidden.
  • Device selection and “scanner-selected” signal.
  • Preliminary handle of “ok” response to trigger acquisition

GnomeScan already have a nice feature : you can choose dynamically a device without reprobe. GnomeScan use signals to propagate choices and actions.

You can see screenshot at http://bersace03.free.fr/pub/captures/gnome/flegita and download at http://bersace03.free.fr/pub/GNOME/Scan/Releases/.

Next step is basic acquisition using signals to inform both acquisition status and sent picture.