From 96cfb441fd950e98e4a8ccc21acf29b8b3aa87d2 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Sat, 27 Jun 2026 12:07:24 -0700 Subject: [PATCH] correctly use command titles in native file explorer --- src/linux/window_manager/linux_window_manager.c | 2 +- src/raddbg/raddbg_core.c | 7 ++++++- src/win32/window_manager/win32_window_manager.c | 3 ++- src/window_manager/window_manager.h | 2 +- src/window_manager/window_manager_stub.c | 2 +- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/linux/window_manager/linux_window_manager.c b/src/linux/window_manager/linux_window_manager.c index 16ff1117..fc2a6147 100644 --- a/src/linux/window_manager/linux_window_manager.c +++ b/src/linux/window_manager/linux_window_manager.c @@ -757,7 +757,7 @@ wm_graphical_message(B32 error, String8 title, String8 message) } internal String8 -wm_graphical_pick_file(Arena *arena, String8 initial_path) +wm_graphical_pick_file(Arena *arena, String8 title, String8 initial_path) { return str8_zero(); } diff --git a/src/raddbg/raddbg_core.c b/src/raddbg/raddbg_core.c index de46b739..575fcb3a 100644 --- a/src/raddbg/raddbg_core.c +++ b/src/raddbg/raddbg_core.c @@ -13106,7 +13106,12 @@ rd_frame(void) { current_path_string = path_normalized_from_string(scratch.arena, get_current_path(scratch.arena)); } - String8 file_path = wm_graphical_pick_file(scratch.arena, current_path_string); + String8 cmd_title = rd_display_from_code_name(info->string); + if(cmd_title.size == 0) + { + cmd_title = info->string; + } + String8 file_path = wm_graphical_pick_file(scratch.arena, cmd_title, current_path_string); file_path = path_normalized_from_string(scratch.arena, file_path); if(file_path.size != 0) { diff --git a/src/win32/window_manager/win32_window_manager.c b/src/win32/window_manager/win32_window_manager.c index 341b1b98..bb155677 100644 --- a/src/win32/window_manager/win32_window_manager.c +++ b/src/win32/window_manager/win32_window_manager.c @@ -1629,7 +1629,7 @@ wm_graphical_message(B32 error, String8 title, String8 message) } internal String8 -wm_graphical_pick_file(Arena *arena, String8 initial_path) +wm_graphical_pick_file(Arena *arena, String8 title, String8 initial_path) { String8 result = {0}; { @@ -1638,6 +1638,7 @@ wm_graphical_pick_file(Arena *arena, String8 initial_path) U16 *buffer = push_array(scratch.arena, U16, buffer_size); OPENFILENAMEW params = {sizeof(params)}; { + params.lpstrTitle = (WCHAR *)str16_from_8(scratch.arena, title).str; params.lpstrFile = (WCHAR *)buffer; params.nMaxFile = buffer_size; params.lpstrInitialDir = (WCHAR *)str16_from_8(scratch.arena, initial_path).str; diff --git a/src/window_manager/window_manager.h b/src/window_manager/window_manager.h index b663d1ec..804e5468 100644 --- a/src/window_manager/window_manager.h +++ b/src/window_manager/window_manager.h @@ -235,7 +235,7 @@ internal void wm_set_cursor(WM_Cursor cursor); //~ rjf: @per_os_impl Native User-Facing Graphical Messages (Implemented Per-OS) internal void wm_graphical_message(B32 error, String8 title, String8 message); -internal String8 wm_graphical_pick_file(Arena *arena, String8 initial_path); +internal String8 wm_graphical_pick_file(Arena *arena, String8 title, String8 initial_path); //////////////////////////////// //~ rjf: @per_os_impl Shell Operations diff --git a/src/window_manager/window_manager_stub.c b/src/window_manager/window_manager_stub.c index 0bb99c47..cc81368e 100644 --- a/src/window_manager/window_manager_stub.c +++ b/src/window_manager/window_manager_stub.c @@ -259,7 +259,7 @@ wm_graphical_message(B32 error, String8 title, String8 message) } internal String8 -wm_graphical_pick_file(Arena *arena, String8 initial_path) +wm_graphical_pick_file(Arena *arena, String8 title, String8 initial_path) { return str8_zero(); }