Qt Based WhatsApp Client

Overview

WhatSie

WhatSie is Light, feature rich WhatsApp web client written in Qt and not on Electron.

A simple & beautiful desktop client for WhatsApp Web. Chat without distractions on Linux. Not affiliated with WhatsApp or Facebook.

Features:

  • Light and Dark Themes with automatic switching
  • Customized Notifications & Native Notifications
  • Keyboard Shortcuts
  • BuiltIn download manager
  • Mute Audio, Disable Notifications
  • App Lock feature
  • App permission manager
  • Built in Spell Checker (with support for 31 Major languages)
  • Other settings that let you control every aspect of WebApp.

Install:

snap install whatsie

Get it from the Snap Store

Snap permissions:

To enable audio recording and camera in application connect to the respective slot using store permission option or via command line using the following commands:

  • for microphone permission snap connect whatsie:audio-record
  • for camera permission snap connect whatsie:camera

Screenshot

WhatSie for Linux Desktop Light Theme WhatSie for Linux Desktop Dark Theme WhatSie for Linux Desktop Setting module WhatSie for Linux Desktop App Lock screen WhatSie for Linux Desktop Shortcuts & Permissions

Issues
  • portuguese accents

    portuguese accents

    Hi, I'm using the app in ubuntu 20 and I have problems writing Portuguese words that have accents like: módulo. This happens only inside of WhatSie, how can I solve this?

    opened by micaelverissimo 37
  • Every time I link my device it always auto-logout.

    Every time I link my device it always auto-logout.

    Every time I link my device it always auto-logout. On my device a message pops up and gives a link to : https://faq.whatsapp.com/general/seeing-devices-logged-out-unexpected-issue?lang=en

    Please anyone can help me?

    opened by amrikarisma 11
  • "An Instance Of Whatsie Is Already Running"

    Problem Scenario ->

    -Open application. -Minimize application to system tray. -Click application icon again(Not the tray one), you will get this warning.

    Expected Behavior -> Just open the exist running instance, no need to warn the user about this.This change will affect user experience in very positive way.👍

    enhancement 
    opened by SercanDmr 9
  • crash on Xubunt 21.04 (possibly after JetBrainz Mono font installed)

    crash on Xubunt 21.04 (possibly after JetBrainz Mono font installed)


    /home/leonid$ whatsie

    (whatsie:16835): dbind-WARNING **: 17:43:08.565: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-jFrHcuAK6F: No such file or direct ry QApplication: invalid style override passed, ignoring it. Available styles: Windows, Fusion Fontconfig warning: FcPattern object weight does not accept value [0 205) Segmentation fault (core dumped)

    opened by coolemza 8
  • iBus [Keyman] Integration

    iBus [Keyman] Integration

    I would like to thanks to you for developing this app. This is so useful! One thing I found that any keyboard layout installed through iBus or Keyman did not work to type on Whatsie. Can you fix the problem?

    Regards, Ilham

    opened by Ilhamkang 8
  • Feature Requests for Whatsie

    Feature Requests for Whatsie

    Hey, I really appreciate how wonderful app your whatsie is. But there are some features that I crave.I tried understanding the code but I currently dont know much about QT. Here are the requests:

    • As whatsie is running in the background, it can be opened and closed by double clicking on the icon. Is there a command to reopen and close the window. Because I would like a shortcut for that(like Meta+ W to open and close whatsie window). If even there is a terminal command for doing so that currently exists, please relay the same.
    • The current download method seems to be a little off, as it keeps on asking for a new folder each time I want to download a document. Could you add the download path in the settings only and download it directly to that Whatsapp Download Folder everytime without asking for the location. Or a soft fix would be to start downloading with the current selected folder without asking for a new folder everytime.
    • Please add a time limit for auto locking whatsie, just like automatic fingerprint lock in Whatsapp Android app. Like after 1 minute it would lock automatically.
    • Also, add an option to autolock it whenever it is minimized to tray
    enhancement 
    opened by rishuinfinity 7
  • Missing indicator in Ubuntu Mate

    Missing indicator in Ubuntu Mate

    Hi! Thank you for developing this program. The only issue I'm having is the fact that the appindicator icon is missing on Ubuntu Mate. The fix I used in other qt5 snaps is to add this line to the environment part of the yaml: XDG_CURRENT_DESKTOP: $XDG_CURRENT_DESKTOP:Unity:Unity7 This tells the system explicitly to use the appindicator/ayatana icon (which the normal one it should be using anyway).

    enhancement 
    opened by LyzardKing 7
  • Custom notification shown on secondary screen

    Custom notification shown on secondary screen

    When using multiple monitors and the custom notification type is chosen, the notification shows on the secondary screen instead of the primary screen when the Whatsie app is open.

    My suggestion:

    1. Give the option to choose what screen the notification should be displayed (not a good UX)
    2. Display the notification on the primary screen where the Whatsie app is currently maximized or open (better UX)
    enhancement 
    opened by skylarng89 5
  • Whatsie started to crash on Fedora 35

    Whatsie started to crash on Fedora 35

    Greetings,

    Suddenly, Whatsie started to crash everytime I tried to open it. I tried remove and install again through snap, delete ~/snap/whatsie/ directory and use the commands below, but had no sucess

    sudo rm /var/cache/fontconfig/*
    rm ~/.cache/fontconfig/*
    fc-cache -r
    

    The error I get on terminal is:

    Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. Gtk-Message: 15:01:20.199: Failed to load module "canberra-gtk-module" Gtk-Message: 15:01:20.199: Failed to load module "pk-gtk-module" Gtk-Message: 15:01:20.200: Failed to load module "canberra-gtk-module" Gtk-Message: 15:01:20.200: Failed to load module "pk-gtk-module" QApplication: invalid style override passed, ignoring it. Available styles: Windows, Fusion Fontconfig warning: FcPattern object weight does not accept value [0 205) Segmentation fault (core dumped)

    image

    I'm using Fedora 35. Anything I can do to get this working again? Thanks.

    opened by glaydersonjonathan 5
  • Fcitx input method support

    Fcitx input method support

    Thank you very much for developing this helpful software. It really saved me a lot of time. I just noticed that I could not switch to my fcitx input method in this whatsapp program. I'm wondering if it's possible to add the Fcitx input method support to this program?

    Thanks again for your efforts.

    opened by JunCEEE 5
  • New messages and tray icon

    New messages and tray icon

    Is it possible to have a red circle or something like that on the tray icon to see new messages at a glance? A red circle with the unread messages number like TeslaUnread on android will be the best for me. thank you

    platform-specific 
    opened by magoafono 5
  • unneeded depends at build time

    unneeded depends at build time

    This is what I can see on my side at link time:

    x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,-z,lazy -Wl,-rpath-link,/usr/lib64 -o whatsie singleapplication.o singleapplication_p.o SunClock.o about.o automatictheme.o dictionaries.o downloadmanagerwidget.o downloadwidget.o elidedlabel.o lock.o main.o mainwindow.o permissiondialog.o rateapp.o settingswidget.o utils.o webenginepage.o webview.o scrolltext.o qrc_icons.o moc_singleapplication.o moc_singleapplication_p.o moc_about.o moc_autolockeventfilter.o moc_automatictheme.o moc_dictionaries.o moc_downloadmanagerwidget.o moc_downloadwidget.o moc_elidedlabel.o moc_lock.o moc_mainwindow.o moc_notificationpopup.o moc_permissiondialog.o moc_rateapp.o moc_requestinterceptor.o moc_settingswidget.o moc_utils.o moc_webenginepage.o moc_webview.o moc_scrolltext.o   -L/usr/X11/lib -lX11 /usr/lib64/libQt5WebEngine.so /usr/lib64/libQt5WebEngineWidgets.so /usr/lib64/libQt5WebEngineCore.so /usr/lib64/libQt5Quick.so /usr/lib64/libQt5PrintSupport.so /usr/lib64/libQt5Widgets.so /usr/lib64/libQt5Gui.so /usr/lib64/libQt5QmlModels.so /usr/lib64/libQt5WebChannel.so /usr/lib64/libQt5Qml.so /usr/lib64/libQt5Network.so /usr/lib64/libQt5Xml.so /usr/lib64/libQt5Positioning.so /usr/lib64/libQt5Core.so -lGL -pthread
    

    while scanelf -n reports:

    $ scanelf -n /usr/bin/whatsie 
     TYPE   NEEDED FILE 
    ET_EXEC libX11.so.6,libQt5WebEngineWidgets.so.5,libQt5WebEngineCore.so.5,libQt5Widgets.so.5,libQt5Gui.so.5,libQt5Network.so.5,libQt5Positioning.so.5,libQt5Core.so.5,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libc.so.6 /usr/bin/whatsie 
    

    So, in the practice it forces me to have /usr/lib64/libQt5QmlModels.so (there are more examples above), but in the practice whatsie is not linked against it.

    If I don't have /usr/lib64/libQt5QmlModels.so at build time it fails (expected) in that way:

    /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find /usr/lib64/libQt5QmlModels.so: No such file or directory
    collect2: error: ld returned 1 exit status
    make: *** [Makefile:445: whatsie] Error 1
    

    While if I don't have it at runtime it works as expected.

    You can test this behavior by temporarily move the affected libraries, e.g:

    mkdir tmplib
    cd tmplib
    mv /usr/lib64/libQt5QmlModels.so* .
    
    # to revert back
    mv * /usr/lib64/
    
    require investigation 
    opened by asarubbo 3
  • I have to log out and re-link my device each time

    I have to log out and re-link my device each time

    I have to log out and re-link my device each time otherwise messages won't load (program is stuck on "organizing messages") -- Ubuntu 22.04, program version 4.4.26f5659 -- this issue was introduced with one of the recent updates

    require investigation 
    opened by Lakis01 4
  • Right click on Trayicon minimize window

    Right click on Trayicon minimize window

    Expected behavior

    • The app should only be shown or hidden when tray icon receives a left click
    • Right click on the tray icon should only show the context menu and not modify the state of the app

    Obtained behavior

    • Right click on tray icon when the window has focus, hides the app and doesn't show the context menu
    • Right click on tray icon when the window does NOT have focus, hides the app and shows the context menu
    • Right click on tray icon when the app is hidden, shows the app and the context menu does not appear
    platform-specific 
    opened by cesar19004 1
  • Opens when click on any notification

    Opens when click on any notification

    Hello! When I click on the notification (pop-up) of any program, whatsie opens Tried 4.2 (stable) and 4.2.1 (edge) from snap I don't know if it matters, but, i use Linux mint, cinnamon If you need more information, [email protected]

    Great app, thanks!

    bug 
    opened by saintsloth 1
  • build system lacks install steps

    build system lacks install steps

    Hello,

    let me say that the qt interface makes whatsie the best whatsapp client around.

    I tried to package it for Gentoo and I noticed that the buildsystem lacks a bit on the install phase regarding the png icons. I'm working around this with the ebuild helpers but I just want to share it.

    Also there are reverse depends not listed anywere (found with scanelf -n )

    Thanks

    documentation 
    opened by asarubbo 6
Releases(4.4)
  • 4.4(Jun 17, 2022)

  • 4.3.1(Jun 16, 2022)

    change log:

    • feat: IPC; restore window directly when another instance is launched
    • feat: allow context menu on editable, selected, and copyable data types
    • fix: properly load setting for auto app lock checkbox
    • fix: logout flow during change password
    • fix: the minimize behavior; replace Ctrl+H with Ctrl+W to hide window to tray
    • fix: show notifications on the correct screen
    • fix: improve window geo restore: show settings window on the center of the screen where the mainwindow is located; show settings window at default pos if geometery is not saved; show mainwindow on the screen where the cursor is located; set default mainwindow size if saved geometry is not valid
    Source code(tar.gz)
    Source code(zip)
  • 4.2.1(May 10, 2022)

    Change log:

    • fix: raise window from hidden state when clicked on notification
    • updated new UA
    • fix: window geometry persistence behavior
    • feat: open download directory straight from the download manager
    • fix: consistent window show behavior
    • feat: implement IPC
      • lets run only one instance of application
      • lets pass arguments from secondary instances to main
      • restore application with command line argument to secondary instance: example: whatsie whatsapp://whatsie will restore the primary instance of Whatsie process
    • fix: open new chat without reloading page
      • support both command line and dialog based new chat invocation.
    Source code(tar.gz)
    Source code(zip)
  • 4.0(Mar 30, 2022)

    Change Log Version 4.0

    • fix(SystemTray) tray icon uses png rather than SVG
    • feat(SystemTray) added settings to lets users change the system tray icon click behavior(minimize/maximize on right-click)
    • feat(Download) added setting that lets the user set default download directory, avoid asking while saving files
    • fix(Notification) clicking popup now correctly restores the app window
    • feat(Lock) added a setting to let users change the current set password for the lock screen
    • feat(Lock) added setting to enable disable auto app locking, with defined duration
    • feat(Lock) current set password is now hidden by default and can be revealed for 5 seconds by pressing the view button
    • feat(Style/Theme) added ability to change widget style on the fly, added default light palette (prevent breaking of light theme on KDE EVs)
    • fix(Theme) dark theme update
    • feat(WebApp) added setting to set zoom factor when the window is maximized and fullscreen (gives user ability to set different zoom factor for Normal, Maximized(Fullscreen WindowStates)
    • fix(Setting) settings UI is more organized
    • fix(WebApp) enable JavaScript execCommand("paste")
    • feat(WebApp) tested for new WhatsApp Web that lets users use Whatsie without requiring the phone connected to the internet
    • fix(Lock) unify passowrd echomode in lock widget
    • fix(snap): suppress ATK warnings
    • feat(SystemTray): start application minimized
    • fix(WebApp): release Webengine properly on app exit
    • migrate code to Qt 5.15.2
    • snap: uses Qt 5.15.2 runtime content snap
    Source code(tar.gz)
    Source code(zip)
  • 3.0(Feb 28, 2022)

  • 1.0(May 3, 2021)

Owner
Keshav Bhatt
High on code. Publishing most of my work here: https://snapcraft.io/search?q=keshavnrj
Keshav Bhatt
VEngine-Client - vEngine: Official Client Module

━ S Y N O P S I S ━ Maintainer(s): Aviril, Tron vEngine is Next-Gen Sandbox-Engine being crafted in C++. In contrast to UE/Unity/ReverseEngineered-Mod

ᴠ : ꜱᴛᴜᴅɪᴏ 13 Apr 13, 2022
Pyth-client - client API for on-chain pyth programs

pyth-client client API for on-chain pyth programs Build Instructions # depends on openssl apt install libssl-dev # depends on libz apt install zlib1g

Pyth Network 99 Jun 24, 2022
Webdav-client-cpp - C++ WebDAV Client provides easy and convenient to work with WebDAV-servers.

WebDAV Client Package WebDAV Client provides easy and convenient to work with WebDAV-servers: Yandex.Disk Dropbox Google Drive Box 4shared ownCloud ..

Cloud Polis 100 Apr 13, 2022
This repository provides a C++ client SDK for Unleash that meets the Unleash Client Specifications.

Unleash Client SDK for C++ This repository provides a C++ client SDK for Unleash that meets the Unleash Client Specifications. Features The below tabl

Antonio Ruiz 4 Jan 30, 2022
The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.

Welcome! The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design

Microsoft 6.9k Jun 22, 2022
Jellyfin Desktop Client based on Plex Media Player

Jellyfin Media Player Based on (but not affiliated with) Plex Media Player. Please see: Corresponding web client: Repo Release API Docs in client-api.

Ian Walton 887 Jun 20, 2022
A VPN client for Android based on OpenVPN made with Jetpack Compose.

Gear VPN - Free, Secure & Open sourced VPN Tech Stack Jetpack Compose - Google's new UI toolkit for developing native Android apps. Navigator-Compose

Kaustubh Patange 62 Jun 25, 2022
Simple WHIP Client (based on GStreamer's webrtcbin)

Simple WHIP Client This is an attempt to create a simple prototype of a WHIP client, to be used mostly for testing with my Simple WHIP Server (based o

Lorenzo Miniero 25 May 2, 2022
A GlobalProtect VPN client (GUI) for Linux based on OpenConnect and built with Qt5, supports SAML auth mode.

A GlobalProtect VPN client (GUI) for Linux based on OpenConnect and built with Qt5, supports SAML auth mode.

Kevin Yue 466 Jun 24, 2022
A Lightweight and fully asynchronous WebSocket client library based on libev

libuwsc(中文) A Lightweight and fully asynchronous WebSocket client library based on libev for Embedded Linux. And provide Lua-binding. Why should I cho

Jianhui Zhao 283 Jun 8, 2022
An unofficial Qt-based client for Telegram messenger.

Kutegram How to build Symbian^1 (also Symbian^3) Clone this repository with submodules. git clone --recursive https://github.com/kutegram/client.git c

Kutegram 15 Jun 23, 2022
An SFTP client shared library (dll/so/dylib) with bindings and classes for C++, Delphi and Free Pascal based on PuTTY

TGPuttyLib A shared library / DLL with Delphi and C++ bindings based on PuTTY, for Windows, macOS, and Linux. The new TGPuttyLib SFTP Library is a DLL

Tobias Giesen 64 Jun 11, 2022
A C++ header-only HTTP/HTTPS server and client library

cpp-httplib A C++11 single-file header-only cross platform HTTP/HTTPS library. It's extremely easy to setup. Just include the httplib.h file in your c

null 7.2k Jun 24, 2022
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution

CppServer Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and

Ivan Shynkarenka 848 Jun 26, 2022
A portable MQTT C client for embedded systems and PCs alike.

MQTT-C is an MQTT v3.1.1 client written in C. MQTT is a lightweight publisher-subscriber-based messaging protocol that is commonly used in IoT and net

Liam Bindle 500 Jun 22, 2022
C++ client for making HTTP/REST requests

REST client for C++ About This is a simple REST client for C++. It wraps libcurl for HTTP requests. Usage restclient-cpp provides two ways of interact

Daniel Schauenberg 1.4k Jun 21, 2022
Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.

Wangle C++ networking library Wangle is a library that makes it easy to build protocols, application clients, and application servers. It's like Netty

Facebook 2.9k Jun 24, 2022
C++ websocket client/server library

WebSocket++ (0.8.2) WebSocket++ is a header only C++ library that implements RFC6455 The WebSocket Protocol. It allows integrating WebSocket client an

Peter Thorson 5.6k Jun 28, 2022
LibVNCServer/LibVNCClient are cross-platform C libraries that allow you to easily implement VNC server or client functionality in your program.

LibVNCServer: A library for easy implementation of a VNC server. Copyright (C) 2001-2003 Johannes E. Schindelin If you already used LibVNCServer, you

null 839 Jun 27, 2022