maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [Announce] Advanced Clock Plugin (https://talk.maemo.org/showthread.php?t=67408)

script.ninja 2011-01-29 06:31

Re: [Announce] Advanced Clock Plugin
 
I'm just glad this project exists. The CustomClock that someone provided somewhere along the line in this thread (I -think- I Thanked for it...I'll go check tomorrow...) is what I expected from Maemo in the first place.

Well, except for the fact that had it not come with special ~-related instructions I would have tried to use %n to separate lines. :)

Mentalist Traceur 2011-01-29 08:12

Re: [Announce] Advanced Clock Plugin
 
Oh, I'm just as glad, for sure. It's one of those amazingly versatile yet not-really-major changes that no one ever feels is needed, so it's rarely implemented, but then along comes someone like Wonko and makes it happen, and suddenly everyone's enjoyment of life goes up slightly.

(In other news, my fancy clock-style of fanciness is almost done, methinks. I Just took another brief break from working on it due to other distractions, but I'm basically done with everything except making the clock update every second even when show seconds is disabled, but I'm happy to "release", if not to the repos just yet, it even without that bit.)

Sidenote: Is it possible to reduce the gap between the clock's drawing area and the beginning of the signal bars in a way that could be specified in-clock-style?

NightShift79 2011-01-29 21:37

Re: [Announce] Advanced Clock Plugin
 
any chance we can get custom settings for clock in portrait mode?

Mentalist Traceur 2011-01-29 22:01

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by NightShift79 (Post 931512)
any chance we can get custom settings for clock in portrait mode?

Doable. Not sure anyone will bother.

