Commit Graph

59 Commits (6070d2b0f01aff4d94b624b05a1f0c5fbdefdc00)

Author SHA1 Message Date
Michail Vourlakos b2f1f98b57 remove deprecated code from old multi-screens arch
--Latte will no longer try to be too smart concerning
the multi-screens behavior. At the old implementation
Latte wouldnt let you reach at a state that you dont
have a tasks plasmoid available. Such a case could be
when the user moves a dock from primary to explicit
screen and disables the screen afterwards. That case
should be thought better in the future in order to be
identified and handled properly without making the
code unnecessary complex. Such an example could be by
identifing the case and asking the user for actions.
Michail Vourlakos bb8835f156 identify maximized window screen differently
--there are cases that the window geometry isnt consistent
for maximized windows. That was breaking the previous
implementation of dynamic background because of:
https://bugs.kde.org/show_bug.cgi?id=397700
the new implementation is using only the window center in
order to identify the screen in which a window is
present

BUG: 397344
FIXED-IN: 0.8.1
Michail Vourlakos 78b41eff91 use current transparency to update effects
--the background contrast effect should be applied
only when the dock/panel is visually solid otherwise
it may block the transparency settings

BUG: 397431
FIXED-IN: v0.8.1
Michail Vourlakos 7bceb7e4b7 Identify snapped windows independent of screen
--the old code wasnt screen independent for identifying
windows that touch the panel edge. There were cases
that when a window was touching a panel edge at
screen A to faulty identify that is touching
screen B also. The code now is more robust and it
can also handle cases that window is touching two or
more different panels in different screens.

BUG: 397076
FIXED-IN: 0.8.1
Michail Vourlakos 03b469eff5 IMPORTANT: Update multi-screen codepage!!!
--after v0.8 release many issues with multi-architecture
were identified. An alternative approach was needed
in order for Latte to get a more user-predictable state.
In new approach:
--onPrimary docks have always higher value
and should be shown, this is also like how plasma is
moving its panels.
--explicit docks are removed if their edge in their screen
is occupied by an onPrimary dock
--be stupid smart in order to check if docks contain
tasks and try to not remove them based on screen-changes
is removed! Over-Complicated code that doesnt help
in maintainability...

one of the issues was reported at following bug report...

BUG: 396806
Michail Vourlakos 393342ad9e revert one fix for blur effect
--limiting the qregion returned for blur effect
it created in some cases broken visuals concerning
the bluring of the background
Michail Vourlakos 7a9c0504db improve effects area calculations
--blur effect is costly this way we limit effects area
to respect the windows boundaries and at cases that
the QRegion returns too main QRects to just use the main
effects rectangle
--this fix possibly fixes the crash related to Blur effect and
moving the dock to another edge bug:396040
Michail Vourlakos 6efeaa7d51 update code to new astyle conditions
Michail Vourlakos cfce12d6ed fix #1005,add timer to fix freeze
--make less intrusive the repositioning
of the screen edge ghost windows
Michail Vourlakos be845b5ba2 missing return statement
Michail Vourlakos eb7b0ec497 fix a crash from ghostscreenedges
--when recreating the dock/panel because of
visibility mode changes sometimes there was
a crash because of the timers for the workaround
of isVisible() changes
Michail Vourlakos a87d094986 fix crash from ghostedge in X11
--when unloading a layout under X11
when MultipleLayouts are used sometimes
a crash was occuring.
Michail Vourlakos 745b9ea075 dont apply too early blur effect
dont delay the corona destruction under wayland
because that creates a crash with kwin effects

BUG: 392890
Michail Vourlakos 94fa4177ac set hidden ghost window mask to minimum
Michail Vourlakos 5e4134b1ee improve visibility should consider per screen
--maximized windows shouldnt provide solidness
at docks using improve visibility in different
screens.
Michail Vourlakos f287d37ac0 add a dock geometry validator
-- under X11 it was identified that windows
many times especially under screen changes
dont end up at the correct position and size.
This vailidator(timer) will enforce repositionings
and resizes every 500ms if the window hasnt end up
to correct values and until this is achieved.
Michail Vourlakos ba2acef2c1 fix warning
Michail Vourlakos 0712d62a3b dont lose focus from dock tooltips
--because focus is lost from dock tooltips the
dock settings window was closing. We take into
account that case in order to not close the
dock settings window in such case
Michail Vourlakos bd211c9d29 disable blur under wayland
Michail Vourlakos 83bad3374e expose screen Tracker interval value
--different hardware can have different delays
in order to inform for screen changes. The tracker
(an internal timer that is) informs Latte after
a specific interval in order to track these changes
and respond accordingly.
Michail Vourlakos 6163cecb6b [wayland] add a protection for updateEffects
--Blur effect under Plasma 5.12(wayland) creates
many crashes. As it appears for 5.13 this has been
greatly improved.
Michail Vourlakos fb8063cdee fix #946,improve kwin screen edges under X11
--make sure that the kwin ghost window ends at
the correct geometry at all cases
Michail Vourlakos 9e8406c419 reenable blur for wayland
--as it appears the crash and the support
for blur has been fixed for Plasma 5.13
Michail Vourlakos da5cb9c61f fix #946,improve kwin edges support
--make the behaviour more robust and be more
precise at geometries used at all times
Michail Vourlakos 3ea40954fc fix #942,show dock when dragging at kwin edge
-- enable showing the dock if the user drags something
on it and the dock is hidden at a kwin edge
Michail Vourlakos 1f0acbc3b5 Support KWin Edges mechanism
--by default now Latte supports the KWin Edges mechanism,
this way the following issues are fixed:
fix , fix , fix , fix , fix 
--improve dock behavior when the user user touch
gestures
--fix , support KWin bright placeholders
--this behavior can be disabled if the user prefers
the old one from the Tweaks page
--in !compositing no more is shown a 1px line at
the screen edge when the dock is hidden
--support KWin Edges in Multiple Layouts state under
X11
Michail Vourlakos a93ecfe65d change default show delay to 0ms
--the reason is the plasma default behavior
for touch gestures under X11. Many users
report that Latte isnt working correctly
with left edges. Latte isnt responsible for
this but the plasma touch gestures implementation.
By changing the default for our Show Timer to
0ms then the situation is improved a bit more
for such cases and the user of course can
always alter its value from dock settings
window.

