perf(Linux): title bar improvements

This commit is contained in:
fabio286 2022-06-08 13:04:19 +02:00
parent 5fa8bf38e4
commit 85cec05f70
6 changed files with 37 additions and 7 deletions

View File

@ -6,7 +6,8 @@
"PostgreSQL",
"SQLite",
"Windows",
"translation"
"translation",
"Linux"
],
"svg.preview.background": "transparent"
}

View File

@ -14,7 +14,7 @@ const isDevelopment = process.env.NODE_ENV !== 'production';
const isMacOS = process.platform === 'darwin';
const isLinux = process.platform === 'linux';
const isWindows = process.platform === 'win32';
const gotTheLock = app.requestSingleInstanceLock();
const gotTheLock = app.requestSingleInstanceLock();
process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = 'true';
@ -91,6 +91,11 @@ else {
});
});
ipcMain.on('change-window-title', (event, title: string) => {
mainWindow.setTitle(title)
});
// quit application when all windows are closed
app.on('window-all-closed', () => {
// on macOS it is common for applications to stay open until the user explicitly quits

View File

@ -1,5 +1,5 @@
<template>
<div id="titlebar" @dblclick="toggleFullScreen">
<div id="titlebar" v-if="!isLinux" @dblclick="toggleFullScreen">
<div class="titlebar-resizer" />
<div class="titlebar-elements">
<img
@ -27,7 +27,7 @@
<i class="mdi mdi-24px mdi-refresh" />
</div>
<div v-if="isWindows" style="width: 140px;" />
<div
<!-- <div
v-if="isLinux"
class="titlebar-element"
@click="minimizeApp"
@ -48,7 +48,7 @@
@click="closeApp"
>
<i class="mdi mdi-24px mdi-close" />
</div>
</div> -->
</div>
</div>
</template>

View File

@ -27,4 +27,14 @@ $titlebar-height: 1.5rem;
$settingbar-width: 3rem;
$explorebar-width: 14rem;
$footer-height: 1.5rem;
$excluding-size: $footer-height + $titlebar-height;
@function get-excluding-size(){
@if $platform == linux{
@return $footer-height;
}
@else {
@return $footer-height + $titlebar-height;
}
}
$excluding-size: get-excluding-size();

View File

@ -1,4 +1,5 @@
import { defineStore, acceptHMRUpdate } from 'pinia';
import { ipcRenderer } from 'electron';
import Store from 'electron-store';
import Connection from '@/ipc-api/Connection';
import Schema from '@/ipc-api/Schema';
@ -342,6 +343,17 @@ export const useWorkspacesStore = defineStore('workspaces', {
breadcrumbs: { ...breadcrumbsObj, ...payload }
}
: workspace);
const workspace = this.getWorkspace(this.selectedWorkspace);
if(workspace){
const { getConnectionName } = useConnectionsStore();
const connectionName = getConnectionName(this.selectedWorkspace);
const breadcrumbs = Object.values(workspace.value.breadcrumbs).filter(breadcrumb => breadcrumb) || [workspace.value.client];
const windowTitle = [connectionName, ...breadcrumbs].join(' • ');
ipcRenderer.send('change-window-title', windowTitle);
}
},
addLoadedSchema (schema) {
this.workspaces = this.workspaces.map(workspace => {

View File

@ -104,7 +104,9 @@ const config = {
{
loader: 'sass-loader',
options: {
additionalData: '@import "@/scss/_variables.scss";',
additionalData: `
$platform: ${process.platform};
@import "@/scss/_variables.scss";`,
sassOptions: { quietDeps: true }
}
}