How shakaran/whatly works
Whatly is a Qt desktop wrapper for WhatsApp Web, not an independent messaging client. The main workflow is opening an account in the native application, loading WhatsApp Web in a Qt WebEngine view, and adding native desktop behavior around it. Separate account profiles isolate sessions; documented feature branches add themes, privacy controls, scheduling, notifications, spell-check, and AI assistance. The excerpts show profile configuration and scheduled-message startup, but most feature wiring is unsampled, so those links are omitted or marked unverified.
Main entry points: mainwindow.h Main window · webengineprofilemanager.cpp Account profiles · main.cpp Application startup · webview.h Web view
Components 20
Desktop application
- Application startup
src/main.cpp - Main window
src/mainwindow.h
Web session
- Web view
src/webview.h - Web page handling
src/webenginepage.cpp - Chat themes
src/chattheme.cpp - Chat wallpaper
src/chatwallpaper.cpp - Privacy controls
src/privacyblur.cpp - Spell-check dictionaries
src/dictionaries.h
Accounts and settings
- Account profiles
src/webengineprofilemanager.cpp - Process profile
src/appprofile.h - Settings
src/settingsmanager.h - Web storage
src/storageinfo.cpp
Messaging features
- Scheduled messages
src/scheduledmessages.h - Saved replies
src/cannedresponses.cpp - AI assistant
src/aiassistant.h - Translation
src/translator.h
Native features
- Notifications
src/notificationrules.cpp - System tray
src/trayicon.cpp
Other components
- Desktop user
- WhatsApp Web
Connections 19
- Desktop user → Application startup: starts
README.md - Application startup → Main window: opens
- Main window → Web view: hosts
- Web view → WhatsApp Web: loads
README.md - Main window → Scheduled messages: starts queue
src/mainwindow_webengine.cpp - Account profiles → Process profile: uses namespace
src/webengineprofilemanager.cpp - Account profiles → Settings: reads settings
src/webengineprofilemanager.cpp - Account profiles → Web storage: configures paths
src/webengineprofilemanager.cpp - Main window → Account profiles: uses profiles
- Main window → Notifications: applies rules
- Main window → System tray: updates tray
- Account profiles → Chat themes: configures
src/webengineprofilemanager.cpp - Account profiles → Chat wallpaper: configures
src/webengineprofilemanager.cpp - Account profiles → Spell-check dictionaries: configures
src/webengineprofilemanager.cpp - Web page handling → WhatsApp Web: handles page
- Main window → Saved replies: offers replies
- Main window → AI assistant: offers assistance
- Main window → Translation: offers translation
- Account profiles → Privacy controls: configures
src/webengineprofilemanager.cpp