Your rating: None Average: 4.9 (32 votes)

Fernschreiber is a Telegram client for Salifish OS

Fernschreiber (German for teleprinter, teletypewriter, teletype or TTY) connects you with the Telegram network. It's still in an early development phase, but it already supports many of the most popular features such as:

  • Chat list in order of last received message
  • Two-step authentication
  • Read standard text messages, pictures, videos. animated GIFs, stickers, voice notes, locations, venues and documents
  • Displays web page previews
  • Send text messages, stickers, reply to messages, attachments: images, videos, documents (yes, more to come ;))
  • Edit messages
  • Delete messages
  • Display sent/read state of messages
  • Notifications
  • Mute/unmute chats
  • Easy emoji selection, use :<keyword> in the new message field to search for them!
  • A lot of eye candy (yes, you get the complete set of emojis for example) ;)

Have fun with Fernschreiber!

Issues and Feature Requests

Known bugs/issues and feature requests are available at https://github.com/Wunderfitz/harbour-fernschreiber/issues. In case you would like to report a bug or post a feature request, please do it there. Be sure to explain the bug or feature request in detail, that makes it easier to sort and prioritize.

Open Source and Contribution

Feedback about Fernschreiber is always appreciated (good, bad, improvement/feature ideas etc.). 

You can contribute with a translation, a new feature or even a bugfix. The sources are on GitHub at https://github.com/Wunderfitz/harbour-fernschreiber. Please acknowledge the GNU GPLv3 before contributing/forking. Thanks to all new and especially to the existing contributors!



Application versions: 
File harbour-fernschreiber-0.1-6.armv7hl.rpm11.8 MB20/09/2020 - 22:09
File harbour-fernschreiber-0.2-1.armv7hl.rpm6.12 MB30/09/2020 - 22:53
File harbour-fernschreiber-0.2-1.i486.rpm6.29 MB30/09/2020 - 22:53
File harbour-fernschreiber-0.3-2.armv7hl.rpm5.9 MB19/10/2020 - 00:09
File harbour-fernschreiber-0.3-2.i486.rpm6.08 MB19/10/2020 - 00:09


  • Support for sending stickers
  • Search for emojis from message input field, use :<keyword> to start searching
  • New icon/logo - thanks to iamnomeutente
  • Option to customize non-graphical notification feedback - thanks to monich
  • Add user registration - thanks to jgibbon
  • Don't show irrelevant groups - thanks to monich
  • Display information about forwarded messages
  • Option to avoid displaying stickers like images - thanks to monich
  • Fix: Don't reset edit/in-reply-to mode after focus change
  • Fix: Display caption for documents
  • Fix: Reserve some space for lazy loaded elements
  • Fix: Don't display error message in case of repeated download of the same file
  • New translations (Finnish, Italian, Russian), thanks to jorm1s, iamnomeutente, arustg and monich
  • That was quite a lot - I hope I didn't forget anything. If I did, big sorry and please let me know!


  • Support sending images, videos and documents
  • Support receiving locations and venues - thanks to jgibbon
  • Performance improvements for chat list, new sorting algorithm and much more - thanks to monich
  • Performance improvements for chat, lazy loading for most UI elements
  • Cover page improvements - thanks to jgibbon
  • Fix handling of "<>" in messages
  • Differentiate text between other people and current user ("You have..." vs. "Somebody has...")
  • Support for the Jolla Tablet
  • New translations (Chinese, Hungarian, Polish, Spanish) - thanks to dashinfantry, edp17, atlochowski, GNUuser


  • Initial Release


slava's picture

Hmm, why are these static libraries being installed?

[root@Sailfish ~]# ls -la `rpm -ql harbour-fernschreiber | grep 'a$'`
-rw-r--r--    1 root     root        198354 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdactor.a
-rw-r--r--    1 root     root        130292 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdclient.a
-rw-r--r--    1 root     root      36924996 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdcore.a
-rw-r--r--    1 root     root        463938 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtddb.a
-rw-r--r--    1 root     root       2049692 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdjson_private.a
-rw-r--r--    1 root     root          5596 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdjson_static.a
-rw-r--r--    1 root     root        886524 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdnet.a
-rw-r--r--    1 root     root       1044752 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdsqlite.a
-rw-r--r--    1 root     root       1277968 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdutils.a
[root@Sailfish ~]#
WerkWolf's picture

They all belong to TDLib. I simply integrated the result of a standard TDLib build to the lib directory. If you have any tips if some of them can be omitted, I'm always open to feedback.

slava's picture

