lxqt / lxqt-connman-applet Goto Github PK
View Code? Open in Web Editor NEWSystem-tray applet for connman
License: GNU Lesser General Public License v2.1
System-tray applet for connman
License: GNU Lesser General Public License v2.1
Apparently lxqt-connman-applet doesn't built on LXQt from latest VCS checkout any longer, maybe due to the lots of changes that took place under the hood recently:
$ cmake .
[...]
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:14 (include):
include called with wrong number of arguments. include() only takes one
file.
CMake Error at CMakeLists.txt:15 (include):
include called with wrong number of arguments. include() only takes one
file.
The very same command as well as make
thereafter run flawlessly on a system using an LXQt Git checkout from 2015-06-30.
Arch Linux i686 or x86_64 (same findings).
The headers in LXQt ConnMan applet's menu aren't displayed if the applet is handled by a panel component implementing [K]SNI.
Seen running 7af99fc on Arch Linux i686 or x86_64: with LXQt and LXQt ConnMan applet from recent VCS checkouts the headers are displayed as usual in plugin-tray implementing System Tray Protocol but aren't in plugin-statusnotifier implementing SNI
Same findings in "System Tray" of KDE Plasma 5.4.1.
To check the latter libqtxdg, liblxqt and LXQt ConnMan applet were compiled on a system lacking all other LXQt components.
iconfinder.cpp, ligne 133 :
virtual QString ethernetConnectedIconName() { return "network-connnect";}
When the icon theme is changed while LXQt ConnMan Applet is running the application adopts the changes faulty and reverts to reasonable behaviour only when it's restarted.
To reproduce, say Oxygen is in use and everything is working as expected.
When Adwaita is set no icon can be seen any longer in the panel on systems with Ethernet connections only. Upon dis- and reconnecting network-wired
of Adwaita is displayed all the time. On systems with WiFi connection only network-wireless
of Adwaita comes up in the panel when this theme is chosen. The icon persists whenever a connection is established, upon disconnecting network-wired
(sic!) is displayed. In dialog "lxqt-connman-applet" some AP's are represented by network_wireless
of Adwaita while others stick with network-wireless-connected-*
of Oxygen.
On both systems LXQt ConnMan Applet starts displaying correct icons when it's restarted.
Seen running 41126c9 with recent LXQt on Arch Linux. A similar issue has recently been addressed in palinek/nm-tray@abbe586.
On a side note I wonder whether empty function
IconProducer::~IconProducer()
{
}
in iconproducer.cpp
exists on purpose.
....
[ 54%] Building CXX object CMakeFiles/lxqt-connman-applet.dir/agent.cpp.o
[ 58%] Building CXX object CMakeFiles/lxqt-connman-applet.dir/lxqt-connman-applet_autogen/mocs_compilation.cpp.o
[ 61%] Building CXX object CMakeFiles/lxqt-connman-applet.dir/agentadaptor.cpp.o
make[1]: *** [CMakeFiles/Makefile2:199: iconviewer/CMakeFiles/icon-viewer.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 64%] Building CXX object CMakeFiles/lxqt-connman-applet.dir/agentdialog.cpp.o
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp: In member function 'void Agent::ReportError(QDBusObjectPath, QString)':
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:45:41: warning: unused parameter 'servicePath' [-Wunused-parameter]
45 | void Agent::ReportError(QDBusObjectPath servicePath, QString errorMessage)
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:45:62: warning: unused parameter 'errorMessage' [-Wunused-parameter]
45 | void Agent::ReportError(QDBusObjectPath servicePath, QString errorMessage)
| ~~~~~~~~^~~~~~~~~~~~
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp: In member function 'void Agent::ReportPeerError(QDBusObjectPath, QString)':
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:50:45: warning: unused parameter 'peerPath' [-Wunused-parameter]
50 | void Agent::ReportPeerError(QDBusObjectPath peerPath, QString errorMessage)
| ~~~~~~~~~~~~~~~~^~~~~~~~
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:50:63: warning: unused parameter 'errorMessage' [-Wunused-parameter]
50 | void Agent::ReportPeerError(QDBusObjectPath peerPath, QString errorMessage)
| ~~~~~~~~^~~~~~~~~~~~
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp: In member function 'void Agent::RequestBrowser(QDBusObjectPath, QString)':
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:55:44: warning: unused parameter 'servicePath' [-Wunused-parameter]
55 | void Agent::RequestBrowser(QDBusObjectPath servicePath, QString url)
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:55:65: warning: unused parameter 'url' [-Wunused-parameter]
55 | void Agent::RequestBrowser(QDBusObjectPath servicePath, QString url)
| ~~~~~~~~^~~
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp: In member function 'QVariantMap Agent::RequestInput(QDBusObjectPath, QVariantMap)':
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:65:77: error: 'QString::QString(const char*)' is private within this context
65 | sendErrorReply("net.connman.Agent.Error.Canceled", "Unknown service");
| ^
In file included from /usr/include/qt/QtCore/qhashfunctions.h:44,
from /usr/include/qt/QtCore/qlist.h:47,
from /usr/include/qt/QtCore/qhash.h:46,
from /usr/include/qt/QtCore/qdebug.h:45,
from /usr/include/qt/QtCore/QDebug:1,
from /home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:25:
/usr/include/qt/QtCore/qstring.h:968:5: note: declared private here
968 | QString(const char *ch);
| ^~~~~~~
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:65:77: error: 'QString::QString(const char*)' is private within this context
65 | sendErrorReply("net.connman.Agent.Error.Canceled", "Unknown service");
| ^
In file included from /usr/include/qt/QtCore/qhashfunctions.h:44,
from /usr/include/qt/QtCore/qlist.h:47,
from /usr/include/qt/QtCore/qhash.h:46,
from /usr/include/qt/QtCore/qdebug.h:45,
from /usr/include/qt/QtCore/QDebug:1,
from /home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:25:
/usr/include/qt/QtCore/qstring.h:968:5: note: declared private here
968 | QString(const char *ch);
| ^~~~~~~
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:74:71: error: 'QString::QString(const char*)' is private within this context
74 | sendErrorReply("net.connman.Agent.Error.Canceled", "Cancelled");
| ^
In file included from /usr/include/qt/QtCore/qhashfunctions.h:44,
from /usr/include/qt/QtCore/qlist.h:47,
from /usr/include/qt/QtCore/qhash.h:46,
from /usr/include/qt/QtCore/qdebug.h:45,
from /usr/include/qt/QtCore/QDebug:1,
from /home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:25:
/usr/include/qt/QtCore/qstring.h:968:5: note: declared private here
968 | QString(const char *ch);
| ^~~~~~~
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:74:71: error: 'QString::QString(const char*)' is private within this context
74 | sendErrorReply("net.connman.Agent.Error.Canceled", "Cancelled");
| ^
In file included from /usr/include/qt/QtCore/qhashfunctions.h:44,
from /usr/include/qt/QtCore/qlist.h:47,
from /usr/include/qt/QtCore/qhash.h:46,
from /usr/include/qt/QtCore/qdebug.h:45,
from /usr/include/qt/QtCore/QDebug:1,
from /home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:25:
/usr/include/qt/QtCore/qstring.h:968:5: note: declared private here
968 | QString(const char *ch);
| ^~~~~~~
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp: In member function 'QVariantMap Agent::RequestPeerAuthorization(QDBusObjectPath, QVariantMap)':
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:80:61: warning: unused parameter 'peerPath' [-Wunused-parameter]
80 | QVariantMap Agent::RequestPeerAuthorization(QDBusObjectPath peerPath, QVariantMap fields)
| ~~~~~~~~~~~~~~~~^~~~~~~~
/home/stef/git/lxqt/lxqt-connman-applet/agent.cpp:80:83: warning: unused parameter 'fields' [-Wunused-parameter]
80 | QVariantMap Agent::RequestPeerAuthorization(QDBusObjectPath peerPath, QVariantMap fields)
| ~~~~~~~~~~~~^~~~~~
make[2]: *** [CMakeFiles/lxqt-connman-applet.dir/build.make:144: CMakeFiles/lxqt-connman-applet.dir/agent.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:118: CMakeFiles/lxqt-connman-applet.dir/all] Error 2
make: *** [Makefile:149: all] Error 2
Build fails with a lots of "error: template with C linkage"
In file included from /usr/include/qt/QtCore/qmap.h:43:0,
from /usr/include/qt/QtCore/QMap:1,
from /home/stef/git/lxqt-connman-applet/strings.h:29,
from /usr/include/string.h:431,
from /usr/include/qt/QtCore/qarraydata.h:44,
from /usr/include/qt/QtCore/qbytearray.h:46,
from /usr/include/qt/QtCore/qmetatype.h:46,
from /usr/include/qt/QtCore/QMetaType:1,
from /home/stef/git/lxqt-connman-applet/connmanobject.h:28,
from /home/stef/git/lxqt-connman-applet/connmanobject.cpp:1:
/usr/include/qt/QtCore/qmap.h:1282:1: error: template with C linkage
Q_DECLARE_ASSOCIATIVE_ITERATOR(Map)
^
/usr/include/qt/QtCore/qmap.h:1283:1: error: template with C linkage
Q_DECLARE_MUTABLE_ASSOCIATIVE_ITERATOR(Map)
^
make[2]: *** [CMakeFiles/lxqt-connman-applet.dir/build.make:83: CMakeFiles/lxqt-connman-applet.dir/agent.cpp.o] Error 1
make[2]: *** [CMakeFiles/lxqt-connman-applet.dir/build.make:131: CMakeFiles/lxqt-connman-applet.dir/agentdialog.cpp.o] Error 1
make[2]: *** [CMakeFiles/lxqt-connman-applet.dir/build.make:155: CMakeFiles/lxqt-connman-applet.dir/connmanobject.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/lxqt-connman-applet.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
When I was trying to build this source, I encountered the following error;
CMake Error at iconviewer/CMakeLists.txt:6 (qt5_add_resources):
Unknown CMake command "qt5_add_resources".
Please let me know how can I solve this issue.
I am on Manjaro Community Edition of LXQt 0.14.1;
Machine spec Compaq Presario CQ40-141TU;
Intel P7350 Core2 Duo Processor with Compal 3670 Mobo;
Running on 3 GB RAM, sole OS in the 500GB Toshiba MQ01ABF050;
Kernel 4.19.30-1-MANJARO x86_64.
Thanks.
It would be nice to have a tagged release version since some Linux distros use this for packaging.
i can connect to ethernet and almost all wifi networks in my surrounding without problems.
it is easy to connect to open wifi networks.
it is easy to connect to wps and/or psk protected wifi networks: i just have to enter the right password.
it is impossible to connect to a IEEE8021x protected wifi network, because i never see a window in which i can enter my username and password.
i have observed the same behavior with https://github.com/andrew-bibb/cmst. therefore, i think it might be a problem of connman.
so, is it a problem of lxqt-connman-applet or connman?
do you know more about it?
Right now there is just a single desktop entry file launching the applet itself. It is placed in $XDG_DATA_DIRS/applications, states 'LXQt' and 'DesktopSettings' (among other) in key 'Categories' and thus lands in lxqt-config - 'LXQt settings' as well as in panel's main menu - Preferences - LXQt settings.
But this doesn't make sense as those two locations provide configuration GUIs only.
I'd propose to place it in $XDG_CONFIG_DIRS/autostart and tweak it such that it lands in lxqt-config-session - Autostart - 'LXQt Autostart'. This would reflect its actual purpose. Also, it would get launched by default that way which is actually desired behaviour that could nevertheless still be tweaked by the user from within lxqt-config-session.
Of course it could be considered to leave another desktop entry file starting the applet in $XDG_DATA_DIRS/applications and place it somewhere else in main menu, most likely by stating 'Network' in key 'Categories'. This is what wicd has been doing for years. But actually I think it doesn't make sense and launching the applet as stated above only would do.
A desktop entry file belonging to an eventual configuration window / UI could of course be handled like the current desktop entry file right now.
Aside from this there's some minor polish.
The use of keys Name, GenericName and Comment could be improved.
TRANSLATIONS_DIR isn't a value key according to the specification and as such should be prefixed by 'X-' or dropped, IMHO.
A file implementing all this could look like so:
[Desktop Entry]
Type=Application
Name=LXQt ConnMan applet
GenericName=Network Management
Comment=LXQt panel applet to handle ConnMan
Icon=preferences-system-network
TryExec=lxqt-connman-applet
Exec=lxqt-connman-applet
Categories=Network;
OnlyShowIn=LXQt;
X-LXQt-Need-Tray=true
Title says it basically all. It would be very nice if LXQt ConnMan Applet was translatable.
Any chance we can see this?
On Arch Linux, CMake is not able to find lxqt-qt5 but only lxqt. Also, lxqt's own packages assume the name lxqt for the CMake module, for example https://github.com/lxde/lxqt-config/blob/master/CMakeLists.txt#L20
And by the way, I submitted an ArchLinux User Repository package for lxqt-connman-applet at https://aur.archlinux.org/packages/lxqt-connman-applet-git/
Great plugin (idea) for lxqt. It would be also nice to have it in LXDE gtk+ version.
When icon themes are chosen which don't cover all icon names LXQt ConnMan Applet is normally considering the display of icons gets faulty.
E. g. icon theme breeze is providing an icon network-wired
but neither network-offline
nor network-wireless-signal-*-symbolic
. If it's chosen on a system with Ethernet connections only there's icon network-wired
in the panel, on systems with WLAN connections only it's gtk-execute
or dialogue-information
.
All these icons are displayed all the time, no matter whether or not a connection is established.
Not sure what's best to do here, e. g. if LXQt ConnMan Applet should replace icons missing in a particular icon theme with its own SVG icons or e. g. refuse to use the icon theme and throw a warning. But the current behaviour is rather confusing.
Seen running 41126c9 with recent LXQt on Arch Linux.
thats all ๐
Hello,
Since the cmake changes in commit 98827f9, I can't build lxqt-connman-applet anymore. I hope this isn't my local issue but I don't think it is. I don't know cmake at all but it would appear that dropping "include(${LXQT_USE_FILE})" makes it unable to find lxqt_translate_desktop.
If I keep all changes from this commit but stick that one include line back in, all is well. Not sure what the actual proper fix is, though. Let me know if you need any more info from me.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.