GPECalendar
From Openmoko
(Difference between revisions)
(GPE Calendar, its problems and workarounds) |
(catchg) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 17: | Line 17: | ||
Screenshots: | Screenshots: | ||
+ | |||
+ | [[Image:Gpecal-scr-1.png|100px]] | ||
+ | [[Image:Gpecal-scr-2.png|100px]] | ||
+ | [[Image:Gpecal-scr-3.png|100px]] | ||
+ | [[Image:Gpecal-scr-4.png|100px]] | ||
+ | [[Image:Gpecal-scr-5.png|100px]] | ||
+ | [[Image:Gpecal-scr-6.png|100px]] | ||
+ | |||
=== Problems and workarounds === | === Problems and workarounds === | ||
Line 34: | Line 42: | ||
:this can be worked around using a bug in gpe-calendar :-) If gpe-calendar is run without a full path on the command line, like this <pre>$ gpe-calendar &</pre>then it prepares the <tt>atd</tt> script with current directory as its full path. we can thus make a script that will be run by <tt>atd</tt> instead of gpe-calendar and this script can actually run the calendar: | :this can be worked around using a bug in gpe-calendar :-) If gpe-calendar is run without a full path on the command line, like this <pre>$ gpe-calendar &</pre>then it prepares the <tt>atd</tt> script with current directory as its full path. we can thus make a script that will be run by <tt>atd</tt> instead of gpe-calendar and this script can actually run the calendar: | ||
:* <pre>mkdir $HOME/.gpe</pre> | :* <pre>mkdir $HOME/.gpe</pre> | ||
− | :* copy [[ | + | :* copy [[#.24HOME.2F.gpe.2Fgpe-calendar|gpe-calendar]] script to <tt>$HOME/.gpe/</tt> |
:* <pre>chmod 755 $HOME/.gpe/gpe-calendar</pre> | :* <pre>chmod 755 $HOME/.gpe/gpe-calendar</pre> | ||
− | :* copy [[ | + | :* copy [[#.2Fusr.2Fshare.2Fapplications.2Fgpe-calendar.desktop|gpe-calendar.desktop]] to <tt>/usr/share/applications</tt> to run gpe-calendar from the workaround directory |
;ad problem 3 | ;ad problem 3 | ||
:<pre>echo snd-pcm-oss > /etc/modutils/dev_dsp; update-modules; modprobe snd-pcm-oss</pre> | :<pre>echo snd-pcm-oss > /etc/modutils/dev_dsp; update-modules; modprobe snd-pcm-oss</pre> | ||
Line 42: | Line 50: | ||
: | : | ||
:* <pre>opkg install esd</pre> | :* <pre>opkg install esd</pre> | ||
− | :* copy [[ | + | :* copy [[#.2Fetc.2Finit.d.2Fesd|esd]] to <tt>/etc/init.d/</tt> (esd package does not contain an init script?) |
:* <pre>/etc/init.d/esd start</pre> | :* <pre>/etc/init.d/esd start</pre> | ||
;ad problem 5 | ;ad problem 5 | ||
:the alarm sound level should be configurable in <tt>$HOME/.gpe/alarm.conf</tt>, but gpe-calendar ignores the level settings there :-( | :the alarm sound level should be configurable in <tt>$HOME/.gpe/alarm.conf</tt>, but gpe-calendar ignores the level settings there :-( | ||
− | :a small (not fully satisfactory) workaround to this is contained in the [[ | + | :a small (not fully satisfactory) workaround to this is contained in the [[#.24HOME.2F.gpe.2Fgpe-calendar|gpe-calendar]] script described above, which sets the volume with <tt>amixer</tt> before running gpe-calendar |
;ad problem 6 | ;ad problem 6 | ||
:the only possible workaround to this would probably need a recompilation of the package. so far, when you close the gpe-calendar window, it only "iconifies", e.i. goes away, but appears when switching tasks. The main problem of this state is, that when you shut down the phone, enlightenment waits for all running tasks and after 15s it complains about gpe-calendar not wanting to exit. so the only current solution is to quit gpe-calendar from its menu with File->Quit. | :the only possible workaround to this would probably need a recompilation of the package. so far, when you close the gpe-calendar window, it only "iconifies", e.i. goes away, but appears when switching tasks. The main problem of this state is, that when you shut down the phone, enlightenment waits for all running tasks and after 15s it complains about gpe-calendar not wanting to exit. so the only current solution is to quit gpe-calendar from its menu with File->Quit. | ||
+ | |||
+ | === Attachments === | ||
+ | |||
+ | ==== $HOME/.gpe/gpe-calendar ==== | ||
+ | |||
+ | workaround startup script | ||
+ | <pre>#!/bin/sh | ||
+ | |||
+ | if [ "x$1" = "x-s" -a "x$2" = "x0" ] \ | ||
+ | && ! pidof gpe-calendar >/dev/null 2>/dev/null; then | ||
+ | shift | ||
+ | shift | ||
+ | fi | ||
+ | |||
+ | cd $HOME/.gpe | ||
+ | amixer set PCM 220 | ||
+ | gpe-calendar $*</pre> | ||
+ | |||
+ | ==== /usr/share/applications/gpe-calendar.desktop ==== | ||
+ | |||
+ | <pre>[Desktop Entry] | ||
+ | Encoding=UTF-8 | ||
+ | Name=Calendar | ||
+ | Comment=GPE Calendar | ||
+ | Exec=/home/root/.gpe/gpe-calendar | ||
+ | Terminal=false | ||
+ | Type=Application | ||
+ | Icon=gpe-calendar.png | ||
+ | Categories=Application;PIM;GPE; | ||
+ | StartupNotify=true | ||
+ | SingleInstance=true | ||
+ | X-home-applet-resizable=XY | ||
+ | X-home-applet-minwidth=200 | ||
+ | X-home-applet-minheight=40 | ||
+ | </pre> | ||
+ | |||
+ | ==== /etc/init.d/esd ==== | ||
+ | |||
+ | <pre>#! /bin/sh | ||
+ | # | ||
+ | # esd | ||
+ | # | ||
+ | # chkconfig: 345 70 30 | ||
+ | # description: esd | ||
+ | # processname: esd | ||
+ | |||
+ | PATH=/bin:/usr/bin:/sbin:/usr/sbin | ||
+ | NAME=esd | ||
+ | |||
+ | [ -f /etc/default/rcS ] && . /etc/default/rcS | ||
+ | |||
+ | case "$1" in | ||
+ | start) | ||
+ | echo -n "Starting esd daemon: " | ||
+ | start-stop-daemon --start --pidfile /var/run/${NAME}.pid --exec /usr/bin/esd -- -nobeeps & | ||
+ | |||
+ | if [ $? = 0 ]; then | ||
+ | echo "(ok)" | ||
+ | else | ||
+ | echo "(failed)" | ||
+ | fi | ||
+ | ;; | ||
+ | stop) | ||
+ | echo -n "Stopping esd daemon: " | ||
+ | start-stop-daemon --stop --pidfile /var/run/${NAME}.pid --oknodo | ||
+ | rm -f /var/run/${NAME}.pid | ||
+ | echo "(done)" | ||
+ | ;; | ||
+ | restart|force-reload) | ||
+ | $0 stop | ||
+ | $0 start | ||
+ | ;; | ||
+ | *) | ||
+ | echo "Usage: /etc/init.d/esd {start|stop|restart|force-reload}" | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | exit 0 | ||
+ | </pre> | ||
+ | |||
+ | [[Category:Calendar Applications]] |
Latest revision as of 19:58, 10 July 2009
Contents |
[edit] GPE: Calendar
Full featured calendar application available in most of the openmoko repositories. It was not designed directly for openmoko and finger navigation thus it brings along some drawbacks when using it, but most of the drawbacks can be worked around.
Features:
- recurring events (daily, workdays, weekends, monthly, yearly)
- alarms (with atd, even when Freerunner is turned off - in such case it will start up and fire the alarm)
- entries without due-time, just a note for a particular day
- different view modes (day, week, month, agenda)
- multiple calendars
- mimedir (vCal, iCal) data import/export
Links:
Screenshots:
[edit] Problems and workarounds
Problems (on SHR-testing of 2009-03-03):
- alarms need atd - this is not available in SHR testing, but it can be installed from openmoko repository (see below). in SHR unstable atd-over-fso is available, hopefully it should also work.
- atd script does not run gpe-calendar if gpe-calendar is not running
- alarm sound needs /dev/dsp
- alarm sound needs esd
- alarm sound level is too high
- closing gpe-calendar window does not close the application
[edit] Workarounds (on SHR-testing of 2009-03-03):
- ad problem 1
opkg install http://downloads.openmoko.org/repository/Om2008.8/armv4t/atd_0.70-r4_armv4t.opk
- ad problem 2
- this can be worked around using a bug in gpe-calendar :-) If gpe-calendar is run without a full path on the command line, like this
$ gpe-calendar &
then it prepares the atd script with current directory as its full path. we can thus make a script that will be run by atd instead of gpe-calendar and this script can actually run the calendar:-
mkdir $HOME/.gpe
- copy gpe-calendar script to $HOME/.gpe/
-
chmod 755 $HOME/.gpe/gpe-calendar
- copy gpe-calendar.desktop to /usr/share/applications to run gpe-calendar from the workaround directory
-
- ad problem 3
echo snd-pcm-oss > /etc/modutils/dev_dsp; update-modules; modprobe snd-pcm-oss
- ad problem 4
-
-
opkg install esd
- copy esd to /etc/init.d/ (esd package does not contain an init script?)
-
/etc/init.d/esd start
-
- ad problem 5
- the alarm sound level should be configurable in $HOME/.gpe/alarm.conf, but gpe-calendar ignores the level settings there :-(
- a small (not fully satisfactory) workaround to this is contained in the gpe-calendar script described above, which sets the volume with amixer before running gpe-calendar
- ad problem 6
- the only possible workaround to this would probably need a recompilation of the package. so far, when you close the gpe-calendar window, it only "iconifies", e.i. goes away, but appears when switching tasks. The main problem of this state is, that when you shut down the phone, enlightenment waits for all running tasks and after 15s it complains about gpe-calendar not wanting to exit. so the only current solution is to quit gpe-calendar from its menu with File->Quit.
[edit] Attachments
[edit] $HOME/.gpe/gpe-calendar
workaround startup script
#!/bin/sh if [ "x$1" = "x-s" -a "x$2" = "x0" ] \ && ! pidof gpe-calendar >/dev/null 2>/dev/null; then shift shift fi cd $HOME/.gpe amixer set PCM 220 gpe-calendar $*
[edit]
[Desktop Entry] Encoding=UTF-8 Name=Calendar Comment=GPE Calendar Exec=/home/root/.gpe/gpe-calendar Terminal=false Type=Application Icon=gpe-calendar.png Categories=Application;PIM;GPE; StartupNotify=true SingleInstance=true X-home-applet-resizable=XY X-home-applet-minwidth=200 X-home-applet-minheight=40
[edit] /etc/init.d/esd
#! /bin/sh # # esd # # chkconfig: 345 70 30 # description: esd # processname: esd PATH=/bin:/usr/bin:/sbin:/usr/sbin NAME=esd [ -f /etc/default/rcS ] && . /etc/default/rcS case "$1" in start) echo -n "Starting esd daemon: " start-stop-daemon --start --pidfile /var/run/${NAME}.pid --exec /usr/bin/esd -- -nobeeps & if [ $? = 0 ]; then echo "(ok)" else echo "(failed)" fi ;; stop) echo -n "Stopping esd daemon: " start-stop-daemon --stop --pidfile /var/run/${NAME}.pid --oknodo rm -f /var/run/${NAME}.pid echo "(done)" ;; restart|force-reload) $0 stop $0 start ;; *) echo "Usage: /etc/init.d/esd {start|stop|restart|force-reload}" exit 1 ;; esac exit 0