Skip to content

Reference ​

The details behind the user guide: every setting, where YapYap keeps its files, and how to start it from the command line.

Settings ​

Change settings in Settings (Ctrl+,, or ⌘+, on macOS). They are saved in settings.json in the profile folder.

SettingIn the fileDefaultNotes
Start at logingeneral.autostartOffFollows the system's login items; in Flatpak, your desktop asks first
Start minimizedgeneral.startMinimizedOffOpens in the tray or the Dock
Get beta updatesgeneral.betaUpdatesOffOnly in builds that update or announce updates; see betas
Do not disturbgeneral.doNotDisturbOffAlso in the tray and the Account menu
Close to the traygeneral.closeToTrayOffWindows and Linux; macOS always keeps running
Check spellingspelling.enabledOffDownloads a dictionary from Google on Windows and Linux; see Spelling
Spelling languagesspelling.languagesEmptyRight-click → Languages…; up to ten, such as en-GB; empty means the system's language
Themeappearance.themeSame as the systemsystem, light or dark
Tray iconappearance.trayIconApp iconcolor, auto, light or dark; one-color icons are templates on macOS
Compact account sidebarappearance.compactSidebarOffAvatars only; the sidebar shows with two or more accounts
Hide the menu barappearance.autoHideMenuBarOffWindows and Linux; Alt shows it
Interface scaleappearance.zoom100%50% to 200% in Settings; the View menu goes in 5% steps up to 300%
Zoom with a pinch or the wheelappearance.pinchZoomOnOff ignores pinches and Ctrl with the wheel; the View menu still zooms
Use hardware accelerationreliability.hardwareAccelerationOnTakes effect after a restart
Use hardware video decodingreliability.hardwareVideoDecodingOnTakes effect after a restart
Display backendreliability.displayBackendAutomaticLinux; auto, wayland or x11; restart
Disk cache sizereliability.diskCacheMbAutomaticauto, 128, 256, 512 or 1024 MB; takes effect after a restart
Memory limit per pagereliability.jsHeapMbAutomaticauto, 2048, 4096 or 8192 MB of script memory; after a restart
Memory limitreliability.memoryWatchdogMb2048 MBFile only; 512 to 16384; see below
Crash reportsprivacy.crashReportsOffoff, local or ask; see Privacy
Keep chats unread while hiddenprivacy.unreadWhileHiddenOnWhatsApp marks nothing read while YapYap is hidden or minimized
Show who wrote in notificationsprivacy.notificationSenderOnOff shows “WhatsApp” instead
Developer Modeextensions.developerModeOffInstalls unsigned extensions; never exported or imported
Messages an extension may readextensions.chatMessages20How many of the open chat's latest messages an extension allowed to read chats receives
Blur when not in frontprivacy.blurWhenUnfocusedOffThe privacy screen covers WhatsApp while another window is in front
Blur when you are awayprivacy.blurWhenIdleOffAfter five minutes without using the computer
Show message text in notificationsprivacy.notificationTextOnOff shows “New message”; the text never reaches the system
Proxynetwork.proxyModeSame as the systemsystem, direct or manual; see Proxy
Proxy addressnetwork.proxyServerEmptyWith manual: http://, https:// or socks5://, a host and a port
Ask where to save each filedownloads.askWhereOffOff saves to the Downloads folder; on starts the dialog in the last folder chosen
Save files todownloads.folderYour Downloads folderSet with Choose… in Settings; a folder that is gone means Downloads again
Open files when they finish downloadingdownloads.openWhenDoneOffPDFs, pictures, sound, video and text only; nothing that could run
Record asrecording.formatOpus in WebMwebm or wav; WAV files are many times larger, but every program opens them
Save recordings torecording.folderYapYap in your Music folderSet with Choose… in Settings → Call recordings; a folder that is gone means the default again

The file also has entries for features that are not built yet. YapYap ignores them until those features arrive, and the settings window shows a setting only once YapYap acts on it.

YapYap checks settings.json every time it starts, and never fails to start because of it. An invalid value goes back to its default. A damaged file is kept as settings.corrupt-<time>.json, and YapYap restores the previous copy (settings.json.bak) or, if that is damaged too, the defaults. Settings written by a newer version of YapYap are used but never changed.

Memory limit ​

When WhatsApp keeps using more memory than reliability.memoryWatchdogMb for two minutes, YapYap reloads it, which keeps you logged in and frees the memory the page has piled up. It waits while you are typing or reading in the window, so a draft is never cut off; only WhatsApp using more than one and a half times the limit reloads regardless. The log notes the size and the limit, nothing else.

