1
0
mirror of https://github.com/KDE/latte-dock.git synced 2024-12-24 17:33:50 +03:00
Commit Graph

1863 Commits

Author SHA1 Message Date
Alexander Lohnau
1cb7e1c8b0 Convert desktop files of plugins to json
Task: https://phabricator.kde.org/T14564
2022-05-15 09:14:46 +00:00
Michail Vourlakos
b1d57051c2 wayland:support Plasma primaryscreen protocol
--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
2022-05-09 20:35:45 +03:00
l10n daemon script
bd6ae904b9 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-04-01 02:01:29 +00:00
Amy Rose
538dba0a02 refactor LayoutManager::save() to remove code repetition
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.
2022-03-31 14:40:35 +00:00
Michail Vourlakos
3f90a49b55 applet:use last mouse event after dock slide-in
--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
2022-03-06 11:56:25 +02:00
Michail Vourlakos
fe63a63efc clones:fix parabolic behavior on alignment changes
--more specificaly before this patch when the host
dock was changing from justify to center alignment
clones parabolic effect did not work as intended
2022-02-28 22:51:22 +02:00
Michail Vourlakos
0f3c2b8468 change appletcontainer length to float value 2022-02-27 18:05:50 +02:00
Michail Vourlakos
dea478f16e fix trembling at parabolic edges 2022-02-27 17:39:26 +02:00
Michail Vourlakos
59b422448b fix #100,introduce parabolic edge spacers for main
--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.
2022-02-27 17:24:48 +02:00
Michail Vourlakos
d841e1e443 provide Default option for Background opacity
--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
2022-02-25 18:34:42 +02:00
Michail Vourlakos
40b4851dac introduce thickness margin influence option 2022-02-12 22:06:05 +02:00
Michail Vourlakos
4d1fbfd584 simplify how dock window thickness is calculated
--provide a minimum window thickness for docks at 384px.
and afterwards use maxiconsize, maxmargin etc calculations
in order to use greater window thicknesses
2022-01-30 21:50:51 +02:00
Michail Vourlakos
11f42978fa specify input mask when parabolic effect applied
--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.
2022-01-30 20:29:20 +02:00
Michail Vourlakos
8a2e2581ef head thickness margin take into account background 2022-01-30 13:28:30 +02:00
Michail Vourlakos
097ceed7d2 split thickness margins to tail and head
--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
2022-01-30 13:25:51 +02:00
Michail Vourlakos
219e901e87 zoom:improve response on first and last items
--improve zoom behavior for first and last items when
the user hovers them before any other item is hovered
and zoomed
2022-01-23 00:28:43 +02: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).
2022-01-17 15:41:44 +00:00
Michail Vourlakos
ee307a0759 update to v0.10.76 2022-01-16 22:09:49 +02:00
Michail Vourlakos
60095bba3b fix #96,FEATURE:AllScreens and AllSecondaryScreens
--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
2022-01-16 13:38:13 +02:00
Michail Vourlakos
fa4db13e81 fix position of custombackground on screen corners
BUG:448519
FIXED-IN:0.10.8
2022-01-16 03:12:35 +02:00
Michail Vourlakos
a12565ab1f windowsgobelow:show properly on startup
BUG:448099
2022-01-08 21:01:09 +02:00
Michail Vourlakos
98f39e17e3 parabolic:fix applets clearing issue 2022-01-07 14:32:38 +02:00
Michail Vourlakos
b1c3594367 provide ParabolicEffect spread option
--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.
2022-01-07 10:17:36 +02:00
Michail Vourlakos
4de51de221 dragging:respect placeholder in length fill calcs
--reduce glitches when dragging applets around and there
are also fillLength applets in Justify alignment
2022-01-04 01:31:17 +02:00
Michail Vourlakos
c9aa147b7b justify:update centered offset always 2022-01-04 00:56:44 +02:00
Michail Vourlakos
c6ea796f00 fill one pixel gap of justify splitters 2022-01-04 00:12:15 +02:00
Michail Vourlakos
02d7e2a7d8 drag applet:remove no needed reparenting
--no reason to reparent placeholder out of layouts
order while dragging an applet. This way internal
view splitters are always calculated correctly.
2022-01-04 00:12:15 +02:00
Michail Vourlakos
850937ca22 justify:offset centered applets if overlap 2022-01-03 22:57:33 +02:00
Michail Vourlakos
9351277cd7 anchor thin tooltips on their visual parents
BUG:447631
2021-12-30 03:12:18 +02:00
Michail Vourlakos
4e28392c3e fix broken initialization of windows tracking
--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.
2021-12-17 11:59:05 +02:00
l10n daemon script
7a7af88e99 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-12-15 01:55:46 +00:00
Michail Vourlakos
c2b20852ea recreateview:fix launchers group assignment
--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.
2021-12-12 14:39:27 +02:00
Michail Vourlakos
aeb934d0fb improve smoothness of animations during startup
--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.
2021-12-12 14:39:18 +02:00
Michail Vourlakos
11a8c3fee7 fix binding loop when moving int.splitters 2021-12-10 17:08:43 +02:00
Michail Vourlakos
321a50627d plenty of fixes when dragging/moving applets 2021-12-10 17:08:32 +02:00
Michail Vourlakos
eb6ae017fe ignore maxlength=0 for fill lenght applets
--fix mediacontroller_plus applet scenario
by ignoring maximum width = 0 that qt is
already doing for Layouts that fill length.

