diff --git a/kitty/boss.py b/kitty/boss.py index dceae9fe0..75e4413fc 100644 --- a/kitty/boss.py +++ b/kitty/boss.py @@ -12,7 +12,8 @@ from .fast_data_types import ( GLFW_KEY_DOWN, GLFW_KEY_UP, ChildMonitor, create_os_window, current_os_window, destroy_global_data, destroy_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 .keys import get_key_map, get_shortcut @@ -104,9 +105,11 @@ class Boss: args = option_parser().parse_args(msg['args'][1:]) opts = create_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: ctx = init_startup_notification(os_window_id, startup_id) + show_window(os_window_id) + if startup_id: end_startup_notification(ctx) else: safe_print('Unknown message received from peer, ignoring') diff --git a/kitty/main.py b/kitty/main.py index 6617bf0ba..e03dac2a0 100644 --- a/kitty/main.py +++ b/kitty/main.py @@ -12,11 +12,11 @@ from .borders import load_borders_program from .boss import Boss from .cli import create_opts, option_parser 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 ( change_wcwidth, create_os_window, glfw_init, glfw_terminate, install_sigchld_handler, set_default_window_icon, set_logical_dpi, - set_options + set_options, show_window ) from .fonts.box_drawing import set_scale from .utils import ( @@ -43,8 +43,9 @@ def run_app(opts, args): set_options(opts, is_wayland, args.debug_gl) load_cached_values() 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) + show_window(window_id) if not is_wayland and not is_macos: # no window icons on wayland with open(logo_data_file, 'rb') as f: set_default_window_icon(f.read(), 256, 256)