-https://github.com/psifidotos/Latte-Dock/wiki/F.A.Q.#q-my-left-dock-behaves-strangely-from-plasma-510-and-beyond-can-i-fix-this

-https://bugs.kde.org/show_bug.cgi?id=392464
-https://bugs.kde.org/show_bug.cgi?id=382219
Michail Vourlakos d1320f692e wayland,hide dock config wins from taskbar
Michail Vourlakos 616b8139ff use recreateDock directly
--recreateDock is used when the visibility mode
changes and as such the window must be recreated
in order to work correctly. Any remaining code
found for such function in corona and layoutManager
is removed.
Michail Vourlakos eb3feb4a4e fix #934,change quit button to close button
--exhausted to discuss this so often so in the
end it may be my perspective wrong. Quit button
in dock settings window changed to Close button
and the Quit option moved to menu bar of the
general Latte settings window with shortcut
Ctrl+Q
Michail Vourlakos 11cccbf40d fix #907,always check overlap for dodgeMaximize
--the check in order to identify if a maximized window
overlaps with the dock wasnt always been executed. That
was the case for multi-screens environments.
Scarlett Clark 71d339516e Minor spelling corrections.
Closes: https://phabricator.kde.org/D11101
Michail Vourlakos b8321fb829 fix #905,smart colorize transparent panels
--enhanche the dynamic background feature and
in ordre to improve contrast with the underlying
background Latte now calculates the luminosity of the area
underneath the panel and based on that chooses the
best color to create contrast. The colors are chosen
only between textColor and backgroundColor.
Michail Vourlakos 5db8c37cbf fix #900,dont hide panel in editMode
--when the context menu is destroyed it frees
the visibility blocker for hiding. This is true
in normal state but in editing mode it shouldnt
happen.
Michail Vourlakos de4cddb5d3 update internal splitter icon to use plasma theme
Michail Vourlakos 6bb7f0ab51 improve context menus for wayland
Michail Vourlakos cb88d134f4 fix #889,dont crash on applcation exit
--the wayland interface couldnt orchestrate correctly
with the corona and the application exit. The whole
architecture changed and the window manager now is
provided by corona and corona is also responsible to
keep only one instance of it and close on exit.
Michail Vourlakos b4b68e5bb1 add wayland debug messages
Michail Vourlakos 0a1488b643 update wayland code based on plasma
Michail Vourlakos d6740bb378 fixes for wayland
Michail Vourlakos 7050d7ba1f fix use svg for settings Latte trademark
--remove the Plasma Label that was used to set
the Latte trademark based on Tangerine font that
was distributed from app source code
--remove the Tangarine font from source code
Michail Vourlakos 1ff161a030 updates and improvements at applets glob.shortcuts
Michail Vourlakos 1e57260c5f asynchronous calls for quiting application
--this gives the time for docks to close and also
to not create any rare crashes because qml settings
window calls this code path from its Quit button.
Michail Vourlakos d2495b3350 apply layout's activities on config showing
Michail Vourlakos 1a3cb13094 use same font metrics for qml and c++ code
Michail Vourlakos f9b475cc8a dont handle latte containment as appler for menu
Michail Vourlakos c2e72b7f67 do not update struts during location change
Michail Vourlakos 61c28978e6 publish internal ediMode to dock
--use internal edit mode to wm's visibilitymanager.
More specific use it in AlwaysVisible mode in order
to not publish the new struts because the animations
have ended.
Michail Vourlakos 73229c5fbc give some more space in editingVisual for ruler
Michail Vourlakos f20da16854 update license in new files