I need to programatically determine which window manager is running, on Linux.

Pseudocode for how it would be used:

if(WindowManagerOfOS.isKDE()){
      do.anyThing();
}

How can I do this? Is it even possible?

有帮助吗?

解决方案

System.getenv("XDG_CURRENT_DESKTOP")

returns "GNOME" on my machine. Try it out on KDE-based box.

See also

其他提示

The official answer is that you aren't supposed to care. Both desktops honor existing standards. Both can run each others' software. What is it you are trying to do? If it's a particular service you are looking for that only one distribution ships by default, you should be probing for that instead.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top