Probably this is how the final result of KG Toolbox looks. I have create something there, and will start with Wall Changer. As my plan before (read other post), I will add many new thing there.
First of all, the Wall Changer will be able to read list of wallpaper, then create a list file (can create more than one) and will change the wallpaper that listed in file. We can change the wallpaper by interval time, restart or both.
The Advanced Volume Editor won't change much, but will be improved. The Block The Thief will be better than before, I will try to improve and fix the bug. Also the same with Backup Tools, I will also try fix the bug.
E2 Trigger will get much update, also the Advanced Font Editor will be able to edit all *.ini files from the skin. The Device Manager and Autorun Manager will be same as the E2 Revival (soon) have. Another two is still in plan, so I hide them now... :)
Notes: The KG Toolbox screenshot now may be different than when its ready. :)
Tuesday, February 5, 2008
How the KG Toolbox looks
Posted by
Jeffri H.
at
Tuesday, February 05, 2008
4
comments
Category: Scripting/Programming
Monday, February 4, 2008
Play with C
I have been a Bash shell scripter for a few months, now I can write a middle size scripts for my lovely ROKR E2. But then I realized that I need to learn more, especially to make a faster native program, then I will need C, C++ or Python. Python is a nice language, but I read that Python run slower than C. Then after read a thread in www.motorolafans.com about ZGCC (GCC for Zaurus) that works in EZX, I tried to run it and voila, it works! I need this because I don't have a Linux PC and far away from PC, so coding directly in my mobile is the best solution for me.
However, it can't work 100%, the "make" and the "moc" is some that can't work, exactly it doesn't compatible very well. It also not compatible with some headers, especially the C++ one. But I think it can compile C very well. That is the reason I take a serious learn for C. Another reason is that C sounds easier for me, since I'm Bash shell scripter before, I'm enjoying C better than C++. :)
After a few days deal with C (I started at 31 January 2008), I write the modified of sensor (see another post) by Rider_ALT. I interest with this because this is a wonderful program but very small program too. It helps me a lot for learn C better.
In the beginning, I always forget to include semi-colon (;) in the end of statement. :( It happens because my style of scripting that never include semi-colon (because it doesn't effect much in Bash), but it really needed in C. That makes me confuse every time the compiler tell me an error...lol
I also can't understand much about arrays and pointers, this both is a new thing for me and really confusing. Well...well... It just a few days of learn... I need a couple of months to understand Bash shell better. So it just beginning for a noob like me. :) However, my plan about KG Toolbox (read another post) will need this.
Posted by
Jeffri H.
at
Monday, February 04, 2008
3
comments
Category: Scripting/Programming
Tuesday, January 29, 2008
The new idea!
I got a new idea this past few days. I have made many script until now, from Wall Changer, Advanced Volume Editor, Block The Thief, SD SMS, Backup Tools, E2 Triggers (not released in my website, but shared somewhere) until Advanced Font Editor. The total is seven, but if I include the unreleased script for E2 Revival, it will be nine (Autorun Manager and Device Manager). Somehow, I feel hard to update them all, even if I have more idea every day. So...I think for a solution, how if I combine all of this script into a single program?
The KG Toolbox
Yeah, this is the best solution. If I want to update some, I just need to update the program only, no need to make a separated mpkg for each script. Then in future, all of my script will be released in single program! Isn't it good? When I thinking for the name of this all in one program, I remembered to my last program that used KgApps as the storage folder. As you will be thought, the Kg is taken from my nick name, the "k"-ea-"g"-lez. :) So I named it as KG Toolbox, since all of the script is the "tools" I created. Hehe...
What will be included in KG Toolbox? Of course the list of all script I have made, except the SD SMS. Why? I should call this SD SMS was a failed project. Its work but not comfortable at all, the big bug is never able to fix (you should now the bug). I have think for a long times of how to fix the bug, but I never got it. Sad... Maybe I can use mount --bind instead of create soft links, but I never tried it since my main.db was broken when play with it, so I decide to stop the project. Another reason I don't use mount --bind is I don't want to play with the autorun. Okay, back to laptop, eh, I mean the KG Toolbox. :) (You know Tukul Arwana? He is the famous presenters and comedians in my country, one of his famous show is "Empat Mata" with his favourite words, "Kembali ke laptop!", which is means "back to laptop". He used this words when they going off topic in the shows, you can laugh a lot!)
Besides of the six scripts which will be included (except SD SMS), I will include Autorun Manager and Device Manager too. But of course, after E2 Revival firmware released. So eights, huh? Nope, I plan to add more. It will be ten! The both last script haven't created yet, all is still in plan. One of them will be based from rokr.lin by ilove3d, it will not native, still a script. It will use to extract, apply and load.
So how it updates? Instead of force users to install-uninstall program, I prefer to make the users install only once. Then when the update comes, I will provide a full program for new users and a patch for existing users. So if the users have installed any version of the program, they just need to apply the patch and vise versa.
50% native?
This is also my plan. Instead of make everything in Bash script, it will be better to make the main process in C++. Why? Because C++ is faster than Bash script while load a big task. Have used my Advanced Font Editor? It needs a few minutes to load and save, especially in common.ini. I believe it can go faster if I write it in C++.
So I will load the basic show* binary for GUI with Bash script, then do the main function with C++. This way, I called it 50% native. But why not 100%? Not now, it will, in the future version.
The new Wall Changer?
The Wall Changer is still the most famous script from me, but it also the simpliest script. I plan to make a new version for it, with much update, such as applying wallpaper automatically, no renaming needed, change by time and boot, change wallpaper and screensaver, and much more. Oh, I got an email this past days that suggest me to create a Wall Changer with time and screensaver, so I include it in plan since many people suggested the same thing too.
The future of Block The Thief?
Block The Thief was a low level anti theft tracker, its work but not success in some people. Our E2 haven't got a high level one, since not many developer are interested. So how is the future of Block The Thief? Not sure, it might become a high level anti theft tracker, but its hard! However, this is what I imagined for the future of Block The Thief. It will possible to control the phone with SMS by others phone, of course with a password. It will able to send a SMS that report of what the thief did with the phone. Hey, it just a dream! I'm not sure I can make one, but who knows the future? :)
It is a plan!
Finally, we are at the end of this post. Just to remind you if you got excited with everything above (except the Block The Thief), all is still in plan! It might not become like what I write just now. :)
Posted by
Jeffri H.
at
Tuesday, January 29, 2008
0
comments
Category: Scripting/Programming
Friday, January 25, 2008
Device Manager for E2 Revival firmware
Finally I have finished the Device Manager script. I have some hard time to make it flexible. This script will be presented as a part of E2 Revival firmware. Device Manager is a script that let user to choose the device (or partition) then umount or mount it just with a few clicks. It also regconize the swap partition to turn it on or off.
I have delayed the script for a few days (or even week), because I have figured something fun...hehe. But today (and yesterday) I finally complete the script after some hard time. Then how this script work?
Actually, it was simple. Firstly it read the device available, then separate and assign the name, size and type in defined variable. Then it check the status of the device and show it with showMultiSelect dialog. After that it will regconize the users select/unselect, get the command of the each type and execute it. Finally it shows the result, fail or success.
However, it was a middle-long script too. I need a few hours each day (about 3 days of real work) to complete it. :) Now I will improve the Autorun Manager I create earlier. Ah, thanks to arctu for his idea and his help to figure out the way to get whitespace working in the list! No ugly underscore anymore! Hehe... The Autorun Manager and my other future script will not have underscore anymore in list.
BTW, after the E2 Revival project completed, I will make the new version of my first ever script, Wall Changer. When I first create it, my knowledge of shell script is so tiny, that makes the script look ugly when it needs to rename the wallpaper to number. In the next version, it will not need renaming anymore and no need to apply the 0.jpg as wallpaper. :) It just in plan now, but I believe I can do it...hehe. See ya!
Posted by
Jeffri H.
at
Friday, January 25, 2008
0
comments
Category: Scripting/Programming
Monday, January 21, 2008
A1200/E6, E2 and E680i SDK by blackhawk
I just got a mail by blackhawk today. He asked me (or us) to share his update SDK around the world, as I did it now. :) The updated SDK was made for A1200/E6, E2 and E680i. I have uploaded the blackhawk's SDK here. You can download and try it.
The README.txt content:
Tested using arm-linux-gnu-* crosstool taken from http://www.mkezx.org/
installed in /opt/crosstol. Read setenv-[device].sh
included in pictureflow source for details. You might need to edit this
file in other ways depending on how your environment set.
This SDK contains:
- Modified samr7's qte-2.3.6 headers
- foxe6's qte-2.3.8 update: qfont.h, qpixmap.h, qptf.h, qtableview.h,
qt.h, and qwidget.h
- Unmodified flylasly's E2 EZX headers
Copy this SDK to /opt:
$ su // and then type your root password
# mkdir /opt/a1200
# chown blackhawk:blackhawk /opt/a1200 // change 'blackhawk' to your account
# exit
$ cp -a a1200/* /opt/a1200
Save EZX library to phone's MMC over telnet:
# cd /mmc/mmca1
# tar -C /usr -czvf a1200-lib.tar.gz lib
Copy the compressed library to your computer and then extract:
$ tar -C /opt/a1200 -xzvf a1200-lib.tar.gz
Compile example application using this SDK:
$ cd pictureflow
$ source setenv-a1200.sh
$ tmake pictureflow-a1200.pro -o Makefile
$ make
$ ./createpkg.sh
Repeat above step for E2 and E680i if you have a plan to support E2 and
E680i/A780 development.
Remember, this SDK using too much soft link, tested on Fedora 6 and have
no idea how to make this work on Windows. Both E680i and E2 SDK depend
on A1200 SDK because I am trying to share it as small as possible ;)
Good luck!
Thanks to:
- Sam Revitch
- Lasly
- foxe6
Ketut P. Kumajaya
Posted by
Jeffri H.
at
Monday, January 21, 2008
4
comments
Category: Scripting/Programming
Saturday, January 19, 2008
Autorun Manager for E2 Revival firmware
Hello guys! I currently made an Autorun Manager and noname (manage mount) script for E2 Revival firmware project. The project thread can be found at Moto Hell. The project haven't finished yet, but you can see the screenshot now.
For my works, it almost finish, I need a few days more to complete it. :) For now, you can see the Autorun Manager script now, here is the screenshot:
Autorun Manager is created from arctu's idea.
What is it? How it works? Have this question in your mind? Well, Autorun Manager is a script to catch the autorun scripts located in /ezxlocal/autorun/ then read the name and function inside the autorun scripts. The autorun scripts have a special structures that able to read by Autorun Manager. The Autorun Manager then will show the name of the autorun scripts and you can manage your autorun just by check and uncheck it! The checked function will be executed during startup, else will be ignored. I believe this ability will be used in after Revival firmwares too.
The good part is you able to add any function just by choose the menu then write the command and name, you can did it just in second! Also you can delete it whenever you don't need it anymore. The main functionality for me is to make you easier when you write a program that need autorun, for example, my Wall Changer. Just place the script and you are done! Cool right?
Another script is like mount manager. I still think to make this better, however I have already able to read the device, the type and the size also I have made function to check wether it mounted or not. I just need to make script that can regconize the device and the type, then regconize the way to mount the device. Why we need it? We already know that mmca1 is FAT, mmca5 is Linux swap and mmca6 is EXT3, then why? Just in case that it changed by future firmware, we won't need to rewrite the script anymore. Just let the script works! Hehe... :D
Have any idea? Just write in comment or in forums. :)
Posted by
Jeffri H.
at
Saturday, January 19, 2008
2
comments
Category: Scripting/Programming
Python Interpreter in ROKR E2!
A few weeks ago, I decide to learn of a higher programming language, such as C++ or Python. Since C++ language need to be compiled before it can run, then I choose Python. Why? Because it easier to learn, easier to read, also it can run directly with the source and an object oriented programming too. Ah, one more, do you know that our E2 can be used as Python interpreter too? Interesting right? :)
First you will need Terminal Emulator installed in your phone and the Python itself. You can find both at my friend website e2mod.com. Installing Terminal Emulator is easy, I believe you can do it yourself. To use Python, you just need to copy the bin and lib folder at Python packages to SD root (/mmc/mmca1).
Second, start your Terminal Emulator and write "/mmc/mmca1/bin/python". The Python interpreter will be shown now! You can start writing now. See the screenshot below:
Notes: I renamed the ~/bin/python2.5 to ~/bin/python only. :)
Third, you also can run the Python script with the Terminal Emulator! Well, you can did it with telnet too or a script shell too. Unfortunately, Terminal Emulator didn't support many symbol, we can use only 4 symbol (-/.,) there! So we can't write "export PATH=$PATH:/mmc/mmca1/bin" (we don't have =, $ and : also we can't write in uppercase with Terminal Emulator!) that makes us can't call the Python script anywhere (it can, but will confusing). The best solution is place the Python script in /mmc/mmca1 then call it using "cd /mmc/mmca1" after that "bin/python (script name).py". Here is the example:
As you can see in example, I called the Python script in /mmc/mmca1/zzz.py which is a simple Python script to count down from 10 until 0.
Notes: See the error message after we call Python? I don't know why and don't understand what it means, but tell me if you know, ok?
Ah, BTW, you are better to use Telnet than Terminal Emulator, just in case that you are far away from your PC and want to create (or get an idea) script, you will thank to this tools (as I did). :) Enjoy programming!
Posted by
Jeffri H.
at
Saturday, January 19, 2008
1 comments
Category: Scripting/Programming