чување 53a4ed46b73a5cf90e0c85b360b639108b4b4883
родитељ fd8d17ceeabe733d7df9b8f718a5b55242c06525
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Thu, 14 Dec 2023 09:04:23 +0100
Don't add filename to main window title if there is no open file
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
измењених датотека: 3, додавања: 14(+), брисања: 5(-)
diff --git a/app.h b/app.h
@@ -5,6 +5,7 @@ struct State {
int debug;
int dirty;
char filename[PATH_MAX];
+ int file_open; /* Is any file opened/created right now? */
};
struct WMNewApp {
diff --git a/main.c b/main.c
@@ -23,6 +23,7 @@ debug_print_state(struct WMNewApp* wma)
WMLog(wma, "===================================\n");
WMLog(wma, "dirty:\t\t%s\n", wma->state.dirty ? "YES" : "NO");
WMLog(wma, "filename:\t[%s]\n", wma->state.filename);
+ WMLog(wma, "file_open:\t[%s]\n", wma->state.file_open ? "YES" : "NO");
}
int
@@ -167,6 +168,7 @@ open_action(WMWidget* self, void* data)
strncpy(wma->state.filename, last_slash + 1, PATH_MAX);
else
strncpy(wma->state.filename, filename, PATH_MAX);
+ wma->state.file_open = 1;
set_mainwin_title(wma);
WMLog(wma, "opened file: %s (full path: %s)\n",
last_slash ? last_slash + 1 : filename,
diff --git a/mainwindow.c b/mainwindow.c
@@ -82,10 +82,16 @@ create_main_window(struct WMNewApp* wma)
void
set_mainwin_title(struct WMNewApp* wma)
{
- snprintf(wma->mainwin_title,
- strlen(mainwin_title_fmt) - 2 - 2 + PATH_MAX
- + strlen(program_name),
- mainwin_title_fmt, program_name, wma->state.dirty ? "*" : "",
- *(wma->state.filename) ? wma->state.filename : default_filename);
+ if (wma->state.file_open)
+ snprintf(wma->mainwin_title,
+ strlen(mainwin_title_fmt) - 2 - 2 + PATH_MAX
+ + strlen(program_name) + 1,
+ mainwin_title_fmt, program_name,
+ wma->state.dirty ? "*" : "",
+ *(wma->state.filename) ? wma->state.filename
+ : default_filename);
+ else
+ snprintf(wma->mainwin_title, strlen(program_name) + 1, "%s",
+ program_name);
WMSetWindowTitle(wma->mainwin, wma->mainwin_title);
}