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

5886 Commits

Author SHA1 Message Date
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
Michail Vourlakos
4401fdbb0f tasks:always finish bouncing animation
--more specific when a new window is added or
when the in attention bouncing animation is not
needed any more
2022-04-17 21:30:06 +03:00
Michail Vourlakos
5100deee38 startup:track background brightness correctly
--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.
2022-04-17 17:22:31 +03:00
Michail Vourlakos
6750f02d6f cmd:define log file for debug output 2022-04-17 16:07:28 +03:00
Michail Vourlakos
6bce84c68b tasks:return bounce on start when destructed 2022-04-17 09:24:05 +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
l10n daemon script
ec5b56031a GIT_SILENT made messages (after extraction) 2022-04-01 00:54:17 +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
l10n daemon script
d43f3d5ac4 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-03-29 02:16:19 +00:00
l10n daemon script
45619c7248 GIT_SILENT made messages (after extraction) 2022-03-29 00:53:23 +00:00
l10n daemon script
a42bc6788c 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-03-23 02:09:30 +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
21d8728498 tasks:fix launchers behavior in different applets
BUG:450986
2022-03-05 11:10:40 +02:00
Ömer Fadıl Usta
ac021a38b7 Fix Typo in header guard of floatinggapwindow 2022-03-02 19:42:57 +00:00
Ömer Fadıl Usta
bf7a87a81b Fix Typo in header guard of colorsmodel 2022-03-02 19:37:39 +00:00
Ömer Fadıl Usta
8476a796d2 Spring cleaning with Qt5.15.x
Because of we increased min qt version to 5.15.x, we dont need these checks anymore
2022-03-01 04:47:12 +00: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
f1472db653 parabolic:simplify linear code
--define the mathematical approach more appropriately
in order to be extended and understood much easier
2022-02-21 16:28:45 +02:00
Michail Vourlakos
48ecda9723 accept background radius 0% 2022-02-18 19:10:46 +02:00
Michail Vourlakos
6e1c45d087 increase max zoom factor to 125%
--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
2022-02-12 22:09:19 +02:00
Michail Vourlakos
40b4851dac introduce thickness margin influence option 2022-02-12 22:06:05 +02:00
Michail Vourlakos
b6a38e3830 improve autocalculationss for mask/blur regions
--this fix provides more accurate roundness masks
based on user preference
2022-02-05 17:28:57 +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
f0ad7b23c7 update Changelog to v0.10.8 2022-01-25 10:52:17 +02:00
Michail Vourlakos
c7bb46b217 introduce new MultipleLayouts mechanism
--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
2022-01-25 09:58:44 +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
Vlad Zahorodnii
e326dddbd6 Unset global shortcut for settings
Meta+W will be used by Plasma in 5.24.

In general, settings are not frequently accessed so they don't need a
global shortcut assigned by default.
2022-01-18 16:03:23 +00: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
84fe31c318 panels:fix switch to explicit screens and back
--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
2022-01-16 22:00:18 +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
8a0f18326e fix for vertical panels identifying top borders
--use also floating screen edge margin in order to identify
if the top or bottom borders of a vertical dock or panel
should be drawn
2022-01-16 03:42:23 +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
6fa1d1cc87 fix vertical docks/panels positioning
--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
2022-01-16 02:32:24 +02:00
Michail Vourlakos
ec62b36018 position kwinedgehelper properly after startup
BUG:448433
FIXED-IN:0.10.8
2022-01-16 02:32:24 +02:00
Michail Vourlakos
0657ca1e4e x11:center applet config window on screen 2022-01-14 20:58:25 +02:00
Michail Vourlakos
6187f4d997 do not shrink vertical docks/panels on startup 2022-01-14 20:21:20 +02:00
Michail Vourlakos
c4afa37465 view:unblock events when user undo removal
--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.
2022-01-14 20:05:29 +02:00
Michail Vourlakos
837f0a81e7 update Changelog to v0.10.7 2022-01-10 15:54:41 +02:00
Ömer Fadıl Usta
3c5b474a97 Make spring cleaning to match our KF5_MIN_VERSION
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
2022-01-09 12:21:55 +00:00
Michail Vourlakos
aa57d21515 kwinedge:calculations improvements 2022-01-08 21:17:39 +02:00
Michail Vourlakos
20e3f3cbb3 kwinedges:fix calculations and positioning 2022-01-08 21:01:09 +02:00
Michail Vourlakos
a12565ab1f windowsgobelow:show properly on startup
BUG:448099
2022-01-08 21:01:09 +02:00