The Following 5 Users Say Thank You to abranson For This Useful Post: | ||
|
2016-02-20
, 19:06
|
Posts: 59 |
Thanked: 168 times |
Joined on Jun 2012
|
#562
|
Ace. I think I'm not far off with the call handling. How have you got the calls working? I tried with TelepathyQt like they had, but it seemed to be empty just like QOrganizer. I brought VoiceCallManager over from pebbled, which is the source of the crashing, but there might be a better way.
The calendar stuff would be great, thanks!
I connected it up to the notifications, but in a simpler way than pebbled, using the transient property to filter the wrong ones out. Fetching the message individually would be better though, especially to get it in the right place in the timeline. I did notification actions, but I think dismiss should be possible both ways?
The Following 7 Users Say Thank You to RobertMe For This Useful Post: | ||
|
2016-02-20
, 22:29
|
Posts: 287 |
Thanked: 862 times |
Joined on Dec 2015
|
#563
|
The Following 5 Users Say Thank You to abranson For This Useful Post: | ||
|
2016-03-02
, 21:34
|
Posts: 287 |
Thanked: 862 times |
Joined on Dec 2015
|
#564
|
IIRC Pebbled currently uses some ".summary" name/hint to get the notification, but that indeed just contains the "N new emails" text. But the other notifications contain both the sender and subject of the individual emails as shown on the events screen. But those notifications use a different name/hint, which you can easily get by running "dbus-monitor" when receiving the mails and reading the output.
For email, SMS and missed calls notifications I create both a pin on the timeline and a notification. This using the timeline spec. So I'm able to fully parse any JSON pin that the Android and iOS apps support and which can be used by other services to push pins to the Pebble. This is possible because Pebble actually publishes the description of the layout (all fields, which attribute id they have, and of which type they are) as part of the firmware update endpoint. And this also allows me to for example conditionally add the "createNotification" field to a pin based on whether the email already has been marked as read or not (when it has been read on another device).
But as far as I've seen the implementation in RockWatch is hardcoded to those supported by it (notifications of a specific type or calendar events). So it doesn't allow the fully dynamic usage of the timeline pins.
The Following 4 Users Say Thank You to abranson For This Useful Post: | ||
|
2016-03-02
, 22:32
|
|
Posts: 2,355 |
Thanked: 5,249 times |
Joined on Jan 2009
@ Barcelona
|
#565
|
Right now I'm trying to get the calendar access working. I've mimicked the mapplauncher entry from saltoq, but I'm still getting errors opening the mkcal db. Was that all I have to do? I saw some people were setting the uid and gid of the process, but that seems a bit strange.
The Following 5 Users Say Thank You to javispedro For This Useful Post: | ||
|
2016-03-02
, 23:03
|
Posts: 287 |
Thanked: 862 times |
Joined on Dec 2015
|
#566
|
For the mapplauncher entry to work you also need to launch it via mapplauncher
There is a bunch of changes involved (libsailfishapp automatizes a bunch of them, though): add "qt5-boostable" to pkg-config imports list, add Q_DECL_EXPORT to main(), and invoke your program like
/usr/bin/invoker -o --type=qt5 /usr/bin/saltoqd
If it still doesn't work there are some ways to debug it. For example do "devel-sh --privileged" to switch into the privileged user, and then you can gdb/strace your program to see where it fails.
(Alternatively, some people just make the binary setgid, so that it always launches in the privileged group...).
The Following 3 Users Say Thank You to abranson For This Useful Post: | ||
|
2016-03-03
, 16:11
|
Posts: 287 |
Thanked: 862 times |
Joined on Dec 2015
|
#567
|
The Following 4 Users Say Thank You to abranson For This Useful Post: | ||
|
2016-03-03
, 20:53
|
Posts: 287 |
Thanked: 862 times |
Joined on Dec 2015
|
#569
|
Good work! If you can package it and put it on openrepos, I'd love to try it out.
The Following 4 Users Say Thank You to abranson For This Useful Post: | ||
|
2016-03-03
, 22:17
|
|
Posts: 654 |
Thanked: 2,368 times |
Joined on Jul 2014
@ UK
|
#570
|
Done!
https://openrepos.net/content/abranson/rockpool
nemo ~ $ zypper info rockpool Loading repository data... Reading installed packages... Information for package rockpool: Repository: openrepos-abranson Name: rockpool Version: 0.1-2 Arch: armv7hl Vendor: Installed: Yes Status: up-to-date Installed Size: 1.4 MiB Summary: Support for Pebble watches in SailfishOS Description: Support for Pebble watch on SailfishOS devices.
nemo ~ $ sudo systemctl status rockpoold nemo's password: rockpoold.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead)
nemo ~ $ rpm -ql rockpool /usr/bin /usr/bin/rockpool /usr/bin/rockpoold /usr/lib/systemd/user/rockpoold.service /usr/lib/systemd/user/user-session.target.wants/rockpoold.service /usr/share/applications/rockpool.desktop /usr/share/icons/hicolor/86x86/apps/rockpool.png /usr/share/rockpool/qml /usr/share/rockpool/qml/AppSettingsPage.qml /usr/share/rockpool/qml/AppStoreDetailsPage.qml /usr/share/rockpool/qml/AppStorePage.qml /usr/share/rockpool/qml/ContentPeerPickerPage.qml /usr/share/rockpool/qml/CoverPage.qml /usr/share/rockpool/qml/DeveloperToolsPage.qml /usr/share/rockpool/qml/FirmwareUpgradePage.qml /usr/share/rockpool/qml/HealthSettingsDialog.qml /usr/share/rockpool/qml/ImportPackagePage.qml /usr/share/rockpool/qml/InfoPage.qml /usr/share/rockpool/qml/InstalledAppDelegate.qml /usr/share/rockpool/qml/InstalledAppsPage.qml /usr/share/rockpool/qml/Main.qml /usr/share/rockpool/qml/MainMenuPage.qml /usr/share/rockpool/qml/NotificationsPage.qml /usr/share/rockpool/qml/PebbleModels.qml /usr/share/rockpool/qml/PebblesPage.qml /usr/share/rockpool/qml/ScreenshotsPage.qml /usr/share/rockpool/qml/SettingsPage.qml /usr/share/rockpool/qml/SystemAppIcon.qml
nemo ~ $ cat /usr/lib/systemd/user/rockpoold.service [Unit] Description=Rockpool daemon for Pebble smartwatches Requires=dbus.socket bluetooth.target booster-qt5.service After=pre-user-session.target lipstick.service dbus.socket bluetooth.target booster-qt5.service [Service] ExecStart=/usr/bin/invoker -o --type=qt5 /usr/bin/rockpoold Restart=always [Install] WantedBy=user-session.target
Tags |
pebble, pebble time, pebbled |
|
I've been occasionally updating the Rockwork base already. It's very well separated into platform and generic lib, so it's not difficult. I've got a parallel branch that I keep on vanilla rockwork and merge. These things are a lot less trouble with Git, after all.
The calendar stuff would be great, thanks!