Set _NET_STARTUP_ID before the window is mapped
This commit is contained in:
parent
d9b0b5c08f
commit
fe214f43cb
@ -12,7 +12,8 @@ from .fast_data_types import (
|
|||||||
GLFW_KEY_DOWN, GLFW_KEY_UP, ChildMonitor, create_os_window,
|
GLFW_KEY_DOWN, GLFW_KEY_UP, ChildMonitor, create_os_window,
|
||||||
current_os_window, destroy_global_data, destroy_sprite_map,
|
current_os_window, destroy_global_data, destroy_sprite_map,
|
||||||
get_clipboard_string, glfw_post_empty_event, layout_sprite_map,
|
get_clipboard_string, glfw_post_empty_event, layout_sprite_map,
|
||||||
mark_os_window_for_close, toggle_fullscreen, viewport_for_window
|
mark_os_window_for_close, show_window, toggle_fullscreen,
|
||||||
|
viewport_for_window
|
||||||
)
|
)
|
||||||
from .fonts.render import prerender, resize_fonts, set_font_family
|
from .fonts.render import prerender, resize_fonts, set_font_family
|
||||||
from .keys import get_key_map, get_shortcut
|
from .keys import get_key_map, get_shortcut
|
||||||
@ -104,9 +105,11 @@ class Boss:
|
|||||||
args = option_parser().parse_args(msg['args'][1:])
|
args = option_parser().parse_args(msg['args'][1:])
|
||||||
opts = create_opts(args)
|
opts = create_opts(args)
|
||||||
session = create_session(opts, args)
|
session = create_session(opts, args)
|
||||||
os_window_id = self.add_os_window(session, wclass=args.cls, wname=args.name, size=initial_window_size(opts))
|
os_window_id = self.add_os_window(session, wclass=args.cls, wname=args.name, size=initial_window_size(opts), visible=False)
|
||||||
if startup_id:
|
if startup_id:
|
||||||
ctx = init_startup_notification(os_window_id, startup_id)
|
ctx = init_startup_notification(os_window_id, startup_id)
|
||||||
|
show_window(os_window_id)
|
||||||
|
if startup_id:
|
||||||
end_startup_notification(ctx)
|
end_startup_notification(ctx)
|
||||||
else:
|
else:
|
||||||
safe_print('Unknown message received from peer, ignoring')
|
safe_print('Unknown message received from peer, ignoring')
|
||||||
|
|||||||
@ -12,11 +12,11 @@ from .borders import load_borders_program
|
|||||||
from .boss import Boss
|
from .boss import Boss
|
||||||
from .cli import create_opts, option_parser
|
from .cli import create_opts, option_parser
|
||||||
from .config import initial_window_size, load_cached_values, save_cached_values
|
from .config import initial_window_size, load_cached_values, save_cached_values
|
||||||
from .constants import is_macos, is_wayland, logo_data_file, glfw_path
|
from .constants import glfw_path, is_macos, is_wayland, logo_data_file
|
||||||
from .fast_data_types import (
|
from .fast_data_types import (
|
||||||
change_wcwidth, create_os_window, glfw_init, glfw_terminate,
|
change_wcwidth, create_os_window, glfw_init, glfw_terminate,
|
||||||
install_sigchld_handler, set_default_window_icon, set_logical_dpi,
|
install_sigchld_handler, set_default_window_icon, set_logical_dpi,
|
||||||
set_options
|
set_options, show_window
|
||||||
)
|
)
|
||||||
from .fonts.box_drawing import set_scale
|
from .fonts.box_drawing import set_scale
|
||||||
from .utils import (
|
from .utils import (
|
||||||
@ -43,8 +43,9 @@ def run_app(opts, args):
|
|||||||
set_options(opts, is_wayland, args.debug_gl)
|
set_options(opts, is_wayland, args.debug_gl)
|
||||||
load_cached_values()
|
load_cached_values()
|
||||||
w, h = initial_window_size(opts)
|
w, h = initial_window_size(opts)
|
||||||
window_id = create_os_window(w, h, encode_wm_class(args.name, args.cls), True, load_all_shaders)
|
window_id = create_os_window(w, h, encode_wm_class(args.name, args.cls), False, load_all_shaders)
|
||||||
startup_ctx = init_startup_notification(window_id)
|
startup_ctx = init_startup_notification(window_id)
|
||||||
|
show_window(window_id)
|
||||||
if not is_wayland and not is_macos: # no window icons on wayland
|
if not is_wayland and not is_macos: # no window icons on wayland
|
||||||
with open(logo_data_file, 'rb') as f:
|
with open(logo_data_file, 'rb') as f:
|
||||||
set_default_window_icon(f.read(), 256, 256)
|
set_default_window_icon(f.read(), 256, 256)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user