firewall-applet GTK+ -> Qt

Thomas Woerner twoerner at redhat.com
Mon Jun 29 12:03:03 UTC 2015



On 06/17/2015 02:52 PM, poma wrote:
> On 16.06.2015 15:11, Thomas Woerner wrote:
>> 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?
>>
> I've caricatured with the size, but the essence is the same:
> http://goo.gl/Gm4ffO
> Screencast/teeny-weeny.webm
>
I do not have issues with the size of the Qt applet in Xfce. I even 
changed the size of the panel on the fly and it was adapting to the 
current tray size. But please remember that there is a max size of tray 
applets within Xfce. You can simply recognize that no applet gets bigger 
than about 32 pixels.

There might be an issue with some of the themes though. Not all themes 
in Xfce and gtk are behaving the same. Which theme are you using?

>>>> 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.
>>
> Bug report?
> It's a matter of time when you'll do it anyway in Qt5, right?
Yes, this should be a matter of time. For now it was important to get it 
running.

>
>>> "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.
>>
> This should be studied.
Here is the commit that adds this back: 
https://github.com/t-woerner/firewalld/commit/646d5ceeac51ccd3d473e6036ddf3f1d45b9b961

>>> $ 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
>>
>>
>>
> $ cat ~/.config/firewall/applet.conf
> [General]
> notifications=false  <-- works OK / also via the applet menu
> show-inactive=true   <-- works -but- applet restart is needed to apply change - why?
> blink=true           <-- broken - does not work at all
> blink-count=10       <-- brokne - see "blink"
>
> Tested with:
> firewall-applet-0.3.14.2-1.fc22.noarch
Here is the fix for the not working settings: 
https://github.com/t-woerner/firewalld/commit/ca9597c69a6f8270fd7e3452ae93fec0187a3aaa

> Please implement also a system-wide config, e.g. 
> /etc/firewall/applet.conf [General] ... 
Here are commits that adds global settings and settings reload on 
change: 
https://github.com/t-woerner/firewalld/commit/2a701feaaf229fec011549677b464ca9042137fd

There are also other changes and fixes for firewall-applet in the master 
branch since 0.3.14.2:

Fix Ok button sensitivity in dialogs:
https://github.com/t-woerner/firewalld/commit/7c03a3477ddfa6da85361a09f9aac52d3896a7a9

Reworked about dialog to have a more common look:
https://github.com/t-woerner/firewalld/commit/1c697e0a59bcd8d6d370813631fbb1d7a628e93c

Man page adaption:
https://github.com/t-woerner/firewalld/commit/e1fe9241b777c111a4bbac0eee24935fe5028463

Added defaults for shields-up/down, fixed blink default:
https://github.com/t-woerner/firewalld/commit/ff9e6705ddd010745bc2435a10ae00789ee39ef3

Regards,
Thomas


More information about the test mailing list