mirror of
https://github.com/KDE/latte-dock.git
synced 2025-01-23 10:03:43 +03:00
Rodrigo Pedra Brum
2b039e1275
Add const declarations on implementation files which use them as references
When trying to compile the new Multiple Screens feature released yesterday I got this error on KDE neon: ```bash [ 83%] Building CXX object app/CMakeFiles/latte-dock.dir/lattedockadaptor.cpp.o [ 84%] Linking CXX executable ../bin/latte-dock /usr/bin/ld: CMakeFiles/latte-dock.dir/view/clonedview.cpp.o: in function `Latte::ClonedView::translateToClonesOrder(QList<int> const&)': clonedview.cpp:(.text+0x1aaa): undefined reference to `Latte::ClonedView::ERRORAPPLETID' collect2: error: ld returned 1 exit status make[2]: *** [app/CMakeFiles/latte-dock.dir/build.make:2270: bin/latte-dock] Error 1 make[1]: *** [CMakeFiles/Makefile2:1806: app/CMakeFiles/latte-dock.dir/all] Error 2 make: *** [Makefile:146: all] Error 2 ``` After some research I found this StackOverflow answer: https://stackoverflow.com/a/3026148 Which referenced this FAQ by Bjarne Stroustrup: https://www.stroustrup.com/bs_faq2.html#in-class In summary, if a `static const` is initialized in a class, and later is used as a reference in an implementation file, it should also be declared inside the implementation file. The initialization can live only inside the class. Maybe the compiler used by @mvourlakos has an optimization to overcome such construct. In my case by adding these two lines I could compile it on KDE neon (after fixing the first error, compilation failed on a second spot).
About
Latte is a dock based on plasma frameworks that provides an elegant and intuitive experience for your tasks and plasmoids. It animates its contents by using parabolic zoom effect and trys to be there only when it is needed.
"Art in Coffee"
Screenshots
Development
- Official KDE repo in which you can also send your MRs is located at: https://invent.kde.org/plasma/latte-dock
- Bug reports can be send at: https://bugs.kde.org/enter_bug.cgi?product=lattedock
Installation
Requirements
We recommend to use at least: Plasma >= 5.18.0 Qt >= 5.15
Minimum requirements:
tools:
bash
development packages for:
Qt5Core >= 5.15.0
Qt5Gui >= 5.15.0
Qt5Dbus >= 5.15.0
KF5Plasma >= 5.71.0
KF5PlasmaQuick >= 5.71.0
KF5Activities >= 5.71.0
KF5CoreAddons >= 5.71.0
KF5GuiAddons >= 5.71.0
KF5DBusAddons >= 5.71.0
KF5Declarative >= 5.71.0
KF5Kirigami2 >= 5.71.0
KF5Wayland >= 5.71.0
KF5Package >= 5.71.0
KF5XmlGui >= 5.71.0
KF5IconThemes >= 5.71.0
KF5KIO >= 5.71.0
KF5I18n >= 5.71.0
KF5Notifications >= 5.71.0
KF5NewStuff >= 5.71.0
KF5Archive >= 5.71.0
KF5GlobalAccel >= 5.71.0
KF5Crash >= 5.71.0
For X11 support:
KF5WindowSystem >= 5.71.0
Qt5X11Extras >= 5.7.0
libxcb
libxcb-randr
libxcb-shape
libSM
From repositories
Ubuntu/Debian
openSUSE
Fedora
Arch Linux
Gentoo
Solus Project
Void Linux
FreeBSD
See the installation instruction for others Linux distribution or development build
Run Latte-Dock
Latte is now ready to be used by executing
latte-dock
or activating Latte Dock from applications menu.
Contributors
Varlesh: Logos and Icons.
Description
Replacement dock for Plasma desktops, providing an elegant and intuitive experience for your tasks and plasmoids
Languages
C++
55.1%
QML
41.9%
CMake
1.4%
JavaScript
1%
Latte
0.5%