diff --git a/src/blacklist.cpp b/src/blacklist.cpp index a7ef6463..bd994443 100644 --- a/src/blacklist.cpp +++ b/src/blacklist.cpp @@ -7,6 +7,8 @@ #include "string_utils.h" #include "file_utils.h" +std::string global_proc_name; + static std::string get_proc_name() { // Note: It is possible to use GNU program_invocation_short_name. const std::string proc_name = get_wine_exe_name(/*keep_ext=*/true); @@ -43,6 +45,7 @@ static std::vector blacklist { static bool check_blacklisted() { std::string proc_name = get_proc_name(); + global_proc_name = proc_name; bool blacklisted = std::find(blacklist.begin(), blacklist.end(), proc_name) != blacklist.end(); if(blacklisted) { diff --git a/src/blacklist.h b/src/blacklist.h index 61c5f446..7d082801 100644 --- a/src/blacklist.h +++ b/src/blacklist.h @@ -4,6 +4,6 @@ #include bool is_blacklisted(bool force_recheck = false); void add_blacklist(const std::string& proc); - +extern std::string global_proc_name; #endif //MANGOHUD_BLACKLIST_H diff --git a/src/hud_elements.cpp b/src/hud_elements.cpp index c9d72212..bed352c0 100644 --- a/src/hud_elements.cpp +++ b/src/hud_elements.cpp @@ -18,6 +18,7 @@ #include "app/mangoapp.h" #include #include "version.h" +#include "blacklist.h" #define CHAR_CELSIUS "\xe2\x84\x83" #define CHAR_FAHRENHEIT "\xe2\x84\x89" @@ -1100,6 +1101,15 @@ void HudElements::graphs(){ ImGui::PopStyleColor(1); } +void HudElements::exec_name(){ + ImGui::PushFont(HUDElements.sw_stats->font1); + ImGui::TableNextColumn(); + ImGui::TextColored(HUDElements.colors.engine, "%s", "Executable name"); + ImGui::TableNextColumn(); + right_aligned_text(HUDElements.colors.text, HUDElements.ralign_width, global_proc_name.c_str()); + ImGui::PopFont(); +} + void HudElements::sort_elements(const std::pair& option){ const auto& param = option.first; const auto& value = option.second; @@ -1142,6 +1152,7 @@ void HudElements::sort_elements(const std::pair& optio if (param == "frame_count") { ordered_functions.push_back({frame_count, value}); } if (param == "fan") { ordered_functions.push_back({fan, value}); } if (param == "throttling_status") { ordered_functions.push_back({throttling_status, value}); } + if (param == "exec_name") { ordered_functions.push_back({exec_name, value}); } if (param == "graphs"){ if (!HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_graphs]) HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_graphs] = true; @@ -1197,6 +1208,7 @@ void HudElements::legacy_elements(){ #endif ordered_functions.push_back({gamepad_battery, value}); ordered_functions.push_back({media_player, value}); + ordered_functions.push_back({exec_name, value}); } void HudElements::update_exec(){ diff --git a/src/hud_elements.h b/src/hud_elements.h index 93c6b8ce..7e0efda7 100644 --- a/src/hud_elements.h +++ b/src/hud_elements.h @@ -66,6 +66,7 @@ class HudElements{ static void frame_count(); static void fan(); static void throttling_status(); + static void exec_name(); void convert_colors(const struct overlay_params& params); void convert_colors(bool do_conv, const struct overlay_params& params); diff --git a/src/overlay_params.cpp b/src/overlay_params.cpp index cc2e7b18..9f09699a 100644 --- a/src/overlay_params.cpp +++ b/src/overlay_params.cpp @@ -542,6 +542,7 @@ parse_overlay_env(struct overlay_params *params, params->enabled[OVERLAY_PARAM_ENABLED_hud_no_margin] = 0; params->enabled[OVERLAY_PARAM_ENABLED_log_versioning] = 0; params->enabled[OVERLAY_PARAM_ENABLED_hud_compact] = 0; + params->enabled[OVERLAY_PARAM_ENABLED_exec_name] = 0; } #define OVERLAY_PARAM_BOOL(name) \ if (!strcmp(#name, key)) { \ @@ -693,6 +694,7 @@ parse_overlay_config(struct overlay_params *params, params->enabled[OVERLAY_PARAM_ENABLED_hud_no_margin] = 0; params->enabled[OVERLAY_PARAM_ENABLED_log_versioning] = 0; params->enabled[OVERLAY_PARAM_ENABLED_hud_compact] = 0; + params->enabled[OVERLAY_PARAM_ENABLED_exec_name] = 0; params->options.erase("full"); } for (auto& it : params->options) { diff --git a/src/overlay_params.h b/src/overlay_params.h index b93fd601..da32af58 100644 --- a/src/overlay_params.h +++ b/src/overlay_params.h @@ -88,6 +88,7 @@ typedef unsigned long KeySym; OVERLAY_PARAM_BOOL(horizontal) \ OVERLAY_PARAM_BOOL(hud_no_margin) \ OVERLAY_PARAM_BOOL(hud_compact) \ + OVERLAY_PARAM_BOOL(exec_name) \ OVERLAY_PARAM_CUSTOM(fps_sampling_period) \ OVERLAY_PARAM_CUSTOM(output_folder) \ OVERLAY_PARAM_CUSTOM(output_file) \