BUG:445869
2021-11-21 20:35:24 +02:00
Michail Vourlakos
55e893b43b update inputgeometry when sliding in/out
--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.
2021-11-06 10:38:56 +02:00
Michail Vourlakos
e642087e31 Indicators API:Extend animations capabilities
extend indicator.level.requested signals with:
  --taskLauncherActivated
  --taskGroupWindowAdded
  --taskGroupWindowRemoved

extend indicator.level.requested properties with:
  --isIndicatorTaskLauncherAnimationRunning

extend indicator info with:
  --providesInAttentionAnimation
  --providesTaskLauncherAnimation
  --providesGroupedWindowAddedAnimation
  --providesGroupedWindowRemovedAnimation

adjust Latte Tasks in order to support properly
animations implemented through indicators.
2021-10-30 14:37:02 +03:00
Michail Vourlakos
eda019016d Indicators:expose more options for Icons
--the following options are exposed to indicators
in order to use them to their preference:
----iconTransformOrigin
----iconOpacity
----iconRotation
----iconScale
2021-10-28 12:33:29 +03:00
Michail Vourlakos
9ce7c5b72d respect applet maximumLength==0
--if the applet has set maximum length to
zero then the applet should not be shown
2021-10-27 21:21:31 +03:00
Michail Vourlakos
e2b98892e5 simplify latte indicator implementation
--fix also the line animation in order to be always
played correctly
2021-10-24 12:03:26 +03:00
Michail Vourlakos
ea500a8ec0 indicators:expose iconOffsetX/Y to applets
--expose iconed applets indicator iconOffsetX/Y setting
and this way animate applet icons if the indicator
would like to do so
2021-10-24 00:36:44 +03:00
Michail Vourlakos
04929b0138 do not clip applets at all cases
--this way cases that applets painting such as
shadows, blur etc. is out of the applets contents
they are still painted
2021-10-23 20:35:00 +03:00
Michail Vourlakos
33428af95b default roundToIconSize for applets in panels 2021-10-23 20:34:51 +03:00
Michail Vourlakos
3769cef501 identify kickofflegacy applet properly 2021-10-22 19:31:55 +03:00
Michail Vourlakos
c9515a0353 activate through mouse wheel more applets
--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
2021-10-15 01:41:13 +03:00
Michail Vourlakos
4ca17600c6 fix popup positioning for plasma-style popups
--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.
2021-10-04 23:10:15 +03:00
Michail Vourlakos
c86878f6c7 [indicators api] - new background corner margin
--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
2021-10-03 09:23:50 +03:00
Michail Vourlakos
a2813a1c43 fix Fitt's Law for parabolic effect items
--fix Fitt's law for items touching the screen
edge and at the same time using parabolic
effect
2021-09-11 14:06:38 +03:00
Michail Vourlakos
a80c71981a fix Fitt's Law for justify vertical panels 2021-09-11 13:12:29 +03:00