Merge pull request #22733 from guilhermefelipecgs/fix_wm_class
[x11] Use "application/config/name" for WM_CLASS
This commit is contained in:
commit
dc2fadc14d
3 changed files with 13 additions and 1 deletions
|
@ -480,6 +480,7 @@ public:
|
|||
enum EngineContext {
|
||||
CONTEXT_EDITOR,
|
||||
CONTEXT_PROJECTMAN,
|
||||
CONTEXT_ENGINE,
|
||||
};
|
||||
|
||||
virtual void set_context(int p_context);
|
||||
|
|
|
@ -1705,6 +1705,9 @@ bool Main::start() {
|
|||
OS::get_singleton()->set_context(OS::CONTEXT_EDITOR);
|
||||
}
|
||||
#endif
|
||||
if (!editor) {
|
||||
OS::get_singleton()->set_context(OS::CONTEXT_ENGINE);
|
||||
}
|
||||
}
|
||||
|
||||
if (!project_manager && !editor) { // game
|
||||
|
|
|
@ -2853,11 +2853,19 @@ void OS_X11::set_context(int p_context) {
|
|||
XClassHint *classHint = XAllocClassHint();
|
||||
if (classHint) {
|
||||
|
||||
char *wm_class = (char *)"Godot";
|
||||
if (p_context == CONTEXT_EDITOR)
|
||||
classHint->res_name = (char *)"Godot_Editor";
|
||||
if (p_context == CONTEXT_PROJECTMAN)
|
||||
classHint->res_name = (char *)"Godot_ProjectList";
|
||||
classHint->res_class = (char *)"Godot";
|
||||
|
||||
if (p_context == CONTEXT_ENGINE) {
|
||||
classHint->res_name = (char *)"Godot_Engine";
|
||||
wm_class = (char *)((String)GLOBAL_GET("application/config/name")).utf8().ptrw();
|
||||
}
|
||||
|
||||
classHint->res_class = wm_class;
|
||||
|
||||
XSetClassHint(x11_display, x11_window, classHint);
|
||||
XFree(classHint);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue