
KScannerButtons
Source (link to git-repo or to original if based on someone elses unmodified work):
- on touch copy
- email a scanned document
- run kooka
- scan & run the gimp (or krita)
It's composed of a daemon (sanebuttond), a frontend that will display an icon in the systray and a dialog box to configure and launch the daemon.
It is based on the button monitoring capabilities found in some SANE backends. The front-end is developped using Kommander.
It has been developped with the avision backend and an HP 5300C scanner.
From version 0.9.5, it has also been tested succesfully with the hp3900 and the plustek backends.
It may work with other backends also. Please report your experiences!
0.9.5:
Graphical interface
- added a button to refresh the list of scanners
- translated into spanish thanks to Jonathan Bravo Lopez
- translated into czech and brazilian portuguese thanks to Carlos Laué
Backends
- works also with hp3900 backend! (thanks to Jonathan Bravo Lopez)
- works also with the plustek backend! (thanks to Carlos Laué & Klaus Layer)
Command line
- add --help and --debug options to sane-nb-buttons. --debug will help at knowing the way the various backends handle the buttons.
- the test script path was not taken from the configuration. fixed. Improve this script.
- add information about using from the command line, debugging and testing new backends in README
- The daemon script is now located in ~/.kscannerbuttons
- Reworked the Makefile: "make install" now install the files in "standard" places. An icon is created in the K menu, under "Graphics" (/usr/share/applnk/Graphics/). "make kdeinstall" still exists.
- it was sometimes necessary to plug/unplug the scanner after stoping the daemon from the GUI. fixed.
0.9.4: Fixed the broken default actions created at first run. Note: if you need to reset the default actions, remove the section [/usr/local/bin/KScannerButtons.kmdr] (and entries below) in ~/.kde/share/config/kommanderrc with your favorite text editor.
Fixed the broken KScannerButtons.desktop launcher.
0.9.3: Some more bug fixes (test mode was no more working since 0.9.2). Enhancement of the test buttons script.
0.9.2: Finished the replacement of obsoleted Kommander APIs.
When run using ksystraycmd, there was a bug in the generated script. nothing happened when pressing a button. fixed.
Add a --script-arg command line switch to the daemon sanebuttond in order to pass additional arguments to the script. This is used by KScannerButtons to pass its dcop id. Better default sanebuttonsd.sh script
0.9.1: Little bug fix for those who had a more recent version of KDE than mine (replaced obsoleted APIs: addListItem(s) replaced by insertItem(s)). Also, the default 'one-touch copy' action was not actually printing, but saving into a postscript file. This has been fixed.
Ratings & Comments
30 Comments
i installed with only added the gettext pakcage because i had the message "msgfmt commande not found" in installation, probably seems doesn't support my scanner brother dcp-130c. How can i uninstall it ?
Are there any current plans about integrating this into Kooka? It's a great app, but it would be nice if it was integrated into Kooka by default!
Hi I won't integrate it myself as I don't have the time, but you can use kooka in the configuration in order to scan with kooka when you press a button. bye
The program runs, docks into the system tray, etc, but fails to detect that scanner buttons have been pressed. Mine is KScannerButtons 0.9.4 I have a Canoscan LiDE 25. It works fine with xsane. The `About' says: This program allows your computer to manage the buttons present on most of scanners (when the buttons are recognised by your SANE backend) How do I know that the buttons are recognised by my SANE backend?
I found that /usr/local/bin/sanebuttonsd does recognise button presses. When called with a script (--script tmp/echoArgs.sh, my own simple script to echo it command line), it passes the argument '-button' but nothing more. I edited ~/bin/sanebuttonsd.sh to introduce the case: *) dcop $DCOPID KommanderIf "setText(QString,QString)" sb "Default action: Running one-touch xsane... Close application before pressing another button." xsane $SANE_DEFAULT_DEVICE dcop $DCOPID KommanderIf "setText(QString,QString)" sb "done. Scanner is ready." ;; Now xsane starts when any of the buttons is pressed. How do I get it to identify the particular button that was pressed? Also, I do not get to see any of the messages that should possibly be shown, such as: "Default action: Running one-touch xsane... Close application before pressing another button." or "done. Scanner is ready."
Hi I think the newly published version may solve your problems. If I'm not wrong, your scanner uses the plustek backend, which works now (as said one of my users). If you still have problems, please read the README file, where I explain how to test the buttons with the --debug command line option. bye
Anyway you gave me the idea to add a default action to the script. Thanks!
how do i uninstall ? and, are there actually any sane-devel packages, or do you mean the "sane" backend package as devel package for manual compilation, also, "make" doesn't work at all: make: Für das Ziel »all« ist nichts zu tun. why aren't there any rpm-packages for easily install/uninstall, at least src-rpms. sane-devel packge doesn't exist for current "sane-1.0.18-34" at all. any way to compile kscannerbuttons for KDE 3.5.6 on OpenSUSE 10.2 AMD 64bit ??? :(
compile success: sane-devel doesn't exists. you need sane (backend). i also need to install "libgphoto2-devel" and before running make, you have to run "make clean" to remove the precompiled INTEL binaries. if any other error message is shown, try to find out the missing devel-packages. ah, i also installed "kommander", although i already had got kommander-runtime installed.
Hi * the sane development package name depends on your distribution. On Mandriva it's called sane-devel (and probably on some other rpm based distros, but not OpenSuse I see). * there is currently no "uninstall" target in the Makefile -> todolist * why do you need libgphoto2-devel? * kommander-runtime must be sufficient. For the rpm/deb/other package, I had no time to build iot (at least rpm because I use a rpm distro), but I also put it in the todolist (though I've very little time at the moment) Thank you for the compilation instructions ;)
Here's what I get when I launch KScannerButtons from a terminal: kmdr-executor --icon scanner /usr/local/bin/KScannerButtons.kmdr: No such file or directory Yet the file KScannerButtons.kmdr IS there !! And I have Kommander editor installed. Using kde-3.5.4, OpenSuSE-10.1 and qt3-3.3.6-167
Also, I have kmdr-executor installed as part of kdewebdev-3.5.4. So why is this error message appearing ??
Not many solutions: or /usr/local/bin/KScannerButtons.kmdr does not exist (did you read the INSTALL and followed the instructions?) or you made a typo while typing the file name. What's happening when you click on the installed shortcut? I recall that you must unpack the archive in a temporary directory, and type, as your user (not root) : "make kdeinstall". This will copy files where needed, and create a shortcut on your desktop.
Yes, I followed the instructions precisely. I launched it in a terminal. Yesterday, after seeing a few warning messages I cleaned up some mis-configurations in kde. Now when I launch this app in a terminal I get the configuration wizard. However, it seems my scanner doesn't want to cooperate. The buttons do nothing. This is a UMAX Astra 2200. It does work with with kooka and xsane however. Perhaps a future version of xsane or perhaps KScannerButtons will solve this. Oh well... ;-(
I resolved the problem by removing the quotes. I also needed to create a sym link to use 'sanebuttonsd.sh'. But my scanner (Agfa SnapScan e25) is not supported, the 3 buttons don't seem to be detected... :-( Any solution or future upgrade ? Nevertheless, thanks for your job !
I just downloaded 0.9.2, but the problems are still there: Unknown widget function: 'clearList'. ->at startup Unknown widget function: 'enableWidget'. ->when selecting scanner My system is SUSE10.1, KDE3.5.4 and QT3.3.6
this is not possible because these functions are no more in the source code (see KScannerButtons.kmdr). Did you install it with "make kdeinstall" under your user (not root)?
Strange behaviour. I did run kscannerbuttons directly from its directory, without installing it and configured where to find the required programs and scripts. This resulted in the mentioned error messages. Now I copied the programs and scripts to ~/bin/, no more error messages.
now the program finds my scanner, but there are still the fellow errors: Error in widget KSCannerButtons: Unknown widget function: 'clearList'. Error in widget scrScannerSelected: Unknown widget function: 'enableWidget'. I have the same problem with Kubuntu 6.10 and KDE 3.5.4
ok this should be ok now. Sorry for the "bugs" but Kommander removed some APIs and it's not written anywhere... Please report if it works, and if yes, the brand and model of the scanner and the sane backend.
now the program finds my scanner, but there are still the fellow errors: Error in widget KSCannerButtons: Unknown widget function: 'clearList'. Error in widget scrScannerSelected: Unknown widget function: 'enableWidget'. I can't select any scannerbuttons, but sane-nb-buttons finds all 4 at HP 5300c
Unknown widget function: 'addListItems'. gentoo 2006.0 kde 3.5.4. ????
Same problem with SUSE10.1, KDE3.5.4
I also get this error in Kubuntu 6.06 KDE 3.5.4
I don't get this error. SuSE 10.1,KDE 3.5.4 Maybe a Qt upgrade is needed? Mine is 3.3.6 Anyway it "works", but nothing to do with my scanner. Brother DCP 7025. It doesn't really have "buttons", but an on-screen menu that allows several actions, like to mail, to image and so on. Should it work somehow? OTOH, I get applet errors, like when clicking on Query # of buttons, or on Test buttons. Both say: "Unknown function group: 'Message'."