diff --git a/src/netxs/desktopio/application.hpp b/src/netxs/desktopio/application.hpp index 053488bbe2..164d8e08f2 100644 --- a/src/netxs/desktopio/application.hpp +++ b/src/netxs/desktopio/application.hpp @@ -22,7 +22,7 @@ namespace netxs::app namespace netxs::app::shared { - static const auto version = "v2026.04.27"; + static const auto version = "v2026.04.28"; static const auto repository = "https://github.com/directvt/vtm"; static const auto usr_config = "~/.config/vtm/settings.xml"s; static const auto sys_config = "/etc/vtm/settings.xml"s; diff --git a/src/netxs/desktopio/baseui.hpp b/src/netxs/desktopio/baseui.hpp index 1a98496ad8..a34eba17f9 100644 --- a/src/netxs/desktopio/baseui.hpp +++ b/src/netxs/desktopio/baseui.hpp @@ -1287,11 +1287,11 @@ namespace netxs::ui struct cleanup { netxs::sptr> action; - cleanup(std::function f) + cleanup(std::function f) : action(ptr::shared(f)) { } - ~cleanup() - { + ~cleanup() + { if (action && action.use_count() == 1) { (*action)(); diff --git a/src/netxs/desktopio/system.hpp b/src/netxs/desktopio/system.hpp index 5b783acdaf..0edf6561d5 100644 --- a/src/netxs/desktopio/system.hpp +++ b/src/netxs/desktopio/system.hpp @@ -2200,7 +2200,9 @@ namespace netxs::os #if defined(__BSD__) || defined(__ANDROID__) auto uname = ::getlogin(); // username associated with a session, even if it has no controlling terminal. #else - auto uname = ::cuserid(nullptr); + //auto uname = ::cuserid(nullptr); //todo ::cuserid() is incompatible with static linking (causes crash). + auto uname = std::getenv("USER"); + if (!uname) uname = std::getenv("LOGNAME"); #endif auto strid = utf::concat(usrid); auto login = uname && uname[0] ? text{ uname } : strid; diff --git a/src/netxs/desktopio/terminal.hpp b/src/netxs/desktopio/terminal.hpp index a1041d7e58..da08125cd3 100644 --- a/src/netxs/desktopio/terminal.hpp +++ b/src/netxs/desktopio/terminal.hpp @@ -630,11 +630,13 @@ namespace netxs::ui { case 0: default: + // 4: Sixel graphics // 61: VT Level 1 conformance // 22: Color text // 28: Rectangular area operations // 52: Clipboard operations // 10060: VT2D + //todo queue.add("\x1b[?4;61;22;28;52;10060c"); queue.add("\x1b[?61;22;28;52;10060c"); break; }