Saving CPU in hidden accounts ​

Accounts you are not looking at are throttled by Chromium, so their timers run less often and they use little CPU. The same throttling keeps chats unread while YapYap is hidden; turning off Keep chats unread while hidden turns it off too, for every account.

Files ​

Everything YapYap stores lives in one profile folder:

SystemProfile folder
Linux~/.config/YapYap
Flatpak~/.var/app/org.guita.YapYap/config/YapYap
Windows%APPDATA%\YapYap
macOS~/Library/Application Support/YapYap

The privacy page lists every file in it, what each holds and how to delete it. Deleting the profile folder while YapYap is closed resets YapYap completely and logs you out of WhatsApp.

Command line ​

OptionEffect
--safe-modeStarts without hardware acceleration, for this launch only (see graphics problems)
--ozone-platform=wayland or =x11Linux: uses that display backend for this launch, over the setting and ELECTRON_OZONE_PLATFORM_HINT
--proxy-server=<proxy>, --proxy-bypass-list=<hosts>, --proxy-pac-url=<url>, --no-proxy-serverChromium's proxy options: used for this launch while Settings → Network → Proxy follows the system
A chat linkOpens that chat, for example yapyap "https://wa.me/15551234567?text=Hi" (see chat links)

The executable is yapyap on Linux and YapYap.exe on Windows. On macOS, pass options with open -a YapYap --args <options>.

YapYap refuses to start with Chromium's --no-sandbox option or the ELECTRON_DISABLE_SANDBOX environment variable, because they remove the protection between WhatsApp Web and your computer. Troubleshooting explains what to do if your system triggers this.

YapYap reads no environment variables of its own. YAPYAP_TEST_WHATSAPP_ORIGIN exists only for YapYap's automated tests. It points YapYap at a local fake WhatsApp page and accepts only loopback http addresses.

YapYap registers itself for whatsapp: links and opens these forms in the matching chat:

LinkOpens
whatsapp://send?phone=<number>&text=<text>The chat with that number, prefilled
https://wa.me/<number>?text=<text>The chat with that number, prefilled
https://api.whatsapp.com/send?phone=<number>&text=<text>The chat with that number, prefilled

The phone number and the text are optional. YapYap keeps only those two values and drops everything else in the link. Starting YapYap while it is already running passes the link to the open window.

Keyboard shortcuts ​

Help → Keyboard Shortcuts… (Ctrl+/, ⌘/ on macOS) lists every shortcut with the keys of your system. Change next to one waits for the new keys: press them, or Escape to keep the old ones. YapYap refuses keys another action already uses, and keys without Ctrl, Alt, Shift or ⌘, unless they are a function key. Reset goes back to YapYap's own keys. Switching accounts keeps its digits: give it keys ending in 1, and 2 to 9 follow.

Under From any app, Show or hide YapYap works while you use other apps. It has no keys until you give it some; Remove gives them back. If another app already holds the keys, or your system does not let apps use keys everywhere (as on some Wayland desktops), the window says so.

Under Extension commands, the commands of your running extensions show the keys they suggest, as long as nothing else uses them. Change gives one other keys, Remove leaves it without keys, and Reset goes back to the extension's suggestion. On macOS, use ⌘ where this table says Ctrl, unless it names other keys.

ShortcutAction
Ctrl+,Open Settings
Ctrl+/Show these shortcuts
Ctrl+1Switch to the first account; 2 to 9 switch to the next ones
Ctrl+Shift+HTurn the privacy screen on or off
Ctrl+=Zoom in
Ctrl+-Zoom out
Ctrl+0Actual size
Ctrl+RReload WhatsApp
Ctrl+Shift+RReload WhatsApp, bypassing the cache
F11 (macOS: ⌃⌘F)Full screen
Ctrl+Shift+I (macOS: ⌥⌘I)Developer tools
Ctrl+ZUndo
Ctrl+Y (macOS: ⇧⌘Z)Redo
Ctrl+XCut
Ctrl+CCopy
Ctrl+VPaste
Ctrl+Shift+V (macOS: ⌥⇧⌘V)Paste as plain text
Ctrl+ASelect all
Ctrl+MMinimize the window
Ctrl+WClose the window
Ctrl+J (macOS: ⇧⌘J)Show downloads
⌘H (macOS)Hide YapYap
Ctrl+Q (not on Windows)Quit YapYap
AltShow a hidden menu bar (Windows and Linux)

Released under the MIT License. Development supported by Ensita. YapYap is unofficial and not affiliated with WhatsApp or Meta.