Another option would be to link tdlib statically and not bundle any libs at all. That's what I would try first, actually. The purpose of shared libraries is.... egh... to share them, right? If you're not sharing it, then there's no point in making it shared. Linking it statically gives the linker a much better chance to drop unused and duplicate code.

slava's picture

How about only including what's needed into the package? Like


and ignoring everything else

WerkWolf's picture

Let's give it a try - seems to work here, so it might work for everybody...

nephros's picture

The installed footprint is quite big. Is there a reason the libraries are so large? (32mb libtdcore for example)

WerkWolf's picture

I simply took the sources from https://github.com/tdlib/td and built it according to the instructions without Link Time Optimization (LTO) to be sure that the build runs through smoothly and there are less side-effects. As also mentioned in their documentation LTO can significantly reduce binary size and improve performance, so this is something I consider enabling for the future. Probably that will reduce the footprint.

explit's picture

Bitte i486 version, Sebastian!

WerkWolf's picture

Need to reactivate my tablet - hopefully soon(tm).

Cryx's picture

XA2 - kann mich nicht einloggen. Hört nach Passworteingabe nicht auf zu laden. Neustart landet immer wieder direkt beim TFA-Passwort. Dass passiert srlvst dann, wenn ich die App lösche und neu installiere!

WerkWolf's picture

Bitte mal über das Terminal starten (falls Dev-Tools installiert) -> /usr/bin/harbour-fernschreiber, und die Ausgabe dann als GitHub-Issue eintüten. Wie das im Detail geht: https://together.jolla.com/question/103763/how-to-start-an-app-from-term...

Vor dem nächsten Versuch bitte noch /home/nemo/.local/share/harbour-fernschreiber löschen.

Cryx's picture

Komischerweise hat der erneute Programmstart nun mit der Registrierung neu begonnen und es hat geklappt. Unterschied zum Versuch davor: Mobilfunknetz statt WLAN...

edp17's picture

Congrats for the app! Is there a way to contribute with some translation?

WerkWolf's picture

Yes, please fork the project, create a translation file for your language and create a pull request for that. Example for Spanish: https://github.com/Wunderfitz/harbour-fernschreiber/pull/22

giskard's picture

It's very promising and already looking polished

Firefox84's picture

Nice Work Werkwolf, i will definately reinstall the app as soon as she offers most of the important funtions. But what you already see is awesome, and the best its native :)

ezameht's picture

Thank you so much. My Android-Support stopped working and this app saved me.

kempe's picture

Awesome job. Looks great

slava's picture

Not bad at all for the first release!

explit's picture

Like always: very good coded software! Thanks WerkWolf!

chris7chris's picture

Looks promising. Thank you! Think I'll delete Depecher.

kaulian's picture

Dont work for me after registrer my phone number

unknown:0 - [TDLibReceiver] Option updated:  "photo_sea
rch_bot_username" QVariant(QString, "bing")
[D] unknown:0 - [TDLibReceiver] Option updated:  "call_pack
et_timeout_ms" QVariant(double, 10000)
[D] unknown:0 - [TDLibReceiver] Option updated:  "animation
_search_bot_username" QVariant(QString, "gif")
[D] unknown:0 - [TDLibReceiver] Option updated:  "calls_ena
bled" QVariant(bool, false)
[D] unknown:0 - [TDLibReceiver] Option updated:  "t_me_url"
QVariant(QString, "https://t.me/")
[D] unknown:0 - [TDLibReceiver] Option updated:  "favorite_
stickers_limit" QVariant(double, 5)
[D] unknown:0 - [TDLibReceiver] Option updated:  "test_mode
" QVariant(bool, false)
[D] unknown:0 - [TDLibReceiver] Authorization state changed
:  "authorizationStateWaitRegistration"
[D] unknown:0 - [TDLibReceiver] Connection state changed:
[D] unknown:0 - [TDLibReceiver] Connection state changed:
[W] unknown:67 - file:///usr/share/harbour-fernschreiber/qm
l/pages/CoverPage.qml:67: Error: Cannot assign [undefined]
to int
[D] unknown:0 - [TDLibReceiver] Option updated:  "unix_time
" QVariant(double, 1.60063e+09)
WerkWolf's picture

Please open an issue on GitHub and please also be sure to include (or attach) the complete log. Thanks!

Bocephus's picture

Wow! I'll jump right on this. Sailfish badly needs a good Telegram client, and Depecher development seems to have died. It's still working ok, but stickers make it freeze, and there are some other issues.

apozaf's picture

OMFG, you really are a hell of a dev. Fantastic, chapeau!

carlosgonz's picture

Thank you so much. Great name.

Bramba's picture

Simply amazing! Thank you very much for your efforts! :-)