Last update: 17 April 2005
Some platforms (NetBSD, Ubuntu Linux, probably others too)
sometimes alter the Python version, appending letters, prefixing
minor numbers, etc., thus preventing the configuration script
from detecting it properly. If you know for sure
that what you have installed is at least 2.3.0, you can pass the
--with-python-force-detection
switch to
configure
; this will make the configuration script
skip the version detection.
ImportError: No module named adesklets
error
from the Python interpreter. What's happening?It means what is written: python
cannot find the adesklets
package; maybe it did not
get installed, or it did get installed in the wrong place.
--without-python-support
configuration
option.sed -n '/PYTHON_SITE_PKG/p' Makefile
is included in :
echo 'import sys; print sys.path' | python
If not, you can still manually move the
adesklets directory from PYTHON_SITE_PKG
to any
path displayed by this last command.
ADESKLETSError: adesklets process exited
error from the Python interpreter. What is this?On some rare systems (archlinux for instance), the
PATH
variable for the Python interpreter differs
from what is inherited from standard environment, which causes
the Python package to fail to launch adesklets as a child
process. On such systems, make sure to install adesklets using an appropriate
--prefix
switch at the configuration stage. For
instance, on most recent Linux platforms, you should use:
./configure --prefix=/usr
There is a built-in lock mechanism in the interpreter that
prevents a user from simultaneously running more than one desklet
with the same ID
and name, regardless of version.
Whenever you upgrade a given desklet, you should first cleanly
quit the desklet (by using Quit
from the context
menu), then install the updated desklet by following the
instructions provided in the README
file.
This is most probably related to the way you started the desklet (Please see Using adesklets.). You need to invoke the desklet script only once. Afterwards you just need to run the command:
adesklets
and it will remember where you placed your desklets and which desklets you had running.
Did you store the desklets under a $HOME/.adesklets directory? Please don't. adesklets need a $HOME/.adesklets file to store the various user settings on running desklets; setting up a directory of the same name prevents it from doing its job right, so just move your directory some place else ($HOME/.desklets, for instance).
Try the command:
python test/test.py
from the base source directory. If a 100x100 window appears, it most probably means you are using a window manager that draws a big window over the root window; your desklets are just drawn below it. Such window managers include Nautilus, KDE, Xfce4, CDE or E17. Right now, Nautilus, KDE and Xfce4 are handled automatically, but others are not.
All the necessary infrastructure is already in place. In most
cases, only the xwindow_get_root_window()
function
from src/xwindow.c has to be expanded
to detect new window managers. You can either submit a patch, or
ask for it on the adesklets
development mailing list .
New desklets are always started in the leftmost, upper corner of the screen, at the very bottom of the windows stack. Make sure you do not have some elements (gnomebar, engage, etc) already masking this zone of the screen. Beware! Some applications use pseudo-transparency, and can mask the root window seamlessly.
Go see the Fvwm faq: http://www.fvwm.org/documentation/faq/#5.11.
This BugOpts RaiseOverUnmanaged on
option was
reported to work for many Fvwm users.
For this to work–at least for all the demo
desklets–you need to have xterm installed, and the EDITOR
variable properly set in your environment, as it is customary in
UNIX. Please note this only launches a text editor in a terminal.
Editing the desklet's configuration file (usually config.txt from base desklet directory) has the
same effect.
No we do not, sorry. It is not that SVG is a bad format; in fact it is quite good. But it is also a vector-oriented one (and rather complex), while Imlib2, on which adesklets relies heavily, is completely raster-oriented, and using Imlib2 is the main reason for adesklets' simplicity, relatively good speed and low resource usage.
That said, there is no reason for you not using SVG's with desklets, since it is quite easy to convert images in SVG to high quality PNG's, using programs such as sodipodi , inkscape or xsvg . In a directory full of SVG's, on a GNU system you can use a command such as:
ls *.svg | sed 's/\(.*\).svg/-z --file=& --export-png=\1.png --export-width=128 --export-height=128/' | xargs --max-lines=1 sodipodi
to convert them all to 128x128 semi-transparent PNG's.
First, you need to have fontconfig support enabled in adesklets. See the config.log from the configuration phase to verify it. If you did not keep the log, you can also look at the dynamic libraries linked against the interpreter. On a system with GNU binutils, you can do something like:
ldd `which adesklets` | grep fontconfig
If you get output similar to:
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x45c75000)
it means everything is fine. Otherwise, you should recompile adesklets from source. From there, you can use the line:
echo 'list_font_path' | adesklets :
to see all the font directories that adesklets will into look
for TrueType fonts. Consult your fontconfig documentation to
learn how to change this (on up-to-date systems, man 5
fonts-conf
is a good starting point). Similarily:
echo 'list_fonts' | adesklets :
Will give you all the fonts that are currently found... Keep in mind when typing them that font names are case-sensitive.
Alternatively, if you just cannot get fontconfig to work, a
way to get around the problem would be to create symbolic links
to the fonts you want to use inside any absolute font paths
listed by the command echo 'list_font_path' ...
above.