(Clock styles can use DBus to find out if they're in portrait mode or not - so can the main clock.py. Question is, does Wonko or anyone else have the time to make it happen?)

- Edit -

That said, when I get my clock-style all nice and done so much that I'm happy with it, I'll be happy to see if these other things can be implemented.

prattmic 2011-01-29 22:13

Re: [Announce] Advanced Clock Plugin
 
Very nice app. One thing I noticed, however, is that when the alarm indicator is disabled, the rest of the status area does not more over to fill in the empty space. This leaves an awkward amount of space after the time. Is there any way to get rid of this?

Thanks

Mentalist Traceur 2011-01-29 22:18

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by prattmic (Post 931534)
Very nice app. One thing I noticed, however, is that when the alarm indicator is disabled, the rest of the status area does not more over to fill in the empty space. This leaves an awkward amount of space after the time. Is there any way to get rid of this?

Thanks

Do you mean when it's completely disabled, or when you have the alarm indicator enabled, but the alarm isn't set? And are you using an icon for your alarm indicator, or the default cairo-drawn circle?

What clock style are you using? Which ones have you noticed this problem on? (It resizes fine for me.)

msa 2011-01-29 22:20

Re: [Announce] Advanced Clock Plugin
 
after installing this (great app btw), the alarm symbol next to the clock gets replaced with a boring red dot.

can anyone provide me with the original bell-icon?

Wonko 2011-01-30 00:01

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by msa (Post 931542)
after installing this (great app btw), the alarm symbol next to the clock gets replaced with a boring red dot.

can anyone provide me with the original bell-icon?

You can use the alarm indicator icon option to select a custom icon.
Note: the icon needs to be in /home/user/MyDocs.
To get the "stock" alarm indicator you can copy the icon from /usr/share/icons/hicolor/18x18/hildon/general_alarm_on.png to MyDocs and then select it.

By the way, I am currently working on getting version 0.14.0 ready.
Though, I don't know what the final features will be.
One goal I am currently trying to achieve is to support custom images for digits.
This would enable even more options for custom theming/design.
I already fixed some issues with respect to font scaling etc. and added twelve hour mode for the binary clock as already suggested in here.

skykooler 2011-01-30 03:32

Re: [Announce] Advanced Clock Plugin
 
Wonko: What is the main script, and where does it draw the custom clock? I would prefer not to use a refresh rate variable, as that would result in a clock being drawn, say, 30 times a second. The animation, however, would only go for maybe half that time - so I would only need the first 15 redraws, the rest would just be wasting processor. Also, for a clock that doesn't show seconds, the benefit of redrawing a fixed number of times in a loop is huge: 15 redraws per minute (all in the first half-second) vs. 1800 redraws per minute. This is why I would like to find out where I can explicitly ask for a redraw, instead of just letting the main clock script give me one.

Mentalist Traceur 2011-01-30 07:49

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by skykooler (Post 931643)
Wonko: What is the main script, and where does it draw the custom clock? I would prefer not to use a refresh rate variable, as that would result in a clock being drawn, say, 30 times a second. The animation, however, would only go for maybe half that time - so I would only need the first 15 redraws, the rest would just be wasting processor. Also, for a clock that doesn't show seconds, the benefit of redrawing a fixed number of times in a loop is huge: 15 redraws per minute (all in the first half-second) vs. 1800 redraws per minute. This is why I would like to find out where I can explicitly ask for a redraw, instead of just letting the main clock script give me one.

Couldn't you then have your clock style check whether seconds are shown?

Alternatively, I agree, it's not the MOST versatile system per se, but what exactly is your solution? Implement a way for the clock style to just 'call' for a redraw at any step? What do people who want to specify a redraw exactly every X-time-interval do then? Write an entire if-then loop just to check to see if the appropriate amount of time elapsed? (Not a big deal, but extra resources yet again.)

HOWEVER, I don't see why both can't be done. Having both a callable-from-within-clock-style 'redraw' function, and a refresh rate variable. Yet again, more customizable-ness, and the developers of clock styles can chose which one they feel fits better with what they want. (Well, other than extra work for Wonko, but hey, that's why this is open source, and uncompiled python no less.)

Also, I'm pretty sure main script is /opt/maemo/usr/lib/advanced-clock-plugin/clock.py /usr/lib/hildon-desktop/advanced-clock-plugin.py

Looks like lines 159 - 168 is what you want in that file... And it looks like you CAN just have an 'update every second' that can be set to true in-clock-style, and then you can add another or condition to line 165.

That bit of the code makes me think that it only updates once a second though. You may have to go higher up in the code and change how precisely it fetches the time, or you may also include a "or [enable forceable redraw variable name]" in the aforementioned line 165. And so then if you can call that function from within the clock style, and have set the variable to true in your init area, it won't bother checking if the time changed. (If python works that way. Way out of my league right now.)

That's how I'm envisioning it would be best from my limited perspective, though: Make two new variables, one for redraw-every-second, one for allow-forced-redraws. Include both of those in their own "or"s in the if statement on line 165 of the advanced-clock-plugin.py file.

But you guys understand this a lot better than me, and I'm a complete python newb still, so yeah. I'm sure you can think of something better/more efficient/whatever.

Wonko 2011-01-30 22:09

Re: [Announce] Advanced Clock Plugin
 
Alright,
I just uploaded version 0.14.0 to extras-devel.
Besides fixing some minor issues this version adds:
- support for using custom images for drawing the digits,
- support for animated gifs,
- and a working twelve hour mode for the binary clock.

The "custom images" feature should work with any of the present "stock" clocks that write digits as text.
The "animated gifs" feature currently only works well with the "Decimal Clock".
For the animated gifs feature to work it is important that:
- the animated gifs do not loop,
- and the animation time is shorter than one second.
Overall the new functionality is still pretty experimental.
I'd appreciate if you report any bugs you find either here, or even better in the projects bugtracker.
The settings user interface is also not 100% correctly implemented yet: it displays "." and ".." as entries.
I'll fix this but I finally wanted to get this version out in the wild so that you can leave feedback about the new features.


With respect to the "main loop":
Actually, there is no real main loop in the code in the sense that you would see some "infinite loop" that sleeps for some time and keeps triggering the updates.
Instead I used gobject.timeout_add to add a timer which triggers the updates in intervals of one second.
If the show seconds option is false then the logic checks whether the value for minutes has changed to determine whether an update is needed.
This whole logic is in "/usr/lib/hildon-desktop/advanced-clock-plugin.py".

In the current code for handling animated gifs I also used gobject.timeout_add to "install" a timer which triggers the updates for the animations.
Actually, this could also be a possibility to get an animation done.
Though, you have to keep in mind that the animation should not loop (i.e., eventually finishes) and it does not run longer than one second.
Else, for those who really want a fast refresh for having animations all the time could change the refresh delay in the gobject.timeout_add calls in "/usr/lib/hildon-desktop/advanced-clock-plugin.py".

cy8aer 2011-01-30 22:38

Re: [Announce] Advanced Clock Plugin
 
I just made an upgrade from 0.13.0 to 0.14.0 and...

... it does not startup anymore :( so no clock in the statusbar anymore.

Are there any clues to get it work again?

Wonko 2011-01-30 23:24

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by cy8aer (Post 932189)
I just made an upgrade from 0.13.0 to 0.14.0 and...

... it does not startup anymore :( so no clock in the statusbar anymore.

Are there any clues to get it work again?

I just uploaded version 0.14.1 to extras-devel which should fix the problem.

Edit: There was still a problem in packaging which affected the new functionality.
Edit 2: Well I was somewhat clumsy on packaging this time.
Hopefully, 0.14.5 is in a good shape.

Scottlfa 2011-01-31 02:09

Re: [Announce] Advanced Clock Plugin
 
Mine did the same thing, fiddled with it for an hour or so then removed it. Reboot and old clocks back.

tuxoutpost 2011-01-31 02:40

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by rhastdan (Post 926075)
flip-clock widget like the HTC anyone??

Try this: [Announce] Queen BeeCon Widget - Flipclock Widget

Wonko 2011-01-31 08:19

Re: [Announce] Advanced Clock Plugin
 
If you experience issues with Advanced Clock Plugin please run the following as root and post the output here:
Code:

DEBUG_OUTPUT=1 /usr/bin/hildon-status-menu
Edit:
As far as I can tell version 0.14.5 installs well.
Though, there still might be issues for others.
To help track down these issues please post the output as mentioned above.

skykooler 2011-02-01 02:14

Re: [Announce] Advanced Clock Plugin
 
1 Attachment(s)
Quote:

Originally Posted by Wonko (Post 932164)
In the current code for handling animated gifs I also used gobject.timeout_add to "install" a timer which triggers the updates for the animations.
Actually, this could also be a possibility to get an animation done.
Though, you have to keep in mind that the animation should not loop (i.e., eventually finishes) and it does not run longer than one second.
Else, for those who really want a fast refresh for having animations all the time could change the refresh delay in the gobject.timeout_add calls in "/usr/lib/hildon-desktop/advanced-clock-plugin.py".

So I could just make a set doing up all the numbers something like this?
http://talk.maemo.org/attachment.php...1&d=1296526354

porselinaheart 2011-02-01 02:42

Re: [Announce] Advanced Clock Plugin
 
waiting patiently for a flip clock, :P

skykooler 2011-02-01 05:36

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by porselinaheart (Post 933054)
waiting patiently for a flip clock, :P

working on it...

Wonko 2011-02-01 09:06

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by skykooler (Post 933045)
So I could just make a set doing up all the numbers something like this?

Exactly, with the above mentioned limitations (animation time < 1 second and the animation has to be non-looping).
For an example of how things work look at the provided test-animated image set.

For animated images you need one animated image (animated gifs work, don't know about other animated formats) with the digit name, e.g. "1.gif" and another static/non-animated image showing the final frame of the animated image called, e.g. "1_static.gif" (the "_static" suffix is important).
This is important because the animation is only played for digits that have changed since the last update.

Also, I noticed there are currently some "issues" when using transparency.
I.e., the frames of an animation are drawn one onto another.
Hence, when later frames have transparent regions that had not been transparent in earlier frames the earlier frames will "shine through".

qwertyberty 2011-02-01 10:37

Re: [Announce] Advanced Clock Plugin
 
Nice work Wonko, just been messing with the test.png files.

https://lh3.googleusercontent.com/_8...201-103026.png

It's not animated but it's a nice change from a plain font. :D

iscio 2011-02-01 10:40

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by qwertyberty (Post 933244)
Nice work Wonko, just been messing with the test.png files.

https://lh3.googleusercontent.com/_8...201-103026.png

It's not animated but it's a nice change from a plain font. :D

wow, could you give us more explanation for this clock?

sentri 2011-02-01 13:27

Re: [Announce] Advanced Clock Plugin
 
When I have alarm enabled, the clock seems to work fine but when I disable all alarms it shows 5:14:07 as the alarm time and the red dot for alarm is always showing. Does anyone else have this kind of behaviour?

qwertyberty 2011-02-01 13:39

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by iscio (Post 933248)
wow, could you give us more explanation for this clock?

You just need a static png file for each number. name them 1.png, 2.png... etc.
I nicked Qosimo's pngs from the qbw flipclock thread and resized them to 25 X 36.
https://lh5.googleusercontent.com/_8...201-132708.png

Create a folder in home/opt/maemo/usr/lib/advanced-clock-plugin/digits. Name the folder whatever you like.
https://lh6.googleusercontent.com/_8...201-132637.png

In the advanced clock plugin settings select;
- use images for drawing digits
and select the image set you created.
https://lh4.googleusercontent.com/_8...201-132613.png

Thanks again to Wonko, qosimo, etc...

iscio 2011-02-01 13:45

Re: [Announce] Advanced Clock Plugin
 
ok thank you for this explanation....
could you upload the resized images? thanks

qwertyberty 2011-02-01 14:12

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by iscio (Post 933350)
ok thank you for this explanation....
could you upload the resized images? thanks

here you go :)

https://sites.google.com/site/johnny...edirects=0&d=1

iscio 2011-02-01 14:30

Re: [Announce] Advanced Clock Plugin
 
thank you very much

rotoflex 2011-02-01 14:42

Re: [Announce] Advanced Clock Plugin
 
It could be fun using Nixie tube numbers for this:

http://commons.wikimedia.org/w/index...+nixie&button=

http://commons.wikimedia.org/w/index...+nixie&button=

iscio 2011-02-01 15:07

Re: [Announce] Advanced Clock Plugin
 
beautifull numbers...if you resize them upload on a site :-)

iscio 2011-02-01 15:48

Re: [Announce] Advanced Clock Plugin
 
2 Attachment(s)
Quote:

Originally Posted by qwertyberty (Post 933346)
You just need a static png file for each number. name them 1.png, 2.png... etc.
I nicked Qosimo's pngs from the qbw flipclock thread and resized them to 25 X 36.
https://lh5.googleusercontent.com/_8...201-132708.png

Create a folder in home/opt/maemo/usr/lib/advanced-clock-plugin/digits. Name the folder whatever you like.
https://lh6.googleusercontent.com/_8...201-132637.png

In the advanced clock plugin settings select;
- use images for drawing digits
and select the image set you created.
https://lh4.googleusercontent.com/_8...201-132613.png

Thanks again to Wonko, qosimo, etc...

sorry but I did as you said but I see a black block.

rotoflex 2011-02-01 16:10

Re: [Announce] Advanced Clock Plugin
 
I re-sized the round ones to 36x36 pngs, but they don't display:
http://www.sendspace.com/file/dbu62g

Filesize for each png is large, I probably should have compressed more than 50%.

Wonko 2011-02-01 16:31

Re: [Announce] Advanced Clock Plugin
 
One thing which could cause the problem are missing image files.
You need a complete set like in test-png, i.e., you also need the "períod.png", "space.png" etc. files as well.
For a start you could try copying these files from the test-png set and see if this solves your issues.

To get further output of what is going wrong you can launch the status menu as follows (as root):
Code:

DEBUG_OUTPUT=1 /usr/bin/hildon-status-menu
Note: you need to terminate it with CTRL-C if started this way.
Also, to get your clock "fixed" afterwards run (as root):
Code:

pkill -f /usr/bin/hildon-status-menu

qwertyberty 2011-02-01 18:53

Re: [Announce] Advanced Clock Plugin
 
Quote:

Originally Posted by Wonko (Post 933469)
One thing which could cause the problem are missing image files.
You need a complete set like in test-png, i.e., you also need the "períod.png", "space.png" etc. files as well.
For a start you could try copying these files from the test-png set and see if this solves your issues.

Sorry,:( I forgot about mentioning those other files.
I used the test.png ones.

skykooler 2011-02-01 19:04

Re: [Announce] Advanced Clock Plugin
 
I made a flip clock theme, however all digits animate continually and the seconds run away. What am I doing wrong?

Edit: I was using looping gifs. Duh.

skykooler 2011-02-01 19:24

Re: [Announce] Advanced Clock Plugin
 
1 Attachment(s)
I have a set of gifs for a flip-clock. Extract to /home/opt/usr/lib/advanced-clock-plugin/digits.

Wonko: It seems the display isn't completely refreshed each frame, so my flipping bits leave a trail - would it be possible to remedy this?

Mentalist Traceur 2011-02-01 19:45

Re: [Announce] Advanced Clock Plugin
 
Wonko: If I were to figure out how to implement an any-clock-style-usable refresh-every-second option, and submitted it to you, would you actually include it in the Advanced Clock Plugin?

If so, would you prefer the way I can do easily in the current frame-work - stick it as a boolean in gconf - or would you rather I tried to figure out how to make it just a variable that's not saved anywhere? (GConf is the one I can simply do based on what I already see in the code - however, it would either have to be integrated into the settings applet, or one clock-style would leave it set to true while another that doesn't need it would end up refreshing once-a-second even when only showing minutes.)

Also, is there a way I can check a variable being set in the individual clock-style from advanced-clock-plugin.py? Creating a self.whatever = 1 in the init of the clockstyle and checking for it from within advanced-clock-plugin.py doesn't throw any horrible errors that I can see, but it doesn't actually work (in fact, if you switch off show seconds while doing this, then switch it back on, the clock stops refreshing every second).

(Back to fiddling I go. Damn it my clock-style will see the light of day...)

- Edit -

Also, I just noticed my Clock applet is gone from the status-menu. Was that supposed to happen? The last thing I did was update this and NMap. And I doubt NMap had to do with it.

- Edit 2 -

status-menu.conf is fine, I see you brought in your own clock-plugin.desktop (and saved a backup of the last one). I approve. I was already contemplating this myself for a while, never got around to suggesting it because of all the other stuff going on. Looking forward to what this will eventually develop into.

skykooler 2011-02-01 21:19

Re: [Announce] Advanced Clock Plugin
 
1 Attachment(s)
Here is a screenshot of my flip clock. You can see what I mean about the trail.

Wonko 2011-02-01 21:48

Re: [Announce] Advanced Clock Plugin
 
1 Attachment(s)
I just uploaded version 0.15.0 to extras devel.
This version adds two Nixie Tube image sets based on the images rotoflex linked.

@Mentalist Traceur
Did you get your issue resolved?
I changed the way Advanced Clock Plugin hooks itself into the system because I got some reports about people having issues with the old solution.

The old solution was that I used sed etc. to modify "/etc/hildon-desktop/status-menu.plugins".
Now I am replacing "/usr/share/applications/hildon-status-menu/clock-plugin.desktop" with my own version and keeping a "backup" of the original one in "/usr/share/applications/hildon-status-menu/clock-plugin.desktop.distrib".
Unfortunately, my first attempt was not working correctly.
Version 0.15.0 should fix this issue.

I attached the original clock-plugin.desktop file just in case someone messes up its own as I did while struggling with that issue.

@skykooler
Yes, that's the issue I meant with respect to transparent areas in animations.
As for a quick fix:
Would it be possible to surround the images with some kind of frame such that there are no transparent areas in the animation?

I tried to find a better solution ever since I am aware of this issue.
Though, unfortunately I didn't find a satisfying solution yet.
I had one approach that used a rectangle on a cairo context to "overdraw" the last animation frame with "transparency" (basically erase a rectangular area in which the animation happens) prior to drawing the next animation frame.
Though, this approach caused the animation to flicker.

Maybe someone with more expertise in (py)gtk pixbuf and drawable/drawing area has a better idea?

Hootenholler 2011-02-01 23:03

Re: [Announce] Advanced Clock Plugin
 
Just to say that as of the latest version, (0.15.0) "Clocks & Alarms" is no longer showing in the status menu. :(

msa 2011-02-01 23:09

Re: [Announce] Advanced Clock Plugin
 
a small feature request:
it would be nice if one could set the default maemo-clock. i dont want to uninstall this just to get the maemo clock back.


All times are GMT. The time now is 07:36.

vBulletin® Version 3.8.8