Piepmatz is a Twitter client for Sailfish OS
C++ QML JavaScript Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Piepmatz

Piepmatz is a Twitter client for Sailfish OS

Author

Sebastian J. Wolf sebastian@ygriega.de

License

Licensed under GNU GPLv3

Keyboard Shortcuts

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

Build

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.

Credits

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 2017 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!

Code improvements by: