From cfac7e28ab772b53eb40dcb06099b50d32f60613 Mon Sep 17 00:00:00 2001 From: rdavidek Date: Sat, 17 Jan 2026 11:13:45 +0100 Subject: [PATCH] added desktop file --- kf-manager.desktop | 11 +++++++++++ src/main/java/cz/kamma/kfmanager/MainApp.java | 3 +++ .../java/cz/kamma/kfmanager/ui/MainWindow.java | 15 +++++++++++++++ 3 files changed, 29 insertions(+) create mode 100755 kf-manager.desktop diff --git a/kf-manager.desktop b/kf-manager.desktop new file mode 100755 index 0000000..31c6115 --- /dev/null +++ b/kf-manager.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Exec=java -jar /home/kamma/projects/kf-manager/target/kf-manager-1.0-SNAPSHOT-jar-with-dependencies.jar +Name=KF File Manager +Icon=/home/kamma/projects/kf-manager/src/main/resources/icon.png +StartupWMClass=cz-kamma-kfmanager-MainApp +Comment=Dvoupanelový souborový manažer pro Linux +Categories=Utility;System; diff --git a/src/main/java/cz/kamma/kfmanager/MainApp.java b/src/main/java/cz/kamma/kfmanager/MainApp.java index 15185e7..817a77e 100644 --- a/src/main/java/cz/kamma/kfmanager/MainApp.java +++ b/src/main/java/cz/kamma/kfmanager/MainApp.java @@ -12,6 +12,9 @@ public class MainApp { public static final String APP_VERSION = "0.0.4"; public static void main(String[] args) { + // Set application name for X11/Wayland WM_CLASS + System.setProperty("awt.app.name", "cz-kamma-kfmanager-MainApp"); + // Set look and feel to system default try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); diff --git a/src/main/java/cz/kamma/kfmanager/ui/MainWindow.java b/src/main/java/cz/kamma/kfmanager/ui/MainWindow.java index cbcfe0a..47873c8 100644 --- a/src/main/java/cz/kamma/kfmanager/ui/MainWindow.java +++ b/src/main/java/cz/kamma/kfmanager/ui/MainWindow.java @@ -31,6 +31,9 @@ public class MainWindow extends JFrame { public MainWindow() { super("KF Manager v" + MainApp.APP_VERSION); + // Set application icon + loadAppIcon(); + // Load configuration config = new AppConfig(); @@ -58,6 +61,18 @@ public class MainWindow extends JFrame { }); } + private void loadAppIcon() { + try { + java.net.URL iconURL = MainWindow.class.getResource("/icon.png"); + if (iconURL != null) { + ImageIcon img = new ImageIcon(iconURL); + setIconImage(img.getImage()); + } + } catch (Exception e) { + System.err.println("Could not load icon: " + e.getMessage()); + } + } + private void initComponents() { setLayout(new BorderLayout());