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
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
--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
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).
--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
--this way the user can choose to use a much
greater parabolic effect that will influence five
or seven of its neighbours instead of just three.
The new option can be found at Latte Global Preferences.
--some improvements of 0.10.5 broke the windows tracking
initialization. This is a fix in order for windows tracking
to be enabled/disabled properly per dock/panel during
startup phase.
--after recreating a view, launchers group is now
assigned again correctly. As it appears the problem
was that Host.MyView ability was sending an isReady
signal that was not accurate enough.
--This new approach paints all docks and panels during
starup offscreen. This way especially under x11 not a lot of
visual glitches are appearing all over the place.
After startup time has ended docks and panels are
moved at their original and valid placement and slide in
animations are triggered.
--this way mouse clicks correspond much better
in how they should behave. For example right
clicks do not forward always the events to the
desktop during sliding.
--the following options are exposed to indicators
in order to use them to their preference:
----iconTransformOrigin
----iconOpacity
----iconRotation
----iconScale
--when an applet is not identified as expandable
but on the other hand has activated the flag
activationTogglesExpanded then for those
applets the mouse wheel option should also
trigger an activation event
--consider the panel background roundness and position
positions only related to that roundness. This way the
plasma style popups that feel part of the panel background
are positioned properly always and they do not touch
in empty areas.
--introducing in Indicators API a new option to
specify the indicator preference for the distance
between the indicator and panel background roundness.
By altering the option the indicator can get into
the panel background roundness.
BUG:442675