firewall-applet GTK+ -> Qt

Thomas Woerner twoerner at redhat.com
Tue Jun 16 13:11:18 UTC 2015


On 06/16/2015 01:28 PM, poma wrote:
> On 15.06.2015 13:12, Thomas Woerner wrote:
>> On 06/15/2015 12:53 PM, poma wrote:
>>>
>>> # yum install firewall-applet
>>> ...
>>> ====================================================================================================
>>>    Package                      Arch       Version                                  Repository   Size
>>> ====================================================================================================
>>> Installing:
>>>    firewall-applet              noarch     0.3.14.1-1.fc23                          rawhide      96 k
>>> Installing for dependencies:
>>>    kde-filesystem               x86_64     4-51.fc22                                rawhide      53 k
>>>    libqzeitgeist                x86_64     0.8.0-13.fc23                            rawhide      75 k
>>>    phonon                       x86_64     4.8.3-4.fc23                             rawhide     204 k
>>>    phonon-backend-gstreamer     x86_64     2:4.8.2-3.fc23                           rawhide     147 k
>>>    proj                         x86_64     4.9.1-2.fc23                             rawhide     209 k
>>>    python3-PyQt4                x86_64     4.11.4-1.fc23                            rawhide     3.1 M
>>>    python3-sip                  x86_64     4.16.8-1.fc23                            rawhide      99 k
>>>    qt-mobility-common           x86_64     1.2.2-0.20.20140317git169da60c.fc23      rawhide      39 k
>>>    qt-mobility-location         x86_64     1.2.2-0.20.20140317git169da60c.fc23      rawhide     584 k
>>>    qt-mobility-sensors          x86_64     1.2.2-0.20.20140317git169da60c.fc23      rawhide     125 k
>>>    qtwebkit                     x86_64     2.3.4-7.fc23                             rawhide      10 M
>>>
>>> Transaction Summary
>>> ====================================================================================================
>>> Install  1 Package (+11 Dependent packages)
>>>
>>> Total download size: 15 M
>>> Installed size: 56 M
>>> Is this ok [y/d/N]:
>>>
>>>
>>> firewalld-0.3.14
>>> https://lists.fedorahosted.org/pipermail/firewalld-devel/2015-June/000175.html
>>>
>>> firewall-applet:
>>>      - new version using Qt4 fixing several issues with the Gtk version
>>>
>>>
>>> What were the actual issues with the GTK+ version?
>>>
>>
>> There have been several issues with the gtk applet:
>>
>> 1) The gtk statusicon widget is deprecated in gtk3, will be removed
>> soon. Going back to gtk2 is not a solution.
>
> Xfce CORE is still GTK+ 2 based, therefore -stay- on GTK+ 2 -is- a solution. ;)

The old applet was using gtk3 since 2012. There are issues with gtk2 and 
introspection. The use of pygtk was also not an option because of 
missing python3 support, it also pulled in gobject, which then 
conflicted with dbus.

>
>> 2) The status icon was sometimes invisible without an error, warning or
>> any way to find out why, especially in Gnome3.
>
> No problemos within the Xfce, works OK.
>
Yes, there have not been issues in Xfce for also all the time. But there 
have been lots of issues with Gnome3. I had work arounds in the applet, 
but those were not working with all Gnome3 versions.

>> 3) The status icon was sometimes not showing the icon without an error,
>> warning or any way to find out why, especially in Gnome3 and gtk based
>> desktop environments.
>
> No problemos within the Xfce, works OK.
>
See above.

>> 4) With KDE5 there is no support for old-style system tray icons
>> anymore. Only Qt based applets and AppIndicator applets are supported,
>> but AppIndicator has the same issues with the icons in Gnome3 and other
>> gtk based desktops.
>>
>
> That's right, the Application Indicators aka "AppIndicator" is the Canonical/Ubuntu/Unity technology.
>
>> The Qt applet is working in KDE5, Gnome3, Xfce, Mate and others
>> supporting system tray icons without any issues for me. Therefore this
>> is the way to go.
>>
>
> There are some issues, at least within the Xfce - "shrivel" systray icon.
> See "firewall-applet-Qt4-shrivel-systray-icon.png"
>
> Same crap happens as with the vlc systray icon, again Qt4.
>
I do not see this in Xfce. Do you have special panel settings?

>> Additionally while doing the recode in Qt I realized that the UI
>> handling with Qt is much simpler and more predictable. I plan to port
>> firewall-config also over to Qt for one of the next releases.
>>
>
> Qt5 - ready steady?
>
There is also a Qt5 version, but it behaving strange in KDE5.

> "Qt 4.8.7 Released - Marks The End Of Qt4"
> http://www.phoronix.com/scan.php?page=news_item&px=qt-4.8.7-qt4-update-released
>
>
> https://github.com/t-woerner/firewalld/commit/2625806
> New firewall-applet version using Qt
> - Dropped shields up/down mechanism, was not optimal.
>
> Please explain what was -not optimal-, related to "Shields" functionality.
>
Shields-up/-down was settings the default zone in firewalld. There is no 
runtime only setting for the default zone, therefore it was setting it 
for the whole system in a persistent way.

If there is a request, I will add it to the new applet.

>
> $ rpm -q firewall-applet
> firewall-applet-0.3.14.1-1.fc23.noarch
>
> $ rpm -ql firewall-applet | grep man
> /usr/share/man/man1/firewall-applet.1.gz
>
> $ man /usr/share/man/man1/firewall-applet.1.gz
> ...
> GSETTINGS
> firewall-applet has additional settings to adapt the look and feel.
> The used backend depends on the distribution and can be either dconf or GConf.
> The path to the settings is org.fedoraproject.FirewallApplet.
> You can use dconf-editor or gconf-editor to see and modify them.
> The following settings are supported:
> ...
> show-inactive
> ...
> blink
> ...
> blink-count
>
> Is this manual a bit outdated?
  Oh yes, I forgot to adapt the man page. Thanks for finding this one.

> https://github.com/t-woerner/firewalld/commit/5b47854
> Dropped applet gschema remain: org.fedoraproject.FirewallApplet.gschema.xml
>
> BTW
> dconf write /org/fedoraproject/FirewallApplet/show-inactive true
> dconf write /org/fedoraproject/FirewallApplet/blink true
> dconf dump /org/fedoraproject/FirewallApplet/
> [/]
> show-inactive=true
> blink=true
>
> What is equivalent to this, now in Qt4 form?
>
As far as I know there is no command line tool for this. You can 
create/change ~/.config/firewall-applet/firewalld.conf

The names here are bad, so I hanged them to 
~/.config/firewall/applet.conf: 
https://github.com/t-woerner/firewalld/commit/f137568077af9a11823cdee816f80f16ff6deec8





More information about the test mailing list