Commit Graph

818 Commits (04bae04d56f90cd85198270dd38c19b6a208917a)

Author SHA1 Message Date
Michail Vourlakos c0daf7dd68 add debug messages for destructions
Michail Vourlakos bc262d7b00 fix typo and trigger signal
Johan Smith Agudelo Rodriguez 1e8fc4a739 Wait for ContainmentView destruction
Johan Smith Agudelo Rodriguez ae3c856346 keeping compatibility with gcc 4.8
Johan Smith Agudelo Rodriguez c4e01f428f keeping compatibility with gcc 4.8
Johan Smith Agudelo Rodriguez 6892e96769 keeping compatibility with gcc 4.8
Johan Smith Agudelo Rodriguez cb9fadbcbd keeping compatibility with gcc 4.8
Michail Vourlakos 0bd90b8fd2 improve recreate dock implementation
--the new implementation possibly fixes two crashes
that could occur occasionaly. First it is ensured
that the new dock in created after the old one has been
removed. We also use directly the containment instead
of using a reference for it which could create a crash
in some cases. One more fix, setting dock visible to false
had no reason as long as it is going to be deleted either
way.
Michail Vourlakos 69c28eff7a fix #537,reenable show() on dock creation
--this code has been checked to not break both
wayland with plasma 5.10 and x11
Michail Vourlakos a1a1f56749 disable messages from dockview when deleting it
Michail Vourlakos 5e1d851888 delay the recreation of a dock
--when recreating a dock it might be a good idea
to delay a bit in order to give to the config
window the time to delete itself
Michail Vourlakos f6b9e35eb7 fix crash from surfacedestroyed signal
Michail Vourlakos d825e2dda4 add more protections on deleting a dock
--these protections could reduce crashes on
dock deletions
Michail Vourlakos 9e74ce95a2 fix crash when changing to default session
--this was a rare crash when changing to default
session from the alternative one through the context
menu of the Tasks plasmoid there was a crash sometimes
Michail Vourlakos 4b8f3a4b33 fix #559,fix wayland crashesm show/hide configview
Michail Vourlakos 7181341913 fix #517,restore qt5.9 focusOut behavior
Johan Smith Agudelo Rodriguez f5607f87e2 AlwaysVisible Not yet implemented
Johan Smith Agudelo Rodriguez b7f9ad5685 Fix , Dodge all windows and activities
Johan Smith Agudelo Rodriguez de4f05fe9c added include guard
Johan Smith Agudelo Rodriguez a3fb857081 Default behavior, WindowsGoBelow
Johan Smith Agudelo Rodriguez a6bcc53aad Cleaning up a bit before implementing always visible
Johan Smith Agudelo Rodriguez 42885005b2 DodgeAllWindows is functional
Johan Smith Agudelo Rodriguez 35c44a6918 DodgeMaximized is functional
Johan Smith Agudelo Rodriguez 44d85a4905 WARNING: Assertion failed in wayland
Johan Smith Agudelo Rodriguez a41710b155 DodgeActive is functional
Johan Smith Agudelo Rodriguez a02fe1322e waylandinterface implemented
Johan Smith Agudelo Rodriguez 2040ac3063 abstractwindowinterface now is based over an variant class type
Michail Vourlakos 111d59e1c5 fix crash with qt5.9 and wayland
--the show() function of a wayland surface shouldnt
be called before the surface is created. In other case
in qt 5.9 creates a crash
Michail Vourlakos ab045b2e9d fix #537,add copied dock properly in explicit scr
--the copy dock function now works properly in a
multi-screen environment
Michail Vourlakos cf86fddeec fix #537,properly set copy location in multi-scr
Michail Vourlakos f18047a43e fix #556,remove single dock from secondary screen
Michail Vourlakos 480570bab2 fix #555,correct -1px struts calculations
Michail Vourlakos ce7bf51145 disable background effect when having transparency
Michail Vourlakos d544549d2c fix #553,reenable shortcuts for plasma taskmanager
Michail Vourlakos 1554af6f16 pass boundingRect to background Contrast effect
--fix the strange line at the bottom of the dock
when using the Breeze themes
Michail Vourlakos aa9e730422 fix #539,update autostart to new desktop file
Michail Vourlakos 9ccf9978be update docksCount on screen changes
Michail Vourlakos a05785e34b differentiate dockNo perScreen and total
--improve the signaling between the configuration window
and the dockview concerning freeEdges for current screens
and docks count. Now the docks counting is different
between screens and in general
Michail Vourlakos 97b3c4f854 update algorithms for docksCount,freeEdges
--the new algorithms are using QScreen* values
from dockviews instead of the containment screen()
which can not be trusted at the first minutes
of a dock creation
Michail Vourlakos 973cc935fc always set explicit screen on copy method
Johan Smith Agudelo Rodriguez a409d761b7 fix , Dock dodges maximized window on different screen.
Michail Vourlakos 6a480d4311 remove debug message
Michail Vourlakos c8878792bb fix #532,dont allow to add a second Tasks plasmoid
Michail Vourlakos 5eb63a3cbc move new copied dock to explicit screen
--if the new copied dock is on a multi-screen
environment the algorithm adds it in the first
available alternative screen that has the same
edge free
Michail Vourlakos 2078cb1cb2 support copyDock correctly from corona
--the code copies the containment configuration
and also if there is a systray in it
Michail Vourlakos b0ebfdbe4f first approach to copy a dock
Michail Vourlakos c7ad6463d7 always copy current dock launchers to global ones
--when the user activate the syncLaunchers choice the
current dock launchers are copied as global launchers
Michail Vourlakos be83d54339 fix #521,support syncing launchers for all docks
--this commit is the last for this to be supported.
It checks if the globalLauncherList is empty and in
such case when syncing is enabled the current dock
launchers are used
Michail Vourlakos 2ec210bf48 support globalLaunchers for alternative session
Michail Vourlakos cf7b820e2e sync launchers correctly between docks,def session
Michail Vourlakos 7627d30a1c make dock mask null when behaveAsPlasmaPanel
--this way the pop ups from widgets are placed
much better
Michail Vourlakos 3b0f46760a hide tasks numbers on wayland
Michail Vourlakos 8e006b54f6 create dock wayland surface earlier
--doing so fixes a wrong loading issue that
was creating shadows for secondary, third dock
and losing also the focus out event to close
the configuration windows
Michail Vourlakos eb2387c581 fix configuration window positioning and issues
--draw the wayland surfaces for docks and config
views earlier. That way we are certain that the
signals wont mess up the experience. This way
positioning config views and getting the focusOut
event works correctly
--disable in waylandinterface any x specific code.
In order to be ready that class to accept only
wayland centered code
Michail Vourlakos 575ff06a66 support window placement in wayland!!! :)
Michail Vourlakos 048acbfb71 initial commit for waylandinterface
--support wayland painting without init crashes
--the wayland interface is just the xwindow one
masked as an wayland interface
Michail Vourlakos ee6c831b01 fix #510,support correctly global shortcuts
--in X11 now the globalshortcuts class takes into
account if the user presses any modifier in order
to hide the dock
--if the dock is hidden whenever a relevant global
shortcut is triggered the dock is shown and number
indicators for the tasks are shown
Michail Vourlakos 1b025826ee identify if the user released modifiers
--the global shortcut class now identify if the user
has release the shortcuts modifiers and then release
the dock to hide. The code was found first in the
plasma activity switcher
Michail Vourlakos d54fc5b436 add Meta+` shortcut and fix animation behavior
--the isHidden flag shouldnt be set from visibilitymanager,
it is only the qml responsibility
Michail Vourlakos 4de9ea1e7e add globalshortcuts class to improve semantics
--the globalshortcuts class contains all the relevant
code and includes also some functions that were used
from corona to trigger changes into the Latte Tasks
plasmoid
Michail Vourlakos 4381384d20 add deleteLater instead of delete for dockView
Michail Vourlakos 8f9772f46a init qml from kde frameworks
Michail Vourlakos d223e23291 protect from closing on changing sessions
--disable quiting the app when there are no windows
shown. There are cases that between states some
windows may not exist. E.g. when changing sessions
and when activating/deactivating screens
Michail Vourlakos b79b375715 access internal plasma separator from contextmenu
--all the functionality concerning the internal separator
is moved completely into the plasmoid. Now the add/remove
of the internal separator can be found through the Tasks
contextmenu as long as we are in editMode (that is showing
the configuration window)
Michail Vourlakos 50f8091601 fix a bug of not showing external shadows
--this occured with all new backOnlyOnMaximized
windows choice
Michail Vourlakos 49d8b145d2 fixes for showBackOnlyOnMaximized design
--improve applets shadows, now the shadows used
are using the backgroundColor when a transparent
panel is forced
--identify better when shadows should be drawn
Michail Vourlakos 8fe5e7ed00 fix #183,#465, add workaround for grabItem issue
--after Qt 5.8 the way the ungrabMouseItem works
has changed this introduced a bug:
http://bugreports.qt.io/browse/QTBUG-59044
plasma devs found a solution for this, that this
commit provides. The issue occurs when a user
right clicks (creates a context menu) and to
release it, he clicks in alternative area
outside the QuickWindow that created the previous
contextmenu
Michail Vourlakos 9d213a6e83 support clicking event for all fakeIconItem area
Michail Vourlakos 87e1d1cd2f update translation scripts to include metainfo
--update translation scripts to include translatable
metadata for the appstream file. new dependencies for
the scripts are:
 - xmlstarlet
 - itstool

--added also greek translation for the appstream file
Michail Vourlakos cb5e7a8307 fix #447,add an appstream file for Latte
Michail Vourlakos 86855e03cb update metadata desktop file to new guidelines
--update the desktop file naming in order to comply with
new guidelines. Concerning also wayland. The new desktop
file is named to org.kde.latte-dock.desktop
Michail Vourlakos b1c0131600 fix parenthesis typo
--by using clang an issue with a paranthesis
logical statement was discovered. this commit
fixes the logic in that statement
Michail Vourlakos 721001ecc4 fix grow/shrink of behaveAsPlasmaPanel dock behave
Michail Vourlakos d1cb29b716 fix #444,use m_drawShadows for external shadows
Michail Vourlakos 7d3458d45c support behaveAsPlasmaPanel in the dockview
Michail Vourlakos df9edc5754 fix #441,expose add widgets action in context menu
Michail Vourlakos a8c6e2f342 disable debug message for dbus calls
Michail Vourlakos bd9021a412 fix #432,signal update struts on dock screenchange
Johan Smith Agudelo Rodriguez dee8ebcf8b update ever the struts the dock
Michail Vourlakos 92f214d552 support removing internal tasks separator
Michail Vourlakos 6bb14547e5 first implementation for tasks internal separator
Michail Vourlakos 7bbade8b28 fix, adding default layouts in user ones history
Michail Vourlakos 837207d21a remove separator from layouts
--signal to initialize the layouts
combobox when the user does not accept
to load a layout
Johan Smith Agudelo Rodriguez fb3bff6dce fix message box
Michail Vourlakos 7821a52ca5 remove no needed m_ghostWidget
Michail Vourlakos 883750267a add external config file and support presets
--this patch adds an external config file in
order to store the user layouts. Adds also in
the globalSettings the layouts mechanism
--todo: the confirmation dialog is not working
correctly for some reason. It doesnt return
the accept value and on the exec() function
is crashing
Michail Vourlakos 884c12d980 first part of functional layouts
Michail Vourlakos bcdbe40c51 fix #419,autostart option is not default
--the commit the records the user the first time
it changes the autostart option to false. When
this happens then latte is not recreating the
autostart file when starting
Michail Vourlakos 2ef64f4ab3 fix #411,deactivate applets when show previews
Michail Vourlakos df0da77083 fix #420,include spacers in applets geometry calcs
--this way the right click we always take into account
the visual appearance space that latte provides for it
and not the applets internal geometry. So now spacers
also are considered as applet area
Michail Vourlakos 26d5ba4a64 fix #415,disable ByPass flag by default
Michail Vourlakos 738dc50fff Merge branch 'v0.6' into master
Michail Vourlakos 597c457b9b fix #385,load font through QFontDatabase
Michail Vourlakos 4f030849f0 expose through dbus updateBadge for dock items
--apps can sent through dbus and identificator
e.g. "kmail" and a value for unread mails e.g.2
Latte afterwards will update that specific badger
Michail Vourlakos b034e748bb fix #365,support shortcuts to activate tasks
--this patch supports activation through shortcuts
--Meta+number, activates the relevant task, for
groups by default it activates the next available
window in the group
--Meta+Ctrl+number, create a new instance for that task
or launcher
--the user should know that must first enable these
shortcuts at plasma global shortcuts configuration
window
Michail Vourlakos 31ee8ed4db fix #362,"Remove Tasks" option in Tweaks page
--the user no is able to remove the Latte plasmoid
from the Tweaks page
Michail Vourlakos 2a2565eac5 Merge branch 'v0.6' into master
Michail Vourlakos 33a7176b7f remove clearing cache
--this code was suspicious for crashes
Johan Smith Agudelo Rodriguez 64891bcabd delete dockconfigview when the dock is recreated
Johan Smith Agudelo Rodriguez df69c3838b fix possible race condition with qDebug
Johan Smith Agudelo Rodriguez adf82df246 fix , Request for new visibility policy: Windows Go Below
Michail Vourlakos b088015616 use offset when drawing shadows external
Michail Vourlakos 510974c3ff fix #356,expose offset in the dockview
--this patch updates borders correctly based
also on the offset variable
--fixes the calculations for offset and panel
background positioning
Michail Vourlakos 7173d12625 return correct screen geometry from corona
--signal triggering for screenGeometryChanged(id)
can not be added yet as it is not plasma 5.8
compatible
Johan Smith Agudelo Rodriguez 46fe322b35 fix , [Crash] - recreating dock for AlwaysVisible mode
If I overrride the method event I should call to implementation parent, however VisibilityManagerPrivate is triggered from view and VisibilityManagerPriavte is not owner of QEvent
Johan Smith Agudelo Rodriguez 0e15b27596 fix no return in nonvoid function
Johan Smith Agudelo Rodriguez a5eb5c6a47 force visibility in startup if user is configuring
Johan Smith Agudelo Rodriguez 78187b463d restore last beahavior for mode()
Johan Smith Agudelo Rodriguez 39be0782ff fix crash when the user change the session
Johan Smith Agudelo Rodriguez d991380e34 update list of contributors
Johan Smith Agudelo Rodriguez ab3acd35d9 reorder members
Johan Smith Agudelo Rodriguez 21321fb16c fix , edit mode still active when I change the session
Johan Smith Agudelo Rodriguez 8420245102 fix , visibility mode and options
Visibility doesn't load when switch to session
Michail Vourlakos 761f088ea6 fix #331,set onAllDesktops early in the process
--the delay during creating dockview and setting
its dock window flags from visibilitymanager creates
a situation that the window manager temporary creates
a normal window with no special flags for the docks
Michail Vourlakos 2af10514ed fix,restore adding docks in alternative session
Johan Smith Agudelo Rodriguez f04519b967 fix , visibility mode and options
Johan Smith Agudelo Rodriguez b32eb28b88 fix wrong name
Johan Smith Agudelo Rodriguez 78d30ea508 DodgeMaximized receives some of love
DodgeMaximized now also dodges windows with a size greater than or equal to the screen
Johan Smith Agudelo Rodriguez b407efb557 various fixes to WindowInfoWrap
Johan Smith Agudelo Rodriguez e6374da532 added support for windows with shade state and improving WindowInfoWrap
Johan Smith Agudelo Rodriguez 90b7d00d6e fix , Exporting settings - Adding a dot in the filename
Johan Smith Agudelo Rodriguez 76a2065d91 unused dependence
Michail Vourlakos 9529fe8a3c fix adding dock at the bottom when shouldnt
--if the user was adding docks too fast then
some of them were added at the bottom because
that was conflicting with the session
implementation. The fix fixes the situation
and preserves the alternative session functionality
Johan Smith Agudelo Rodriguez f794d5c60c fix , Always visible option does not work for side-set dock on unusual multi screen setup
Michail Vourlakos 9258871e44 update strings
--update greek translation
Michail Vourlakos 307a5e30ea update translation strings
Johan Smith Agudelo Rodriguez 2c472843f7 fix id event
Johan Smith Agudelo Rodriguez acfca18184 update CMakeLists.txt
Johan Smith Agudelo Rodriguez 78a441ed96 notications for the operations of import/export
Johan Smith Agudelo Rodriguez fba31fc9f6 feature , backup and restore
Johan Smith Agudelo Rodriguez 9a4be16fe4 new dependences: KArchive and KNotifications
Johan Smith Agudelo Rodriguez 664bedb839 unused member
Johan Smith Agudelo Rodriguez 80f2199774 fix assertion when id is -1
Michail Vourlakos 241999579b fix #292,workaround for KF5.32 empty mask
--in KF5.32 FrameSvg returns many times a mask
that is an empty QRegion(). this patch makes
sure that at least our rectangular metrics
for masks and effectsarea are used instead.
Of course this means that themes with rounded
corners dont look as they should in !compositing
state
Michail Vourlakos 610e0d6a74 fix #285,expanded to false for applets
--when changing session all the applets from
the previous session should hide their
expanded options
Michail Vourlakos d8410ff235 fix #277,use normal dock window from tweaks
-- with this setting the user can disable
the BypassWindowManagerHint flag for specific
docks
Michail Vourlakos f371ea2a45 fix #275,top dock gains priority for AlwaysVisible
--the other docks must be also AlwaysVisible in order
for the top dock to be above them...
Michail Vourlakos df760a909a move currentSession code in globalSettings
Michail Vourlakos bb7235879b move autostart code in globalSettings
Michail Vourlakos e57d525824 create globalsettings for corona
--first all the code concerning exposeAltSession
is moved in it and in the future also the autostart
and currentSession can follow. This will improve
both dockview and configview
Michail Vourlakos 7b060c22a5 fix #272,expose alternative session in menu
Michail Vourlakos c0eaeca09c add effectArea in DebugWindow
--export correctly the drawEffects variable
Michail Vourlakos a4ee035c93 fix #270,enable blur for panel background
--the user can habe blur and background contrast
effects in all cases for the panel and can
also choose the behavior from Tweaks page
Johan Smith Agudelo Rodriguez ecbd2c99bc fix , Dodging/Layering Issues
Johan Smith Agudelo Rodriguez b6d31316a9 fix move constructor
Johan Smith Agudelo Rodriguez 7657fb036f avoid copies of winfowrap
Michail Vourlakos 3542a3e66c restore availableScreenRect behavior
--when an id is sent that is not contained
at stored screens then the primary screen
geometry is used instead
Michail Vourlakos fa2da5ceb1 fix #257,crash alternative session & !compositing
Johan Smith Agudelo Rodriguez 784710e6d2 include unused
Johan Smith Agudelo Rodriguez 26756143f1 fix assertion if id is -1
Johan Smith Agudelo Rodriguez f6a73d4b69 fix crash deleting visibilityManager
Johan Smith Agudelo Rodriguez 5226b6adce code formatted
Johan Smith Agudelo Rodriguez ac18a88e60 Merged branch master into master
Johan Smith Agudelo Rodriguez 0375e15d0a close config window before close latte
Michail Vourlakos c61c14e9be improve panel painting for disabled compositing
Johan Smith Agudelo Rodriguez af8f844bc6 Only visibilityManager can call mustBeHide/Shown
Johan Smith Agudelo Rodriguez a014eadd40 avoid hide the dock when blockHiding is active
Johan Smith Agudelo Rodriguez 095dc50f1e fix restore connfig for raiseOnDesktop/ActivityChange
Michail Vourlakos 1618a7bd5d temporary raise timer double to hide timer
--it is also bound between values 1800 and 3000
Johan Smith Agudelo Rodriguez a00c584f37 update hidden state when change the activity
Johan Smith Agudelo Rodriguez 2b5974ef43 restoring compatibility for plasma 5.8
Johan Smith Agudelo Rodriguez da800a11a8 fix assertion over debug message
Johan Smith Agudelo Rodriguez fb16fee66b fix , Incorrect/inconsistent behaviour when switching virtual desktops
Johan Smith Agudelo Rodriguez e26f316e67 implicit conversion
Michail Vourlakos 059a778765 fix #235,set icon for docks differently
--for some reason the icon name returned from
the metadata of corona is empty.This gets
the windowIcon set for the application.
Michail Vourlakos 97e57550bf fix #102,show apps menu with Super key
--this needs from the user side to add
in the .config/kwinrc

[ModifierOnlyShortcuts]
Meta=org.kde.lattedock,/Latte,org.kde.LatteDock,activateLauncherMenu
Michail Vourlakos c29cc37cda improve alternative layout appearance
--use a purpleprint fot the editing mode
in order to distinguish it from the default
session
Michail Vourlakos 4ea4a903fd fix #152,support an alternative session
-- On The Road was renamed at Alternative
Session and more improvements to the code
were added
Michail Vourlakos 45e95788ed fix #152,add On The Road session
--the user is able to change into another
session/profile called "On The Road" for
which can set up its docks and applets
differently according to its needs. For
example hide its name, status, place
living etc.
Michail Vourlakos 38f9d0d7e0 fix #224,add option to add spacers applets
Michail Vourlakos 32f2ebc8e0 improve proportion icon size with automatic icon
--when dock is changing screens and dock is using
an automatic calculated icon size based on contents
the automatic icon size must be recalculated for the
new proportion icon size
Michail Vourlakos 70e3c2bb7a expose dockview local geometry to qml
Michail Vourlakos 13325ca022 fix #238,disable/enable raise dock temporary
Michail Vourlakos 1a04ff968d fix #233,support autostart through tweaks page
Michail Vourlakos b8ce37d4c3 fix #198,recreate windows when it is needed
--in order for a dock to be above KeepAbove
windows must contain flag BypassWindowManagerHint.
Unfortunately this flag breaks the experience with
AlwaysVisible state especially the struts and
snapping behavior. This patch recreates a
dockView when a mode is changed and an
update for the flags is needed.
--at the same time move the localGeometry to
dockView in order to trigger properly the
updateAbsGeometry when it is needed, on
window's geometry changes not only when there
is local geometry change
--when a dock is created through corona, the
addDock function reads the mode which is going
to be used and specifys this way the flags that
have to be set during docks creation
Michail Vourlakos 417f0012bd disable debug message for shadows
Michail Vourlakos 329ba8b6ff fix , improve behavior for auto positioning
--support also an edge case where a top and left dock
overlap each other but there is also a free space in them.
This case hasnt been taken into account into the previous
implementation
Michail Vourlakos f3dbd30ec1 signals to update free area
--more specific when the normalThickness or
shadow size are changed
Michail Vourlakos b2b4517ba8 fix crash from quit of configuration window
Michail Vourlakos ead7892551 fix #194,the user can enable a solid background
--this is especial useful for plasma themes with big
transparency. Latte can not support blur and background
contrast kwin effects for panel backgrounds that are drawn
inside its qml side.
Michail Vourlakos 70c83d8b83 support blur/background contrast effects
--support these effects for docks that draw
their shadows externally with the window
server
Michail Vourlakos 2a8bd25e0e compute availableScreenRect only once
--this commit reduces into half the calculations
needed from the vertical docks in order to position
themselves based on horizontal docks. More specific
it makes the QRegion calculations only once for
each dock instead of two times
Michail Vourlakos 0b2bebfbd8 protect dock removal in some cases
--forbid removal of the last running dock with
tasks in it
--forbid removal of the last tasks plasmoid from
running docks
Michail Vourlakos 0f7df07ef1 remove no return error
Michail Vourlakos 6010638094 support overlap dock cases by using free space
--this commit uses free region from corona instead
of free rectangle in order to calculate size and
positioning for the docks. This way is possible to
be positioned more intelligently.
Michail Vourlakos d2e8dd7881 fix #218,reenable garbage collect and trim cache
--the clear component cache was disabled because on
exit it creates crashes when 2 and more docks are
running
Michail Vourlakos c510c74cc5 fix , comment new multi-screen behavior
--refer to last 6-7 commits that contain this new
multi-screen behavior
--the new multi-screen behavior becomes more intelligent.
Latte trys to never let you without a dock containing
tasks plasmoid. It trys to do that intelligently not
depending on how many docks you have registered and if
they are set to explicit or primary ones
Michail Vourlakos fbf8cd3802 disable debug messages
Michail Vourlakos 81dfa36cef set a timer for sync docks screens
--add debuging message
Michail Vourlakos 2e54a90eef fix right edge positioning
--do not load primary screen when the specific
edge is occupied in the primary screen
Michail Vourlakos 5421b976fa remove on primary docks on special cases
--primary docks are removed when their edge is
occupied in the new primary screen and their
current screen is destroyed. Also they are added
when the screen edge is available
Michail Vourlakos 74770a9f37 dock containing tasks is protected in multi-screen
--the last dock containing tasks can not be removed
automatic by Latte based on screens heuristics
--on startup Latte checks if a dock containing tasks
will be loaded based on screens associated. If it
doesnt it loads the first dock containing tasks and
puts it on primary screen and setting also its flag
to onPrimary
--on the configuration window when a dock changes from
explicit to primary screen by latte automation the
record of the previous screen is shown correctly
Michail Vourlakos 07d68dd636 fix typo for LeftEdge
--this was breaking the AlwaysVisible experience
for Left docks
Michail Vourlakos 5962cbc9bb stop timer on exit
Michail Vourlakos 6214318e09 change primary dock screen when relevant edge freed
Michail Vourlakos 38e3446db9 do not allow a primary dock overlap an explicit
Michail Vourlakos 52c8673aad semantic improvements
Michail Vourlakos 2385e593d2 fix screen choosing from configuration window
--the check for the screen if it has the specific
edge free added some small bugs
Michail Vourlakos 18f57f51fd block screen change when edge is occupied
--unfortunately this contains also white spaces
fixes. Sorry for this but by implementing multi-screen
the laptop wasnt correctly configured for
astyle and whitespaces
Michail Vourlakos 0bef60838a disable flag ByPassWindowManagerHint
Michail Vourlakos de30d48f72 remove configuration window on hiding
Michail Vourlakos 5f5cfbad35 fix #208,crash on exit through quit button
Michail Vourlakos 17d2626443 fix whitespaces
Johan Smith Agudelo Rodriguez d2b5487abd fix , flag ByPassWindowManagerHint
Michail Vourlakos c72e62a5d0 fix #12,multi-screen support
--this commit is just a small clean up that
acts as a reference for all the previous
10-12 commits that provide the new anticipated
multi-screen support. With multi-screen support
the user can set for its docks either to be always
on the primary screen or an explicit one... The
docks are loaded and removed automatically on
screen changes
Johan Smith Agudelo Rodriguez 2f419e6eab fix restore config
Michail Vourlakos b88170caaa support always on primary case
-- :) fantastic behavior from Latte...
Michail Vourlakos 3b3c6a0f47 drop dock primary screen behavior from plasma
--this cleans the plasma behavior for the
primary screen that was creating a mess.
The dock "on primary" state can now be implemented
through Latte without breaking things
Michail Vourlakos 03fc80439a fixes for plasma behavior and screens ids
--there are cases that screens instead of returning
correct screen names the return names like
"0:0". These are totally ignored in order to not
break the screen ids database
Michail Vourlakos 14b72f49e6 restore add/remove dock buttons
--also use a single timer for screen sync
for dockview
Michail Vourlakos 8aa5021645 update screens in config window in each show event
Michail Vourlakos f791f0b209 fix config window positioning in multi-screens
Michail Vourlakos f46848e039 add screen information into debug window
Michail Vourlakos 9259a28cde improvements to add/remove docks on screen demand
Michail Vourlakos 8a7bb2942c add basic multi screen support
--the user can change the dock's screen
from the configuration window... Optimizations
must be made of course in the future...
Michail Vourlakos c468353407 fix , update screen in screengeometry changes
--when the screengeometry was called the dockview screen
hadnt changed to primaryscreen, that had as a
consequence the dock to go to the primary screen
but because that was out of the boundaries of
its own screen to return again to first place
Michail Vourlakos d4da25e2e6 add a screen pool for multi-screens
Johan Smith Agudelo Rodriguez 0e728b558d punctuation marks.
Johan Smith Agudelo Rodriguez 1ba8a62e07 remove property debugFlags of DockView
Johan Smith Agudelo Rodriguez 445cf91791 unused function
Johan Smith Agudelo Rodriguez fbf5808667 update commandline options
Johan Smith Agudelo Rodriguez 2b4bbd20f2 fix memory leak
Johan Smith Agudelo Rodriguez 75d4b71216 , AbstractWindowInterface is now a shared resource
Michail Vourlakos 0a50e76bf6 disable debug messages
Michail Vourlakos a38dd1d91e disable debug message
Michail Vourlakos 4c0a97348c disable debug messages, fix masking positioning
Michail Vourlakos b7c42a5365 mouse events debug messages
Michail Vourlakos 55f88360c2 Revert "block dock hiding when alternatives are shown"
This reverts commit ddd1a57875.
Michail Vourlakos a430d85119 block dock hiding when alternatives are shown
Michail Vourlakos b4885ceee4 remove no needed app/latte-dock.desktop
Johan Smith Agudelo Rodriguez bb407d94c1 various fixes, and added metainfo to latte-dock.desktop.template
Michail Vourlakos ab1cc5f87c fix #171,use lock file instead of QSharedMemory
-- this way the lock is per user and crashing Latte
allows us to rerun it properly
Michail Vourlakos f9797aa06c fix , disable hidpi scaling
--fix for hidpi screens based on plasma
official code
Michail Vourlakos 03fb457af6 fix #171,allow only one instance for Latte app
Michail Vourlakos 81b36dc91e improve when dock can hide itself
--when an applet becomes activated then the dock
shouldnt hide itself until the applet to become
inactive
Johan Smith Agudelo Rodriguez 1677e2a041 Improving readability of CMakeLists
Johan Smith Agudelo Rodriguez 0d325f827f fix , Support Alternatives from the Context Menu
Johan Smith Agudelo Rodriguez dd12817a24 added alternativeshelper class from plasma
Johan Smith Agudelo Rodriguez c17732cf17 fix , Dodge Active is broken for windows on all desktops
Michail Vourlakos 827bde86d4 fix , remove QueuedConnection
Michail Vourlakos 65a2367fd6 fix , endless showing loop at startup
--in a multi-screen environment that
 primary screen is not set to 0 it was
 created an endless showing loop at
 startup (catch-up race) between
 screen:0 and primaryScreen
Michail Vourlakos 4579fcff46 protect crashes from containment() in dockview
Johan Smith Agudelo Rodriguez ec3721a591 fix , Un-hide Latte at desktop and activity changes
Michail Vourlakos 3ab252339c fix #116,add protections in multi-screen
Johan Smith Agudelo Rodriguez 988ffdae35 fix position when external shadows is enable
Johan Smith Agudelo Rodriguez 0592ba3aaf avoid overlaping
Johan Smith Agudelo Rodriguez 8c820073f0 fix narrow casts
Johan Smith Agudelo Rodriguez b8cbf694f7 fix , dodge active window when switching desktop
Johan Smith Agudelo Rodriguez 8ac85c53a6 fix , dodge decoration
Johan Smith Agudelo Rodriguez a13957e59b fix , load visibility with a timer in startup
Johan Smith Agudelo Rodriguez 5b1d5b79bd fix , clean autoHidden
Michail Vourlakos 0476a85aab fix #155,fix availableScreenRect of latte corona
--this is based on the plasma implementation
Michail Vourlakos 46087059ac fix #42,latte icon shown correctly in ksysguard
--shell metadata file was missing the icon, this
fixes also the configuration window icon
Michail Vourlakos b717a714f5 fix #154,crash on screenGeometry change
--strange thing is that the code producing
this was very weird. From the user's backtrace
syntax: if(!screen())
and more specific at updateEnabledBorders() of
dockview was creating the crash.
replacing it with syntax:
if (!this->screen())
fixes the issue
Michail Vourlakos 6dd4aa9982 fix, publish correct borders
--this fix publish the correct panel borders
that should be drawn according to alignment
and location. Improves also PanelBox heurestics
and should be also any shadows issues
Johan Smith Agudelo Rodriguez 073c3cae3f update requirements for devel packages
Johan Smith Agudelo Rodriguez 500e9d7110 added website to about dialog
Johan Smith Agudelo Rodriguez dbb22f0038 initWindow() has not been defined
Johan Smith Agudelo Rodriguez 57797c51f5 add shadows to config window
Johan Smith Agudelo Rodriguez 6e37702a95 cleaning CMakeLists.txt
Michail Vourlakos 09629b774b support drawing panel shadows outside dock window
--this is set by default only in case of Always Visible,
zoom factor 1.0, Justify alignment and maximum panel
thickness
Michail Vourlakos f9a2226457 prevent dockview crashes because screen in not set
Michail Vourlakos 41e79cf188 support debug flags from the runtime
--the user is able to set some additional
debug flags in --debug state by just executing
the application.

supported flags:
--with-window: provides a separate window
to show metrics from each separate dock
--graphics: visual indicator for the various
elements
--mask: additional debug messages concerning
mask calculations
Johan Smith Agudelo Rodriguez caa8d6e6dc Indent too long lines
Johan Smith Agudelo Rodriguez 9b30106101 Update credits
Johan Smith Agudelo Rodriguez 9a3c15d0b5 sync po files
Johan Smith Agudelo Rodriguez c6cdba4adc italian translation moved to po/
JenaPlinsky 70d791fcc9 Create it.po
Michail Vourlakos c8c14cbe80 more improvements for calculations
--various improvements for calculations for panel size,
shadows calculations, configuration window showing
metrics
Michail Vourlakos dbe18e2ed6 update app description in about dialog
Michail Vourlakos 84de2ad1e4 remove maxLength from dockview
Johan Smith Agudelo Rodriguez fedb872e4a Merge branch 'master' into about-dialog
Johan Smith Agudelo Rodriguez 2e8fe37fd2 , added about dialog
Michail Vourlakos a9e23e24dc update translations strings
Michail Vourlakos 9c3e8f891c fix occusional crash from right click triggering
Michail Vourlakos 90b95f65ac fix #94,--debug must be set for debugging messages
Michail Vourlakos ca97e6d486 disable more debug messages
Michail Vourlakos 72baaa8809 fix #93,masking updated correctly on config win
--this can be tested by opening the configuration window
through the tasks. Even though a task is zoomed when
triggering the configuration window the animations
do not break afterwards
Michail Vourlakos 5a390e95b3 fix , fix right click for systray
Michail Vourlakos 254ad13536 small fixes with new right click menu
--this fixes right click in zoom factor area
for latte plasmoid and right click in containment
areas that dont have an applet
Michail Vourlakos 585cb154b7 improve systray and make it part latte experience
--improve right click behavior for systray and make it
behave according to latte experience
Michail Vourlakos 03eb69a618 simplify appletItems discovery for right click
--the containment becomes independent from dockView.
The appletItems which are needed in order to show
the context menu correctly are discovered from dockView
without any need of functionality from containment
Johan Smith Agudelo Rodriguez 8c1ac52ac1 removed NET::WM2WindowClass property
Johan Smith Agudelo Rodriguez 91f9ca280d fix , Dock do not dodge Spotify
Michail Vourlakos 13fa35c99a fix , improve loadLayout on startup
--loadLayout is called only once and when
the activities service is in ready state
Michail Vourlakos fd40ef7f4d update locations when dock changes location
--updates the available locations in the configuration
window when any dock updates its location
Michail Vourlakos 2c0e536cf9 remove old applets config from active containments
Michail Vourlakos 2d2c7875e7 fix some qml warnings on dock removal
Johan Smith Agudelo Rodriguez 72bd7a0af8 fix , removing Dock crashes Latte
Johan Smith Agudelo Rodriguez 05163c2911 code cleaned
Johan Smith Agudelo Rodriguez 9cb5b44b93 master merged on audoban2
Michail Vourlakos 5b1d152dc9 fix #84,closing Latte cleans config file
--when Latte is closing removes all entries for
containments that are obsolete
Johan Smith Agudelo Rodriguez 3a627a8d65 Free resources for dockview
Johan Smith Agudelo Rodriguez 17b48b6eea rename Latte's configuration files
Michail Vourlakos af74c952ef fix two serious crashes from config window
--first is inside the freeEdges function call
on destruction
--the second is also in the app's destruction
because of the call to a destructed containment
through m_containment. This variable was deleted
Johan Smith Agudelo Rodriguez 6da8142351 disconnect all the signals in the destruction
Johan Smith Agudelo Rodriguez c42250d9bb avoid white spaces with astyle
Johan Smith Agudelo Rodriguez 2307efd4c4 clean up code
Michail Vourlakos 0f658a1e54 fix , add waiting dock views
--add m_waitingDockViews which are waiting
for removal confirmation. Using destroyedChanged
signal from containments in order to support
the behavior
--improve freeEdges code based on
the docksCount implementation
Michail Vourlakos 66ce546141 update greek translation
--removed also a no needed string
Michail Vourlakos d641ec0b33 fix #54,dock is shown when applet needs attention
Johan Smith Agudelo Rodriguez e3aac94824 permit always update dockRect variable
Johan Smith Agudelo Rodriguez 401e85ad8e dont update struts when the user is configuring
Johan Smith Agudelo Rodriguez 4ea00588e9 timer unnecessary
Michail Vourlakos abf84a1d1e restore previous behavior
--fixed local dock geometry updating in editing
mode. Now in runtime the struts are updating
correctly
Michail Vourlakos 3f2847b467 disable update struts on userConfiguring state
Michail Vourlakos 25f901cdee fix two crashes
-- one private slot was missing, right clicking
was creating a crash because of this sometimes
-- removing a second or third created dock was
causing a crash because visibilitymanager wasnt
removed in sync and correctly from the dockview
Michail Vourlakos a74fe28c18 consider shadow size for currentThickness
--this solves an issue concerning configuration window
placement when changing locations
Johan Smith Agudelo Rodriguez f844f91ac2 unnecessary sync
Johan Smith Agudelo Rodriguez 5d59cfb01c better debug info
Johan Smith Agudelo Rodriguez 44bdd5a90b code formatted
Johan Smith Agudelo Rodriguez dd7009e96e reduced number of calls to syncGeometry
Johan Smith Agudelo Rodriguez 60f6f8d942 update dockconfig view
Johan Smith Agudelo Rodriguez 03eeb6074d update geometry just when is necessary
Johan Smith Agudelo Rodriguez 2cb031ee50 improve auto sync geometry, and cleaning code unused
Johan Smith Agudelo Rodriguez 417f6f9e38 reorder members
Johan Smith Agudelo Rodriguez 77917920fd set on all activities
Michail Vourlakos c831f3f8c6 fix , set dock's geometry correctly
Michail Vourlakos 456612d7fd set show/hide timers default values
Michail Vourlakos 7896919736 move iconitem from app to plugin
Michail Vourlakos dd091b6569 restore layouts in main config window
--the latest fix for the configuration window placement
does not need to drop the clean implementation with
layouts
Michail Vourlakos 1ffa4e9ab4 fix correct placement of config window in startup
Michail Vourlakos 52d64b561c restore the init functionality
Michail Vourlakos fba9d62ee2 fix , update config window location
--fix also some crashes concerning the existence
of multiple config windows from different docks.
Michail Vourlakos 8fa6225cdb fix , probably fixed
--opening configuration window all the time and
I havent found a case that this is not shown yet
Johan Smith Agudelo Rodriguez 34772cdc21 resync geometry for avoids that config ui covers the dock
Johan Smith Agudelo Rodriguez 134a3e7015 fixed missing window icon
Michail Vourlakos df084b1783 fix #13,corona should load layout a bit later
--corona should load its layout after the activities
consumer is ready. Otherwise all the functionality
concerning activities may not work correctly on its
first initialization
Michail Vourlakos a857b18271 remove no needed functionality from dockview
Michail Vourlakos e8fec7eea4 remove unneeded code
Michail Vourlakos 9ea5959cb6 fix , a crash when a dock was removed
--removing connections on xwindowinterface destructor
--removing connections on dockview destructor
--remove xwindowinterface that was created from
visibilitymanager in its destructor
Michail Vourlakos 377a3d4420 remove visibilitymanager on dockview destruction
Michail Vourlakos cb0ed85dc2 improve configuration window
--expose quit action
--hide remove action when only one dock exists
--udpate edges when a new dock is added
--connect the destroyed event of containment in order
to remove also the dockview
--remove correctly the dockviews in the application
exit
Michail Vourlakos ba4837d47b restore compatibility with KF 5.26
Michail Vourlakos daa6e1b7bc add a separator for latte config entry
Michail Vourlakos f4201a8a71 improve menu behavior and appearance
Michail Vourlakos 83e0a7564a fix
--override default contextmenu behavior
--clean up old code
Michail Vourlakos 9259ee3bc3 remove no needed containment actions
Johan Smith Agudelo Rodriguez 802beedd39 Less debug information.
Johan Smith Agudelo Rodriguez e9436d568c Dock shouldnt hide on userConfiguring state
Johan Smith Agudelo Rodriguez d5f3553ffc Info debugging generates useless backtrace
Michail Vourlakos 63739ac77b support sticker for configuration window
Johan Smith Agudelo Rodriguez cec5d62702 Drag events managed from VisibilityManager
Johan Smith Agudelo Rodriguez 47c715f6a7 dons't build, pluginmetadata is deprecated
Johan Smith Agudelo Rodriguez d6f9450d87 Fixed show and hide timers.
Michail Vourlakos 9878ee65d1 fix some hiding issues on userConfiguring state
Johan Smith Agudelo Rodriguez 45c9710ed0 Respect to the original authors
Johan Smith Agudelo Rodriguez fe146aaa90 Missing file licences
Michail Vourlakos f90c4deff2 hide Tasks config if plasmoid not present
Michail Vourlakos 4152535e51 expose dock settings into tasks plasmoid
Johan Smith Agudelo Rodriguez 8e4b4f36bc added blockHiding property on visibilitymanager
Johan Smith Agudelo Rodriguez a4699e9230 Fixed initialization and improved all modes
Johan Smith Agudelo Rodriguez f49ab516a4 project has been cleaned
Johan Smith Agudelo Rodriguez 84eacf3cbf code formatted
Johan Smith Agudelo Rodriguez 51c26126a3 update CMakeLists and removed unused dependences
Johan Smith Agudelo Rodriguez 2f2a3f7a22 more abstraction
Johan Smith Agudelo Rodriguez 4adbfc41f9 nowdockconfigview removed
Johan Smith Agudelo Rodriguez 6cc1cca371 various fixes and more cleaning
Johan Smith Agudelo Rodriguez 290c5d43d1 dockpackage renamed
Johan Smith Agudelo Rodriguez 7fc5aa55f6 files and class renamed
Johan Smith Agudelo Rodriguez 146f9e3a14 file mode +x
Johan Smith Agudelo Rodriguez d3cec8bd26 fixed wrong condition.
Johan Smith Agudelo Rodriguez da6c9c5f46 notify timer changes
Johan Smith Agudelo Rodriguez 8f4f3fe60e Merge branch 'master'
Conflicts:
	app/nowdockcorona.cpp
	app/visibilitymanager.cpp
	app/visibilitymanager.h
	app/xwindowinterface.cpp
Johan Smith Agudelo Rodriguez 4f16376338 Fixed mode on startup
Michail Vourlakos 4bc7a45474 restore previous functionality for QEvent:Leave
Michail Vourlakos 7af3b6e620 support DodgeActive
--add localDockGeometry to be used for the
intersect situation
Michail Vourlakos 9cd16c5cda fix , systemtray working ok
--calculate freeedges even when screen=-1 is passed,
such a case is on the creation of a containment
Michail Vourlakos 02a0aa8de4 disable hiding on !immutable
Michail Vourlakos df08a92d0e support new visibilitymanager in ui
-- small fixes in visibilitymanager and removed
some whitespaces also
Johan Smith Agudelo Rodriguez 4c10939484 if mode is DodgeMaximized, only dodge active window
Johan Smith Agudelo Rodriguez 530c489ef9 code formatted
Johan Smith Agudelo Rodriguez 335e473a64 class inserts into namespace Latte
Johan Smith Agudelo Rodriguez 35aafde5b0 fixed signatures
Johan Smith Agudelo Rodriguez 948b03a357 Visibility manager has been implemented, but need integration on qml
Johan Smith Agudelo Rodriguez 9ad00b2354 the inline function cause build errors, removed for now
Johan Smith Agudelo Rodriguez aa10cda7f7 include guard
Johan Smith Agudelo Rodriguez 1d5dcbf014 static method for get a instance of abstractwindowinterface
NOTE: WaylandWindowInterface has not been implemented
Johan Smith Agudelo Rodriguez 45347200cd update signatures on abstractwindowinterface.h
Johan Smith Agudelo Rodriguez c2e7e3db9b FakeTarget moved to app/
Johan Smith Agudelo Rodriguez b65a97d92a formatted
Johan Smith Agudelo Rodriguez 206f115e01 const correctness and namespace
Johan Smith Agudelo Rodriguez b5a5d9759f added class visibilitymanagerprivate to implement visibility
Johan Smith Agudelo Rodriguez 9debe8dbb3 added methods to reserve screen space
Johan Smith Agudelo Rodriguez 2c6ab968bd corona/ has been renamed to app/
Johan Smith Agudelo Rodriguez 333f1e506c some methods were missing.
Johan Smith Agudelo Rodriguez 1b468a02e1 XWindowInterface has been implemented
Johan Smith Agudelo Rodriguez ed9870b624 The new interface as we agreed.
also VisibilityManager will perform the logic of the visibility as it corresponds through a class d-pointer using AbstractWindowInterface.
Johan Smith Agudelo Rodriguez 08bfa47709 abstractinterface was renamed to abstractwindowinterface and cleaned
AbstractWindowInterface will hide windows details.
Johan Smith Agudelo Rodriguez 9aa43f14b0 fixed, screenForContainment
Johan Smith Agudelo Rodriguez d7ca91728a New tentative interface
Johan Smith Agudelo Rodriguez 0abb5ab83e if mode is DodgeMaximized, only dodge active window
Johan Smith Agudelo Rodriguez c022ed38c4 code formatted
Johan Smith Agudelo Rodriguez 39bd509c51 class inserts into namespace Latte
Johan Smith Agudelo Rodriguez a6fc7667aa fixed signatures
Johan Smith Agudelo Rodriguez 0735a73cac Visibility manager has been implemented, but need integration on qml
Johan Smith Agudelo Rodriguez 40888f827c the inline function cause build errors, removed for now
Johan Smith Agudelo Rodriguez c6f7f68bd0 include guard
Johan Smith Agudelo Rodriguez 3fb63d4d78 static method for get a instance of abstractwindowinterface
NOTE: WaylandWindowInterface has not been implemented
Johan Smith Agudelo Rodriguez 454ebfff50 update signatures on abstractwindowinterface.h
Johan Smith Agudelo Rodriguez 6291e55260 FakeTarget moved to app/
Michail Vourlakos 8cef095116 fix , edge priority bottom,left,top,right
-- disable add dock if all edges are reserved
in the current screen
Michail Vourlakos 94f0584436 lock edges that are reserved
--show only one configuration window every time
in case there are more docks set
Michail Vourlakos 066977d550 Merge branch 'master' of https://github.com/psifidotos/Latte-Dock into master2
Michail Vourlakos 973c6c2536 restore Double Layout functionality
Johan Smith Agudelo Rodriguez 552e35963f formatted
Johan Smith Agudelo Rodriguez 1fe1049332 const correctness and namespace
Johan Smith Agudelo Rodriguez 84a5b5473a added class visibilitymanagerprivate to implement visibility
Johan Smith Agudelo Rodriguez ca9eb7d8fa removed old abstractinterface
Johan Smith Agudelo Rodriguez e161dc2d37 added methods to reserve screen space
Johan Smith Agudelo Rodriguez a29378943b corona/ has been renamed to app/
Johan Smith Agudelo Rodriguez 0eeb93e6c9 Fixed broken build.
Michail Vourlakos 7efa867126 fix , block dockview creation for systray
Michail Vourlakos 6b1ff92463 improve settings window behavior onlostfocus
-- and fix a crash from immutabilityChanged from
settings window
Michail Vourlakos dce9e76049 systemtray issue first approach
Michail Vourlakos 2a9ee6d2d9 renamed nowdock plasmoid to latte one
Michail Vourlakos 01b14c01e8 Merge branch 'scratch'
Michail Vourlakos a357d05392 moved corona to app directory