Commit Graph

523 Commits (68a5223b4746d5b647d807cf7114f8122238ca42)

Author SHA1 Message Date
Johan Smith Agudelo Rodriguez c77ba179fe fix , [Wayland] Dodge modes do not ignore the plasma desktop
Johan Smith Agudelo Rodriguez a32236932a Unnecessarily long enum
Johan Smith Agudelo Rodriguez a2e4397d03 renaming and add noexcept to lambdas
Johan Smith Agudelo Rodriguez 6b52cc894a Include moc file
Johan Smith Agudelo Rodriguez 5667d31385 , AlwaysVisible is functional
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