====== Description of features ======= ===== 1v1 messages ===== Client is able to send, receive and display text messages to / from friends. If client doesn't implement [[#message_splitting | Message splitting]], message size is limited to 1372 bytes. ===== Audio ===== Client is able to capture, send, receive and play audio to / from friends, using [[https://github.com/TokTok/c-toxcore/blob/master/toxav/toxav.h | toxav]]. ===== Audio filtering ===== Client is able to filter out noise from captured audio using [[https://github.com/irungentoo/filter_audio | libfilteraudio]]((Using ''libfilteraudio'' is not a strict requirement, but it is supposed to make filtering audio in Tox clients easier. In a case where it fails to ease filtering, an issue about this should be made.)). User should be able to tun on / off audio filtering. ===== Audio notifications ===== Client should be able to play sound upon receiving message / call / other. There should be an option to turn those notifications off, or tune them according to user needs. ===== Avatars ===== Support for avatars according to [[https://github.com/Tox/Tox-STS/blob/master/STS.md#avatars | STS]]((Single Tox Standard)). ===== Changing nospam ===== Support for changing nospam via UI. [[users:toxid#nospam|NoSpam]] is a small part of a Tox ID that can be changed with an explicit action from the user to prevent friend request spam, if the client supports it. ===== Chat logs ===== Client should have support for saving, loading, displaying and removing chat logs (history) of conversations. ===== Contact aliases ===== Client should allow user to set, display and remove alias for any friend. ===== Contact blocking ===== Client should allow user to block / unblock contacts. Blocked friends would be unable to contact user, and user would appear to them as ''offline'' even if user is online. ===== Desktop sharing ===== Ability of the client to show the user's desktop in a video call, instead of camera input. ===== Proxy support ===== Proxy support can be HTTP or SOCKS5 (or both). For an example of a proxy configuration, see [[users:tox_over_tor_tot|Tox over Tor]]. ===== Message splitting ===== If client supports message splitting, a user sending a message larger than the maximum size means the message will be split into several separate messages and sent as normal. ===== Faux offline messaging ===== Faux offline messaging is a partial support for [[users:offline_messaging|offline messaging]]. If client supports it, it is possible to message offline contacts, in which case the message will be stored by the client and sent immediately once both contacts are online. ===== File resuming ===== File resuming is the ability of a client to resume broken file transfers. Partial support is support for pause and resuming file transfers. ===== Inline images ===== Ability of the client to display sent and received images. ===== Screen/Desktop notifications ===== Support for notifications appearing on the user's desktop or phone screen when receiving a new message, call, or status change. ===== Persistent group chats ===== Ability of the client to keep track of group chats and rejoin them automatically on reconnect / restart. Supported by [[users:toxcore|c-toxcore]]. ====== Features ====== ^ ^ [[clients:qTox]] ^ [[clients:µTox]] ^ [[clients:Toxic]] ^ [[clients:Toxygen]] ^ [[clients:TRIfA]] ^ [[clients:Antox]] ^ [[clients:Isotoxin]] ^ [[clients:jTox]] ^ [[clients:Protox]] ^ [[clients:aTox]] ^ | **Interface** | Desktop | Desktop | CLI | Desktop | Mobile | Mobile | Desktop | Mobile | Mobile | Mobile | | Linux | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | | OSX | @green:Yes | @green:Yes | @green:Yes | @gray:Untested | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | | Windows | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | | BSD | @green:Yes | @green:Yes | @green:Yes | @gray:Untested | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | | Android | @#B40431:No | @yellow: Minimal((Currently stalled)) | @#B40431:No | @#B40431:No | @green:Yes | @green:Yes | @#B40431:No | @#B40431:No | @green:Yes | @green:Yes | | iOS | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | | SailfishOS | @#B40431:No | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | ^ **Audio features** ^ [[clients:qTox]] ^ [[clients:µTox]] ^ [[clients:Toxic]] ^ [[clients:Toxygen]] ^ [[clients:TRIfA]] ^ [[clients:Antox]] ^ [[clients:Isotoxin]] ^ [[clients:jTox]] ^ [[clients:Protox]] ^ [[clients:aTox]] ^ | **Audio** | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | | **Audio filtering** | @green:Yes | @green:Yes | @#B40431:No | @#B40431:No | @green:Yes | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | | **Audio notifications** | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @#B40431:No | @green:Yes | @green:Yes | | **Group audio** | @green:Yes | @green:Yes | @#B40431:No | @#B40431:No | @green:Yes | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | ^ **Video features** ^ [[clients:qTox]] ^ [[clients:µTox]] ^ [[clients:Toxic]] ^ [[clients:Toxygen]] ^ [[clients:TRIfA]] ^ [[clients:Antox]] ^ [[clients:Isotoxin]] ^ [[clients:jTox]] ^ [[clients:Protox]] ^ [[clients:aTox]] ^ | **Desktop sharing** | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | | **Video** | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | ^ **Messaging** ^ [[clients:qTox]] ^ [[clients:µTox]] ^ [[clients:Toxic]] ^ [[clients:Toxygen]] ^ [[clients:TRIfA]] ^ [[clients:Antox]] ^ [[clients:Isotoxin]] ^ [[clients:jTox]] ^ [[clients:Protox]] ^ [[clients:aTox]] ^ | **1v1 messages** | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | | **Chat logs** | @green:Yes | @green:Yes (export possible) | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | | **Emoticons** | @green:Yes | @#B40431:No | @#B40431:No | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @green:Yes | | **Inline images** | @yellow:Semi((Preview for saved images only)) | @green:Yes | @#B40431:No | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @green:Yes | | **Message splitting** | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @#B40431:No | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | | **[[users:offline_messaging| Faux offline messaging]]** | @green:Yes | @green:Yes | @yellow:Semi((Messages are not stored, and thus they won't be sent across client restarts)) | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | | **File transfer** | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | | **File resuming** | @yellow:Semi((Transfers can be paused and resumed, but broken transfers will not be resumed)) | @green:Yes | @green:Yes | @green:Yes | @gray:Untested | @#B40431:No | @green:Yes | @#B40431:No | @yellow:Semi((Transfers can be paused and resumed, but broken transfers will not be resumed)) | @#B40431:No | | **Spell check** | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @green:Yes | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | | **Screen/Desktop notifications** | @yellow:Semi((Supported but not included in builds)) | @green:Yes | @green:Yes | @gray:Unknown | @green:Yes | @green:Yes | @gray:Unknown | @gray:Unknown | @green:Yes | @green:Yes | | **Typing notifications** | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @yellow:Semi((Sends typing notifications but does not show received ones)) | @green:Yes | @green:Yes | @green:Yes | @green:Yes | ^ **Group chats** ^ [[clients:qTox]] ^ [[clients:µTox]] ^ [[clients:Toxic]] ^ [[clients:Toxygen]] ^ [[clients:TRIfA]] ^ [[clients:Antox]] ^ [[clients:Isotoxin]] ^ [[clients:jTox]] ^ [[clients:Protox]] ^ [[clients:aTox]] ^ | **Group chats** | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | | **Persistent group chats** | @green:Yes | @green:Yes | @green:Yes | @orange:Prealpha | @green:Yes | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | | **Group chat history** | @orange:Planned((https://github.com/qTox/qTox/pull/5454)) | @#B40431:No | @#B40431:No | @gray:Unknown | @green:Yes | @#B40431:No | @gray:Unknown | @#B40431:No | @#B40431:No | @#B40431:No | | **Group file transfers** | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | | **Group inline images** | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | | **[[users:offline_messaging| Group offline messaging]]** | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | | **Group typing notifications** | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | ^ **Profile & Contact Management** ^ [[clients:qTox]] ^ [[clients:µTox]] ^ [[clients:Toxic]] ^ [[clients:Toxygen]] ^ [[clients:TRIfA]] ^ [[clients:Antox]] ^ [[clients:Isotoxin]] ^ [[clients:jTox]] ^ [[clients:Protox]] ^ [[clients:aTox]] ^ | **Avatars** | @green:Yes | @green:Yes | @yellow:Semi((You are only able to set your own avatar, avatars of friends aren't displayed)) | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @green:Yes | | **Changing nospam** | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @green:Yes | @#B40431:No | | **Contact aliases** | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @gray:Untested | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @#B40431:No | | **Contact blocking** | @green:Yes | @#B40431:No | @green:Yes | @green:Yes | @gray:Untested | @yellow:Semi((You can block, but not unblock contacts)) | @#B40431:No | @#B40431:No | @#B40431:No | @#B40431:No | | **Multiprofile** | @green:Yes | @#B40431:No | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @#B40431:No | | **Profile import/export** | @green:Yes | @#B40431:No | @yellow:Semi((Only by manually specifying which save file should be used.)) | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | | **Save file encryption** | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @#B40431:No | @#B40431:No | @green:Yes | @green:Yes | @#B40431:No | | **tox: URI** | @green:Yes | @green:Yes | @#B40431:No | @#B40431:No | @green:Yes | @green:Yes | @#B40431:No | @#B40431:No | @#B40431:No | @green:Yes | ^ **General** ^ [[clients:qTox]] ^ [[clients:µTox]] ^ [[clients:Toxic]] ^ [[clients:Toxygen]] ^ [[clients:TRIfA]] ^ [[clients:Antox]] ^ [[clients:Isotoxin]] ^ [[clients:jTox]] ^ [[clients:Protox]] ^ [[clients:aTox]] ^ | **Multilingual** | @green:Yes | @green:Yes | @#B40431:No | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | @green:Yes | | **Proxy support** | @green:Yes | @yellow: (Socks5 only) | @green:Yes | @green:Yes | @yellow:(Tor only) | @#B40431:No | @green:Yes | @#B40431:No | @#B40431:No | @green:Yes | ^ ^ [[clients:qTox]] ^ [[clients:µTox]] ^ [[clients:Toxic]] ^ [[clients:Toxygen]] ^ [[clients:TRIfA]] ^ [[clients:Antox]] ^ [[clients:Isotoxin]] ^ [[clients:jTox]] ^ [[clients:Protox]] ^ [[clients:aTox]] ^ ====== Unmaintained client features ====== See [[clients/inactive | unmaintained clients]].