Kaydet (Commit) bf69a9c3 authored tarafından Hakan Dündar's avatar Hakan Dündar

Changes for GTK4 GUI toolkit

üst 491d372f
# System Monitoring Center
### v2.0.0 (20.11.2022)
* New: GTK4 GUI toolkit is used instead of GTK3
* New: Design changes for main/tab customization/right click menus
* New: Light/Dark GUI option
* New: Monitor resolution and refresh rate for multiple monitors
* Fix: Several GTK3 bugs are removed by switching to GTK4
* Several code simplifications
* Several improvements (code, GUI, translations, etc.)
### v1.33.0 (07.11.2022)
* Improved: CPU usage of user processes for Flatpak
* Improved: Process shared memory support for Flatpak
......
......@@ -4,16 +4,6 @@ include integration/io.github.hakandundar34coding.system-monitoring-center.deskt
include database/*
include src/*.py
include src/__version__
include locale/de/LC_MESSAGES/*
include locale/cs/LC_MESSAGES/*
include locale/fa/LC_MESSAGES/*
include locale/hu/LC_MESSAGES/*
include locale/pl/LC_MESSAGES/*
include locale/pt_BR/LC_MESSAGES/*
include locale/pt_PT/LC_MESSAGES/*
include locale/ru_RU/LC_MESSAGES/*
include locale/tr/LC_MESSAGES/*
include locale/zh_CN/LC_MESSAGES/*
include ui/*.ui
include locale/*/LC_MESSAGES/*
include setup.py
recursive-include icons *
# Maintainer: Hakan Dündar <hakandundar34coding@gmail.com>
pkgname=system-monitoring-center
_pkgver=1.30.0
_pkgver=2.0.0
pkgver=${_pkgver//-/.}
pkgrel=1
pkgdesc="Multi-featured system monitor."
arch=('any')
url="https://github.com/hakandundar34coding/system-monitoring-center"
license=('GPL3')
depends=('dmidecode' 'gtk3' 'iproute2' 'polkit'
depends=('dmidecode' 'gtk4' 'iproute2' 'polkit'
'python-cairo' 'python-gobject' 'util-linux')
makedepends=('python-setuptools')
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$_pkgver.tar.gz")
......
......@@ -102,7 +102,7 @@
- Installing from several application stores (Pardus Application Center, Pi-Apps Store).
- Installing from repositories of distributions (currently a few distributions).
- Running from source code (in ```src/``` folder run: ```python3 ./Main.py```).
- Note: System Monitoring Center v2.x.x is only available for Flatpak and ArchLinux (AUR).
### Dependencies:
- Dependency [list](docs/dependencies.md).
......
system-monitoring-center (2.0.0) unstable; urgency=medium
* New: GTK4 GUI toolkit is used instead of GTK3
* New: Design changes for main/tab customization/right click menus
* New: Light/Dark GUI option
* New: Monitor resolution and refresh rate for multiple monitors
* Fix: Several GTK3 bugs are removed by switching to GTK4
* Several code simplifications
* Several improvements (code, GUI, translations, etc.)
-- Hakan Dündar <hakandundar34coding@gmail.com> Sun, 20 Nov 2022 15:00:00 +0300
system-monitoring-center (1.33.0) unstable; urgency=medium
* Improved: CPU usage of user processes for Flatpak
......
......@@ -5,7 +5,7 @@ Source: https://github.com/hakandundar34coding/system-monitoring-center
Files: *
Copyright: 2021 Hakan Dündar <hakandundar34coding@gmail.com>
Copyright: 2022 Hakan Dündar <hakandundar34coding@gmail.com>
License: GPL-3.0+
License: GPL-3.0+
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="512"
height="512"
viewBox="0 0 135.46666 135.46668"
version="1.1"
id="svg8">
<defs
id="defs2" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<path
id="path1169"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.1664;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
d="M 51.166905,4.9488518e-6 V 0.58394861 16.502873 C 43.857383,18.865746 37.230359,22.74743 31.660602,27.779188 L 17.3576,19.521294 0.79220202,48.213599 1.296564,48.504538 l 13.78779,7.960754 c -0.774413,3.634044 -1.185457,7.402433 -1.185458,11.267011 0,3.865435 0.411227,7.634748 1.185975,11.269596 L 0.79168526,87.25411 17.357083,115.94642 l 0.505912,-0.29197 13.798642,-7.96644 c 5.569542,5.03155 12.196207,8.91292 19.505268,11.2758 v 16.50286 h 33.132344 v -0.58394 -15.91892 c 7.309176,-2.36292 13.935673,-6.24466 19.505261,-11.27632 l 14.30404,8.25841 16.5654,-28.69179 -0.50436,-0.291457 -13.78831,-7.960754 c 0.77475,-3.634848 1.18597,-7.404161 1.18597,-11.269596 0,-3.864578 -0.41104,-7.632967 -1.18545,-11.267011 l 14.29318,-8.252209 -16.5654,-28.692306 -0.50591,0.291972 -13.79812,7.966439 C 98.235795,22.74743 91.608774,18.865745 84.299249,16.502873 V 4.9488518e-6 Z M 67.733854,46.321725 c 11.825248,0 21.411612,9.586365 21.411612,21.411612 0,11.825248 -9.586364,21.411613 -21.411612,21.411613 -11.82525,0 -21.411097,-9.586365 -21.411097,-21.411613 0,-11.825247 9.585847,-21.411612 21.411097,-21.411612 z" />
</svg>
......@@ -32,7 +32,7 @@
<li>GPU usage information availability depends on vendor/driver.</li>
<li>GPU load is not tracked if GPU tab is switched off (for lower CPU usage).</li>
<li>Virtual machines may not provide CPU min-max frequencies, sensors and RAM hardware information.</li>
<li>Flatpak version of the application has slightly lower performance (start speed, CPU, RAM usage).</li>
<li>Non-Flatpak versions of the application has higher performance (start speed, CPU, RAM usage).</li>
</ul>
<p>Notes for Flatpak Support:</p>
<ul>
......@@ -73,6 +73,19 @@
</screenshot>
</screenshots>
<releases>
<release version="2.0.0" date="2022-11-20">
<description>
<ul>
<li>New: GTK4 GUI toolkit is used instead of GTK3</li>
<li>New: Design changes for main/tab customization/right click menus</li>
<li>New: Light/Dark GUI option</li>
<li>New: Monitor resolution and refresh rate for multiple monitors</li>
<li>Fix: Several GTK3 bugs are removed by switching to GTK4</li>
<li>Several code simplifications</li>
<li>Several improvements (code, GUI, translations, etc.)</li>
</ul>
</description>
</release>
<release version="1.33.0" date="2022-11-07">
<description>
<ul>
......
......@@ -4,4 +4,5 @@ current_directory=$(pwd)
parent_directory="$(dirname "$current_directory")"
cd $parent_directory
xgettext -k_tr -kN_tr --from-code utf-8 -o "${current_directory}/system-monitoring-center.pot" ./src/*.py ./ui/*.ui
xgettext -k_tr -kN_tr --from-code utf-8 -o "${current_directory}/system-monitoring-center.pot" ./src/*.py
This diff is collapsed.
......@@ -15,23 +15,6 @@ def files_in_folder(folder):
return file_paths
"""
# Debian package
if "--debian_package" in sys.argv:
package_type_var = "debian_package"
sys.argv.remove("--debian_package")
# RPM package
if "--rpm_package" in sys.argv:
package_type_var = "rpm_package"
sys.argv.remove("--rpm_package")
# Arch Linux package
if "--arch_package" in sys.argv:
package_type_var = "arch_package"
sys.argv.remove("--arch_package")
"""
# Flatpak package
if "--flatpak_package" in sys.argv:
package_type_var = "flatpak_package"
......@@ -72,8 +55,6 @@ if package_type_var == "debian_rpm_archlinux_or_another_package":
os.chmod(file, 0o644)
for file in files_in_folder("src/"):
os.chmod(file, 0o644)
for file in files_in_folder("ui/"):
os.chmod(file, 0o644)
for file in files_in_folder("icons/hicolor/scalable/actions/"):
os.chmod(file, 0o644)
os.chmod("icons/hicolor/scalable/apps/system-monitoring-center.svg", 0o644)
......@@ -93,7 +74,6 @@ if package_type_var == "debian_rpm_archlinux_or_another_package":
("/usr/share/system-monitoring-center/locale/zh_CN/LC_MESSAGES/", ["locale/zh_CN/LC_MESSAGES/system-monitoring-center.mo"]),
("/usr/share/system-monitoring-center/database/", files_in_folder("database/")),
("/usr/share/system-monitoring-center/src/", files_in_folder("src/")),
("/usr/share/system-monitoring-center/ui/", files_in_folder("ui/")),
("/usr/share/icons/hicolor/scalable/actions/", files_in_folder("icons/hicolor/scalable/actions/")),
("/usr/share/icons/hicolor/scalable/apps/", ["icons/hicolor/scalable/apps/system-monitoring-center.svg"]),
("/usr/share/man/man1/", ["man/system-monitoring-center.1.gz"]),
......@@ -138,7 +118,6 @@ if package_type_var == "flatpak_package":
("/app/share/system-monitoring-center/locale/zh_CN/LC_MESSAGES/", ["locale/zh_CN/LC_MESSAGES/system-monitoring-center.mo"]),
("/app/share/system-monitoring-center/database/", files_in_folder("database/")),
("/app/share/system-monitoring-center/src/", files_in_folder("src/")),
("/app/share/system-monitoring-center/ui/", files_in_folder("ui/")),
("/app/share/icons/hicolor/scalable/actions/", files_in_folder("icons/hicolor/scalable/actions/")),
("/app/share/icons/hicolor/scalable/apps/", ["icons/hicolor/scalable/apps/io.github.hakandundar34coding.system-monitoring-center.svg"]),
("/app/share/man/man1/", ["man/system-monitoring-center.1.gz"]),
......@@ -167,7 +146,6 @@ if package_type_var == "python_package":
("/systemmonitoringcenter/locale/zh_CN/LC_MESSAGES/", ["locale/zh_CN/LC_MESSAGES/system-monitoring-center.mo"]),
("/systemmonitoringcenter/database/", files_in_folder("database/")),
("/systemmonitoringcenter/src/", files_in_folder("src/")),
("/systemmonitoringcenter/ui/", files_in_folder("ui/")),
("/systemmonitoringcenter/icons/hicolor/scalable/actions/", files_in_folder("icons/hicolor/scalable/actions/")),
("/systemmonitoringcenter/icons/hicolor/scalable/apps/", ["icons/hicolor/scalable/apps/system-monitoring-center.svg"]),
]
......@@ -197,6 +175,7 @@ setup(
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Operating System :: POSIX :: Linux",
"Topic :: System :: Monitoring",
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#!/usr/bin/env python3
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('Gtk', '4.0')
#gi.require_version('Adw', '1')
from gi.repository import Gtk
class Application(Gtk.Application):
class SMCApplication(Gtk.Application):
def __init__(self, *args, **kwargs):
super().__init__(*args, application_id="io.github.hakandundar34coding.system-monitoring-center", **kwargs)
self.window = None
def __init__(self, **kwargs):
super().__init__(**kwargs, application_id="io.github.hakandundar34coding.system-monitoring-center")
self.connect('activate', self.on_activate)
self.main_window = None
def do_activate(self):
def on_activate(self, app):
# Allow opening single instance of the application.
if not self.window:
from MainGUI import MainGUI
self.window = MainGUI.window1
self.window.set_application(self)
self.window.present()
Gtk.main()
if not self.main_window:
from MainWindow import MainWindow
self.main_window = MainWindow.main_window
self.main_window.set_application(self)
self.main_window.present()
app = Application()
app = SMCApplication()
app.run(None)
#!/usr/bin/env python3
# Import modules
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
import os
from Config import Config
from MainGUI import MainGUI
# Define class
class MainMenusDialogs:
# ----------------------- Always called when object is generated -----------------------
def __init__(self):
# Get GUI objects from file
builder = Gtk.Builder()
builder.add_from_file(os.path.dirname(os.path.realpath(__file__)) + "/../ui/MainMenusDialogs.ui")
# Get GUI objects
self.popover1001p = builder.get_object('popover1001p')
self.button1001p = builder.get_object('button1001p')
self.button1002p = builder.get_object('button1002p')
self.checkbutton1001p = builder.get_object('checkbutton1001p')
self.aboutdialog1001d = builder.get_object('aboutdialog1001d')
# Connect GUI signals
self.popover1001p.connect("show", self.on_popover1001p_show)
self.button1001p.connect("clicked", self.on_button1001p_clicked)
self.button1002p.connect("clicked", self.on_button1002p_clicked)
# ----------------------- Called for running code/functions when menu is shown -----------------------
def on_popover1001p_show(self, widget):
pass
# ----------------------- "Settings" menu item -----------------------
def on_button1001p_clicked(self, widget):
self.popover1001p.hide()
from SettingsGUI import SettingsGUI
SettingsGUI.window2001.show()
# ----------------------- "About" menu item -----------------------
def on_button1002p_clicked(self, widget):
self.popover1001p.hide()
try:
software_version = open(os.path.dirname(os.path.abspath(__file__)) + "/__version__").readline()
except Exception:
pass
self.aboutdialog1001d.set_version(software_version)
self.aboutdialog1001d.set_transient_for(MainGUI.window1)
self.aboutdialog1001d.run()
self.aboutdialog1001d.hide()
# Generate object
MainMenusDialogs = MainMenusDialogs()
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Name: system-monitoring-center
Version: 1.30.0
Version: 2.0.0
Release: 1%{?dist}
Summary: Multi-featured system monitor.
License: GPLv3
......
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment