SYMBOL INDEX (230 symbols across 73 files) FILE: packages/libvesktop/src/libvesktop.cc type GObjectDeleter (line 11) | struct GObjectDeleter type GVariantDeleter (line 23) | struct GVariantDeleter type GErrorDeleter (line 34) | struct GErrorDeleter function update_launcher_count (line 45) | bool update_launcher_count(int count) function get_accent_color (line 86) | std::optional get_accent_color() function request_background (line 166) | bool request_background(bool autostart, const std::vector &... function updateUnityLauncherCount (line 216) | Napi::Value updateUnityLauncherCount(Napi::CallbackInfo const &info) function getAccentColor (line 229) | Napi::Value getAccentColor(const Napi::CallbackInfo &info) function RequestBackground (line 237) | Napi::Value RequestBackground(const Napi::CallbackInfo &info) function Init (line 261) | Napi::Object Init(Napi::Env env, Napi::Object exports) FILE: scripts/build/addAssetsCar.mjs function addAssetsCar (line 13) | async function addAssetsCar({ appOutDir }) { FILE: scripts/build/afterPack.mjs function afterPack (line 3) | async function afterPack(context) { FILE: scripts/build/beforePack.mjs function beforePack (line 3) | async function beforePack() { FILE: scripts/build/sandboxFix.mjs function applyAppImageSandboxFix (line 15) | async function applyAppImageSandboxFix() { FILE: src/main/about.ts function createAboutWindow (line 12) | async function createAboutWindow() { FILE: src/main/appBadge.ts function loadBadge (line 16) | function loadBadge(index: number) { function setBadgeCount (line 32) | function setBadgeCount(count: number) { function getBadgeIndexAndDescription (line 58) | function getBadgeIndexAndDescription(count: number): [number | null, str... FILE: src/main/arrpc/index.ts function initArRPC (line 19) | async function initArRPC() { FILE: src/main/arrpc/types.ts type ArRpcEvent (line 7) | type ArRpcEvent = ArRpcActivityEvent | ArRpcInviteEvent | ArRpcLinkEvent; type ArRpcHostEvent (line 8) | type ArRpcHostEvent = ArRpcHostAckInviteEvent | ArRpcHostAckLinkEvent; type ArRpcActivityEvent (line 10) | interface ArRpcActivityEvent { type ArRpcInviteEvent (line 16) | interface ArRpcInviteEvent { type ArRpcLinkEvent (line 22) | interface ArRpcLinkEvent { type ArRpcHostAckInviteEvent (line 28) | interface ArRpcHostAckInviteEvent { type ArRpcHostAckLinkEvent (line 34) | interface ArRpcHostAckLinkEvent { FILE: src/main/arrpc/worker.ts type InviteCallback (line 15) | type InviteCallback = (valid: boolean) => void; type LinkCallback (line 16) | type LinkCallback = InviteCallback; FILE: src/main/autoStart.ts type AutoStart (line 17) | interface AutoStart { function getEscapedCommandLine (line 23) | function getEscapedCommandLine() { function makeAutoStartLinuxDesktop (line 29) | function makeAutoStartLinuxDesktop(): AutoStart { function makeAutoStartLinuxPortal (line 55) | function makeAutoStartLinuxPortal() { FILE: src/main/cli.ts type Option (line 12) | type Option = ParseArgsOptionDescriptor & { function checkCommandLineForHelpOrVersion (line 79) | function checkCommandLineForHelpOrVersion() { FILE: src/main/constants.ts constant PORTABLE (line 15) | const PORTABLE = constant DATA_DIR (line 20) | const DATA_DIR = constant SESSION_DATA_DIR (line 25) | const SESSION_DATA_DIR = join(DATA_DIR, "sessionData"); constant VENCORD_SETTINGS_DIR (line 28) | const VENCORD_SETTINGS_DIR = join(DATA_DIR, "settings"); constant VENCORD_QUICKCSS_FILE (line 30) | const VENCORD_QUICKCSS_FILE = join(VENCORD_SETTINGS_DIR, "quickCss.css"); constant VENCORD_SETTINGS_FILE (line 31) | const VENCORD_SETTINGS_FILE = join(VENCORD_SETTINGS_DIR, "settings.json"); constant VENCORD_THEMES_DIR (line 32) | const VENCORD_THEMES_DIR = join(DATA_DIR, "themes"); constant USER_AGENT (line 34) | const USER_AGENT = `Vesktop/${app.getVersion()} (https://github.com/Venc... constant MIN_WIDTH (line 37) | const MIN_WIDTH = 940; constant MIN_HEIGHT (line 38) | const MIN_HEIGHT = 500; constant DEFAULT_WIDTH (line 39) | const DEFAULT_WIDTH = 1280; constant DEFAULT_HEIGHT (line 40) | const DEFAULT_HEIGHT = 720; constant DISCORD_HOSTNAMES (line 42) | const DISCORD_HOSTNAMES = ["discord.com", "canary.discord.com", "ptb.dis... type MessageBoxChoice (line 56) | const enum MessageBoxChoice { constant IS_FLATPAK (line 61) | const IS_FLATPAK = process.env.FLATPAK_ID !== undefined; FILE: src/main/dbus.ts function loadLibVesktop (line 13) | function loadLibVesktop() { function getAccentColor (line 25) | function getAccentColor() { function updateUnityLauncherCount (line 29) | function updateUnityLauncherCount(count: number) { function requestBackground (line 38) | function requestBackground(autoStart: boolean, commandLine: string[]) { FILE: src/main/firstLaunch.ts type Data (line 20) | interface Data { function createFirstLaunchTour (line 28) | function createFirstLaunchTour() { FILE: src/main/index.ts function init (line 33) | function init() { function bootstrap (line 139) | async function bootstrap() { FILE: src/main/ipc.ts constant VESKTOP_RENDERER_JS_PATH (line 48) | const VESKTOP_RENDERER_JS_PATH = join(__dirname, "renderer.js"); constant VESKTOP_RENDERER_CSS_PATH (line 49) | const VESKTOP_RENDERER_CSS_PATH = join(__dirname, "renderer.css"); function getWindow (line 105) | function getWindow(e: IpcMainInvokeEvent, key?: string) { function openDebugPage (line 176) | function openDebugPage(page: string) { FILE: src/main/ipcCommands.ts type IpcMessage (line 15) | interface IpcMessage { type IpcResponse (line 21) | interface IpcResponse { function sendRendererCommand (line 33) | function sendRendererCommand(message: string, data?: any) { FILE: src/main/mainWindow.ts function makeSettingsListenerHelpers (line 50) | function makeSettingsListenerHelpers(o: SettingsStore<... type MenuItemList (line 71) | type MenuItemList = Array; function initMenuBar (line 73) | function initMenuBar(win: BrowserWindow) { function initWindowBoundsListeners (line 179) | function initWindowBoundsListeners(win: BrowserWindow) { function initSettingsListeners (line 197) | function initSettingsListeners(win: BrowserWindow) { function initSpellCheckLanguages (line 235) | async function initSpellCheckLanguages(win: BrowserWindow, languages?: s... function initSpellCheck (line 246) | function initSpellCheck(win: BrowserWindow) { function initDevtoolsListeners (line 254) | function initDevtoolsListeners(win: BrowserWindow) { function initStaticTitle (line 263) | function initStaticTitle(win: BrowserWindow) { function getWindowBoundsOptions (line 278) | function getWindowBoundsOptions(): BrowserWindowConstructorOptions { function buildBrowserWindowOptions (line 311) | function buildBrowserWindowOptions(): BrowserWindowConstructorOptions { function createMainWindow (line 370) | function createMainWindow() { function loadUrl (line 419) | function loadUrl(uri: string | undefined) { function retryUrl (line 431) | function retryUrl(url: string, description: string) { function createWindows (line 437) | async function createWindows() { FILE: src/main/mediaPermissions.ts function registerMediaPermissionsHandler (line 9) | function registerMediaPermissionsHandler() { FILE: src/main/screenShare.ts function registerScreenShareHandler (line 17) | function registerScreenShareHandler() { FILE: src/main/settings.ts constant SETTINGS_FILE (line 15) | const SETTINGS_FILE = join(DATA_DIR, "settings.json"); constant STATE_FILE (line 16) | const STATE_FILE = join(DATA_DIR, "state.json"); function loadSettings (line 18) | function loadSettings(file: string, name: string) { FILE: src/main/splash.ts function createSplashWindow (line 16) | function createSplashWindow(startMinimized = false) { function updateSplashMessage (line 49) | function updateSplashMessage(message: string) { FILE: src/main/tray.ts function destroyTray (line 34) | function destroyTray() { function initTray (line 38) | async function initTray(win: BrowserWindow, setIsQuitting: (val: boolean... FILE: src/main/updater.ts function openUpdater (line 45) | function openUpdater(update: UpdateInfo) { FILE: src/main/userAssets.ts constant CUSTOMIZABLE_ASSETS (line 20) | const CUSTOMIZABLE_ASSETS = ["splash", "tray", "trayUnread"] as const; type UserAssetType (line 21) | type UserAssetType = (typeof CUSTOMIZABLE_ASSETS)[number]; constant DEFAULT_ASSETS (line 23) | const DEFAULT_ASSETS: Record = { function resolveAssetPath (line 31) | async function resolveAssetPath(asset: UserAssetType) { function handleVesktopAssetsProtocol (line 44) | async function handleVesktopAssetsProtocol(path: string, req: Request) { FILE: src/main/utils/clearData.ts function clearData (line 11) | async function clearData(win: BrowserWindow) { FILE: src/main/utils/desktopFileEscape.ts function escapeDesktopFileArgument (line 32) | function escapeDesktopFileArgument(arg: string) { FILE: src/main/utils/fileExists.ts function fileExistsAsync (line 9) | async function fileExistsAsync(path: string) { FILE: src/main/utils/http.ts type FetchieOptions (line 12) | interface FetchieOptions { function downloadFile (line 16) | async function downloadFile(url: string, file: string, options: RequestI... constant ONE_MINUTE_MS (line 27) | const ONE_MINUTE_MS = 1000 * 60; function fetchie (line 29) | async function fetchie(url: string, options?: RequestInit, { retryOnNetw... FILE: src/main/utils/ipcWrappers.ts function validateSender (line 11) | function validateSender(frame: WebFrameMain | null, event: string) { function handleSync (line 28) | function handleSync(event: IpcEvents | UpdaterIpcEvents, cb: (e: IpcMain... function handle (line 35) | function handle(event: IpcEvents | UpdaterIpcEvents, cb: (e: IpcMainInvo... FILE: src/main/utils/isPathInDirectory.ts function isPathInDirectory (line 9) | function isPathInDirectory(filePath: string, directory: string) { FILE: src/main/utils/makeLinksOpenExternally.ts function handleExternalUrl (line 14) | function handleExternalUrl(url: string, protocol?: string): { action: "d... function makeLinksOpenExternally (line 50) | function makeLinksOpenExternally(win: BrowserWindow) { FILE: src/main/utils/popout.ts constant ALLOWED_FEATURES (line 12) | const ALLOWED_FEATURES = new Set([ constant MIN_POPOUT_WIDTH (line 33) | const MIN_POPOUT_WIDTH = 320; constant MIN_POPOUT_HEIGHT (line 34) | const MIN_POPOUT_HEIGHT = 180; constant DEFAULT_POPOUT_OPTIONS (line 35) | const DEFAULT_POPOUT_OPTIONS: BrowserWindowConstructorOptions = { function focusWindow (line 58) | function focusWindow(window: BrowserWindow) { function parseFeatureValue (line 64) | function parseFeatureValue(feature: string) { function parseWindowFeatures (line 74) | function parseWindowFeatures(features: string) { function createOrFocusPopup (line 85) | function createOrFocusPopup(key: string, features: string) { function setupPopout (line 101) | function setupPopout(win: BrowserWindow, key: string) { FILE: src/main/utils/setAsDefaultProtocolClient.ts function setAsDefaultProtocolClient (line 10) | async function setAsDefaultProtocolClient(protocol: string) { FILE: src/main/utils/steamOS.ts function applyDeckKeyboardFix (line 24) | function applyDeckKeyboardFix() { function getAppId (line 31) | function getAppId(): string | null { function execSteamURL (line 44) | function execSteamURL(url: string) { function steamOpenURL (line 56) | function steamOpenURL(url: string) { function showGamePage (line 60) | async function showGamePage() { function showLayout (line 66) | async function showLayout(appId: string) { function askToApplySteamLayout (line 70) | async function askToApplySteamLayout(win: BrowserWindow) { FILE: src/main/utils/vencordLoader.ts constant API_BASE (line 15) | const API_BASE = "https://api.github.com"; constant FILES_TO_DOWNLOAD (line 17) | const FILES_TO_DOWNLOAD = [ type ReleaseData (line 24) | interface ReleaseData { function githubGet (line 34) | async function githubGet(endpoint: string) { function downloadVencordFiles (line 47) | async function downloadVencordFiles() { function isValidVencordInstall (line 66) | async function isValidVencordInstall(dir: string) { function ensureVencordFiles (line 71) | async function ensureVencordFiles() { function vencordSupportsSandboxing (line 80) | function vencordSupportsSandboxing() { FILE: src/main/vencordFilesDir.ts constant VENCORD_FILES_DIR (line 13) | const VENCORD_FILES_DIR = State.store.vencordDir || join(SESSION_DATA_DI... FILE: src/main/venmic.ts function importVenmic (line 24) | function importVenmic() { function obtainVenmic (line 42) | function obtainVenmic() { function getRendererAudioServicePid (line 60) | function getRendererAudioServicePid() { FILE: src/main/vesktopStatic.ts constant STATIC_DIR (line 13) | const STATIC_DIR = join(__dirname, "..", "..", "static"); function handleVesktopStaticProtocol (line 15) | async function handleVesktopStaticProtocol(path: string, req: Request) { function loadView (line 24) | function loadView(browserWindow: BrowserWindow, view: string, params?: U... FILE: src/preload/VesktopNative.ts type SpellCheckerResultCallback (line 15) | type SpellCheckerResultCallback = (word: string, suggestions: string[]) ... method onSpellcheckResult (line 64) | onSpellcheckResult(cb: SpellCheckerResultCallback) { method offSpellcheckResult (line 67) | offSpellcheckResult(cb: SpellCheckerResultCallback) { method onCommand (line 106) | onCommand(cb: (message: IpcMessage) => void) { FILE: src/preload/splash.ts method onUpdateMessage (line 10) | onUpdateMessage(callback: (message: string) => void) { FILE: src/preload/typedIpc.ts function invoke (line 10) | function invoke(event: IpcEvents | UpdaterIpcEvents, ...args: a... function sendSync (line 14) | function sendSync(event: IpcEvents | UpdaterIpcEvents, ...args:... FILE: src/renderer/appBadge.ts function setBadge (line 16) | function setBadge() { function waitForAndSubscribeToStore (line 36) | function waitForAndSubscribeToStore(name: string, cb?: (m: any) => void) { FILE: src/renderer/components/ScreenSharePicker.tsx type StreamResolution (line 48) | type StreamResolution = (typeof StreamResolutions)[number]; type StreamFps (line 49) | type StreamFps = (typeof StreamFps)[number]; type SpecialSource (line 51) | type SpecialSource = "None" | "Entire System"; type AudioSource (line 53) | type AudioSource = SpecialSource | Node; type AudioSources (line 54) | type AudioSources = SpecialSource | Node[]; type AudioItem (line 56) | interface AudioItem { type StreamSettings (line 61) | interface StreamSettings { type StreamPick (line 68) | interface StreamPick extends StreamSettings { type Source (line 72) | interface Source { method patchStreamQuality (line 92) | patchStreamQuality(opts: any) { function openScreenSharePicker (line 137) | function openScreenSharePicker(screens: Source[], skipPicker: boolean) { function ScreenPicker (line 180) | function ScreenPicker({ screens, chooseScreen }: { screens: Source[]; ch... function AudioSettingsModal (line 201) | function AudioSettingsModal({ function OptionRadio (line 315) | function OptionRadio void, sources?: Au... function AudioSourcePickerLinux (line 567) | function AudioSourcePickerLinux({ function ModalComponent (line 700) | function ModalComponent({ FILE: src/renderer/components/SimpleErrorBoundary.tsx function openSupportChannel (line 11) | async function openSupportChannel() { function Fallback (line 30) | function Fallback() { function SimpleErrorBoundary (line 44) | function SimpleErrorBoundary({ children }: PropsWithChildren<{}>) { FILE: src/renderer/components/settings/DeveloperOptions.tsx function openDeveloperOptionsModal (line 27) | function openDeveloperOptionsModal(settings: Settings) { FILE: src/renderer/components/settings/OutdatedVesktopWarning.tsx function OutdatedVesktopWarning (line 12) | function OutdatedVesktopWarning() { FILE: src/renderer/components/settings/Settings.tsx type BooleanSetting (line 24) | interface BooleanSetting { type SettingsComponent (line 35) | type SettingsComponent = ComponentType<{ settings: typeof Settings.store... function SettingsSections (line 154) | function SettingsSections() { FILE: src/renderer/components/settings/UserAssets.tsx constant CUSTOMIZABLE_ASSETS (line 27) | const CUSTOMIZABLE_ASSETS: UserAssetType[] = ["splash", "tray", "trayUnr... function openAssetsModal (line 33) | function openAssetsModal() { function Asset (line 54) | function Asset({ asset }: { asset: UserAssetType }) { FILE: src/renderer/components/settings/VesktopSettingsSwitch.tsx function VesktopSettingsSwitch (line 12) | function VesktopSettingsSwitch(props: ComponentProps) { FILE: src/renderer/fixes.ts method set (line 12) | set(onClick) { FILE: src/renderer/ipcCommands.ts type IpcCommandHandler (line 12) | type IpcCommandHandler = (data: any) => any; function respond (line 16) | function respond(nonce: string, ok: boolean, data: any) { function onIpcCommand (line 34) | function onIpcCommand(channel: string, handler: IpcCommandHandler) { function offIpcCommand (line 42) | function offIpcCommand(channel: string) { FILE: src/renderer/patches/fixStreamConstraints.ts function fixAudioTrackConstraints (line 12) | function fixAudioTrackConstraints(constraint: MediaTrackConstraints) { function fixVideoTrackConstraints (line 18) | function fixVideoTrackConstraints(constraint: MediaTrackConstraints) { function fixStreamConstraints (line 24) | function fixStreamConstraints(constraints: MediaStreamConstraints | unde... FILE: src/renderer/patches/hideSwitchDevice.tsx method shouldIgnoreDevice (line 20) | shouldIgnoreDevice(state: any) { FILE: src/renderer/patches/hideVenmicInput.tsx method filteredDevices (line 20) | async filteredDevices() { FILE: src/renderer/patches/platformClass.tsx method getPlatformClass (line 23) | getPlatformClass() { FILE: src/renderer/patches/screenShareFixes.ts function getVirtmic (line 17) | async function getVirtmic() { FILE: src/renderer/patches/shared.ts type PatchData (line 11) | interface PatchData { function addPatch (line 16) | function addPatch

(p: P) { FILE: src/renderer/patches/spellCheck.tsx method onSlateContext (line 29) | onSlateContext(e: MouseEvent, hasSpellcheck: boolean | undefined, openMe... FILE: src/renderer/patches/taskBarFlash.ts method flashFrame (line 22) | flashFrame() { FILE: src/renderer/settings.ts function useSettings (line 16) | function useSettings() { function getValueAndOnChange (line 28) | function getValueAndOnChange(key: keyof typeof Settings.store) { type TState (line 35) | interface TState { function useVesktopState (line 58) | function useVesktopState() { FILE: src/renderer/themedSplash.ts function isValidColor (line 9) | function isValidColor(color: CSSStyleValue | undefined): color is CSSUnp... function clamp (line 14) | function clamp(value: number, min: number, max: number) { function oklabToSRGB (line 19) | function oklabToSRGB({ L, a, b }: { L: number; a: number; b: number }) { function resolveColor (line 39) | function resolveColor(color: string) { FILE: src/shared/IpcEvents.ts type IpcEvents (line 7) | const enum IpcEvents { type UpdaterIpcEvents (line 68) | const enum UpdaterIpcEvents { type IpcCommands (line 77) | const enum IpcCommands { FILE: src/shared/paths.ts constant STATIC_DIR (line 9) | const STATIC_DIR = /* @__PURE__ */ join(__dirname, "..", "..", "static"); constant BADGE_DIR (line 10) | const BADGE_DIR = /* @__PURE__ */ join(STATIC_DIR, "badges"); FILE: src/shared/settings.d.ts type Settings (line 9) | interface Settings { type State (line 51) | interface State { FILE: src/shared/utils/SettingsStore.ts type ResolvePropDeep (line 10) | type ResolvePropDeep = P extends `${infer Pre}.${infer Suf}` class SettingsStore (line 22) | class SettingsStore { method constructor (line 35) | public constructor(plain: T) { method makeProxy (line 40) | private makeProxy(object: any, root: T = object, path: string = "") { method setData (line 87) | public setData(value: T, pathToNotify?: string) { method addGlobalChangeListener (line 114) | public addGlobalChangeListener(cb: (data: T, path: string) => void) { method addChangeListener (line 132) | public addChangeListener

>( method removeGlobalChangeListener (line 145) | public removeGlobalChangeListener(cb: (data: T, path: string) => void) { method removeChangeListener (line 153) | public removeChangeListener(path: LiteralUnion, cb: (... method markAsChanged (line 164) | public markAsChanged() { FILE: src/shared/utils/debounce.ts function debounce (line 13) | function debounce(func: T, delay = 300): T { FILE: src/shared/utils/guards.ts function isTruthy (line 7) | function isTruthy(item: T): item is Exclude(item: T): item is Exclude { FILE: src/shared/utils/millis.ts type Millis (line 7) | const enum Millis { FILE: src/shared/utils/once.ts function once (line 12) | function once(fn: T): T { FILE: src/shared/utils/sleep.ts function sleep (line 7) | function sleep(ms: number): Promise { FILE: src/shared/utils/text.ts function stripIndent (line 7) | function stripIndent(strings: TemplateStringsArray, ...values: any[]) {