Piepmatz is a Twitter client for Sailfish OS
Sebastian J. Wolf sebastian@ygriega.de
Licensed under GNU GPLv3
Some Sailfish OS devices feature a physical keyboard. Piepmatz is even easier to use with them using shortcuts:
- Generic
- Up/down: scroll
- Page up/down: scroll faster
- t/b: Scroll to top / bottom
- Left/Esc: Back
- Only on main screen:
- 1-6: Switch tabs (timeline, notifications, search etc.)
- n: New tweet
- r: Refresh
- s: Settings
- a: About
- On tweet details view:
- Return/Enter: Display thread
Though Piepmatz is made to be as feature-rich as possible, some features such as the support for Twitter threads may only be available in the developer mode or be incomplete/failing from time to time. Reasons for that can be that the respective features are not available via official API, certain API features are not yet productively available (developer preview), they are rate limited or require a paid contract with Twitter. You can enable the developer mode on the settings page of Piepmatz. In addition, you need to set a valid Twitter API Bearer token there as well. Such a valid Twitter API Bearer token can be obtained by creating an account in the Twitter Developer Portal, registering a project and an application and by creating credentials for this application. Please see the Getting Started documentation for details.
Simply clone this repository, but be sure to clone it with --recursive
as Piepmatz uses Git Submodules.
Just use the project file harbour-piepmatz.pro
to import the sources in your SailfishOS IDE. To build and run Piepmatz or an application which is based on Piepmatz, you need to create the file harbour-piepmatz/src/o2/o1twitterglobals.h
(you can copy the sample from harbour-piepmatz/src/o2/o1twitterglobals.h.sample
) and enter the required constants in the following format:
#ifndef O1TWITTERGLOBALS_H
#define O1TWITTERGLOBALS_H
const char TWITTER_CLIENT_ID[] = "abcdef";
const char TWITTER_CLIENT_SECRET[] = "ghijkl";
const char TWITTER_STORE_DEFAULT_ENCRYPTION_KEY[] = "mnopqr";
#endif // O1TWITTERGLOBALS_H
You get the Twitter client ID and client secret as soon as you've registered your own application on dev.twitter.com. The default encryption key is only used in case Piepmatz is unable to determine a unique encryption key from the user's device. Under normal circumstances, Piepmatz uses an encryption key which was generated automatically. This key is used to encrypt the user's generated Twitter oAuth token (not the username/password!) on the user's device. Please use a password generator to generate the default key for your application.
Piepmatz also needs the package openssl-devel
to compile properly. You can install it on your build target using the Control Centre in your SailfishOS IDE.
This project uses
- OAuth for Qt, by Akos Polster. Available on GitHub.com - Thanks for making it available under the conditions of the BSD-2-Clause license! Details about the license of OAuth for Qt in its license file.
- twitter-text, copyright 2017 Twitter, Inc and other contributors. Available on GitHub.com - Thanks for making it available under the conditions of the Apache License, Version 2.0! Details about the license of twitter-text in its license file.
- Emoji parsing and artwork by Twitter Emoji (Twemoji), copyright 2018 Twitter, Inc and other contributors, Code licensed under the MIT License, Graphics licensed under CC-BY 4.0
- HTML parsing by QGumboParser, copyright 2017 Sergey Lagner, Code licensed under the MIT License, uses Gumbo, copyright 2017 Google, licensed under the Apache License 2.0
- ipinfo.io to determine your location.
Piepmatz was translated to several languages. Thanks to all contributors!
- Chinese: dashinfantry
- Czech: Jiri Hubacek, Jiri Hubacek
- Dutch: Heimen Stoffels, Nathan Follens and d9h02f
- Finnish: Ari Järviö and Termitebug
- French: Alain Devarieux, lutinotmalin, Sagittarii and Quent-in
- Hindi: Parikshit Pahare
- Hungarian: Szabó G.
- Italian: fravaccaro, Alessandro Pra'
- Japanese: helicalgear
- Polish: atlochowski
- Portuguese (Brazil): Adriano C. and Rafael Vinicius Leite Mendes
- Romanian: horho mepuc
- Russian: Алексей Дедун, Юрий and Oleg Urzhumtcev
- Slowenian: Boštjan Štrumbelj
- Spanish: Fernando Lanero and Carmen F. B.
- Swedish: Åke Engelbrektson
Code improvements by: