diff --git a/src/main/events/ipcList.ts b/src/main/events/ipcList.ts
index d4c97b6c..a1b03d86 100644
--- a/src/main/events/ipcList.ts
+++ b/src/main/events/ipcList.ts
@@ -205,6 +205,12 @@ export default {
return dataResult + bakResult + manageResult + manageBakResult
})
+ ipcMain.on('toggleMainWindowAlwaysOnTop', () => {
+ const mainWindow = windowManager.get(IWindowList.SETTING_WINDOW)!
+ const isAlwaysOnTop = mainWindow.isAlwaysOnTop()
+ mainWindow.setAlwaysOnTop(!isAlwaysOnTop)
+ })
+
ipcMain.on('openSettingWindow', () => {
windowManager.get(IWindowList.SETTING_WINDOW)!.show()
if (windowManager.has(IWindowList.MINI_WINDOW)) {
diff --git a/src/renderer/layouts/Main.vue b/src/renderer/layouts/Main.vue
index dcf982c3..27a795a2 100644
--- a/src/renderer/layouts/Main.vue
+++ b/src/renderer/layouts/Main.vue
@@ -10,6 +10,15 @@
v-if="os !== 'darwin'"
class="handle-bar"
>
+
+
+
-
+
-
+
-
+
@@ -232,11 +241,12 @@ import {
Menu,
Share,
InfoFilled,
- Minus,
- CirclePlus,
- Close,
+ SemiSelect,
+ ArrowDownBold,
+ CloseBold,
PieChart,
- Link
+ Link,
+ ArrowUpBold
} from '@element-plus/icons-vue'
import { ElMessage as $message, ElMessageBox } from 'element-plus'
import { T as $T } from '@/i18n/index'
@@ -273,6 +283,7 @@ const picBed: Ref = ref([])
const qrcodeVisible = ref(false)
const picBedConfigString = ref('')
const choosedPicBedForQRCode: Ref = ref([])
+const isAlwaysOnTop = ref(false)
const keepAlivePages = $router.getRoutes().filter(item => item.meta.keepAlive).map(item => item.name as string)
@@ -367,6 +378,11 @@ function getPicBeds (event: IpcRendererEvent, picBeds: IPicBedType[]) {
picBed.value = picBeds
}
+function setAlwaysOnTop () {
+ isAlwaysOnTop.value = !isAlwaysOnTop.value
+ sendToMain('toggleMainWindowAlwaysOnTop', isAlwaysOnTop.value)
+}
+
onBeforeRouteUpdate(async (to) => {
if (to.params.type) {
defaultActive.value = `${routerConfig.UPLOADER_CONFIG_PAGE}-${to.params.type}`