mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix AppImage windows not showing the application icon (#6444)
Signed-off-by: Damien Degois <damien@degois.info> Signed-off-by: Damien Degois <damien@degois.info>
This commit is contained in:
1 parent
c591f08bc4
commit
8bc5856b8c
3 files changed
+31
-3
No files matched your search
+27
@@ -9,6 +9,12 @@ import { BrowserWindow } from "electron";
|
||||
import type { ElectronWindow } from "./create-lens-window.injectable";
|
||||
import type { RequireExactlyOne } from "type-fest";
|
||||
import openLinkInBrowserInjectable from "../../../../common/utils/open-link-in-browser.injectable";
|
||||
import getAbsolutePathInjectable from "../../../../common/path/get-absolute-path.injectable";
|
||||
import lensResourcesDirInjectable from "../../../../common/vars/lens-resources-dir.injectable";
|
||||
import isLinuxInjectable from "../../../../common/vars/is-linux.injectable";
|
||||
import fsInjectable from "../../../../common/fs/fs.injectable";
|
||||
import applicationInformationInjectable from "../../../../common/vars/application-information.injectable";
|
||||
|
||||
|
||||
export type ElectronWindowTitleBarStyle = "hiddenInset" | "hidden" | "default" | "customButtonsOnHover";
|
||||
|
||||
@@ -45,6 +51,10 @@ const createElectronWindowInjectable = getInjectable({
|
||||
instantiate: (di): CreateElectronWindow => {
|
||||
const logger = di.inject(loggerInjectable);
|
||||
const openLinkInBrowser = di.inject(openLinkInBrowserInjectable);
|
||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
||||
const lensResourcesDir = di.inject(lensResourcesDirInjectable);
|
||||
const isLinux = di.inject(isLinuxInjectable);
|
||||
const applicationInformation = di.inject(applicationInformationInjectable);
|
||||
|
||||
return (configuration) => {
|
||||
const applicationWindowState = di.inject(
|
||||
@@ -79,6 +89,23 @@ const createElectronWindowInjectable = getInjectable({
|
||||
},
|
||||
});
|
||||
|
||||
if (isLinux) {
|
||||
const iconFileName = [
|
||||
getAbsolutePath(lensResourcesDir, `../${applicationInformation.name}.png`),
|
||||
`/usr/share/icons/hicolor/512x512/apps/${applicationInformation.name}.png`,
|
||||
].find(di.inject(fsInjectable).existsSync);
|
||||
|
||||
if (iconFileName != null) {
|
||||
try {
|
||||
browserWindow.setIcon(iconFileName);
|
||||
} catch (err) {
|
||||
logger.warn(`Error while setting window icon ${err}`);
|
||||
}
|
||||
} else {
|
||||
logger.warn(`No suitable icon found for task bar.`);
|
||||
}
|
||||
}
|
||||
|
||||
applicationWindowState.manage(browserWindow);
|
||||
|
||||
browserWindow
|
||||
|
||||
Reference in new issue
Block a user