Skip to content

Commit

Permalink
feat(electron): display page title in window title
Browse files Browse the repository at this point in the history
  • Loading branch information
Akryum committed Sep 29, 2022
1 parent 83851df commit 72d00f1
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 1 deletion.
18 changes: 18 additions & 0 deletions packages/app-backend-core/src/index.ts
Expand Up @@ -658,4 +658,22 @@ function connectBridge () {
settings,
})
})

ctx.bridge.send(BridgeEvents.TO_FRONT_TITLE, { title: document.title })
// Watch page title
if (typeof MutationObserver !== 'undefined') {
if (pageTitleObserver) {
pageTitleObserver.disconnect()
}
pageTitleObserver = new MutationObserver((mutations) => {
const title = mutations[0].target as HTMLTitleElement
ctx.bridge.send(BridgeEvents.TO_FRONT_TITLE, { title: title.innerText })
})
pageTitleObserver.observe(
document.querySelector('title'),
{ subtree: true, characterData: true, childList: true },
)
}
}

let pageTitleObserver: MutationObserver
6 changes: 5 additions & 1 deletion packages/app-frontend/src/app.ts
@@ -1,7 +1,7 @@
import App from './features/App.vue'

import Vue from 'vue'
import { isChrome, initEnv, SharedData, initSharedData, destroySharedData } from '@vue-devtools/shared-utils'
import { isChrome, initEnv, SharedData, initSharedData, destroySharedData, BridgeEvents } from '@vue-devtools/shared-utils'
import { createRouter } from './router'
import { getBridge, setBridge } from './features/bridge'
import { setAppConnected, setAppInitializing } from './features/connection'
Expand Down Expand Up @@ -68,6 +68,10 @@ export function connectApp (app, shell) {

initEnv(Vue)

bridge.on(BridgeEvents.TO_FRONT_TITLE, ({ title }: { title: string }) => {
document.title = `${title} - Vue devtools`
})

await initSharedData({
bridge,
persist: true,
Expand Down
2 changes: 2 additions & 0 deletions packages/shared-utils/src/consts.ts
Expand Up @@ -20,6 +20,8 @@ export enum BridgeEvents {
TO_BACK_LOG = 'b:log',
/** Reconnected after background script is terminated (idle) */
TO_FRONT_RECONNECTED = 'f:reconnected',
/** Change app title (electron) */
TO_FRONT_TITLE = 'f:title',

// Apps
/** App was registered */
Expand Down

0 comments on commit 72d00f1

Please sign in to comment.