Commit Graph

2903 Commits (c6882e79c4a84bedb6d2cbaa76d835732bbc426e)

Author SHA1 Message Date
Michail Vourlakos 4374dace17 indicators:switch to QtQuick NewStuff dialog 3 years ago
Ömer Fadıl Usta e49404db7c Remove oldcode to sync with new KF5_MIN_VERSION ( 5.82 )
Now we based on 5.82 as KF5_MIN_VERSION so time to make a spring cleaning
3 years ago
Michail Vourlakos be9799b342 wayland:views now switch properly between screens 3 years ago
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
3 years ago
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.
3 years ago
Michail Vourlakos 6750f02d6f cmd:define log file for debug output 3 years ago
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"
3 years ago
l10n daemon script ec5b56031a GIT_SILENT made messages (after extraction) 3 years ago
l10n daemon script 45619c7248 GIT_SILENT made messages (after extraction) 3 years ago
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"
3 years ago
Michail Vourlakos 21d8728498 tasks:fix launchers behavior in different applets
BUG:450986
3 years ago
Ömer Fadıl Usta ac021a38b7 Fix Typo in header guard of floatinggapwindow 3 years ago
Ömer Fadıl Usta bf7a87a81b Fix Typo in header guard of colorsmodel 3 years ago
Ö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
3 years ago
Michail Vourlakos 48ecda9723 accept background radius 0% 3 years ago
Michail Vourlakos 40b4851dac introduce thickness margin influence option 3 years ago
Michail Vourlakos b6a38e3830 improve autocalculationss for mask/blur regions
--this fix provides more accurate roundness masks
based on user preference
3 years ago
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
3 years ago
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.
3 years ago
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).
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
Michail Vourlakos ec62b36018 position kwinedgehelper properly after startup
BUG:448433
FIXED-IN:0.10.8
3 years ago
Michail Vourlakos 0657ca1e4e x11:center applet config window on screen 3 years ago
Michail Vourlakos 6187f4d997 do not shrink vertical docks/panels on startup 3 years ago
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.
3 years ago
Ö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
3 years ago
Michail Vourlakos aa57d21515 kwinedge:calculations improvements 3 years ago
Michail Vourlakos 20e3f3cbb3 kwinedges:fix calculations and positioning 3 years ago
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.
3 years ago
Michail Vourlakos 7d180f8dd6 ignore layout/view extensions properly
--remove them manually and do not use baseName()
because it might take into account dots that are
part of the name.
3 years ago
Michail Vourlakos 4c1c65e353 scrgeometries:public empty QRegion() correctly 3 years ago
Michail Vourlakos 765aa45c72 view:enable OnAllDesktops during creation
--try to avoid corner cases that wm ignores OnAllDesktops
flag for specific views during startup. This patch should
protect these corner cases.

BUG:447689
FIXED-IN:0.10.7
3 years ago
l10n daemon script 1e841db497 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"
3 years ago
Michail Vourlakos 1a12bce8af update application name in desktop file
--help external applications to locate the
proper desktop file. This helps also kglobalaccel
to discover which desktop file is linked to
Latte Dock. As a side improvement now latte
dock gains its icon in Plasma Systemsettings
Shortcuts.
3 years ago
Michail Vourlakos 8bd168a5a5 always trust KWin for setting struts
--when kwin is running then we should always
trust it in order to provide correct struts.
That applies also under x11 where other wms
might fail.

BUG:447595
FIXEX-IN:0.10.7
3 years ago
Michail Vourlakos 5ecb8ab767 window belongs in a screen whenever touching it
--whenever a window geometry is touching a screen geometry
is now considered that this window belongs to that screen.
This way a window could look active to more that one screens.
This way all last active window considerations now work
properly even when the window center is out of screen.
3 years ago
Michail Vourlakos cd2ec88274 enable regions broadcasting
--it doesnt make any difference with Plasma
3 years ago
Michail Vourlakos c98f6679b8 fix plasma available geometry broadcasting
--ignore docks and panels for availableScreenRect(s) etc.
when they are in startup and they are painted offscreen
--plasma is not ready to accept availableScreenRegion(s) because
after startup moves desktop widgets to the left even though
it should not
--fix availableScreenRegion calculations for Centered and Justified
docks and panels
3 years ago
Michail Vourlakos 7304025bc3 remove doubled debug message 3 years ago
Michail Vourlakos 3b8c4392c1 remove no needed qt checks 3 years ago
Pino Toscano 362b21ee08 Merge remote-tracking branch 'origin/v0.10' 3 years ago
Pino Toscano f7f774aeb1 appdata: fix/improve
- reference the right desktop file for it with <launchable>, so the
  appdata and the desktop file are properly associated
