By syfou (Core Developer
& Desklet Author), on Sat Feb 26 13:29:50 2005: yab.
yab (Yet Another Bar) issues are discusssed here.
By slag (User), on Mon Feb
28 20:24:51 2005, last edited on Mon Feb 28 20:32:55 2005:
Configuring YAB.
Hi,
Well I have to say that YAB is quite impressive
looking!
I am having difficulty configuring it, however - that is, I
can't change it at all. I have modified config.txt in the
directory where yab is installed, changed all sorts of
things, and still yab loads the default settings every time.
I don't know what I'm doing wrong!
Any ideas? I wonder where yab is loading the settings from,
if not from the config.txt file? I can see that it is changed
simply by opening the file and noting the differences.
[SOLUTION]
I had to delete ~/.adesklets in order for the new config
files to load. It seems that yab.py was appending the
settings from the last execution to the end of config.txt and
using these instead of the settings I had already written to
the file.
Weird.
By slag (User), on Mon Feb
28 20:29:46 2005.
For modifying the placement or the configuration, it seems
that all my problems were solved by simply right-clicking and
using the "Configure" or "Move" options. I wish I would have
seen those sooner!
By syfou (Core Developer
& Desklet Author), on Tue Mar 1 00:24:52 2005: Re:
Configuring YAB.
Hi,
I had to delete ~/.adesklets in order for the new config
files to load. It seems that yab.py was appending the
settings from the last execution to the end of config.txt
and using these instead of the settings I had already
written to the file.
When yab (or any other desklet, for that matter) does this,
it means there is already another instance running somewhere.
From your previous post, I suspect you have problems with the
way you start desklets. Please make sure you read carefully
the
Using adesklets chapter of the doc, as well as the
FAQ.
Anyway, simply running:
from a pseudo terminal at any time would have had the same
effet than manually altering
$HOME/.adesklets.
ll my problems were solved by simply right-clicking
and using the "Configure" or "Move" options.
- For
moving a desklet, you are right.
- For
configuring a desklet, there is no difference
whatsoever between using the context (right-click) menu, or
editing the config file by hand. All the menu does is to
launch an editor inside an xterm.
Regards,
By nucular (User), on Tue
Mar 1 10:31:38 2005.
Feature request:
Always on top -option for yab would be great.
---
I like this alot!! 8)
By syfou (Core Developer
& Desklet Author), on Tue Mar 1 12:33:12 2005.
This will not happen soon, I am affraid, as it is not
possible for now: setting such an option would breaks
adesklet clean separation between what a desklet can do, and
what the user can always interactively choose, using the
context menu.
- The
desklet can basically do all it want with the
content of its window and the events it catches.
The user cannot change this, unless by
telling the desklet to do it for him from a configuration
file.
- The
user can set the desklet screen and position, as
well as the number of running instances.The desklet cannot change this, only rely on the
user to do it interactively.
This doesn't mean an 'always on top' option is out of the
question, but it would never be implemented as a
configuration option for
yab,
but as a generic user option. And technically, it involves
two additional challenges:
- Unmanaged (Override Redirect, in X Window lingo)
windows are used for drawing by adesklets. It is a clear
violation of X
Window's ICCC (Inter-Client Communications Conventions)
for such long running applications as desklets, but it's
the safest way to ensure the interpreter works with the
widest number of Windows Managers - by ignoring them.
:wink: For keeping a window at the bottom of the stack,
that's not a issue, since most WM (I know only one
exception: fvwm). never push their windows there... Doing
it once at the initialisation of a desklet window is
enough. Obviously, such a strategy will not work for
keeping a window on top. Good practices (see the ICCC)
impose us to rely on windows managers for doing this, and
therefore include the code for undecorated, managed window
in adesklets. Of course, relying on the window manager will
make the user having to do significantly more configuration
work on a per-desklet basis to ensure It gets the proper
window focus behavior and position in the stack - some
windows managers can do this, some do not.
- adesklets' transparency is
only simple pseudo-transparency. Basically, it only grabs
its screen's root window content below it whenever it
changes. It is both simple and fast. When you want to have
a window on top, you need to rely on other mecanism to set
up transparency and use it, as they are potentially many
changing window below it. XComposite
and XDamage
extensions from freedesktop.org are the presumably correct
way to do this. Those X Extentions are nice, but not
broadly used, and not very well supported in hardware
(Basically, I do not thing GLX hardware acceleration works
reliably with it on anything but NVidia drivers), and quite
CPU intensive for now, thus presumably not usable by a
large audience.
This said, I am interested having an optionnal support for
real XComposite/XRender/XDamage window transparency in
adesklets (It's not very fast now, but it's probaly the way
of the future - and it's a lot cleaner from a programmatic
point of view) so I will presumably work on it in the
upcoming months. Development always take time... :)
By stonecrest (User), on
Tue Mar 1 19:49:10 2005.
I love yab a lot.. nice lightweight eye candy 8) I do have a
few suggestions or constructive criticism though, take it for
what you will.
1. It's a little jumpy (i.e. not so smooth). I think this
stems from two reasons. First, it only registers mouse
movement in the horizontal direction.. so if you move your
mouse vertically over an icon, it jumps from normal size to
large. It'd be nice to base it on 2 directions. Secondly,
your current mouse position only affects the current icon
you're hovering off. If you compare this with the gdesklet
starterbar or the mac dock, as you move away from an icon and
it starts shrinking, the neighboring icon starts getting
larger such that the rest of the icons stay in place.
2. I know I mentioned this to you by email but I lost your
response.. and I figure others are bound to ask. Any chance
of getting support for other images (like svg) in addition to
xpm?
I'm not really a programmer so maybe these aren't trivial but
they are just my observations on the desklet. You asked ;)
I'll definitely be using yab regardless though, mmm.
By stonecrest (User), on
Tue Mar 1 19:50:24 2005.
Oops, forgot one other thing.. clicking on "configure"
doesn't do anything for me. The rest of the options, like
"move" do work fine..
By syfou (Core Developer
& Desklet Author), on Tue Mar 1 20:42:12 2005, last
edited on Wed Mar 2 05:03:56 2005.
It's a little jumpy (i.e. not so smooth). I think this
stems from two reasons. First, it only registers mouse
movement in the horizontal direction.. so if you move your
mouse vertically over an icon, it jumps from normal size to
large. It'd be nice to base it on 2 directions.
Well, that's true... In fact, it mainly shows with people
using especially small icons on especially fast machines as
you easily get in/out of the bar space then without getting
'delayed' events. What you are suggesting is not difficult at
all to implement on current code. Someone only has to exend
the
_get_active_and_scaling
method to renormalize scaling using the y coordinate, that's
all. I dutily note this, and I will eventually incorporate it
myself in the future... I just do not know when.
Secondly, your current mouse position only affects
the current icon you're hovering off. If you compare this
with the gdesklet starterbar or the mac dock, as you move
away from an icon and it starts shrinking, the neighboring
icon starts getting larger such that the rest of the icons
stay in place.
Are you saying this launch bar is not entirely original? :-D
No, seriously, what you see is the exact behavior I wanted.
And you cannot call this non smooth, since the icon resizes
vary linearly without any discontinuities from walking from
one end of the bar to the other (Ok,mathematically it is only
smooth from a closure on the integer domain, since we use
pixels-sized displacements - but that's exactly what the
differencial definition of D(1) curves is in Z) The main
advantage over the OS-X bar style effect is that it can be
better optimized at rasterisation time, since all 'inactive
icons' can be put in place in a single copy - this way the
effect is usable even on a 5 years old machine.
This said, there is no reason we couldn't have two different
icons drawing algorithms. I'll be waiting for your code
people. :-)
I know I mentioned this to you by email but I lost
your response.. and I figure others are bound to ask. Any
chance of getting support for other images (like svg) in
addition to xpm?
I am affraid svg support will not be included any time soon -
adesklets is strongly coupled to Imlib2 (this is why I could
keep things relatively small and fast), and Imlib2 is really
raster oriented: supporting svg would need a significant
recoding effort. This said, there is no reason for you not
using them, since it is quite easy to convert icon sets in
svg to high quality png ones, using programs such as
sodipodi or
inkscape. From a directory
full of svg, 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. Besides,
you are only limited to what raster format your Imlib2
support through its loader : jpeg, png, xpm... This is not
that bad...
Oops, forgot one other thing.. clicking on "configure"
doesn't do anything for me. The rest of the options, like
"move" do work fine..
Look at the
FAQ.
By stonecrest (User), on
Wed Mar 2 00:49:58 2005.
Well, that's true... In fact, it mainly shows with
people using especially small icons on especially fast
machines as you easily get in/out of the bar space then
without getting 'delayed' events. What you are suggesting
is not difficult at all to implement on current code.
Someone only has to exend the _get_active_and_scaling method to
renormalize scaling using the y coordinate, that's all. I
dutily note this, and I will eventually incorporate it
myself in the future... I just do not know when.
It doesn't sound too difficult, maybe I'll have to see what I
can do. I've never done a single thing with python but it's a
lot easier to hack existing code than write your own..
;)
I am affraid svg support will not be included any
time soon - adesklets is strongly coupled to Imlib2 (this
is why I could keep things relatively small and fast), and
Imlib2 is really raster oriented: supporting svg would need
a significant recoding effort. This said, there is no
reason for you not using them, since it is quite easy to
convert icon sets in svg to high quality png ones, using
programs such as
sodipodi or
inkscape. From a directory
full of svg, 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.
Besides, you are only limited to what raster format your
Imlib2 support through its loader : jpeg, png, xpm... This
is not that bad...
Thanks, that script
worked
perfectly! mmm etiquette icons.. If i had known it's that
easy to convert svg icons, I wouldn't have requested
it.
I swear that question wasn't in the FAQ back when I read it a
while ago.. :oops:
And actually, one other thing that just came to mind.. again,
these are all feature requests that will only make me like
yab even more hehe, it's still great without them. But it'd
be nice if there was a config option for "vertical
displacement" or something. Right now the icons get larger
centered around their midpoint. But I'd personally prefer to
have them grow only in the positive y direction, so that I
can dock them closer to the bottom of the screen. Hopefully
that made sense..
By syfou (Core Developer
& Desklet Author), on Wed Mar 2 04:51:00 2005.
It doesn't sound too difficult, maybe I'll have to see what
I can do. I've never done a single thing with python but
it's a lot easier to hack existing code than write your
own..
Well, I am teared apart here... Should I spend a few minutes
implementing this, or should I let you do it by yourself?
:-k. Here is the compromise - I made a
patch.
This way, you can just look at it an easily track the few
modifications made, and probably still learn a bit about
using adesklets from Python.
If i had known it's that easy to convert svg icons, I
wouldn't have requested it.
Well, I should probably say a word of two about it somewhere
in the documentation...Probably the FAQ, as it can be a
concern with many different desklets.
But it'd be nice if there was a config option for
"vertical displacement" or something. Right now the icons
get larger centered around their midpoint. But I'd
personally prefer to have them grow only in the positive y
direction, so that I can dock them closer to the bottom of
the screen. Hopefully that made sense..
Yes, I understand what you want. Basically it is even
simplier to fullfill than your first request... This is why I
hope you will do it yourself. :-D Since I feel especially
nice tonight (LOL), I'll give you a big hint. From your
patched yab 0.0.2:
506 x=(self.config['icon_spacing']+
507 (self.config['icon_max_width']-self.config['icon_min_width'])/2 +
508 (self.config['icon_spacing']+self.config['icon_min_width'])*rank)
509 y=(self.config['icon_max_height']-self.config['icon_min_height'])/2 # <<< !!!
Can I make it more obious? :-) Of course, you'll still need a
few other changes to make it right, but the core change lies
right there. I am waiting for your patch. If you decide to do
it, please make the change parametrable and orthogonal to all
other parameters... Whenever I'll receive it, it will be my
pleasure to give your name as a contributor and incorporate
it in the 'official' next release of yab. Have fun!
By slag (User), on Thu Mar
3 18:24:24 2005: Minor bug report for yab-0.0.2.
Just a minor bug: the last item on the yab does not display
the title consistently with the preceeding items. That is,
the last object on the bar displays the title always close to
the right-center, while the other items display the title
directly above the object itself.
Nothing serious, but a minor irritation that is presumably an
easy fix.
By syfou (Core Developer
& Desklet Author), on Thu Mar 3 18:29:06 2005.
That's not a bug, I wrote it this way (boundary control in
the code). I did not want the bar to be artificially long
just because of caption lenght, so the desklet always check
if a caption is not entirely enclosd within the bar space. If
it not, it does it best to rectify things.
By geoSlack (User), on Mon
Mar 28 14:47:24 2005.
Hi all,
Lemme start by saying that adesklets is a wonderful project -
allows a little bit of functional glitz in fluxbox without
slowing things down... Unfortunately I'm not a programmer so
I can't contribute any desklets of my own :(
I'm not sure if this is a bug or a feature, but yab starts by
default with the caption under the icon second from the left
visible until the bar is rolled over with the mouse pointer.
I've looked through the config.txt file and can't find
anything to switch off to get rid of this behavior. A really
minor issue perhaps, but I like to start with a clean
look....
geoSlack
By TimSchutte (Fearless
Moderator), on Mon Mar 28 15:42:25 2005.
Hi all,
t sure if this is a bug or a feature, but yab starts by
default with the caption under the icon second from the
left visible until the bar is rolled over with the mouse
pointer. I've looked through the config.txt file and can't
find anything to switch off to get rid of this behavior. A
really minor issue perhaps, but I like to start with a
clean look....
geoSlack
Hi geoSlack,
I had some problems with the caption bar in yab as well. Make
sure you have the --very latest-- version of imlib2
available. My Mandrake 10.1 install had an older version that
made the caption bar very ugly.
Good Luck!
Tim
By geoSlack (User), on Mon
Mar 28 16:15:16 2005.
Tim,
Thanks for the suggestion. I took your advice and upgraded
imlib2 to the latest release 1.2 from the 1.1 on my system
and the problem persists. It looks great, very clean
graphics, it's just that on loading the caption appears below
one particular icon. Perhaps it has to do with the
interaction of the modubar with fluxbox?
-geoSlack
By TimSchutte (Fearless
Moderator), on Mon Mar 28 19:01:52 2005.
Tim,
Perhaps it has to do with the interaction of the modubar
with fluxbox?
-geoSlack
Possibly. . .Maybe the programmer who wrote modubar could
answer?
Tim
By syfou (Core Developer
& Desklet Author), on Tue Apr 5 14:23:16 2005.
I'm not sure if this is a bug or a feature, but yab starts
by default with the caption under the icon second from the
left visible until the bar is rolled over with the mouse
pointer. I've looked through the config.txt file and can't
find anything to switch off to get rid of this behavior. A
really minor issue perhaps, but I like to start with a
clean look....
Sorry for the delay answering you: I have been away for a
couple of days, and I missed your message when I got back...
:oops:
What you describe would definitively qualify as a bug, but I
do not think this is yab misbehaving, since the
only event that can trigger a caption draw is
when the pointer is detected over the appropriate icon.
Hence, for your second icon to be captionned on startup, the
pointer needs to have been detected over it at some point
since the desklet was launched. You have two way around this:
- Change the desklet placement
until this disappear.
- Use something like xte from
xautomation
to change the pointer position before launching adesklets
on a new X session. For instance, to force the pointer at
100 pixels away from the topmost, leftmost corner of your
default screen in both directions, you would
use:
I am myself a fluxbox user, and I never experienced this...
Let me know if this didn't help, and will will try to work
something out. Regards,
By geoSlack (User), on Tue
Apr 5 21:11:28 2005.
Thanks for the reply. No worries about the delay :)
I kind of figured that the behavior I described was the
result of a detected mouse pointer, so I did try moving the
yab bar round and restarting adesklets (and X). But I am not
sure that that's it. First there is no part of the screen
where it doesn't happen. And then even if I am in an x
session and move the bar and then reload adesklets (I have a
convenient button on the yab bar itself...) by running
"adesklets" and move the mouse to another part of the screen
before it loads again it's always the same thing - the second
icon has its caption appear below. (BTW the button I click to
reload is all the way on the other side). Very odd. I can try
playing around with xte, and let you know what
happens....
-geoSlack
By syfou (Core Developer
& Desklet Author), on Tue Apr 5 21:25:05 2005.
What you describe is strange indeed, and I just do not
understand how it can occurs...yet. From what you said, I
doubt xautomation will help. Does this happen also with the
default configuration (I guess it does, but just stop every
desklets, and move away your config.txt)? The problem is I have no
idea how to reproduce it, and it's hard to fix something you
cannot diagnose.. Does anyone else than geoSlack experienced this?
By darkliquid (Desklet
Author), on Wed Apr 6 07:22:12 2005.
I don't experience the same problem, but occasionally the yab
desklet just freezes and stops respondin to mouse movement or
mouse clicks, though the right-click menu still works fine.
It seems to happen entirely at random.
By geoSlack (User), on Wed
Apr 6 11:54:05 2005.
syfou,
In response to your question above: it does happen when I
revert to the default configuration.
-geoSlack
By syfou (Core Developer
& Desklet Author), on Wed Apr 6 16:10:55 2005.
Occasionally the yab desklet just freezes and stops
respondin to mouse movement or mouse clicks, though the
right-click menu still works fine. It seems to happen
entirely at random.
That's weird. I never experienced this, honest. From what you
describe, it probably means the driving python process
terminated for some unspecified reason... When this
happen,
you can check this by looking at the content of the
appriorpiate lock file:
cat /tmp/adesklets_uid${UID}_yab.py_*.lock | cut -d' ' -f2
This will give you all the pids of the python interpreter
that should be running for all the yab bars your are
using.
If it is the case, what would be useful to me is to fire a
yab bar in the foreground from a console, wait for a freeze
to occur, and send me the exception trace you get...
By geoSlack (User), on Wed
Apr 6 16:11:15 2005.
syfou,
:oops:
I just realized that I've been having issues not with yab,
but with modubar and that they are different. What a fool I
feel like :oops:
yab itself does not have the issue of the title appearing. Is
modubar, then based on the code of yab?? - they look so
similar.
sorry for the confusion
-geoSlack
By syfou (Core Developer
& Desklet Author), on Wed Apr 6 16:20:52 2005.
Hi,
yes, modubar is based on yab... I just downloaded the
official release, and I saw the problem instantly... I guess
I was running a slightly different version. Go to the modubar
topic for a fix, I will post it right away.
By darkliquid (Desklet
Author), on Thu Apr 7 12:53:53 2005.
In this case, yab didn't freeze, I just looked up one moment
and it was gone:
sh: /usr/sbin/lpc: No such file or directory
sh: lpc: command not found
sh: lpstat: command not found
Traceback (most recent call last):
File "./yab.py", line 598, in ?
Events(dirname(__file__)).pause()
File "./yab.py", line 399, in pause
self._display_caption()
File "./yab.py", line 499, in _display_caption
adesklets.play(*self._fadein)
File "/usr/lib/python2.4/site-packages/adesklets/commands.py", line 184, in play
return comm.out()
File "/usr/lib/python2.4/site-packages/adesklets/commands_handler.py", line 93, in out
output=self.__comm.out(.01)
File "/usr/lib/python2.4/site-packages/adesklets/communicator.py", line 87, in out
rd, wr, ex = select.select([self.__stdout],[],[],delay)
select.error: (4, 'Interrupted system call')
I have no idea where that lpc or lpstat are coming from
because I have never used those commands and I'm pretty sure
they aren't installed. I'm also pretty sure that none of the
apps that yab loads use those programs either
By syfou (Core Developer
& Desklet Author), on Thu Apr 7 15:09:03 2005.
Well, I do not see why yab would ever want to use the printer
in the first place... I never saw this either... Would you
have a strace of that? Send it to me by email...
By darkliquid (Desklet
Author), on Thu Apr 7 19:01:13 2005.
you'll have to describe to be exactly what that is and how to
do it I'm afraid :oops:
By syfou (Core Developer
& Desklet Author), on Fri Apr 8 09:35:48 2005.
Sorry...
strace is an
invaluable tool when it comes to low-level non-invasive debug
on linux... It is very useful too when you need to find out
what any program do (files opened, ressources accessed,
etc.), especially when you do not have access to the source,
or that a bug you cannot reproduce yourself happen on a
third-party system (like in this case).
Here, what I would like is the
log file generated by:
strace -olog python yab.py
when the crash occurs.
By <?)))><
(User), on Tue Apr 26 13:09:18 2005.
Is there any possibility to configure yab that it will be in
vertical and not horizontal direction? Thank you.
By syfou (Core Developer
& Desklet Author), on Tue Apr 26 13:14:10 2005.
Is there any possibility to configure yab that it
will be in vertical and not horizontal direction?
I am affraid not. I would be fairly doable though, but I
crueally lack time. :(
By syfou (Core Developer
& Desklet Author), on Wed Apr 27 14:15:16 2005.
Copied verbatim
from an original post by Rizzi:
hi...
i new in adesklets and i try to use yab iconbar..
5 bars works fine...
but 1 don't start...
if i try 2 same icons.. like :
'icons': [('network.png', 'Gateway', 'ssh 123.123.123.123'),
('network.png', 'CoLinux', 'ssh 123.123.123.124')]}
the yab bar don't start
if i change one of the icons to another.. then the bar
starts...
has someone an solution for this ?
mfg Rizzi
By syfou (Core Developer
& Desklet Author), on Wed Apr 27 14:24:16 2005.
I clumsily did not think about that: it is due to me using
the image name as a key in a dictionary in the process... A
quick fix would be to just create a symbolic link, in
bash:
Then use something like, in your configuration file:
'icons': [('network.png', 'Gateway', 'xterm -e ssh 123.123.123.123'),
('network2.png', 'CoLinux', 'xterm -e ssh 123.123.123.124')]}
Regards,
By Rizzi (User), on Wed
Apr 27 14:45:45 2005.
hmm...
simple :)
greets Rizzi
By cRoMo (User), on Thu
Jun 16 09:22:07 2005.
Bug report:
If the description (caption text) of the last icon displayed
(i.e. the first from the right) consists of more than one
word, caption when mouse overing this icon is displayed not
above the icon, but above the middle of the yab bar. Problem
appears in modubar as well.
By syfou (Core Developer
& Desklet Author), on Thu Jun 16 12:38:38 2005.
Just read the thread, cRoMo. This
has already been mentionned before, and this is not a bug.
By cRoMo (User), on Fri
Jun 17 09:33:42 2005.
Yes, indeed, sorry for that :oops:
Regarding to problems with yab hanging I wrote about in other
subject, here's a strace from console from where I run yab.py
script. Some xplanation before: I was multiply clicking one
icon at short intervals. After 10 to 15 of such clicks yab
hangs in two ways: it either freeze and still remain in
processes list or it dies with and error. Here's the strace
of the latter situation:
cromo@kromka:~/.desklets/yab-0.0.2$ ./yab.py
Traceback (most recent call last):
File "./yab.py", line 598, in ?
Events(dirname(__file__)).pause()
File "./yab.py", line 413, in pause
(time()-time_initial)),.01))
File "/usr/lib/python2.4/site-packages/adesklets/events_handler.py", line 214, in _fire_event
[x for x in
File "./yab.py", line 384, in leave_notify
self._display_icons()
File "./yab.py", line 449, in _display_icons
adesklets.context_set_image(0)
File "/usr/lib/python2.4/site-packages/adesklets/commands.py", line 374, in context_set_image
return comm.out()
File "/usr/lib/python2.4/site-packages/adesklets/commands_handler.py", line 93, in out
output=self.__comm.out(.01)
File "/usr/lib/python2.4/site-packages/adesklets/communicator.py", line 87, in out
rd, wr, ex = select.select([self.__stdout],[],[],delay)
select.error: (4, 'Interrupted system call')
cromo@kromka:~/.desklets/yab-0.0.2$
I'll keep on trying to call out the "freezing" way of yab
hanging.
EDIT: I noticed that after the situation described above
happens, running yab.py script again makes it to use standard
(default) configuration instad of my own and of course it
appends this config in config.txt file. Quiting desklet and
running it again doesn't help, nor deleting added entries
from config.txt. Only invoking adesklets command makes it to
use my config again.
EDIT2: I tried to find the best way to reproduce this bug. My
thoughts:
although Opera is running very fast here, multiple clicking
in its windows doesn't reproduce this bug. This bug hardly
occurs when clicking on all icons except "urxvtc" at all. It
works almost everytime I click on the last mentioned for 6
times ver fast.
By syfou (Core Developer
& Desklet Author), on Fri Jun 17 11:28:14 2005.
Thanks for the report, cRomo. I'll
see what I can do on Monday: this is indeed an first ugly
bug, and I am not sure how it can happen (I was pretty
confident I made sure it didn't. I will go and review my
code). As for your second problem, now that I have an how-to
on how to use it, I will try out too reproduce it too.
There is a second way besides strace to produce debugging
log, that involves a recompiling from source, but that makes
things completely transparent (described in section 5.2.1 of
the adesklets 0.4.10 documentation).
By Noobuntu (User), on
Thu Jul 14 06:03:05 2005: What about adding a menu to
Yap?.
I've seen in other forums that people would really like to
have a menu-like option in a starterbar desklet. I think that
Yap is the best starterbar desklet available, so I was
wondering if it's hard to add a menu-feature (like Gnome/Kde
menus) into the Yap. Syfou?
By mike998 (User), on Thu
Jul 14 13:47:42 2005.
I've read somewhere that it may be doable with PyPanel, but I
think that's a bit beyond me right now - I'll look into it
and let you know what I find
By syfou (Core Developer
& Desklet Author), on Thu Jul 14 14:42:36 2005.
noobuntu, I see what you want, and
unless a plain, ugly grey menu do, this is beyond what
adesklets is capable of by itself (there is no widget in
adesklets, and what you ask for typically need a widget
toolkit). The
original
answer by
darkliquid is both
complete, accurate, and give you what I think is the right
way to achieve this. Yours,
By mike998 (User), on Thu
Jul 14 19:04:34 2005.
syfou: Thanks for the good work on this - I'm liking this
better than gdesklets.
I personally don't really care if I get an ugly grey menu -
is it possible to do that?
By syfou (Core Developer
& Desklet Author), on Thu Jul 14 23:24:46 2005.
syfou: Thanks for the good work on this
Thanks, you are welcome.
I personally don't really care if I get an ugly grey menu -
is it possible to do that?
Yes it is; adesklets comes with everything to customize,
create and fire at will any number of grey menus from
scratch. Look at the various menu_* commands from the
interpreter... This would be a relatively simple task
(although I personally prefer launching my WM's menu from an
icon), but I cruelly lack time to take care of it right now;
what about you,
mike998?
By mike998 (User), on Fri
Jul 15 08:47:04 2005.
syfou: Thanks for the good work on this
Thanks, you are welcome.
I personally don't really care if I get an ugly grey menu
- is it possible to do that?
Yes it is; adesklets comes with everything to customize,
create and fire at will any number of grey menus from
scratch. Look at the various menu_* commands from the
interpreter... This would be a relatively simple task
(although I personally prefer launching my WM's menu from
an icon), but I cruelly lack time to take care of it right
now; what about you,
mike998?
Unfortunately, I lack the programming knowledge to do this.
It would make a nice thing to look into.
I think that the problem is more with Gnome (my WM of choice)
and it's way of having the main menu work.
By jedi stannis (User),
on Fri Jul 29 16:58:41 2005.
hey,
I like yab alot, but would also like it to act more like the
mac osx bar. I looked at the code, but don't have much
experience with python (mostly a java programmer). can you
give me any hints/starting points to implementing this?
Thanks!
By syfou (Core Developer
& Desklet Author), on Fri Jul 29 18:03:45 2005.
I have seen the OS X bar some years back, but I do not have a
clear memory of its behavior, apart that it exhibits a
parabolic scaling display of icons... I am afraid you will
need to be more explicit on what feature you would like to
implement if you want useful pointers. Yours,
By jedi stannis (User),
on Sat Jul 30 14:22:49 2005.
The parabolic zooming is exactly what I want to implement. So
if im centered on an icon it is zoomed 100% the ones next to
it might be zoomed 50% and the ones next to those are like
10% all others are not zoomed at all.
By syfou (Core Developer
& Desklet Author), on Sat Jul 30 17:15:47 2005.
Ok. In this case, the changes should be pretty
straightforward to make. The method responsible for drawing
the icons is
_display_icons(). Look at this:
# Then reload the icons onto it one by one
#
for rank in range(len(self.icons)):
adesklets.blend_image_onto_image(self.icons[rank][2],1,
0,0,
self.icons[rank][3],
self.icons[rank][4],
*self._position(rank,x,y))
As you see, the icon position and scaling is computed by
_position(). You only need
to rewrite
_position(), that
receives the icon rank and current pointer coordinates and
returns where to put the final icon, and with what size as a
4-tuple
(x, y, w, h). To
minimize your work you probably want to reuse and modify the
_get_active_and_scaling()
method too, that is called a couple of time in the code.
By gnoomy (User), on Wed
Aug 10 08:33:10 2005.
I would like to remind you a suggestion posted in the
beginning of this thread, about "vertical displacement". I
wanted it too so I used syfou's hint, which isn't so big
:wink:
if you want it without working in the code, here is a little
howto make your icons move
vertically:
firstly, apply the patch given above in this forum so yab
will take into account your mouse's y coordinate.
If your bar is at the bottom of the
screen, you expect your icons to go up: open yab.py in
your favourite editor, use the find function to reach the
code I give.
in the
_position function, you'll
find: (around line 557)
if rank==active:
y-=(active_height-self.config['icon_min_width'])/2
just remove the "/2", and the icon will go up. Too up, so
change the initial position: a dozen line above the last
code, there is
y=(self.config['icon_max_height']-self.config['icon_min_height'])/2
Again, remove the "/2". Then, the bar in the background is a
bit misplaced (too high!), so at the beginning of the
background_grab function (after
line 300), replace
coords=[0,(self.config['icon_max_height']-
self.config['bar_height'])/2,
by
coords=[0,(self.config['icon_max_height']-
(self.config['icon_min_height']+
self.config['bar_height'])/2)
that's done!
if your bar is at the top of your
screen, the icons will have to move down.
It's easier... We modify the same code, but differently:
remove the
if rank==active:
y-=(active_height-self.config['icon_min_width'])/2
and replace
y=(self.config['icon_max_height']-self.config['icon_min_height'])/2
by "y=0". in
background_grab,
replace in the piece of code I've quoted "icon_max_height" by
"icon_min_height".
It works fine wether caption_above is set to true or
false.
I think even non-programmers will be able to do this without
a problem, but maybe the icon's movement should become an
option?
Now I miss "parabolic zooming", has someone achieved it?
By syfou (Core Developer
& Desklet Author), on Wed Aug 10 15:37:21 2005.
gnoomy,
If you are willing to do a little work, just let me know by
email... I realized I was using the
patched
for vertical displacement version of yab for a long time
myself, and I completely forgot it was not part of the
official release.
What we could do, in fact, is integrating that patch, then
write the mechanism allowing alternate
_position() and
_get_active_and_scaling() methods to be
dynamically selected, and let the user choose the icons
behavior he prefers via the configuration file. Yours
"vertical icon move mode" could then be offered as an
alternative right out of the box.
This would allow many "icons placement policies" to coexist,
and I know by re-reading my code that about any horizontal
bar can be implemented this way, including parabolic zooming.
I never implemented parabolic zooming myself because I am not
too fond of it, but I am still willing to integrate any
reasonably clean patch from others that would offer it.
Performing the little job above would be a perfect first step
in this way.
By gnoomy (User), on Thu
Aug 11 04:10:12 2005.
If you are willing to do a little work, just let me
know by email...
Well I've aldready done it, and you know I have some
translation to do! Moreover, I don't know Python... I just
wanted to give a ready-to-use suggestion and a tip for people
wanting it.
By paulwhalley (User), on
Thu Sep 1 02:24:16 2005.
Has there been any further progress on the parabolic scaling?
Is an updated version of yab available?
By gnoomy (User), on Fri
Sep 2 08:24:13 2005: patch it!.
i've done a small patch:
http://gnome99.free.fr/yab-0.0.2.patch
it includes syfou's patch (for mouse's y coordinate support),
so apply it to a freshly unpacked yab.py
This patch adds "vertical displacement" as an option. And
there's a bonus! :) I didn't like to see all inactive icons
moving as the active icon grows, so I've change the way they
move horizontally, as an option again. All these options adds
some 'if' statements in _position, but I think it's still
light enough. Note that the options are not enabled by
default.
It also solves a bug (is it really a bug?) with the
'icon_maximize_threshold' option, if set to 0.5 for instance
the icon didn't grow continuously at all!
tell me what you think about it!
parabolic scaling would be harder to implement for me. But I
hope my 'limit_horiz_move' will help (because parabolic
scaling would, with the normal algorithm, really make
inactive icons move!)
By syfou (Core Developer
& Desklet Author), on Wed Sep 7 14:56:00 2005.
I'll have a look into your patch in a few days, gnoomy.
By gnoomy (User), on Thu
Nov 3 12:59:52 2005.
i've just installed yab on a new system (I copied yab.py from
my laptop, which is using a patched script) and there's
something strange: when I click on an icon it takes instantly
its normal size. It has never happened on the laptop!
Changing "click_effect" has no effect. Any idea?
By syfou (Core Developer
& Desklet Author), on Thu Nov 3 15:26:53 2005.
I never experienced this. Is it the same with an unpatched
version of yab (the one distributed on the site)?
By gnoomy (User), on Fri
Nov 4 13:57:51 2005.
after discovering that debian only provides adesklets 0.4.7
as a binary package I compiled the 0.4.12. The desklets are
still running fine (but the version 0.4.7 was better to me, I
didn't have to say I'm using xfce :wink: ).
I've downloaded the official yab 0.0.2: the same thing
happens.
By syfou (Core Developer
& Desklet Author), on Fri Nov 4 17:57:00 2005.
Debian provides 0.4.12 in the 'unstable' branch. I tested yab
0.0.2 on a Sarge installation with xfce4, and I still cannot
reproduce this.
By eNTi (User), on Thu
Nov 10 05:53:20 2005.
- adesklets' transparency is
only simple pseudo-transparency. Basically, it only grabs
its screen's root window content below it whenever it
changes. It is both simple and fast. When you want to
have a window on top, you need to rely on other mecanism
to set up transparency and use it, as they are
potentially many changing window below it. XComposite
and XDamage
extensions from freedesktop.org are the presumably
correct way to do this. Those X Extentions are nice, but
not broadly used, and not very well supported in hardware
(Basically, I do not thing GLX hardware acceleration
works reliably with it on anything but NVidia drivers),
and quite CPU intensive for now, thus presumably not
usable by a large audience.
This said, I am interested having an optionnal support for
real XComposite/XRender/XDamage window transparency in
adesklets (It's not very fast now, but it's probaly the way
of the future - and it's a lot cleaner from a programmatic
point of view) so I will presumably work on it in the
upcoming months. Development always take time... :)
are you still working on this? is there a way to test it? i'm
currently playing around with xcomposite and the fake
transparency isn't working very well. there's another issue,
when using fluxspace+painter = different backgrounds on each
window. all desklets need to be refreshed, which flickers
ugly on my screen.
By syfou (Core Developer
& Desklet Author), on Thu Nov 10 14:28:02 2005.
are you still working on this? is there a way to test
it?
I must admit I am not. Over the last few months, I
progressively became annoyed, then plainly taken aback by the
XComposer/XRender mix. Performance has yet to improve (it is
poorer than a few months back -- in my experience, it doesn't
even run smoothly on an amd64 system if you do not have some
support from the graphic hardware), and I have too few
applications taking real advantage of it, while the novelty
of having homogeneously translucent, semi-transparent windows
just wore off after a few days every time I tried...
I'm currently playing around with xcomposite and the
fake transparency isn't working very well.
Could you elaborate on that (a screenshot could be useful if
you have a chance)? I do use fluxbox as my day-to-day Windows
Manager, and I didn't experience bad interaction with
adesklets under xcompmgr... To illustrate,
here is a
shot by another user.
there's another issue, when using fluxspace+painter =
different backgrounds on each window. all desklets need to
be refreshed, which flickers ugly on my screen.
Yes, that's a consequence of portability... desklets do
flicker every time the background has to be grabbed, since
there is no other entirely portable way to do this -- and
believe me, I searched. gDesklets even borrowed my code, that
I myself adapted from an technique from
aterm code base. The code
responsible for this is entirely contained in the
xwindow_grab_background()
function from
src/xwindow.c.
If ever you have better insights, let me know. Yours,
By eNTi (User), on Thu
Nov 10 17:44:05 2005.
yeah... wow. it's really slow. i've tried both kompmgr and
xcompmgr and the k variant is even slower, even though it
looks nicer.
never the less... my "special problems" are fluxspace+painter
related too. i've made two screenshots. one without painter
and one with.
without painter it would probably work, if it weren't for
those dreaded drop shadows. but if i turn fluxbox on, the
fake transparency
goes wild.
By syfou (Core Developer
& Desklet Author), on Thu Nov 10 18:35:01 2005.
I just looked into fluxspace 0.4.0-alpha: in
src/Esetroot.cc, go read
Esetroot::SetRoot(). This will not work
in all case with argb visuals:
imlib_context_set_visual(DefaultVisual(display, DefaultScreen(display)));
I suggest you first try upgrading your Imlib2 to the latest
version available (from cvs). If it doesn't help, you should
modify this line to make sure you select a non-argb visual.
Yours,
By eNTi (User), on Thu
Nov 10 18:56:08 2005.
By syfou (Core Developer
& Desklet Author), on Thu Nov 10 19:52:15 2005.
Imlib2 X11-related functions do not always perform "as
expected" on Xrender-capable screen when ARGB visuals are
involved; here, the esetroot-compatible program (fluxspace)
does not take any special precaution to deal with this case,
as it should; unfortunately, there is little I can do from
adesklets perspective.
By cRoMo (User), on Thu
Jan 5 10:56:12 2006.
I have a problem with pathnames containing spaces. Trying to
put
('/home/cromo/.icons/Lila/inne/msn.png',
'Konnekt',
'wine .wine/drive_c/Program\ Files/Konnekt/konnekt.exe')]};M
line fails, because after running yab it changes
pathname into ".wine/drive_c/Program\\
Files/Konnekt/konnekt.exe" and it doesn't run this app after
clicking the icon. Also adding quotes to this path doesn't
help. Is this an internal bug?
By gravedigga (User), on
Mon Jan 16 20:15:07 2006.
after patching with this
http://gnome99.free.fr/yab-0.0.2.patch patch yab exits when
my mouse cursor goes over any icons
./yab.py
Traceback (most recent call last):
File "./yab.py", line 674, in ?
Events(dirname(__file__)).pause()
File "./yab.py", line 442, in pause
(time()-time_initial)),.01))
File
"/usr/lib/python2.4/site-packages/adesklets/events_handler.py",
line 214, in _fire_event
[x for x in File "./yab.py", line 406, in motion_notify
self._display_icons(x, y) File "./yab.py", line 469, in
_display_icons self.icons[rank][4],
File "./yab.py", line 604, in _position
if self.config['limit_horiz_move']:
KeyError: 'limit_horiz_move'
By syfou (Core Developer
& Desklet Author), on Wed Jan 18 12:57:30 2006.
I have a problem with pathnames containing spaces.
Trying to put
('/home/cromo/.icons/Lila/inne/msn.png',
'Konnekt',
'wine .wine/drive_c/Program\ Files/Konnekt/konnekt.exe')]};M
line fails, because after running yab it changes
pathname into ".wine/drive_c/Program\\
Files/Konnekt/konnekt.exe" and it doesn't run this app
after clicking the icon. Also adding quotes to this path
doesn't help. Is this an internal bug?
Well, it is an internal shortage, but not really a bug in my
opinion: you used a shell convention for escaping space that
doesn't exist outside your shell, since no shell process is
forked when executing programs.
Here is a patch that forces the execution of all commands
in the default shell. In your case, you should be able to
use, when applied:
('/home/cromo/.icons/Lila/inne/msn.png',
'Konnekt',
'wine ".wine/drive_c/Program
Files/Konnekt/konnekt.exe"')]}
Yours,
By syfou (Core Developer
& Desklet Author), on Wed Jan 18 13:00:54 2006.
after patching with this
http://gnome99.free.fr/yab-0.0.2.patch patch yab exits when
my mouse cursor goes over any icons.
I suggest you try contacting
Martin directly about it, since he
wrote this patch.
By labatts (User), on Fri
Jan 27 19:22:41 2006.
Hi!
i am experiencing a very wierd problem trying to launch
Mplayer with yab..when ever i try ,it locks up my
computer..and i mean locks it up good,control,alt,delete
won't even help..i have to hit the reset button.It's the only
app that does this ,wondering if this is a known issue.
just for reference i'm using:
slackware 10.2
kernel-2.6.15.1
adesklets-0.5.0
yab-0.0.2
imlib2-1.2.1
python-2.4.1
By syfou (Core Developer
& Desklet Author), on Fri Jan 27 20:42:57 2006.
labatts, I just tried with yab
0.0.2 and mplayer (v1.0pre7try2) -- no problem whatsoever
here.
gentoo 2005.1
kernel 2.6.15.1 (vanilla)
adesklets 0.5.0
yab 0.0.2
imlib2 1.2.1.010 (from CVS)
python 2.4.2
Have you tried to use a wrapper script, just to see if there
is any surprising error output? Something like:
#! /bin/bash
# Wrapper script: invoke with the name of program as first argument.
# This will kill the called program violently after 10 seconds
#
$* > /tmp/mylog.$$ 2>&1 & { sleep 10; eval 'kill -9 $!' > /dev/null 2>&1 }
Yours,
By labatts (User), on Fri
Jan 27 21:40:35 2006.
nope never tried a wrapper script,and to be honest wouldn't
know how to do that,havent been using linux to long..but i
did try and exit all desklets and restart them and found that
if i select (t) test for yab it launchs mplayer just fine,but
if i register it then it locks up my system again.
By syfou (Core Developer
& Desklet Author), on Fri Jan 27 21:59:19 2006.
This is weird... Put the script above in your path, make it
executable, and configure yab to invoke it with a command
similar to:
wrapper_script the_problematic_application
Then, you will have a log output in
/tmp/mylog.####.
Since you are new to linux, allow me a stupid question: does
this freezes the entire machine, or just X (including the
keyboard)? On a real console, just start as root something
like:
sleep 60 && killall -9 startx
Then hurry up freezing things to see if the machine start
responding again after one minute.
What you describe make me think that maybe your mplayer build
might just dislike not having an interactive
pseudo-terminal... What about invoking
xterm -e mplayer from yab?
By labatts (User), on Fri
Jan 27 22:09:53 2006.
i think it just locks up x including the keyboard.
i tried that xterm -e mplayer command and i think your right
about whats happening because it started up just fine.i'll
try the wrapper script thing and see if i can nail down
exactly why.
By labatts (User), on Fri
Jan 27 22:46:41 2006.
tried the script,and it locks up still,and doesn't kill
itself like it's supposed to(have to hit the reset
button)..and because of that it doesn't create the tmp
log..i'll just run mplayer on a desktop icon for now,because
my build of it and yab just don't get along..as i mentioned
earlier it is the only app that does this.
Thanks for the help :)
By slackboy (User), on
Sat Jan 28 00:05:21 2006.
bash-3.00$ ./yab.py
Traceback (most recent call last):
File "./yab.py", line 48, in ?
import adesklets
File "usr/lib/python2.4/site-packages/adesklets/__init__.py",
line 30, in ?
File
"usr/lib/python2.4/site-packages/adesklets/initializer.py",
line 13, in ?
File
"usr/lib/python2.4/site-packages/adesklets/children_handler.py",
line 5, in ?
File
"usr/lib/python2.4/site-packages/adesklets/signal_handler.py",
line 12, in ?
File
"usr/lib/python2.4/site-packages/adesklets/signal_handler.py",
line 19, in Signal_handler
ImportError: No module named posix_signal
hello i got this problem.. ddnt know why.. not only got this
error in yabs but in all adesklets
i have
imlib2-1.2.1
python 2.4.1
running in slackware 10.2
thank you
By syfou (Core Developer
& Desklet Author), on Sat Jan 28 00:45:15 2006, last
edited on Sat Jan 28 00:57:34 2006.
tried the script,and it locks up still,and doesn't
kill itself like it's supposed to(have to hit the reset
button)..and because of that it doesn't create the tmp
log..i'll just run mplayer on a desktop icon for
now,because my build of it and yab just don't get along..as
i mentioned earlier it is the only app that does this.
The log is created as soon as the application starts; if you
don't get log, it means it didn't.
By syfou (Core Developer
& Desklet Author), on Sat Jan 28 00:57:17 2006.
Hi
slackboy,
bash-3.00$ ./yab.py
Traceback (most recent call last):
ImportError: No module named posix_signal
First thing first: did you compile adesklets yourself (which
version)? If not, where can I get the prepackaged version you
used (a third party mis-packaging is always possible, and I
could check)? The
posix_signal module is a required part
of adesklets python module, and as such is build and
installed during the normal build process.
If you compiled adesklets from source, after make, do:
make DESTDIR=$HOME/fakeroot install
You should normally find somewhere under
$HOME/fakeroot a file named
posix_signal.so:
find $HOME/fakeroot -name 'posix_signal.so'
Yours,
By slackboy (User), on
Sat Jan 28 06:09:22 2006.
yes!.. thanks syfou! it works now... thanks alot!
By syfou (Core Developer
& Desklet Author), on Sat Jan 28 11:29:05 2006.
yes!.. thanks syfou! it works now... thanks alot!
Could you explain what you did? If there is something wrong
with a third party package, it is good to know, since I can
notify the packager to correct it. Yours,
By slackboy (User), on
Sat Jan 28 11:56:20 2006.
i just download the source tarball and try.. it works.. i
dont know what happened before..why i arrive at those error..
i think wrong destination dir.. thanks again syfou
By syfou (Core Developer
& Desklet Author), on Sat Jan 28 12:02:49 2006.
i just download the source tarball and try.. it
works.. i dont know what happened before..why i arrive at
those error.. i think wrong destination dir.. thanks again
syfou
You are welcomed. I hope adesklets will prove useful to you.
:-)
By pmo6022 (User), on Sat
Jan 28 18:55:09 2006: black box around yab.
I've running adesklets on arch linux and enlightenment
version 0.16.8 pre 3. I have to invode adesklets with the
--user option to avoid the "flickering" problem, as discussed
in the faq. I don't recall having to do this under earlier
versions of e.
My problem is that I have a black box around the yab bar. I'm
using the default config.txt, and I've tried changing
bar_background_1 , 2, and foreground to none and
bar_opacity_1 and 2 to 0 and 255 without any luck. Any ideas?
By syfou (Core Developer
& Desklet Author), on Sat Jan 28 19:57:34 2006: Re: black
box around yab.
I've running adesklets on arch linux and
enlightenment version 0.16.8 pre 3. I have to invode
adesklets with the --user option to avoid the "flickering"
problem, as discussed in the faq. I don't recall having to
do this under earlier versions of e.
Thanks for notifying me; I just tested e16 version 0.16.8
pre3 and you are right -- they switched to using a fake root
window on the first virtual desktop too --
patch is here. If you do not feel like upgrading
adesklets code base manually, just invoke for now:
My problem is that I have a black box around the yab bar.
I'm using the default config.txt, and I've tried changing
bar_background_1 , 2, and foreground to none and
bar_opacity_1 and 2 to 0 and 255 without any luck. Any
ideas?
Look at the FAQ under the "
Now I see the
desklets, but the transparency is screwed!" item.
Yours,
By pmo6022 (User), on Sun
Jan 29 10:38:35 2006: Re: black box around yab.
Thanks for notifying me; I just tested e16 version 0.16.8
pre3 and you are right -- they switched to using a fake
root window on the first virtual desktop too --
patch is here. If you do not feel like upgrading
adesklets code base manually, just invoke for now:
Thanks for the patch, works great. A major change in e16.8 is
a composite manager, maybe that explains the use of a fake
root window. Anyway, my understanding is that barring any
showstopper bugs, pre3 is going to become e16.8 final.
I also got the background working using Esetroot.
Thanks!
By no_geek (User), on Mon
Jan 30 12:42:14 2006: yab with different configuration
files?.
Hello everybody, I use yab (and weatherforecast) with fluxbox
on my archlinux installation and I am very happy with it. But
sometimes when I switch themes (there are so many of them,
why stick with the same all the time :) ) I would like to
switch also the icon sets in yab. Could this be done by
command line options in some way or do I have to copy config
files back and forth? I have not learned shell programming
yet :( , otherwise I might write a shell script for that...
By syfou (Core Developer
& Desklet Author), on Mon Jan 30 14:41:56 2006.
Hi
no_geek,
that's a neat idea, but yes, as you said it yourself, this is
typically something that calls for scripting.
But do not worry, this is anything but hard to do; typically,
the right way to avoid timing issues and such would be to
have multiple
$HOME/.adesklets configuration files,
and static
config.txt (one
per desklet) with the different desklets configurations under
multiple IDs. Then, you just have to "hook" a script similar
to this one to the
rootCommand of your fluxbox
themes:
#! /bin/sh
#
# Theme changer for adesklets
#
die() {
echo "Error: $*"
exit 1
}
test "x$1" = x && die 'no theme given'
test -e $HOME/.adesklets.$1 || die "theme '$1' could not be found"
ln -sf $HOME/.adesklets.$1 $HOME/.adesklets || die 'unable to symlink the new theme'
adesklets
For instance, imagine you have two themes, one named
"charybdis", the other "scylla". Then, you would put two
files in your
$HOME: one
under
$HOME/.adesklets.charybdis, that could
look like:
[/path/to/first/desklet.py]
id=0 screen=0 x=100 y=100
[/path/to/second/desklet.py]
id=0 screen=0 x=200 y=200
And naturally another, called
$HOME/.adeslets.scylla, that could
contain:
[/path/to/first/desklet.py]
id=1 screen=0 x=100 y=100
[/path/to/second/desklet.py]
id=1 screen=0 x=200 y=200
Then, you'd only need to call the script above with
"charybdis" or "scylla" as the first parameter to
automatically changes your entire adesklets' desktop
configuration... Of course, nothing prevent you from having
completely different layouts (or even completely different
sets of desklets) from one them to the next. ;-) Yours,
_________________
Sylvain
P.-S. If you have a few hours to spend, I suggest you read
the
Advanced Bash
Scripting Guide by Mendel Cooper -- do not let the name
fools you, this is in my opinion a very well written
introductory text to shell scripting too.
By no_geek (User), on Mon
Jan 30 18:49:08 2006.
Hello syfou,
thanks for your answer, I'll definitely give it a shot in the
next couple of days - and the Advanced Bash Scripting Guide
has been on my "things-I-want-to-study-list" for some time
now... :? Maybe I'll use this opportunity... Anyways, I'll
let you know.
By nine (User), on Fri
Jun 23 12:21:44 2006: How put verticall.
How i can put the yab verticall ?
Thanks for the time
By gnoomy (User), on Mon
Jul 17 07:39:17 2006.
after patching with this
http://gnome99.free.fr/yab-0.0.2.patch patch yab exits when
my mouse cursor goes over any icons
./yab.py
Traceback (most recent call last):
File "./yab.py", line 674, in ?
Events(dirname(__file__)).pause()
File "./yab.py", line 442, in pause
(time()-time_initial)),.01))
File
"/usr/lib/python2.4/site-packages/adesklets/events_handler.py",
line 214, in _fire_event
[x for x in File "./yab.py", line 406, in motion_notify
self._display_icons(x, y) File "./yab.py", line 469, in
_display_icons self.icons[rank][4],
File "./yab.py", line 604, in _position
if self.config['limit_horiz_move']:
KeyError: 'limit_horiz_move'
(sorry, I'm 6 months late... ) I'll have a look at the line
604!
How i can put the yab verticall ?
Right now it's not possible. Since many people asked for it,
maybe i'll try to do something... in August! I aldready have
much work this month :? If it works fine, i'll try parabolic
zooming by the way.
if it works :D
By wovlerine (User), on
Mon Jul 17 08:18:02 2006: RE 'limit_horiz_move'.
after patching with this
http://gnome99.free.fr/yab-0.0.2.patch patch yab exits
when my mouse cursor goes over any icons
./yab.py
Traceback (most recent call last):
File "./yab.py", line 674, in ?
Events(dirname(__file__)).pause()
File "./yab.py", line 442, in pause
(time()-time_initial)),.01))
File
"/usr/lib/python2.4/site-packages/adesklets/events_handler.py",
line 214, in _fire_event
[x for x in File "./yab.py", line 406, in motion_notify
self._display_icons(x, y) File "./yab.py", line 469, in
_display_icons self.icons[rank][4],
File "./yab.py", line 604, in _position
if self.config['limit_horiz_move']:
KeyError: 'limit_horiz_move'
(sorry, I'm 6 months late... ) I'll have a look at the line
604!
How i can put the yab verticall ?
Right now it's not possible. Since many people asked for
it, maybe i'll try to do something... in August! I aldready
have much work this month :? If it works fine, i'll try
parabolic zooming by the way.
if it works :D
Hi there,
As we can see, we've got an error for the 'limit_horiz_move'
option in the patch because there is (I think) an typing
error in the patch and then in the yab.py file :
yab-0.0.2.patch:
@@ -155,6 +170,9 @@
'icon_max_height': 128,
'icon_spacing': 5,
'icon_maximize_threshold': 0.9,
+ 'icon_maximize_use_y_axis': False,
+ 'icon_vertical_displacement': 'None',
+
'limit_horiz_mov': False,
'bar_height': 32,
'bar_foreground' : '000000',
'bar_background_1': 'AAAAAA',
How to correct this little error :) ?
If you already have patched the yab.py file, just edit with
your fav editor the yab.py file, go to the line 175, and you
could see that the 'limit_horiz_mov' option need an 'e' at
the end. :) Otherwise edit the patch file before applying
it.
I've done that too, it works perfectly now...
Enjoy... :)
By pillzdb (User), on Thu
Jul 27 23:29:09 2006: yab (or modubar) + thunar.
Hi all,
Loving adesklets except for one problem:
The problem occurs with thunar shortcut for both yab and
modubar. Yab/modubar will intermittently crash when the
Thunar icon is clicked with the following error:
Traceback (most recent call last):
File "./modubar.py", line 749, in ?
Events(dirname(__file__)).pause()
File "./modubar.py", line 470, in pause
(time.time()-time_initial)),.01))
File
"/usr/lib/python2.4/site-packages/adesklets/events_handler.py",
line 214, in _fire_event
[x for x in File "./modubar.py", line 424, in button_press
self._display_icons(x) File "./modubar.py", line 488, in
_display_icons
adesklets.set('w',self._window_width-(84*len(self.modules)))
File
"/usr/lib/python2.4/site-packages/adesklets/commands.py",
line 114, in set return comm.out() File
"/usr/lib/python2.4/site-packages/adesklets/commands_handler.py",
line 93, in out output=self.__comm.out(.01) File
"/usr/lib/python2.4/site-packages/adesklets/communicator.py",
line 87, in out rd, wr, ex =
select.select([self.__stdout],[],[],delay)
select.error: (4, 'Interrupted system call')
This problem seems similar to one previously posted (
http://adesklets.sourceforge.net/forum/viewtopic.php?t=237),
but the difference is that it is failing on adesklets 0.5.0
(the default deb package for Dapper Ubuntu) -- i.e. >=
0.4.11 (when the patches for the mentioned problem were
added).
Your help is appreciated, and keep up the great work!
By pillzdb (User), on Thu
Jul 27 23:34:15 2006.
The previous error message was from modubar and so to avoid
confusion I've posted here the equivalent error message in
yab that causes the crash:
Traceback (most recent call last):
File "./yab.py", line 598, in ?
Events(dirname(__file__)).pause()
File "./yab.py", line 413, in pause
(time()-time_initial)),.01))
File
"/usr/lib/python2.4/site-packages/adesklets/events_handler.py",
line 214, in _fire_event
[x for x in File "./yab.py", line 370, in button_press
self._display_icons(x) File "./yab.py", line 440, in
_display_icons self.icons[rank][4],
File
"/usr/lib/python2.4/site-packages/adesklets/commands.py",
line 468, in blend_image_onto_image
return comm.out()
File
"/usr/lib/python2.4/site-packages/adesklets/commands_handler.py",
line 93, in out
output=self.__comm.out(.01)
File
"/usr/lib/python2.4/site-packages/adesklets/communicator.py",
line 87, in out
rd, wr, ex =
select.select([self.__stdout],[],[],delay)
select.error: (4, 'Interrupted system call')
Thanks
By syfou (Core Developer
& Desklet Author), on Fri Jul 28 03:22:59 2006.
adesklets 0.5.0 is somewhat old... Would you first try to see
if you can reproduce this bug with the latest packaged
version of adesklets (0.6.1 at the time of writing)? Are you
absolutely unable to reproduce it with anything but on thunar
launch (this time, I doubt this is related -- error trace is
unrelated, but who knows)?
I would also appreciate if you would share your desklet
configuration, just in case. The problem with such an
exception trace is that this is highly generic (yet, it
should never happen), hence hard to reproduce on a different
system... which doesn't mean I shouldn't try. ;-)
_________________
Sylvain
P.-S I am leaving my computer for fifteen days starting
tomorrow... I will probably have to get back to you only in
two weeks.
By gnoomy (User), on Mon
Jul 31 14:08:15 2006.
here is an
experimental vertical
version of yab:
http://gnome99.free.fr/experimentalVyab.py
I've just exchanged 'x' and 'y' (or 'width' and 'height') in
many parts of the code, and it works :lol: (it's an
adaptation of my patched version of yab)
However it doesn't support captions because I don't know
where to place them (any idea?) so set 'caption_font' to
False.
it also raises a question: will we release the vertical bar
as an option, or as a separate desklet? I don't think an
option would be fine because many parts of the code are
changed AND it's based on my patched version of yab, which
aldready contains many 'if' :oops:
while I'm waiting for your ideas about the caption, i'll try
parabolic zooming (but it's harder)
By gnoomy (User), on Mon
Aug 21 11:22:32 2006.
i've done a minor update to
the patch which
adds the 'icon_maximize_use_y_axis',
'icon_vertical_displacement' and 'limit_horiz_move'
options.
and i've done the funky thing:
a
parabolic yab. It's still experimental... maybe i'll
release it as another desklet since the positionning
functions have been completely rewritten.
By Didier (User), on Thu
May 10 01:11:47 2007: OPenSuse and Buffer Oveflow.
Hi all,
My config
OpenSuse 10.2 (2.6.18.2.34)
Python 2.5.19
Adesklets 0.61
Yab 0.02
Each time i tried to use Yab, I have a Buffer Overflow
*** buffer overflow detected ***: adesklets
terminated
======= Backtrace: =========
/lib/libc.so.6(__chk_fail+0x41)[0xb7c4c581]
/lib/libc.so.6[0xb7c4bf93]
adesklets[0x805aebb]
adesklets[0x804eb39]
adesklets[0x804cb6a]
/lib/libc.so.6(__libc_start_main+0xdc)[0xb7b90f9c]
adesklets[0x804ca81]
======= Memory map: ========
here is the lib in use
===========================
b7ad8000-b7ada000 rw-p 00010000 03:02 70Traceback (most
recent call last):
File "./yab.py", line 598, in <module>
Events(dirname(__file__)).pause()
File "./yab.py", line 399, in pause
self._display_caption()
File "./yab.py", line 499, in _display_caption
adesklets.play(*self._fadein)
File
"/usr/lib/python2.5/site-packages/adesklets/commands.py",
line 184, in play
return comm.out()
File
"/usr/lib/python2.5/site-packages/adesklets/commands_handler.py",
line 93, in out
output=self.__comm.out(.01)
File
"/usr/lib/python2.5/site-packages/adesklets/communicator.py",
line 91, in out
raise ADESKLETSError(1)
adesklets.error_handler.ADESKLETSError: adesklets process
exited -
it happens only when an action is done on the yab bar - Mouse
focus ON or OUT, clicking an icon or move the bar.
Weatherforecast work fine.
I tested it why another material to check my physical memory
but the result is the same.
Is it a known problem with OPenSuse or something compatibily
problem between those version ?
Thanks for helping
By syfou (Core Developer
& Desklet Author), on Thu May 10 13:14:10 2007.
Python 2.5.19 <= That doesn't exist.
Anyway, the bug is not at that level... The exact version of
the various librairies llinked against the adesklets
executable would be useful though:
ldd `which adesklets` | awk '{print $3}' | xargs --max-lines=1 readlink --canonicalize
Unfortunately, what you describe is unusual and pretty
uncommon: I am afraid it will be difficult for me to
pin-point what is going wrong without access to the machine;
as far as I know, OpenSuse is just another Linux, and
adesklets & yab runs pretty smoothly all across the Linux
board: in fact, that's the fist time I hear of this problem.
regardless of the exact distro.
For you to know, I have to make an emergency trip outside of
the country; I will be back at my terminal next Tuesday (May
the 15th). I will be glad to assist you further if we can
arrange something. Given the chance, I like fixing my bugs.
Yours,
By Didier (User), on Thu
May 10 15:31:03 2007.
Thanks for you reply and your help.
I have tested this on 3 differentes computers with the same
result.
If i do the installation from the sources, the compilation
goes the end without errors but i never can run any
desklets.(sorry I don't remmenber the exact error
message)
So i've performed the install by rpm (using "smart install
adesklet") then weatherforecast works fine but Yab return
buffer overflow crash.
By syfou (Core Developer
& Desklet Author), on Wed May 16 13:41:17 2007.
Didier,
ldd `which adesklets` | awk '{print $3}' | xargs --max-lines=1 readlink --canonicalize
please give me the output of the shell line above.
;-)
If i do the installation from the sources, the compilation
goes the end without errors but i never can run any
desklets.(sorry I don't remmenber the exact error
message)
There is a fair chance this is a manifestation of the
fontconfig bug listed at the bottom on the
adesklets home page;
on linux, a fix has been available for it for a good
while.
So i've performed the install by rpm (using "smart install
adesklet") then weatherforecast works fine but Yab return
buffer overflow crash.
This is probably something different, and I would like
to investigate it. Would you have a link to the exact RPM you
used? Thanks,
By Didier (User), on Fri
May 18 13:31:04 2007.
Here is the output of the line you ask me to test:
/root/(0xffffe000)
/usr/lib/libX11.so.6.2.0
/usr/lib/libImlib2.so.1.3.0
/lib/libncurses.so.5.5
/lib/libreadline.so.5.1
/lib/libhistory.so.5.1
/usr/lib/libfontconfig.so.1.1.0
/usr/lib/libexpat.so.1.5.0
/lib/libc-2.5.so
/lib/libm-2.5.so
/usr/lib/libXau.so.6.0.0
/usr/lib/libXdmcp.so.6.0.0
/lib/libdl-2.5.so
/usr/lib/libfreetype.so.6.3.10
/lib/libz.so.1.2.3
/usr/lib/libXext.so.6.4.0
/lib/libpthread-2.5.so
I already have the bug from font config but i don't think it
was the same.
and the package used is:
adesklets-0.6.1-4.guru.suse102
I tried to get some informations from French Suse forum
without success...
Thanks of lot
By syfou (Core Developer
& Desklet Author), on Mon May 21 14:25:47 2007.
I tried to get some informations from French Suse forum
without success...
For your information, here is
Didier's alionet thread (in French) where he asked
for support (thanks,
Didier).