IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
--use ScreenPool as reference for primary screen.
The new code uses PrimaryOutputWatcher class from
Plasma Shell in order to keep track of primary
screen at all cases.
BUG:448418
FIXED-IN:0.11.0
--plasma is doing some funny stuff in multi-screen
environments by changing screen ids and back and forth
when primary screen is changed. We now take into account
this and when screen plasma pools updates its ids in
any case the wallpapers tracking follows instantly.
Hey, first KDE contribution here. I was digging through code trying to fix [bug 427530](https://bugs.kde.org/show_bug.cgi?id=427530) when I found this copied-and-pasted block in LayoutManager::save(). This MR moves the block into a lambda to remove code repetition.
I am not a C++ programmer and although nothing changed that I could notice, it would be smart to sanity check and/or test this before merging.
--this way the parabolic effect works nicely after
the dock slides-in. In the past there was a chance
that even though mouse was hovering an parabolicable applet
the parabolic effect was not started because parabolic
event was rejected because the dock was not fully shown
yet
--new introduced external spacers of main layout are
used from parabolic effect in order to keep the contents
of main layout in balance. That produces a much better
visual result for the user because when the user hovers
an item, that item is zoomed and the mouse is still
present at first hovered position.
--the user can now move the background opacity slider
to the farest left side and is such case it will get
the plasma theme default opacity. This is the same
way that background radius and shadows size can return
to default settings
BUG:443366
--when user is using no thickness margin influence
for parabolic effect it nice to have a little bigger
zoom factor in order for parabolic zoom to
look nicer
--provide a minimum window thickness for docks at 384px.
and afterwards use maxiconsize, maxmargin etc calculations
in order to use greater window thicknesses
--trying to handle this way all jumpiness from parabolic
effect when dock is at the bottom edge and the user moves its
mouse at the top edge of the parabolized item. When the mouse
slightly exits the item ParabolicMouseArea and gets a mouseEntered
signal even though, it should not and immediately gets also
a mouseExited signal to correct things. This happens exactly
after the Paraboli.sglClearZoom() signal has been triggered.
--make head thickness margin and tail thickness
margin totally independent
--ability item: reanchor it based on the screen edge
like applets are already doing
--adjust tasks animations in order to take into
account the anchoring
--parabolic effect adjust calculations to use
new thickness margins
--the new approach does not load/unload layouts
during startup/exit. When the user loads layouts
in multiple layouts mode the layouts are inserted
and when exit they still remain in the hidden
multiple layouts file. These layouts present in the
multiple layouts file from now are called preloaded
layouts.
--the new approach fixes also the wayland exit
issue and in general the message for Latte not
closed properly has been totally dropped.
BUG:448702
BUG:446205
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).
--some improvements introduced to 0.10.7 broke the
screen switching codepath for panels. With this
fix users can again move panels around for their
screens
BUG:448569
FIXED-IN:0.10.8
--This is a HUGE FEATURE and so important for multi-screens
users. It is introduced as one single commit because it
reimplements plenty of infrastructure changes and it will
be easier to identify newly introduced bugs.
--Users can now choose for their docks and panels to belong
at various screen groups. The first two screen groups introduced
are AllScreens and AllSecondayScreens. In the future it might
be possible to provide CustomScreensGroup that the user will
be able to define specific screens in which a dock or panel
should be always present.
--Current solution specifies an Original dock or panel and clones/copies
itself automatically to other screens. So docks and panels in other screens
are just real docks and panels that reference themselves to original
docks and panels.
--Clones are destroyed during layout startup and are automaticaly
recreated. It is suggested to export your layouts through the
official Layouts Editor in order to share them because in that case
clones are not included in the new generated layout file. If in any
case you do not this and you share your layout with any previous
versions then your clones will just appear as separate docks and
panels that belong to specific screens.
--Automatic syncing was introduced in order to keep up-to-date
the configuration of Original docks and panels with their referenced
Clones.
--Automatic syncing currently works for all docks and panels settings,
for all normal applets configurations and for all subcontaiments
configuration such as systrays.
--Automatic syncing does not work for applets inside subcontainments
such as Group Plasmoid. In such case it is suggested to configure
your applets inside your Group Plasmoid in the original dock or panel
and afterwards to trigger a recreation for the relevant clones
--Manual recreation of clones is easily possible by just choosing
the dock or panel to be OnPrimary or OnSpecificScreen and rechoosing
afterwards the AllScreensGroup or AllSecondaryScreensGroup
--identify correctly for vertical panels in right edge
when they need to draw or not their top and bottom borders.
This is enough in order to position properly these docks.
BUG:448519
FIXED-IN:0.10.8
--this way when a dock or panel is scheduled for
removal but the user undo that removal all
events for main dock/panel window are forwarded
correctly. As a side fix parabolic effect works
just fine now is such scenario.
Since we already require 5.71.0 as min version of KF , it is meaning less to keep old checks for lower versions in code, this will make code more and more cleaner
Since all plasma using cpp17 and we recently switch to cpp14 think that it may be better to keep it more up-to-date and match with plasma