openbsd-ports/x11/gnome/system-monitor/patches/patch-src_sysinfo_cpp
2010-09-30 07:38:34 +00:00

66 lines
1.6 KiB
Plaintext

$OpenBSD: patch-src_sysinfo_cpp,v 1.3 2010/09/30 07:38:34 ajacoutot Exp $
--- src/sysinfo.cpp.orig Tue Sep 28 01:13:17 2010
+++ src/sysinfo.cpp Wed Sep 29 18:48:47 2010
@@ -74,7 +74,11 @@ namespace {
NULL);
+#ifndef __OpenBSD__
char* markup = g_strdup_printf(_("Release %s"), this->distro_release.c_str());
+#else
+ char* markup = g_strdup_printf(_("Kernel %s"), this->distro_release.c_str());
+#endif
g_object_set(G_OBJECT(release),
"label",
@@ -387,6 +391,27 @@ namespace {
};
+ class OpenBSDSysInfo
+ : public SysInfo
+ {
+ public:
+ OpenBSDSysInfo()
+ {
+ this->load_openbsd_info();
+ }
+
+ private:
+ void load_openbsd_info()
+ {
+ this->distro_name = "OpenBSD";
+
+ std::ifstream input("/etc/motd");
+
+ if (input)
+ std::getline(input, this->distro_release);
+ }
+ };
+
SysInfo* get_sysinfo()
{
if (char *p = g_find_program_in_path("lsb_release")) {
@@ -399,6 +424,9 @@ namespace {
else if (SysInfo::system() == "NetBSD") {
return new NetBSDSysInfo;
}
+ else if (SysInfo::system() == "OpenBSD") {
+ return new OpenBSDSysInfo;
+ }
return new SysInfo;
}
@@ -587,7 +615,11 @@ procman_create_sysinfo_view(void)
table_count++;
data->set_distro_labels(gtk_frame_get_label_widget(GTK_FRAME(distro_frame)), distro_release_label);
+#ifndef __OpenBSD__
markup = g_strdup_printf(_("Kernel %s"), data->kernel.c_str());
+#else
+ markup = g_strdup_printf(_("Release %s"), data->kernel.c_str());
+#endif
header = gtk_label_new(markup);
g_free(markup);
gtk_misc_set_alignment(GTK_MISC(header), 0.0, 0.5);