mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2025-01-24 02:46:33 +11:00
Merge pull request #168 from jonhoo/set_class_before_map
Set WM_CLASS and WM_NAME before mapping window
This commit is contained in:
commit
689d0521f5
1 changed files with 13 additions and 12 deletions
|
@ -403,6 +403,19 @@ impl Window {
|
||||||
win
|
win
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Set ICCCM WM_CLASS property based on initial window title
|
||||||
|
// Must be done *before* mapping the window by ICCCM 4.1.2.5
|
||||||
|
unsafe {
|
||||||
|
with_c_str(&*window_attrs.title, |c_name| {
|
||||||
|
let hint = (display.xlib.XAllocClassHint)();
|
||||||
|
(*hint).res_name = c_name as *mut libc::c_char;
|
||||||
|
(*hint).res_class = c_name as *mut libc::c_char;
|
||||||
|
(display.xlib.XSetClassHint)(display.display, window, hint);
|
||||||
|
display.check_errors().expect("Failed to call XSetClassHint");
|
||||||
|
(display.xlib.XFree)(hint as *mut _);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// set visibility
|
// set visibility
|
||||||
if window_attrs.visible {
|
if window_attrs.visible {
|
||||||
unsafe {
|
unsafe {
|
||||||
|
@ -466,18 +479,6 @@ impl Window {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set ICCCM WM_CLASS property based on initial window title
|
|
||||||
unsafe {
|
|
||||||
with_c_str(&*window_attrs.title, |c_name| {
|
|
||||||
let hint = (display.xlib.XAllocClassHint)();
|
|
||||||
(*hint).res_name = c_name as *mut libc::c_char;
|
|
||||||
(*hint).res_class = c_name as *mut libc::c_char;
|
|
||||||
(display.xlib.XSetClassHint)(display.display, window, hint);
|
|
||||||
display.check_errors().expect("Failed to call XSetClassHint");
|
|
||||||
(display.xlib.XFree)(hint as *mut _);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
let is_fullscreen = window_attrs.monitor.is_some();
|
let is_fullscreen = window_attrs.monitor.is_some();
|
||||||
|
|
||||||
if is_fullscreen {
|
if is_fullscreen {
|
||||||
|
|
Loading…
Add table
Reference in a new issue