diff --git a/PKGBUILD b/PKGBUILD index 6c5f05767de1c2acc7112e0f063c1bf60bcfdd1e..030f1ff4fd37063588749b57bde4394ecba17db4 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ pkgname=gnome-system-monitor pkgver=40.0 -pkgrel=1 +pkgrel=2 pkgdesc="View current processes and monitor system state" url="https://wiki.gnome.org/Apps/SystemMonitor" arch=(x86_64) @@ -12,8 +12,10 @@ depends=(libgtop gtkmm3 librsvg systemd libhandy polkit) makedepends=(meson yelp-tools git appstream-glib) groups=(gnome) _commit=24e810d54e21d7be34be9807d025f77ef0295193 # tags/40.0^0 -source=("git+https://gitlab.gnome.org/GNOME/gnome-system-monitor.git#commit=$_commit") -sha256sums=('SKIP') +source=("git+https://gitlab.gnome.org/GNOME/gnome-system-monitor.git#commit=$_commit" + force-hdybar.diff) +sha256sums=('SKIP' + '411e619160597ea86bbe29ff2e8f8830aa0f51cadbed45dac03c3301a92e4644') pkgver() { cd $pkgname @@ -22,6 +24,10 @@ pkgver() { prepare() { cd $pkgname + + # https://bugs.archlinux.org/task/70120 + # https://gitlab.gnome.org/GNOME/gnome-system-monitor/-/issues/182 + git apply -3 ../force-hdybar.diff } build() { diff --git a/force-hdybar.diff b/force-hdybar.diff new file mode 100644 index 0000000000000000000000000000000000000000..af32ee2f9ae1b17a16f3a54f8e6ad90349d64749 --- /dev/null +++ b/force-hdybar.diff @@ -0,0 +1,41 @@ +diff --git i/src/interface.cpp w/src/interface.cpp +index 48b42d0b..65e52682 100644 +--- i/src/interface.cpp ++++ w/src/interface.cpp +@@ -698,36 +698,22 @@ create_main_window (GsmApplication *app) + GdkDisplay *display; + GdkMonitor *monitor; + GdkRectangle monitor_geometry; +- const char* session; + + int width, height, xpos, ypos; + + GtkBuilder *builder = gtk_builder_new(); + gtk_builder_add_from_resource (builder, "/org/gnome/gnome-system-monitor/data/interface.ui", NULL); + gtk_builder_add_from_resource (builder, "/org/gnome/gnome-system-monitor/data/menus.ui", NULL); + gtk_builder_add_from_resource (builder, "/org/gnome/gnome-system-monitor/gtk/help-overlay.ui", NULL); + + main_window = HDY_APPLICATION_WINDOW (gtk_builder_get_object (builder, "main_window")); + gtk_window_set_application (GTK_WINDOW (main_window), app->gobj()); + gtk_widget_set_name (GTK_WIDGET (main_window), "gnome-system-monitor"); + app->main_window = main_window; + + gtk_application_window_set_help_overlay (GTK_APPLICATION_WINDOW (app->main_window), + GTK_SHORTCUTS_WINDOW (gtk_builder_get_object (builder, "help_overlay"))); + +- session = g_getenv ("XDG_CURRENT_DESKTOP"); +- if (session && !strstr (session, "GNOME")){ +- GtkBox *mainbox; +- HdyHeaderBar *headerbar; +- +- mainbox = GTK_BOX (gtk_builder_get_object (builder, "main_box")); +- headerbar = HDY_HEADER_BAR (gtk_builder_get_object (builder, "header_bar")); +- gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET (headerbar)), "titlebar"); +- gtk_window_set_titlebar (GTK_WINDOW (main_window), NULL); +- hdy_header_bar_set_show_close_button (headerbar, FALSE); +- gtk_box_pack_start (mainbox, GTK_WIDGET (headerbar), FALSE, FALSE, 0); +- } +- + g_settings_get (app->settings->gobj(), GSM_SETTING_WINDOW_STATE, "(iiii)", + &width, &height, &xpos, &ypos); +