Just Copy SLDte String to SSDte String, and soft reset and you are done.
Sorry if this has been posted.
HAVE FUN!
which version is your HTC plugin ? Mine (freelancer ) does not have those keys . I tried to add manually, but on reboot they were all erased back to default . Can you export the reg key ?
EightEight said:
Just Copy SLDte String to SSDte String, and soft reset and you are done.
Sorry if this has been posted.
HAVE FUN!
Click to expand...
Click to collapse
Thank you a lot, this was something that bothers me a lot on HTC Home, and now it's gone
EightEight said:
Just Copy SLDte String to SSDte String, and soft reset and you are done.
Sorry if this has been posted.
HAVE FUN!
Click to expand...
Click to collapse
this is good, but if the date is december or september and it's a wednesday... i don't think it will look nice.
EightEight said:
Just Copy SLDte String to SSDte String, and soft reset and you are done.
Sorry if this has been posted.
HAVE FUN!
Click to expand...
Click to collapse
Hey EightEight, whats that plug in that has all those icons at the bottom there?
EightEight said:
Just Copy SLDte String to SSDte String, and soft reset and you are done.
Sorry if this has been posted.
HAVE FUN!
Click to expand...
Click to collapse
How to delete Smartone Icon. Because Icon & Date Icon to overlap
THANKS
If you don't like the long notation, you can also do it like this:
SSDte string: dddd, dd-MM-yy
You will see now: thursday, 19-07-07
or
SSDte string: dddd dd-MM-yy
You will see now: thursday 19-07-07
in hkey_local_machine_nls\overriders I have not all strigs
i have only default and LICD....can you help me?
sakky said:
in hkey_local_machine_nls\overriders I have not all strigs
i have only default and LICD....can you help me?
Click to expand...
Click to collapse
Same here...
Ok, here is what I have in my register:
(Default)
DWORD 1 : Name = IDate / DWORD data = 1 / Basis = DEX
DWORD 2 : Name = ITime / DWORD data = 1 / Basis = DEX
DWORD 3 : Name = ITLZr / DWORD data = 1 / Basis = DEX
DWORD 4 : Name = ITMPN / DWORD data = 9 / Basis = DEX
DWORD 5 : Name = ICID / DWORD data = 1043 / Basis = DEX (countrycode for The Netherlands) (from settings, regional settings?)
String 1: Name = SDate / String = -
String 2: Name = SSDte / String = dddd dd-MM-yy (for instance)
String 3: Name = STFmt / String = HH:mm:ss (from settings, regional settings?)
String 4: Name = STime / String = :
It certainly has a relation with the Regional settings.
So also check settings/Regional settings and look at the short and the long date.
Good luck!
eva_d said:
Same here...
Click to expand...
Click to collapse
go to start, settigns, system, regional settings, change parameter on the short date.
look now in registy ....
ok, re-change short date in regional settings and back to registry....now it's possible change all stings
sakky said:
go to start, settigns, system, regional settings, change parameter on the short date.
look now in registy ....
Click to expand...
Click to collapse
With my regional settings (Polish) I have only one option (yy-MM-dd), so I can't change it to other. I guess it's a matter of each locale...
date
i found it on mine. htc home from the kaiser port project here: http://forum.xda-developers.com/showthread.php?t=316107
i personally don't like the long date all that much i prefer yy.MM.dd but it is nice to know where to go to tweak it for later. this also led me to find the reg values to back up custom settings for the launcher =)
eva_d said:
With my regional settings (Polish) I have only one option (yy-MM-dd), so I can't change it to other. I guess it's a matter of each locale...
Click to expand...
Click to collapse
ok... try to tap on only option avalaible and after turn back on registry.
it's probably wm6 autogenreate the registry option only when you try to change options
in my regional settings ( italian) i have default option and yy-MM-dd
There is an easier way if you have HTCustom installed. HTCustom have a short date format hack. I changed mine to ddd, dd/MM/yy
Don't make it too long as it will affect other short date display as well (i.e. in call list, file manager etc...)
eviltuna said:
Hey EightEight, whats that plug in that has all those icons at the bottom there?
Click to expand...
Click to collapse
I believe that is today plugin Resco Explorer
deadeyed said:
I believe that is today plugin Resco Explorer
Click to expand...
Click to collapse
YES, It is Resco Explorer 2007.
thanks for thiis
Derkie's right. So I change the SSDte string to ddd, MMM dd, yyyy.
sakky said:
ok... try to tap on only option avalaible and after turn back on registry.
it's probably wm6 autogenreate the registry option only when you try to change options
in my regional settings ( italian) i have default option and yy-MM-dd
Click to expand...
Click to collapse
You're right! I have now nice date on today screen. Thanks for that!
Can anyone help me remap the home key so it opens VC 1.6. Right now when I press it it opens voice speed dial not VC 1.6.
ch8 said:
Can anyone help me remap the home key so it opens VC 1.6. Right now when I press it it opens voice speed dial not VC 1.6.
Click to expand...
Click to collapse
Which ROM are you running on your device.....?
I am running the rogers WM6 rom
Remap
ch8 said:
I am running the rogers WM6 rom
Click to expand...
Click to collapse
Try to find this download {eT9 Excalibur.0409.Kmap}, I believe this is what you need! Just copy to the Windows folder..................!
Thanks I did d/l the file but I have no idea how to make voice command launch since they are using program codes here.
//
// N O T E: This file must be saved as Unicode
//
// This file contains the virtual keys mapping table for the
// Excalibur device. The mapping table is define as follow
//
// VK_TPOUND = 0x78
// VK_TSTAR = 0x77
// VK_TAB = 0x09
//
// We do not support escape value yet. So the key/char values should be
// entered explicitly or by encoding start with 0x
//
// Format:
// {VK VK' CH1 CH2}
// VK -> value from keyboard driver
// VK' -> printed on keys
// CH1 -> symbols produced by Fn + key
// CH2 -> symbols in 123 mode
// KeyIndex -> matched the kdb key index, 0xff -> no key index
{Q Q % % 0x00}
{1 W 1 1 0x01}
{2 E 2 2 0x02}
{3 R 3 3 0x03}
{T T + + 0x04}
{Y Y ( ( 0x05}
{U U ) ) 0x06}
{I I - - 0x07}
{O O _ _ 0x08}
{P P " " 0x09}
{0x78 A # # 0x0a} // VK_TPOUND maps to Device Button A
{4 S 4 4 0x0b}
{5 D 5 5 0x0c}
{6 F 6 6 0x0d}
{G G / / 0x0e}
{H H ? ? 0x0f}
{J J @ @ 0x10}
{K K $ $ 0x11}
{L L = = 0x12}
{0x77 Z * * 0x13} // VK_TSTAR maps to Z
{7 X 7 7 0x14}
{8 C 8 8 0x15}
{9 V 9 9 0x16}
{B B ' ' 0x17}
{N N & & 0x18}
{M M ! ! 0x19}
{0xBC , ; ; 0xff} // 0xBC = VK_COMMA
{0xBE . : : 0xff} // 0xBE = VK_PERIOD
{0 0x09 0 0 0xff} // 0x30 = VK_TAB
{0xE9 0xE9 0xC1 0xC1 0xff} // Launch Camera with Fn
Copy To The Windows Folder
Copy the download to the Windows folder,don't take the download out of the package leave the download in the package, just copy it to the Windows folder, soft reset the device.
Actually, this is an interesting topic in itself, i.e. remapping the long-press (aka. press-and-hold) functionality of the HOME key. For example, I'd like to change it to be something completely different (perhaps the VITO AudioNotes recorder, for example), and it doesn't look like this can be achieved from fiddling with the keymap (kmap) file.
On the some smartphones, the long press of the HOME key can be tweaked by simply replacing the default application that gets loaded by tweaking the appropriate registry key. For example, on the Motorola Q, the long-press of the HOME key brings up the quickapp.exe (i.e. the "quick list" that seems to come up on my T-Mobile Dash w/WM6 when I quickly press the Power button). So, if I had a Motorola Q, all I'd need to do was go to:
HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Rai\:MSQuickApp\1
and replace quickapp.exe with something else.
I just can't figure out the right place to tweak things for my Dash. All I know is that now when I press-and-hold the HOME key it brings up the Voice Recorder. I can't even find where the Voice Recorder program is stored... it's link file (.lnk) in the Start Menu contains:
22#:MSTNOTES?:notesapp
And I can't seem to find any reference to notesapp (either in the \Windows directory -- e.g. no notesapp.exe or notesapp.lnk, nor in the registry).
My only hint was to look under HKLM\Software\Microsoft\Shell\Rai\:MSTNOTES
but there I found that it was referencing ":MSPOUTLOOK notes"... Another mystery to me. It feels like I'm going through magic rabbit holes like Alice in Wonderland, that lead to nowhere...
Anyone with some further insights on this?
Remap Home key for Voice Command
Will the above keymap change the rest of my keys? I don't know how to read those things, so I can't just create my own keymap by changing that one line.
For me holding the Home key launches Voice Command. Do you have App3 selected as the voice Button? Do you have voice command enabled. I am using an s621 with the Rogers WM6 ROM.
Accidentally I deleted the "Settings" Icon in Program Launcher. How can I get it back? It doesn't appear in the Program List. And for tweaking the registry I needed the actual name of the settings application.
Anyone knowledgeable?
Hi, I almost deleted mine when tweaking start menu icons
You need to edit/change following registry keys:
HKLM\Software\HTC\Manila\ProgramLauncher
there find subkey number corresponding to Your icon (0=Top left, 1=Top Midle, 2=Top Right, 3=Next row left column...).
For command Settings You need to edit these Keys:
- Command = "--switchtopage Manila://settings.page"
- DispName = "Settings"
- IconPath = "\windows\HTC\Assets\Images\programlauncher\Program_icon\settings_88.qtc"
- Path = "\Windows\manila.exe"
ChAr
Thanks, you saved my day!
char said:
Hi, I almost deleted mine when tweaking start menu icons
You need to edit/change following registry keys:
HKLM\Software\HTC\Manila\ProgramLauncher
there find subkey number corresponding to Your icon (0=Top left, 1=Top Midle, 2=Top Right, 3=Next row left column...).
For command Settings You need to edit these Keys:
- Command = "--switchtopage Manila://settings.page"
- DispName = "Settings"
- IconPath = "\windows\HTC\Assets\Images\programlauncher\Program_icon\settings_88.qtc"
- Path = "\Windows\manila.exe"
ChAr
Click to expand...
Click to collapse
just a quick question - could this be a way you could edit those 'LOCKED' icons? i would really like to move some of those around - say having my tomtom up the top etc... i havent found a way round this as yet... :-S
Remove Locked Start Menu / Programs tab Items
Free up the start menu / Programs Tab icons that are there by default and not removable you need to change (Thanks Mallman)
Code:
HKLM/Software/HTC/Manila/ProgramLauncher/0/IsReadOnly
HKLM/Software/HTC/Manila/ProgramLauncher/1/IsReadOnly
HKLM/Software/HTC/Manila/ProgramLauncher/2/IsReadOnly
HKLM/Software/HTC/Manila/ProgramLauncher/3/IsReadOnly
Change this value from 1 to a 0 and you can then edit their shortcuts.
radak23 said:
... i havent found a way round this as yet... :-S
Click to expand...
Click to collapse
*rolls eyes* it's in the wiki and it's in the sticky on this forum...
I decided to pull my Reminder widget information out of How-To-Make-A-CHT-Widget and continue developing. I'll start this thread by pulling relevant posts from the original location.
************************************************
My latest release. See the snapshots.
Change log:
19 Jan 2012: Added Alarms to show on Reminder widget. Added slide to unlock feature to respond to alarm quicker. Also, added some registry tweaks to monitor changes to call reminder just like the task widget does to catch changes to tasks.
04 Jan 2012: Some tweaks trying to get it to update quicker and clean up the code based on things I have learned since the last issue.
19 Sep 2011: Updated since it stopped letting me switch pages or lock the phone properly
03 Sep 2011: Updated since it stopped working for me with the latest ROM flash
30 Jun 2011: Fixed unread event count and improved exclude newline feed if any line in the appointment or task is empty.
24 Jun 2011: Exclude newline feed if a line in the appointment or task is empty.
23 Jun 2011: It has the ability to include date and/or time at the top of the sticky note. I added this feature for my lockscreen to have the date somewhere on the screen and I thought it would be easier than adding date to the clock widget. It uses the date and time settings of CHT.
Modes:
0) Blank - no date or time
1) Date and time in one line
2) Date and time on two lines
3) Date only
4) Time only
Mode 4 looks the same as the fourth picture, but with the time instead of the date.
****************************************
Uploaded the kitchen files
The beginnings of the idea:
RoryB said:
@poyensa: How can I force a linefeed or <cr> in your Note widget?
I would like to force line breaks, but \n or <br> or ^LF^ or ^CR^ do not work.
I am thinking of taking your work and creating a sticky note that shows the most current active reminder or notification, but it would look better if it had line breaks.
Click to expand...
Click to collapse
My hopes for the functionality:
RoryB said:
That is where I am heading. I am thinking of using MortScript to read three registry values and place them into the note registry value with the linebreak so I get
PHP:
Time
Name
Location
for an appointment.
Click to expand...
Click to collapse
Getting it figured out:
RoryB said:
What I have done is added to your note widget and it does give me three lines.
Code:
CHTWNotes1_Text1.String = GetCHTSettingString("Notes1.Text", "Time") .. "\n" .. GetCHTSettingString("Notes2.Text", "Meeting") .. "\n" .. GetCHTSettingString("Notes3.Text", "Location")
I also changed the angle of the text to 5 degrees and the default font size to 14. Now to work out how to:
check if any notifications exist for meetings or tasks
figure out how to get the data of the current active one
and transfer it to the widget
I know the registry keys to check, but the ones for the current active one changes based on a few factors.
Click to expand...
Click to collapse
One of my tries for automatic updating:
RoryB said:
What I have working so far is a Reminder1.mscr and the autorun.exe renamed to Reminder1.exe so I can call it in Handle_CHTWNotes1 = function() . Currently if any of the three CHT registry values change this function runs and updates the sticky. I am trying to use
PHP:
_application.Store:GetValueChangedEvent(Lifetime_Permanent, "CHT.Misc.System.UpTimeExact"):connect(Handle_CHTWNotes1)
to get it to update the sticky note and it seems to work, but not always. It would be much nicer if I could have the widget polling these registry values outside manila and then getting the value of the registry key to know where to find the other registries. I could keep the script and exe if I needed, but it would be nice to have a way to watch for "HKCU", "System\State\Shell\Reminders", "Active" to exist and have a value.
================
It seems the registry key CHT.Misc.System.UpTimeExact does not update every minute even though it is in minutes. I am going to search the base applications in CHT to see if there is a way I can add a system status check for reminders.
Click to expand...
Click to collapse
Some information from:
rat_2665 said:
Two examples for reading and setting
Code:
MusicHelper_GetRegDWORDValue(0, "Software\\HTC\\Manila\\", "HomeShortcutNum")
MusicHelper_SetRegDWORDValue(0, "Software\\HTC\\Manila\\", "HomeShortcutNum", totalCount)
MusicHelper_GetRegDWORDValue(2, "ControlPanel\\Backlight", "LightDetectOn")
MusicHelper_SetRegDWORDValue(2, "ControlPanel\\Backlight", "LightDetectOn", 1)
where the first argument is:
2 = HKCU
0 = HKLM
Didn't find the ValueChangedEvent yet. Workaround would be to read the value every second (with timer), save the value and in the next cycle compare the saved value with the new value.
Click to expand...
Click to collapse
Some head banging against the wall:
RoryB said:
Okay, I do tend to use If, Then, etc. I changed to if, then, etc.
Here are my tries:
Code:
Handle_Reminder1 = function()
if Reminder1_GetRegStringValue(2, "System\\State\\Shell\\Reminders", "Active") = null then
else
RunProgram("\\windows\\Reminder1.exe")
end
end
I get error LuaC: ..\Workspace\_lua\CHTWReminder1.lua:50: 'then' expected near '='Source: .. and line fifty is the if statement.Then
Code:
Handle_Reminder1 = function()
if Reminder1_GetRegStringValue(2, "System\\State\\Shell\\Reminders", "Active") = nil then
else
RunProgram("\\windows\\Reminder1.exe")
end
end
same error. Then
Code:
Handle_Reminder1 = function(self)
self.Reminder1 = Reminder1_GetRegStringValue(2, "System\\State\\Shell\\Reminders", "Active")
if self.Reminder1 = nil then
else
RunProgram("\\windows\\Reminder1.exe")
end
end
still same error.
The value does not exist at all if there are no reminders, and it varies if there are more than one depending on which one is active.
Another try
Code:
Handle_Reminder1 = function(self)
self.Reminder1 = "test"
if self.Reminder1 = "" then
else
RunProgram("\\windows\\Reminder1.exe")
end
end
still the same error
My brain must be dead. I should be using == for the if statement and not just =
-----------------------------
Still not working
Click to expand...
Click to collapse
Getting closer:
RoryB said:
Currently tried
Code:
Handle_Reminder1 = function()
x = MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPT")
if x == nil then
else
RunProgram( "\\windows\\Reminder.exe")
end
end
The else is to run the exe if there is a value. This still does not work. Same for
Code:
Handle_Reminder1 = function()
local loc1 = MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPT")
if loc1 == nil then
else
RunProgram( "\\windows\\Reminder.exe")
end
end
----------------
I can use this and it works
Code:
Handle_Reminder1 = function()
RunProgram( "\\windows\\Reminder.exe")
end
Handle_Reminder1_Timer = timer(1) -- time in seconds
Handle_Reminder1_Timer:Stop()
Handle_Reminder1_Timer.OnElapsed:connect(Handle_Reminder1)
Handle_Reminder1_Timer:Start()
Click to expand...
Click to collapse
Frustration:
RoryB said:
That would work as well. I am about to post an update. It seems lua code did not like the tabs in the code file. Without them I think it might be working. I need a couple reminders to come through to verify.
----------------------
Forgot to comment out a run command so it still is not working.
--------------------------------------------
Started trying to clean it up and broke it *&^%$##@#@[email protected]
Click to expand...
Click to collapse
Got tit working again:
RoryB said:
Just to let you guys know I have it working again. Currently using the timer method. I accidentally deleted a character from the name of the exe file and was calling runprogram("\\windows\\reminder.exe") instead of runprogram("\\windows\\reminder1.exe"). It is terrible that it took me the whole day to realize this mistake.
Now I am going to keep trying to figure out how to track a change event outside manila registry keys for activation instead of the time. This would avoid running a script to copy the registry values for the sticky note.
Also I want to figure out how to use long press to start the settings for font size and color so I can keep tapping for bringing up the notification. Right now it runs a script that if there are no reminders it brings up settings and if there are it does as described below.
Or maybe I can have the stick pin as a tap point for settings and the note as the tap point for bringing up the notification.
Of course I have not figured out how to bring up the poom dialog, but just run a script that has a mouseclick at the top center of the screen to bring up the notification page that shows status, emails, reminders, etc.
Click to expand...
Click to collapse
Moving forward:
RoryB said:
I have this working
Code:
Handle_Reminder1 = function()
-- 0 = HKLM
-- 2 = HKCU
x = MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPT") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPTALLDAY") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "TASK") + 1
if x == 1 then
CHTWReminder1_Text1.String = "No Active" .. "\n" .. "Reminders" .. "\n" .. "at this Time"
else
Shell_NavigateTo("\\windows\\MortScript.exe","\\windows\\Reminder1.mscr")
end
end
Handle_Reminder1()
Handle_Reminder1_Timer = timer(1) -- time in seconds
Handle_Reminder1_Timer:Stop()
Handle_Reminder1_Timer.OnElapsed:connect(Handle_Reminder1)
Handle_Reminder1_Timer:Start()
Made an adjustment to get the registry to update to no reminders.
Code:
Handle_Reminder1 = function()
-- 0 = HKLM
-- 2 = HKCU
x = MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPT") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPTALLDAY") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "TASK") + 1
if x == 1 then
_application.Store:SetStringValue(Lifetime_Permanent, "CHT.Reminder1.Text", "No Active")
_application.Store:SetStringValue(Lifetime_Permanent, "CHT.Reminder2.Text", "Reminders")
_application.Store:SetStringValue(Lifetime_Permanent, "CHT.Reminder3.Text", "at this Time")
else
Shell_NavigateTo("\\windows\\MortScript.exe","\\windows\\Reminder1.mscr")
end
end
Now to figure out how to read string values outside the manila registry and I will not need the script.
Click to expand...
Click to collapse
Another update to my code:
RoryB said:
Another update to not have the script run unless there is actually a change in the reminder.
Code:
Handle_Reminder1 = function()
-- 0 = HKLM
-- 2 = HKCU
x = MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPT") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPTALLDAY") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "TASK") + 1
if x == 1 then
y = GetCHTSettingString("Reminder1.Text")
if y ~= "No Active" then
_application.Store:SetStringValue(Lifetime_Permanent, "CHT.Reminder1.Text", "No Active")
_application.Store:SetStringValue(Lifetime_Permanent, "CHT.Reminder2.Text", "Reminders")
_application.Store:SetStringValue(Lifetime_Permanent, "CHT.Reminder3.Text", "at this Time")
end
else
if x ~= x1 then
Shell_NavigateTo("\\windows\\MortScript.exe","\\windows\\Reminder1.mscr")
end
end
x1 = MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPT") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPTALLDAY") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "TASK") + 1
end
Also, in the xmu I set it to give me the current settings instead of a default value.
Code:
<text rgb='0,0,0' label='color in RGB code as in 0,0,0 is black' />
<edit id='%REMINDER1COLOR%' label='reg:HKCU\Software\HTC\Manila\CHT.Reminder1.Color'/>
<text rgb='0,0,0' label='Font size as in 12' />
<edit id='%REMINDER1FONTSIZE%' label='reg:HKCU\Software\HTC\Manila\CHT.Reminder1.FontSize'/>
Click to expand...
Click to collapse
Some interesting developments:
RoryB said:
Dunc001 said:
Rory, this is a great find. To get the 'MusicHelper_GetRegDWORDValue' command to work do you need to 'require()' anything or does it function without having to reference other scripts? And also, have you tried MusicHelper_GetValueChangedEvent(0, "System\\State\\Reminder\\Count", "APPT") to see if that works as an update call rather than your timer function?
Click to expand...
Click to collapse
I did not have to require anything. I guess musichelper is a base function in sense lua.
The values APPT, APPTALLDAY and TASK do not exist if there are no items instead of being 0x00000000. They are all DWord values so I am able to get them with musichelper.
I will try the valuechangedevent just to see if it works. Thank you for the idea.
The value I really want is "active" under HKLM, "System\\State\\Shell\\Reminders", "Active") which is a string. It too does not exist if there are no active reminders, but is the name of another registry key that does not exist until there is an active reminder. This key has the appointment information in a few values under that key.
Another thing I found interesting is that RUNPROGRAM did not work in the if statement, but Shell_NavigateTo did. I think Shell_NavigateTo is a base function and I saw RUNPROGRAM getting defined in one of the common or core lua files.
Click to expand...
Click to collapse
Be careful you do not break widgets from running at all:
RoryB said:
MusicHelper_GetValueChangedEvent(0, "System\\State\\Reminder\\Count", "APPT"):connect(Handle_Reminder1) breaks the widget. Actually no widgets show up.
Code:
GetAppointment = function()
local x1 = MusicHelper_GetStringValue(0, "System\\State\\Shell\\Reminders", "Active")
local y1 = ""
if x1 ~= "" then
y1 = MusicHelper_GetStringValue(0, x1)
Appointment.String = tostring(y1)
else
Appointment.String = "No Appointments"
end
end
GetAppointment()
Breaks the widgets too without it even being called to run.
Is there a MusicHelper_GetStringValue function?
Maybe something with machineStatus since machineStatus.HomeScreenAppointmentSubject.OnValueChanged:connect(self.HandleAppointmentChanged, self) appears to monitor HKCU\System\State\Appointments\HomeScreen, Subject value
I have tried machineStatus.RemindersShellActive.OnValueChanged:connect(Handle_Reminder1) and machineStatus.ShellRemindersActive.OnValueChanged:connect(Handle_Reminder1) but they break the widgets.
I cannot seem to find where the functions for MusicHelper and machineStatus get defined to see what parameters I need or if I can tweak them to do what I need.
Click to expand...
Click to collapse
My first public release:
RoryB said:
I have my first public trial for Reminder widget based on poyensa's original Note widget work. Currently it shows the active reminder and if there are more current reminders it states how many more. When you have no reminder and tap the sticky note the settings page opens. If you have reminders it taps the notification bar to open it.
If you have not set the tap point for opening your notification bar and you have a reminder it will first ask you to select that point. This is the same as going into the settings and pressing the "Select Notification Bar Tap Point" button.
I am still looking into how to do something like tap opens the reminder poom dialog or maybe a long press to dismiss or snooze. Also, maybe tap the stickpin to get settings so you can change size of font when there is an active reminder.
Install JMLMenuSense.v1.65.cab (or newer).
It is compatible with poyensa's latest version of Notes too.
I tried to set it up to work on any screen size. Please give me some feedback. Also if you have any guidance I would appreciate it.
--------------------------------------------------------------------------------
You also need MortScript Version 4.3 Beta 15. Install this cab and the copy contents from Programs\Mortscript to windows and run it there to register the program.
Click to expand...
Click to collapse
See the post for images and the cab, but it is old.
Reducing the software load:
RoryB said:
Here is a revised cab that does not require JMLMenuSense. It is not as pretty, but it works. It is based on [MortScript] iniEditor by Michoob. You still need MortScript. See quoted post for main idea of looks.
Click to expand...
Click to collapse
See post for cab, but again it is old.
Added long press to bring up settings menu:
RoryB said:
Finally figured out how to get long press pop up menu to work for me. Here is a cab using that to have two setting choices. One for the notification bar tap point and the other for the settings, which are font size and color.
Here is the code that is a complete change from poyensa's I started with:
Code:
--Behaviour when click on widget:
CHTWReminder1Class.ConnectPressHandlers = function(self)
self.hitArea.onPress:connect(self.OnTimePressed, self)
self.hitArea.onRelease:connect(self.OnTimeReleased, self)
self.hitArea.onReleaseOutside:connect(self.OnTimeReleasedOutside, self)
end
CHTWReminder1Class.DisconnectPressHandlers = function(self)
self.hitArea.onPress:disconnect(self.OnTimePressed, self)
self.hitArea.onRelease:disconnect(self.OnTimeReleased, self)
self.hitArea.onReleaseOutside:disconnect(self.OnTimeReleasedOutside, self)
end
CHTWReminder1Class.OnTimePressed = function(self, object, complete)
self.hitFeedback:Press()
self.Reminder1LongPress = false
if self.Reminder1PressTimer then
self.Reminder1PressTimer:Stop()
self.Reminder1PressTimer = nil
end
self.Reminder1PressTimer = timer(0.4)
self.Reminder1PressTimer:Stop()
self.tapStartX = Mouse.x
self.Reminder1PressTimer.OnElapsed:connect(function(self)
if self.Reminder1PressTimer then
self.Reminder1PressTimer:Stop()
self.Reminder1PressTimer = nil
end
self.Reminder1LongPress = true
self.hitFeedback:Release()
if math.abs(Mouse.x - self.tapStartX) > WidgetPages.swipeTolerance - 1 then
return
end
PopUpMenuControl.listCollection:Reset()
PopUpMenuControl.listCollection:AddItem(PopUpMenuControl:GetItem("Settings"))
PopUpMenuControl.listCollection:AddItem(PopUpMenuControl:GetItem("Tap Point"))
PopUpMenuControl:SetVisibleItemCount(2)
PopUpMenuControl:ShowMenu("center", nil, function()
end)
end, self)
self.Reminder1PressTimer:Start()
end
CHTWReminder1Class.OnTimeReleased = function(self, object, complete)
self.hitFeedback:Release()
self.Reminder1PressTimer:Stop()
self.Reminder1PressTimer = nil
if not self.Reminder1LongPress then
x = MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPT") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPTALLDAY") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "TASK") + 1
if x ~= 1 then
Shell_NavigateTo("\\windows\\MortScript.exe","\\windows\\Reminder1_Tap.mscr")
end
else
self.Reminder1LongPress = false
end
end
CHTWReminder1Class.OnTimeReleasedOutside = function(self)
self.hitFeedback:Release()
self.Reminder1PressTimer:Stop()
self.Reminder1PressTimer = nil
self.Reminder1LongPress = false
end
PopUpMenuControl:AddSimpleItem("Settings", "Change Settings", function()
PopUpMenuControl:HideMenu()
Shell_NavigateTo("\\windows\\MortScript.exe","\\windows\\Reminder1_Setting.mscr")
end)
PopUpMenuControl:AddSimpleItem("Tap Point", "Set Tap Point", function()
PopUpMenuControl:HideMenu()
Shell_NavigateTo("\\windows\\MortScript.exe","\\windows\\Reminder1_TapSetting.mscr")
end)
Click to expand...
Click to collapse
See post for old cab.
My ultimate goal/hope:
RoryB said:
Thank you. I will really like it when I can get it to open the notification poom dialog window directly.
Click to expand...
Click to collapse
Still have not figured this out.
Some more work:
RoryB said:
Thank you for the guide to get me started. I had the ghost sticky note once and did a soft reset to get rid of it. I am finding it best to remove the old cab first, let it reset and then install the new one.
I will check my kitchen when I get to my computer. Maybe it has to do with the number and type of files changed in the cab of the same name. I will also post my kitchen. Thanks again for the help.
----------------
I checked my kitchen and think I had it correct. Here is my kitchen and an updated cab to make the font color setting work nicer. I did change the name within the cab so the old one will not get deleted automatically. Please YOU MUST remove the previous version before installing this version.
Please let me know what I have missed.
********************************************
WAIT TO INSTALL
It seems the long press version gets worse as time goes on. I lost my quick links and had to remove Reminder1 to get them back.
I will update when I figure it out.
**********************************************
Okay, I think I have it now. Still remove the previous before doing the install. Here is the code as I fixed it. I updated the cab and the kitchen files.
Code:
--Behaviour when click on widget:
CHTWReminder1Class.ConnectPressHandlers = function(self)
self.hitArea.onPress:connect(self.OnTimePressed, self)
self.hitArea.onRelease:connect(self.OnTimeReleased, self)
self.hitArea.onReleaseOutside:connect(self.OnTimeReleasedOutside, self)
end
CHTWReminder1Class.DisconnectPressHandlers = function(self)
self.hitArea.onPress:disconnect(self.OnTimePressed, self)
self.hitArea.onRelease:disconnect(self.OnTimeReleased, self)
self.hitArea.onReleaseOutside:disconnect(self.OnTimeReleasedOutside, self)
end
CHTWReminder1Class.OnTimePressed = function(self)
self.hitFeedback:Press()
Reminder1LongPress = false
if Reminder1PressTimer then
Reminder1PressTimer:Stop()
Reminder1PressTimer = nil
end
Reminder1PressTimer = timer(0.4)
Reminder1PressTimer:Stop()
tapStartX = Mouse.x
Reminder1PressTimer.OnElapsed:connect(function(self)
if Reminder1PressTimer then
Reminder1PressTimer:Stop()
Reminder1PressTimer = nil
end
Reminder1LongPress = true
if math.abs(Mouse.x - tapStartX) > WidgetPages.swipeTolerance - 1 then
return
end
self.hitFeedback:Release()
PopUpMenuControl.listCollection:Reset()
PopUpMenuControl.listCollection:AddItem(PopUpMenuControl:GetItem("Settings"))
PopUpMenuControl.listCollection:AddItem(PopUpMenuControl:GetItem("Tap Point"))
PopUpMenuControl:SetVisibleItemCount(2)
PopUpMenuControl:ShowMenu("center", nil, function()
end)
end, self)
Reminder1PressTimer:Start()
end
CHTWReminder1Class.OnTimeReleased = function(self)
self.hitFeedback:Release()
if Reminder1PressTimer then
Reminder1PressTimer:Stop()
Reminder1PressTimer = nil
end
if not Reminder1LongPress then
x = MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPT") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "APPTALLDAY") + MusicHelper_GetRegDWORDValue(0, "System\\State\\Reminder\\Count", "TASK") + 1
if x ~= 1 then
Shell_NavigateTo("\\windows\\MortScript.exe","\\windows\\Reminder1_Tap.mscr")
end
else
Reminder1LongPress = false
end
end
CHTWReminder1Class.OnTimeReleasedOutside = function(self)
self.hitFeedback:Release()
if Reminder1PressTimer then
Reminder1PressTimer:Stop()
Reminder1PressTimer = nil
end
Reminder1LongPress = false
end
PopUpMenuControl:AddSimpleItem("Settings", "Change Settings", function()
PopUpMenuControl:HideMenu()
Shell_NavigateTo("\\windows\\MortScript.exe","\\windows\\Reminder1_Setting.mscr")
end)
PopUpMenuControl:AddSimpleItem("Tap Point", "Set Tap Point", function()
PopUpMenuControl:HideMenu()
Shell_NavigateTo("\\windows\\MortScript.exe","\\windows\\Reminder1_TapSetting.mscr")
end)
Click to expand...
Click to collapse
See post for attachments, but they are also old.
You gotta like the team spirit of this forum:
MichelDiamond said:
Perhaps it kicks in, if Sense is about to change the tab. And so the tab goes after the timeout to somethings else like configuring mode of CHT.
You can check this and look for HKCU/Software/HTC/Manila -> CHTI.ManilaState.HomeTabIsActive
This value must be 1 for HomeTab (not 0 or 2)
Only a vague assumption.
A remark for counts of tasks: I would recommend the internal task list of CHT, because this is triggered by more than the count. The count is sometimes not reliable enough.
(and for reminders: Use also remind-text changes as looking for changes)
If you need something for direct access something in POOM or so - just tell me & Mike - perhaps this can be made in chtstate.
But the code looks very well made - it's really cool, what Mortskript can do meanwhile and you have a very straight way and a great modularity of your functions.
Chapeau!
Micha
Click to expand...
Click to collapse