Commit Graph

100 Commits (21eb071851b35e6ffb3042b3ede0cbbcc38fc607)

Author SHA1 Message Date
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 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 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 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 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 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 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 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 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 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
Michail Vourlakos b88170caaa support always on primary case
-- :) fantastic behavior from Latte...
Michail Vourlakos 14b72f49e6 restore add/remove dock buttons
--also use a single timer for screen sync
for dockview
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
Johan Smith Agudelo Rodriguez 1ba8a62e07 remove property debugFlags of DockView
Johan Smith Agudelo Rodriguez fbf5808667 update commandline options
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 81b36dc91e improve when dock can hide itself
--when an applet becomes activated then the dock
shouldnt hide itself until the applet to become
inactive
Michail Vourlakos 827bde86d4 fix , remove QueuedConnection
Michail Vourlakos 4579fcff46 protect crashes from containment() in dockview
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
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