[Q] Calendar code questions - calendar event lookahead time - Zooper Widget General

My current calendar code is the following:
Code:
#C0SEEE#: $#C0D#=1?All Day:#C0SHH.mm#$ | [tr=17]#C0TITLE#[/tr]
Is there a way to set calendar event lookahead time for seven days? I mean that if the next event is within the next 7 days, show it. If not, don't show it.
Also another question. Is it possible to show the event date if the event is not today and hide the date if event is today?

This can be done with Tasker. If you want, i can upload the profile that i use on my tab

drsood said:
This can be done with Tasker. If you want, i can upload the profile that i use on my tab
Click to expand...
Click to collapse
Sure, that would be nice. Can't it be done without Tasker?

If you write this code in Advanded Parameters
[c]$#C0STd#>7?#00000000$[/c]
text will be hided if it is more than seven days from now

cierzo said:
If you write this code in Advanded Parameters
[c]$#C0STd#>7?#00000000$[/c]
text will be hided if it is more than seven days from now
Click to expand...
Click to collapse
Thank you really much! I'll try that

Tasker profile
Eldmor said:
Sure, that would be nice. Can't it be done without Tasker?
Click to expand...
Click to collapse
Sorry for replying late. Was busy :cyclops:
Anyways, please find attached the profile I use.
A few things to note:
1) %caldays variable is set to value 0:6 currently. And that will show calendar entries for next 7 days. Change it to 0:13, for example, if you want to show the entries for next 14 days. Customize as per your need
2) In line 6, you can set the zooper variable as per your need. One very important thing here is that you need to add " °" next to %lup otherwise it wont work as expected
3) Create a Zooper richtext widget, click "edit text manually" and set it to
$#Tcalx#$
4)Dont set the tasker profile to update at 12:00 midnight, it doesnt work porperly. Just add a minute or 2 for it to work as expected
I hope its not too confusing. :silly: Just give it a shot.
It would be nice if someone can post a better solution

Related

[Q] Is it possible to create a picture widget that changes the picture randomly?

Is it possible to create a widget that will draw images randomly from a designated folder. I've been searching to see if someone has done something similar to this but it looks like the closest I can get is using the images as an iconset although I still don't know how I would have Zooper pull the images randomly (I want to add to the folder occasionally). Is this something that I could do by adding in Tasker?
Any ideas?
I currently have an image widget on one of my homescreens and the way I do it is as follows:
I basically add each photo as a bitmap: So you add a bitmap module and then you navigate to the photo you want in your device gallery. After choosing your photo, you need to add advanced parameters that will control the bitmap opacity at a certain time during the day.
[bo][/bo] is used for bitmap opacity
#DH# is used for local hour during the day (0-23)
my conditional is set up as follows for my first photo.
[bo]$#DH#>=16&&#DH#<22?100:0$[/bo]
What this means is that if the current local time on my device is between the hours of 16 to 22 (4pm to 10pm) then set the bitmap opacity to 100%, else set it to 0%. You can theoretically set this up to have a max of 24 photos (one per hour) each day that continually loops. Mine is set up in intervals of 6 hours (4 photos total) but I plan on changing the values to allow for more.
The next one would be:
[bo]$#DH#>=22||#DH#<04?100:0$[/bo]
Notice I use an OR statement || versus an AND statement && because the value goes from 0-23 and if you used an && here the image would never display because of the conflicting conditional.
http://www.webermatters.com/blog/zooper-conditional-statements/
This is a good website that outlines conditional statements in ZW.
I'm assuming this is sort of what you are going for with your widget? It's not really "random" per se but it gets the job done. Not quite sure what you could do involving tasker.
greckia said:
I'm assuming this is sort of what you are going for with your widget? It's not really "random" per se but it gets the job done. Not quite sure what you could do involving tasker.
Click to expand...
Click to collapse
I was thinking about doing exactly this or possibly applying weather conditions to various pictures also. It doesn't really look like it's possible to add a random factor but this should do the trick.
Your steps are exactly what I needed.
Thanks
crios42 said:
It doesn't really look like it's possible to add a random factor
Click to expand...
Click to collapse
There is mathematical function you can use called rand...
Izzy Lamantia helped me out with this ...
The random function provides a number between 0*1, like 0.866390265. Let's say you had 10 pictures (named 1.jpg, 2.jpg, etc.) you wanted to randomize on the hour:
$#Dm#=0?(int(random()*10)$.jpg
So again, on every hour a random number will be generated, multiplied by 10, and return it as an integer 0.866390265 x10= 8.66390265, as an integer 8. 
chandlerweb said:
There is mathematical function you can use called rand...
Izzy Lamantia helped me out with this ...
The random function provides a number between 0*1, like 0.866390265. Let's say you had 10 pictures (named 1.jpg, 2.jpg, etc.) you wanted to randomize on the hour:
$#Dm#=0?(int(random()*10)$.jpg
So again, on every hour a random number will be generated, multiplied by 10, and return it as an integer 0.866390265 x10= 8.66390265, as an integer 8. 
Click to expand...
Click to collapse
So I would need to label the images: 1.png (I'm using png's), 2.png, 3.png, etc...?
Would the limit then be 10 images? If I wanted to use more than 10 images I could x 100 but then I'm guessing I would need to assign each image a range, if n >= 25 and n < 30 then x.png and so on. Can that be done?
Also, I'm a little unclear about how bitmap absolute path works. Is there a specific folder that I would need to put my bitmaps in? Looking at this example it seems that I can pick any folder I want.
It's awesome to hear that this can be done. I just need to work out the details now.
chandlerweb said:
$#Dm#=0?(int(random()*10)$.jpg

Click to expand...
Click to collapse
I was having some trouble getting this working but I finally found that there needs to be an extra set of parentheses.
$#Dm#=0?(int(random())*100)$ which give me a 2 digit number.
Now... I either have to pick 100 images (and label them 0-99, or is it 1-100?) or find a way to give the images a range.
If I have 2 separate widgets using the same parameters and drawing from the same folder, will the random number be the same or different in each of the widgets?
crios42 said:
I was having some trouble getting this working but I finally found that there needs to be an extra set of parentheses.
$#Dm#=0?(int(random())*100)$ which give me a 2 digit number.
Now... I either have to pick 100 images (and label them 0-99, or is it 1-100?) or find a way to give the images a range.
If I have 2 separate widgets using the same parameters and drawing from the same folder, will the random number be the same or different in each of the widgets?
Click to expand...
Click to collapse
Sorry for the delay in getting back to you
You would need 100 images and label them 1-100 if your multiplier is 100. You would need, say, 123 images and label them 1-123 if you multiplier is 123 i.e. $#Dm#=0?(int(random())*123)$
In my experience, the number generated is always different even if two random functions are performed at the same time although there is always the possibility that it will occasionally be the same.
I can't seem to get the widget working.
Here are the parameters I'm using $#Dm#=43?/sdcard/Pictures/Pics1/(int((random())*10)).png$.
Ignore the 43. Whatever time it is, I just add a minute so that I don't have to wait long to see if the widget will update.
I thought it might be the file path so I tried a few others:
/storage/sdcard0/Pictures/Pics1/
/emulated/0/Pictures/Pics/
Any ideas?
is it possible to create a picture
I had tried it many times but that does not work out
Not sure if OP is still wanting an answer to this or not. I'm still working on getting this perfect but hopefully this will help someone.
Create a folder on your sd card and put 10 jpg's in there titled 1.jpg through 10.jpg
Create a Zooper Widget and add a bitmap layer
do not choose an image, instead select Advanced Parameters and insert the following code
/sdcard/full path to image folder/$#Dm#>0?(int((random())*10)))$.jpg
If the above is correct then the example box should list /sdcard/full path to image folder/*.jpg
What does this do? If the minute is greater than 0 it will generate a pseudo-random number between 1 and 0. If you have set Zooper to update when the screen is off then you will want to replace the ">" with "=" so it only updates once an hour. You can make further adjustments by using Dh for hours rather than minutes. As stated above you can increase the images by multiplying by 100.
I wrote it like I did because I don't let Zooper update while the screen is off. If I changed the image on the hour it would likely not update the image because I would have to have my screen on at the beginning of each hour. As it is, it changes the image every 10 seconds or so whenever I have the screen on.
I am open to other modifications of this so I can keep Zooper configured to not update when the screen is off, and only change the images every 10 minutes or so.
Also, you may want a fallback image so you have something to display while you wait to whatever condition needs to be meet in order for Zooper to generate the random number.
SoldierOfCatan said:
Not sure if OP is still wanting an answer to this or not. I'm still working on getting this perfect but hopefully this will help someone.
Create a folder on your sd card and put 10 jpg's in there titled 1.jpg through 10.jpg
Create a Zooper Widget and add a bitmap layer
do not choose an image, instead select Advanced Parameters and insert the following code
/sdcard/full path to image folder/$#Dm#>0?(int((random())*10)))$.jpg
If the above is correct then the example box should list /sdcard/full path to image folder/*.jpg
What does this do? If the minute is greater than 0 it will generate a pseudo-random number between 1 and 0. If you have set Zooper to update when the screen is off then you will want to replace the ">" with "=" so it only updates once an hour. You can make further adjustments by using Dh for hours rather than minutes. As stated above you can increase the images by multiplying by 100.
I wrote it like I did because I don't let Zooper update while the screen is off. If I changed the image on the hour it would likely not update the image because I would have to have my screen on at the beginning of each hour. As it is, it changes the image every 10 seconds or so whenever I have the screen on.
I am open to other modifications of this so I can keep Zooper configured to not update when the screen is off, and only change the images every 10 minutes or so.
Also, you may want a fallback image so you have something to display while you wait to whatever condition needs to be meet in order for Zooper to generate the random number.
Click to expand...
Click to collapse
I did the above, but had to add an extra parentheses before the word "int" to get it to display properly in the example box.
/sdcard/full path to image folder/$#Dm#>0?((int((random())*10)))$.jpg
However, when I save and exit out of the Zooper, it still just shows the default "folder" icon. I have it pointing to 1-10.jpg in a folder called "test" on my internal SD. I also tried the code in the advanced parameters of an existing picture I had on my widget, and it didn't do anything either.
HA! Figured it out. What a dummy I am. You have to put the b tags first
[*b]/sdcard/full path to image folder/$#Dm#>0?((int((random())*10)))$.jpg[/b]
(without the asterisk I couldn't get it to show since it's the same code for "Bold" on the forum)
rachelm920 said:
HA! Figured it out. What a dummy I am. You have to put the b tags first
[*b]/sdcard/full path to image folder/$#Dm#>0?((int((random())*10)))$.jpg[/b]
(without the asterisk I couldn't get it to show since it's the same code for "Bold" on the forum)
Click to expand...
Click to collapse
If you have pictures 1-10 and you use random times 10, wouldn't the only picture that would get displayed be picture 10 (which is when random equals 1, times 10).
Or is the value for ((int((random())*10))) actually limiting the random numbers to be 1-10?
SchmilK said:
If you have pictures 1-10 and you use random times 10, wouldn't the only picture that would get displayed be picture 10 (which is when random equals 1, times 10).
Or is the value for ((int((random())*10))) actually limiting the random numbers to be 1-10?
Click to expand...
Click to collapse
I actually have 66 pictures and the number increases everyday, since they're pictures of my boyfriend and he's constantly sending me new ones... or we're taking new ones etc. LOL I just change the number it multiplies by as the pictures increase.
I'm not sure if number one gets displayed... I could however rename picture one to 67 so there's never a problem. Since there's so many its hard to tell.
rachelm920 said:
HA! Figured it out. What a dummy I am. You have to put the b tags first
[*b]/sdcard/full path to image folder/$#Dm#>0?((int((random())*10)))$.jpg[/b]
(without the asterisk I couldn't get it to show since it's the same code for "Bold" on the forum)
Click to expand...
Click to collapse
mate, i did following your code but in zooper widget, it only shown folder icon, i use .png picture, so this is correct, it must be jpg ?
Oohhlala said:
mate, i did following your code but in zooper widget, it only shown folder icon, i use .png picture, so this is correct, it must be jpg ?
Click to expand...
Click to collapse
Not sure I only tried it with .jpg
Sent from my SAMSUNG-SGH-I747 using Tapatalk
You should be able to do this with tasker/zooper integration. I have a weather radar image that I download via tasker. Due to how zooper buffers images I haev to change the filename each time I refresh the image. The new alternating path to the image is passed from tasker to zooper. First time is w1.jpg, next time is w2.jpg. This idea could be extended for images in a folder.

Calendar color

I'd like to color events for current day. Right now its colors my next event which is days away.
Ideas are appreciated.
admiral70 said:
I'd like to color events for current day. Right now its colors my next event which is days away.
Ideas are appreciated.
Click to expand...
Click to collapse
Use the following code as an advanced parameter on your calendar text field and put in the color you want to use as highlight:
Code:
$#C0SddMM#=#DddMM#?[c]<the_highlight_color_you_want[/c]$
If you display more than one event, you need to use this code on every module and replace C0 with C1, C2, ...
Thank you for the reply. Here is my dilemma, when it still highlights the next event even if it is not the current day. I was hoping to highlight only if the event is in the current day. Hope I am explaining this correctly.
Thank you for replying I appreciate it.
kwerdenker said:
Use the following code as an advanced parameter on your calendar text field and put in the color you want to use as highlight:
Code:
$#C0SddMM#=#DddMM#?[c]<the_highlight_color_you_want[/c]$
If you display more than one event, you need to use this code on every module and replace C0 with C1, C2, ...
Click to expand...
Click to collapse
admiral70 said:
Thank you for the reply. Here is my dilemma, when it still highlights the next event even if it is not the current day. I was hoping to highlight only if the event is in the current day. Hope I am explaining this correctly.
Thank you for replying I appreciate it.
Click to expand...
Click to collapse
This is exactly what the code is doing! It checks if the event dayMonth combo equals to todays dayMonth combo and only if that is true it sets the color of the text to the set highlight color.
Decided to get your calendar from your signature... Thank you
Perhaps that is the issue I need to mimic the advanced entry a little?
kwerdenker said:
Use the following code as an advanced parameter on your calendar text field and put in the color you want to use as highlight:
Code:
$#C0SddMM#=#DddMM#?[c]<the_highlight_color_you_want[/c]$
If you display more than one event, you need to use this code on every module and replace C0 with C1, C2, ...
Click to expand...
Click to collapse
kwerdenker said:
This is exactly what the code is doing! It checks if the event dayMonth combo equals to todays dayMonth combo and only if that is true it sets the color of the text to the set highlight color.
Click to expand...
Click to collapse

Link am/pm marker to event calendar time

Hi,
I remember reading once how to link to am/pm marker to a calendar event. So that if you are in the AM and looking at a calendar event in the PM, the calendar event time will display correctly.
I know it is some combination of #C0Sh:mm# and #Da# but for some reason when I write #C0Sh:mm Da# I get "3:00 350PM" and when I type #C0Sh:mm da# I get "3:00 16PM"
I have done this is the past successfully, anyone know the correct format?
Also, is there a way to force the AM/PM markers to lowercase
Any help is much appreciated
Thanks,
Brad
restinbeast said:
Hi,
I remember reading once how to link to am/pm marker to a calendar event. So that if you are in the AM and looking at a calendar event in the PM, the calendar event time will display correctly.
I know it is some combination of #C0Sh:mm# and #Da# but for some reason when I write #C0Sh:mm Da# I get "3:00 350PM" and when I type #C0Sh:mm da# I get "3:00 16PM"
I have done this is the past successfully, anyone know the correct format?
Also, is there a way to force the AM/PM markers to lowercase
Any help is much appreciated
Thanks,
Brad
Click to expand...
Click to collapse
The D is used to identify a date tag and the a is the AM/PM marker. If you want do use it in a calendar event tag, you have to omit the D and use just the a. In your case that would read:
Code:
#C0Sh:mm a#
Now, if you want to force it to small caps, you'll have to use a Rich Text Module with the [tl][/tl](to lowercase) BBCode and split up the tags so it looks like this:
Code:
#C0Sh:mm# [tl]#C0Sa#[/tl]
Hope this helps you out
kwerdenker said:
The D is used to identify a date tag and the a is the AM/PM marker. If you want do use it in a calendar event tag, you have to omit the D and use just the a. In your case that would read:
Code:
#C0Sh:mm a#
Now, if you want to force it to small caps, you'll have to use a Rich Text Module with the [tl][/tl](to lowercase) BBCode and split up the tags so it looks like this:
Code:
#C0Sh:mm# [tl]#C0Sa#[/tl]
Hope this helps you out
Click to expand...
Click to collapse
Many thanks (hit the thanks button)
I need to write this down, second time I had to ask for help on this. Some kind of mental block with it heh.

[Q] 1) Last (passed) Calendar Event 2) Widget Scroll

Hi all,
I've 2 questions about this fantastic App!:
1) Last (passed) Calendar Event
I've created a widget to display Calendar Events; it works ok but I've a request:
Is it possible to show last passed Event?
E.G. I set one event today from 8:00am to 9:00am
I see this event since 9:00am but after this time I don't see this event
Could Zooper show also this passed event?
If Z.W. couldn't I think this is a interesting thing to implement...
2) Widget (or element) Scroll
I read that Z.W. can't scroll ... but: is t possible to scroll text in RichText field?
This is the case:
In my calendar widget I use 1 RichText for every days to show the events in the day.
I've reserved 3 rows for every day (I "print" 1 event on every row) but if in a day I've more than 3 events I see only the first 3 events and I don't see 4th, 5th etc. events.
If RichText could scroll I will solve this problem
... If anyone know other alternative solution...
HyperAbarth said:
Hi all,
I've 2 questions about this fantastic App!:
1) Last (passed) Calendar Event
I've created a widget to display Calendar Events; it works ok but I've a request:
Is it possible to show last passed Event?
E.G. I set one event today from 8:00am to 9:00am
I see this event since 9:00am but after this time I don't see this event
Could Zooper show also this passed event?
If Z.W. couldn't I think this is a interesting thing to implement...
2) Widget (or element) Scroll
I read that Z.W. can't scroll ... but: is t possible to scroll text in RichText field?
This is the case:
In my calendar widget I use 1 RichText for every days to show the events in the day.
I've reserved 3 rows for every day (I "print" 1 event on every row) but if in a day I've more than 3 events I see only the first 3 events and I don't see 4th, 5th etc. events.
If RichText could scroll I will solve this problem
... If anyone know other alternative solution...
Click to expand...
Click to collapse
1) No, Zooper doesn't currently support access to past events. If you want to request it as a feature I would advise you to use the official channel here: http://zooper.themerapp.com/support/discussions/forums/268861
2) There is a trick to "scroll" things in Zooper by using an offset calculated from the current seconds/minutes but it's rather choppy and a huge battery hog. So it's do-able but not simple and - from my perspective - not really advisable.
Thanks a lot for your reply!
But about "scroll" you spoke about offset related to Time; do you have one example?
In your opinion is it possible "scroll" by clicking on a Button (image) on the widget?
Thanks a lot for your reply!
But about "scroll" you spoke about offset related to Time; do you have one example?
In your opinion is it possible "scroll" by clicking on a Button (image) on the widget?
HyperAbarth said:
Thanks a lot for your reply!
But about "scroll" you spoke about offset related to Time; do you have one example?
In your opinion is it possible "scroll" by clicking on a Button (image) on the widget?
Click to expand...
Click to collapse
I never used the trick myself so I don't have an example at hand but I'll look if I can find one for you.
As to your second question: maybe. You would have to use an external tool like Tasker and while you could use an extension of the timing trick to do a "scrolling animation" I think it would be more advisable to just switch between different module functions. For instance you could toggle your three lines of events between showing events 1-3 and 4-6. If you don't have Tasker I could give you a link to an app I once exported from it. With that you get a toggle action and variable to realize what I just described.
kwerdenker said:
I never used the trick myself so I don't have an example at hand but I'll look if I can find one for you.
As to your second question: maybe. You would have to use an external tool like Tasker and while you could use an extension of the timing trick to do a "scrolling animation" I think it would be more advisable to just switch between different module functions. For instance you could toggle your three lines of events between showing events 1-3 and 4-6. If you don't have Tasker I could give you a link to an app I once exported from it. With that you get a toggle action and variable to realize what I just described.
Click to expand...
Click to collapse
Thaks, you reaaly help me!
Regards.
kwerdenker said:
I never used the trick myself so I don't have an example at hand but I'll look if I can find one for you.
As to your second question: maybe. You would have to use an external tool like Tasker and while you could use an extension of the timing trick to do a "scrolling animation" I think it would be more advisable to just switch between different module functions. For instance you could toggle your three lines of events between showing events 1-3 and 4-6. If you don't have Tasker I could give you a link to an app I once exported from it. With that you get a toggle action and variable to realize what I just described.
Click to expand...
Click to collapse
Thanks a lot!
I've Tasker but if you can give me the link of the app you've exported I can see it and try to understand
HyperAbarth said:
Thanks a lot!
I've Tasker but if you can give me the link of the app you've exported I can see it and try to understand
Click to expand...
Click to collapse
Since you have Tasker, I've exported my task as an XML. You can get it here https://www.dropbox.com/s/bziwrbw4azm04t3/Toggle.tsk.xml to import it on your device.
To use it you have to modify your current event modules in the following way
(You'll obviously have to substitute whatever you use to display your events, this is just meant to show the usage of the variable)
Code:
$#TVIEW#=0?#C0TITLE#:#C3TITLE#$
Then to toggle between them set the Task as a Tasker shortcut via the module or widget OnTap option in Zooper. Now you can switch between different display states with a tap on the widget.
Hope this is clear enough for you to understand. If not, just ask
Error, duplicated post. Sorry
I didn't have time to see your XML file I will download it ASAP; but:
How can I manage dates with Zooper?
Example; can I add Days to a date?
For example if today is the 30th Jan. 2014 can I add for example 3 and obtain 2nd feb. 2014?
I didn't find a way to do this in Zooper
Thanks in Advance.
I try to explain you the reason of this question:
I've for example 3 fields on the widget with 3 dates (today, Tomorrow and Day after Tomorrow)
I want to do this:
If I Tap on a field (e.g. "+") the control pass to Tasker and Tasker add a Day to 3 dates... the result is that the 3 fields with date will change the value
E. G.
1st field 15th gen 2014
2nd field 16th gen 2014
3rd field 17th gen 2014
If I tap on field "+" Tasker change the value of the variables and on the widget I will see:
1st field 16th gen 2014
2nd field 17th gen 2014
3rd field 18th gen 2014
... in this way I will create a scrollable calendar widget ... I didn't try to do this; I hope I will able to do this but my problem is that I explained on my question in the top of this post.
I Hope you understand my english
EDIT:
I find in Zooper how to manage "free date"; e.g. 4st of february 2014 at 01:00 is:
#D201402041000#
Then if I want display this date I can create a text like this:
#D201402041000 c dd-MM-yyyy#
and this is the result:
tue 04-02-2014
Now... With Tasker I can create a variable with this Value:
201402041000
E.G. Var1 = 201402041000
If in Zooper I set a Text with: #TVar1# I see:
201402041000
But if I set a text with: #D#TVar1# c dd-MM-yyyy# I see:
#D#TVar1# c dd-MM-yyyy#
Where is my mistake?
Is it possible in Zooper use a Variable like Date?
I've found my mistake; if I write:
#D$#TVar1#$ c dd-MM-yyyy#
It Work
I've found my mistake; if I write:
#D$#TVar1#$ c dd-MM-yyyy#
It Work

Advanced Parameters Question How To?

How do I change the position of a module/item or item(s) within a widget, based on the day of the week? For example, something along the lines of this.. (can't remember exact variables so I'm just gonna use descriptions)
$#dayofweek#=Mon?Rect1positionChangesToXYandText2positionChangesToXW$
How do I do this correctly?
Thanks in advance!
-Ender
Sent from my SCH-I535
ender87i said:
How do I change the position of a module/item or item(s) within a widget, based on the day of the week? For example, something along the lines of this.. (can't remember exact variables so I'm just gonna use descriptions)
$#dayofweek#=Mon?Rect1positionChangesToXYandText2positionChangesToXW$
How do I do this correctly?
Thanks in advance!
-Ender
Sent from my SCH-I535
Click to expand...
Click to collapse
You'll have to assign separate parameters for both the modules. Let's say text 1 & 2.
Supposing you want to move text 1 to the extreme right after 5pm, enter this into the advanced parameters:
[x]$#DHH#>17?90$[/x]
I've assumed that your system clock follows 24 hour format, hence 17 for 5pm. You could make it suit yourself.
It'd be the same for the second element. Just change the axis and the value (90) to locate the edge of your widget.
Enjoy.
sent from my BatPhone.

Categories

Resources