SELinuxProject / selinux

This is the upstream repository for the Security Enhanced Linux (SELinux) userland libraries and tools. The software provided by this project complements the SELinux features integrated into the Linux kernel and is used by Linux distributions. All bugs and patches should be submitted to selinux@vger.kernel.org
Other
1.35k stars 360 forks source link

Please port system-config-selinux (and other associated GUI tools?) to GTK4 (or at least GTK3) #346

Open nekohayo opened 2 years ago

nekohayo commented 2 years ago

The current GUI not only looks somewhat out of place among other (modern) GTK applications, but it also misses out on newly available widgets and design patterns that save space and convey clearer meaning. For example:

I can also imagine that at some point, distros are going to stop shipping GTK2.

bachradsusi commented 2 years ago

It looks like everything is already ported to GTK3

$ git grep -i gtk | grep -i require      
gui/polgen.ui:  <!-- interface-requires gtk+ 2.6 -->
gui/polgengui.py:gi.require_version('Gtk', '3.0')
gui/statusPage.py:            if self.verify(_("Changing to SELinux disabled requires a reboot.  It is not recommended.  If you later decide to turn SELinux back on, the system will be required to relabel.  If you just want to see if SELinux is causing a problem on your system, you can go to permissive mode which will only log errors and not enforce SELinux policy.  Permissive mode does not require a reboot    Do you wish to continue?")) == Gtk.ResponseType.NO:
gui/system-config-selinux.py:gi.require_version('Gtk', '3.0')
gui/system-config-selinux.ui:  <requires lib="gtk+" version="3.0"/>
python/sepolicy/sepolicy/gui.py:gi.require_version('Gtk', '3.0')
python/sepolicy/sepolicy/gui.py:            if self.verify(_("Changing to SELinux disabled requires a reboot.  It is not recommended.  If you later decide to turn SELinux back on, the system will be required to relabel.  If you just want to see if SELinux is causing a problem on your system, you can go to permissive mode which will only log errors and not enforce SELinux policy.  Permissive mode does not require a reboot.  Do you wish to continue?")) == Gtk.ResponseType.NO:
python/sepolicy/sepolicy/sepolicy.glade:  <!-- interface-requires gtk+ 3.8 -->
sandbox/sandbox:        gi.require_version('Gtk', '3.0')
sandbox/sandbox:                        gi.require_version('Gtk', '3.0')