- remove stray control chars in <releases>
3 years ago
Michail Vourlakos c711d690e2 add missing header 3 years ago
Michail Vourlakos dc724dfd8b simplify Qt version even more 3 years ago
Michail Vourlakos 74626f7bdf Revert "find Qt5 minor version"
This reverts commit 51f166bf51.
3 years ago
Michail Vourlakos 5c9a4e8392 simplify qt5 version check 3 years ago
Michail Vourlakos 1d2a1a03b0 Revert "find Qt5 minor version"
This reverts commit 14be8a9e71.
3 years ago
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.
3 years ago
Michail Vourlakos e25988ff93 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.
3 years ago
Michail Vourlakos 51f166bf51 find Qt5 minor version 3 years ago
Michail Vourlakos 67c38b194f still support Qt5 >= 5.12
BUG:447111
3 years ago
Michail Vourlakos 14be8a9e71 find Qt5 minor version 3 years ago
Michail Vourlakos a033a20062 more startup improvements
--visibility: simplify and improve code
for restoring and saving values
--enable visibility mode early on the startup
sequence
--enable windows tracking after startup phase
has ended
--windows tracking respect also view geometry
changes and not only window changes from the
desktop environment
3 years ago
Michail Vourlakos 88603f6aaf more startup improvements
--visibility: simplify and improve code
for restoring and saving values
--enable visibility mode early on the startup
sequence
--enable windows tracking after startup phase
has ended
--windows tracking respect also view geometry
changes and not only window changes from the
desktop environment
3 years ago
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"
3 years ago
Michail Vourlakos c317d3257a fix 30bit color depth that makes dock invisible
--previous approach did not work correctly on 24bit
systems. The new approach should handle properly all
cases.
3 years ago
Michail Vourlakos 0accfe21b2 fix 30bit color depth that makes dock invisible
--previous approach did not work correctly on 24bit
systems. The new approach should handle properly all
cases.
3 years ago
Michail Vourlakos c15a97bacf Revert "[x11] - fix 30bit color depth that makes dock invisible with broken transparency"
This reverts commit 6497da4a4d.
3 years ago
Michail Vourlakos 74ba0dc63b Revert "[x11] - fix 30bit color depth that makes dock invisible with broken transparency"
This reverts commit 6497da4a4d.
3 years ago
Jonas Latza 6497da4a4d [x11] - fix 30bit color depth that makes dock invisible with broken transparency 3 years ago
Jonas Latza ccbf079113 [x11] - fix 30bit color depth that makes dock invisible with broken transparency 3 years ago
Michail Vourlakos de61ff48ad enable strtus fro all alternative DEs 3 years ago
Michail Vourlakos 4f3fef1fda enable strtus fro all alternative DEs 3 years ago
Michail Vourlakos fb4cfaa399 view:copy properly screen edge margin
Consider -1 as screen edge margin default value
and not zero. This way when duplicating a default
dock AllBorders are not enabled in the new dock.

BUG:446903
FIXED-IN:0.10.5
3 years ago
Michail Vourlakos 87efe01a96 view:copy properly screen edge margin
Consider -1 as screen edge margin default value
and not zero. This way when duplicating a default
dock AllBorders are not enabled in the new dock.

BUG:446903
FIXED-IN:0.10.5
3 years ago
Michail Vourlakos 24fc1e8709 singlelayout:fix borderless activation/deactivation 3 years ago
Michail Vourlakos 5e0feef0f6 do not allow struts when view is offscreen 3 years ago
Michail Vourlakos 4a9bf2cb7a singlelayout:fix borderless activation/deactivation 3 years ago
Michail Vourlakos 4725cd7f2b do not allow struts when view is offscreen 3 years ago
Michail Vourlakos ca83433ce0 multiscreen:disable struts under x11 when overlap
--when multiple screens placement have edges that overlap
with each other, at that edges struts must be disabled
to provide much better windows behavior. For example when
dragging a window between such screens and there is
an AlwaysVisible panel or dock between them.

BUG:445595
FIXED-IN:0.10.5
3 years ago
Michail Vourlakos bce0d74e5f multiple:do not update borderless when no needed
--when activating activities under multiple layouts
the currentActivityChanged() signal is sent from
KActivities before the runningActivitiesChanged() and
as such we can end in considering borderless maximized
window flag before all appropriate layouts have been enabled.
The patch adds a timer and delays borderlessMaximized consideration
when currentActivityChanged signal is received.
3 years ago
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.
3 years ago
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.
3 years ago
Michail Vourlakos 80fa1022a5 multiscreen:disable struts under x11 when overlap
--when multiple screens placement have edges that overlap
with each other, at that edges struts must be disabled
to provide much better windows behavior. For example when
dragging a window between such screens and there is
an AlwaysVisible panel or dock between them.

BUG:445595
FIXED-IN:0.10.5
3 years ago
Michail Vourlakos 6ba99f2724 multiple:do not update borderless when no needed
--when activating activities under multiple layouts
the currentActivityChanged() signal is sent from
KActivities before the runningActivitiesChanged() and
as such we can end in considering borderless maximized
window flag before all appropriate layouts have been enabled.
The patch adds a timer and delays borderlessMaximized consideration
when currentActivityChanged signal is received.
3 years ago
Michail Vourlakos 544b83ebeb 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.
3 years ago
Michail Vourlakos 50177a8406 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.
3 years ago
Michail Vourlakos 6a66dd0000 add missing signal 3 years ago
Michail Vourlakos ee2493ba1a add missing signal 3 years ago
Michail Vourlakos a553f7403f position vertical docks/panels more accurately
--send more availableRect/Region changed signals
for more cases and as such all views update
their positioning properly.
--for example when a horizontal view updates its
offset or max length independent of its visibility mode
the neighbour vertical views need to update
and validate their position.
3 years ago
Michail Vourlakos e04900ecf2 position vertical docks/panels more accurately
--send more availableRect/Region changed signals
for more cases and as such all views update
their positioning properly.
--for example when a horizontal view updates its
offset or max length independent of its visibility mode
the neighbour vertical views need to update
and validate their position.
3 years ago
Michail Vourlakos ea19ff18ad improve responsiveness for DynamicStruts Scenario
--add a timer blocker in order to reduce struts calls
at window manager. This way the entire desktop experience
becomes more stable and fluent.
3 years ago
Michail Vourlakos dd5e0778a7 improve responsiveness for DynamicStruts Scenario
--add a timer blocker in order to reduce struts calls
at window manager. This way the entire desktop experience
becomes more stable and fluent.
3 years ago
Michail Vourlakos 434f3b16e6 cmd:close after disabling autostart 3 years ago
Michail Vourlakos 3b4d7a10f4 cmd:close after disabling autostart 3 years ago
Michail Vourlakos 229f92b2c8 ignore window states when kwin is showing desktop
--this way every dock/panel and also applets that
are using the LastActiveWindow API behave like there
is no shown window
3 years ago
Michail Vourlakos 1ea3130573 ignore window states when kwin is showing desktop
--this way every dock/panel and also applets that
are using the LastActiveWindow API behave like there
is no shown window
3 years ago
Michail Vourlakos 1365b9f24f cmd:print all available templates 3 years ago
Michail Vourlakos 20bad7c191 cmd:print all available templates 3 years ago
Michail Vourlakos e88aaf27a9 cmd:support "add-dock" through command line
-- "add-dock" option now works even when application
is not running and the user is executing it through
command line.

BUG: 446526
FIXED-IN: 0.10.5
3 years ago
Michail Vourlakos ac30a9eb4f cmd:support "add-dock" through command line
-- "add-dock" option now works even when application
is not running and the user is executing it through
command line.

BUG: 446526
FIXED-IN: 0.10.5
3 years ago
l10n daemon script b4da839df4 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"
3 years ago
Michail Vourlakos 3067b6d51c autostart: do not overwrite startup file 3 years ago
Michail Vourlakos 6f162479e0 autostart: do not overwrite startup file 3 years ago
Michail Vourlakos 05e588c333 update .knsrc file
--update knsrc file in new way of handling
online latte indicators and in this way
support at the same time latte indicators
to be installed from Plasma LookNFeel packages.
--because of previous change the new required
kde frameworks version is 5.71
3 years ago
Michail Vourlakos e0bfff4c48 get ready for Plasma LookNFeel packages
--introduce enable/disableAutostart from command line
--accept import-layout from command line when latte is already running
--introduce --suggested-layout-name to be used with
  import-layout in order to provide a preferred layout name
  e.g. latte-dock --import-layout /blah/blah/mywhat.layout.latte
       --suggested-layout-name MyAwesomeLayout
--dbus:introduce "setAutostart" function
--dbus:introduce "importLayoutFile" function

BUG:446249
FIXED-IN:0.10.5
3 years ago
Michail Vourlakos 0e63e7dd0b get ready for Plasma LookNFeel packages
--introduce enable/disableAutostart from command line
--accept import-layout from command line when latte is already running
--introduce --suggested-layout-name to be used with
  import-layout in order to provide a preferred layout name
  e.g. latte-dock --import-layout /blah/blah/mywhat.layout.latte
       --suggested-layout-name MyAwesomeLayout
--dbus:introduce "setAutostart" function
--dbus:introduce "importLayoutFile" function

BUG:446249
FIXED-IN:0.10.5
3 years ago