Commit Graph

377 Commits (2aa010b5f38a251dcad1e0610674f452863d495f)

Author SHA1 Message Date
Michail Vourlakos e368d03222 fix crash from configwindow when switching layouts 5 years ago
Michail Vourlakos 0d0b0413bb activate appletquickitem if it is not expandable
--when the user requests to activate an applet that
it is not expandable such as DashBoard then only
thing that it is possible, it is to forcefully
activate it

BUG:420275
5 years ago
Michail Vourlakos e525596a04 refactor:split Latte Types to Tasks and Types
--move also irrelevant types to their owner. For
example LayoutsPage is moved to Settings::Dialog
namespace
5 years ago
Michail Vourlakos 5073939335 REFACTOR:split up and refactor liblatte2 and types
--use a more logical organization for types. LibLatte2
is split to become LatteCore library and Latte types
are now moved to application level. The Latte Types will
be split even more... Tasks-Only related types will
become Latte.Tasks types

BUG:420210
5 years ago
Michail Vourlakos 5fdcef81af TASKS:Migrate to multiple Tasks architecture
--First steps in order to support mulitple Tasks
applets in the same dock and panel.
--Step1: migrate values from Containment to Task
applet.
--Step2: deprecate Task applet options that are
found in containment
--Step3: provide multiple dynamic Tasks tabs in
settings
5 years ago
Michail Vourlakos 0da74fb3ce Tasks:track multiple Tasks applets
--create an infrastructure in order to be able
to adjust and configure multiple Tasks plasmoids
5 years ago
Michail Vourlakos bde33f98a9 remove blockHidingEvent on SideBar startup 5 years ago
Michail Vourlakos b296437288 do not reload views for default indicators
--when default indicators are reinstalled then
views do not have to be reload its sources. The user
is expected in such cases to restart Latte. At the
same time installing Latte multiple times does not
create too many views recreations with no real
reason
5 years ago
Michail Vourlakos 1af553fa13 improve applets context menu placement 5 years ago
Michail Vourlakos 72ebfe1aae improve contextmenu placement for containments 5 years ago
Michail Vourlakos 8b41314b2f enable scrolling activation only for expandable
--systrays/internal containments are blocked from
this
5 years ago
Michail Vourlakos 6fafa83b15 improve applets context menu placement 5 years ago
Michail Vourlakos 0046c904d1 View:Move expanded applets code to View::Interface 5 years ago
Michail Vourlakos fa65462dea move View::deactivateApplets to extendedInterface 5 years ago
Michail Vourlakos 50c136b56f provide View::ExtendedInterface to qml parts 5 years ago
Michail Vourlakos c333e11cdb update applets expanded tracking on every startup
--even when the views is recreated
5 years ago
Michail Vourlakos 4defd31669 fix compatibility with frameworks 5.38
--FrameSvgItem::mask() was introduced after
frameworks 5.58. Restore a bit the old
implementation

FIXED-IN:0.9.11
BUG:419678
5 years ago
Michail Vourlakos f63a467b1e improvements for applet isExpanded tracking 5 years ago
Michail Vourlakos 8c3ed88a2f disable some debug messages 5 years ago
Michail Vourlakos 1adcbdb863 improve identify applets expanded state 5 years ago
Michail Vourlakos aa3aba50d9 make blockHiding multiple state
--blockHiding now tracks down which event has
requested it and it can work flawlessly with
multiple events

BUG:419034
5 years ago
Michail Vourlakos ef2650e711 systray,support context menus for SNI items
--SNI items are handling the context menu by their
own, so Latte code should not interfere

BUG:419263
FIXED-IN:0.9.11
5 years ago
Michail Vourlakos a613bb49ba small improvements 5 years ago
Michail Vourlakos 90d1cedc1e fix context menu for applet if group plasmoid
--the new code can understand ALL applets that are
inside an internal containment style applets such
as plasma, nomad systrays and group plasmoid

FIXED-IN:0.9.10
5 years ago
Michail Vourlakos 705e3d2d1e notforce reshow view when really removing from user
--the workaround to reshow views when the activities are
pausing from the kwin_x11 bug interfer with user REMOVING
a dock or panel. We now protect the workaround to not
interfere with REALREMOVING
5 years ago
Michail Vourlakos 70359602b8 apply activities at views andcurrentActivitychanges 5 years ago
Michail Vourlakos 4ad3880579 update PLASMAPANEL geometry immediate after hiding
--behaveAsPlasmaPanel can now slide in/out as real windows
but after they hide there is a chance that their geometry
should be updated. This patch makes sure that this will
happen exactly before the BEHAVEASPLASMAPANEL starts
sliding-in.
5 years ago
Michail Vourlakos 87f6330816 slide in/out nicely when hideThickScreenGap
--when the user has chosen to hide the screen gap
when there is a maximized window in the screen and
at the same time the View behaves as plasma panel,
it now slides in/out nicely
5 years ago
Michail Vourlakos 338159c01f calculate better the screen edge margin 5 years ago
Michail Vourlakos c9c61818a4 force kwinedge for behaveAsPlasmaPanels
--this way we make sure that the user will be
able to trigger showing with mouse at the screen
edge. Using the window mask to succeed in this
in not an option.
5 years ago
Michail Vourlakos 43d91c9b63 drop QRect::setX/Y from all classes
--they can change the QRect width and height
and this is not the desired behavior.
moveLeft/Top are much better replacements.
5 years ago
Michail Vourlakos 73b3fb234f drop QRect::setX/Y from View
--change them with moveTop/Left which provide
the exact math calculations that are needed
for geometries. Functions setX/Y must be
avoided because they may change the width
and height values.
5 years ago
Michail Vourlakos 22a9416583 fixes for assigned layouts handling 5 years ago
Michail Vourlakos 2db252b769 fix warnings 5 years ago
Michail Vourlakos d3a07b5371 improvements for multips views and sidebars 5 years ago
Michail Vourlakos d1faaedc59 improve availableScreen..WithCriteria api
--improve its semantics in order to be more
understandable
5 years ago
Michail Vourlakos e6ba47daab add more ignore visibility modes for calculations
--when a view is loaded its visibility mode is not
set already, in that case ignore it from all the
availableScreenGeometries calculations
5 years ago
Michail Vourlakos 0b2be421eb IMPORTANT:Multiple docks/panels in same edge
--Latte can now support multiple Views in the same screen
edge. Views as separated in THREE Layers of priorities.
1. Views from Shared Layouts have highest priority and they
are first to occupy a screen edge
2. Views that are set OnPrimary screen occupy a screen edge only
if there is NO other View from a Shared Layout applied already
3. Views that are Explicit to specific screens occupy a screen
edge only if there is NO PRIMARY view already loaded
5 years ago
Michail Vourlakos 719c852c8c update availableScree...WithCriteria functions
--use ignoredModes/Edges instead of accepted ones in order
to make code more readable and easy to understand
5 years ago
Michail Vourlakos ab83bc5b2e fixes for BLUR in live editMode
--add also missing signal in Effects to updateEffects
when enabledBorders are changed
5 years ago
Michail Vourlakos e2596b905c fix topbottom borders check in editmode 5 years ago
Michail Vourlakos dd1a7b72c7 validate top/bottom borders for vertical panels
--make the top/bottom borders identification much
smarter in order to identify in they must be drawn.
There are many corner cases that these borders should
be drawn, for example when a vertical top aligned
panel is half shown its top border because of a
top panel
5 years ago
Michail Vourlakos 67d0ca76dd new wayland id discovery for helper windows 5 years ago
Michail Vourlakos 6bc604feca new wayland id discovery for settings windows 5 years ago
Michail Vourlakos d5033d1bed improve latte wayland ids discovery
--introduce new waylad ids discovery implementation
for View::Positioner
5 years ago
Michail Vourlakos 47f79db2ec improve show/hide functions of visibilitymanager
--test the new code both for x11 and wayland and check
out that it does not create crashes or any other new
bugs
5 years ago
Michail Vourlakos 90df4f4f61 support new visibility mode for SideBars
--SideBar views are shown/hide ONLY WHEN the
user has requested to DO SHOW from external
applets, shortcuts and scripts
5 years ago
Michail Vourlakos eb2d9a0190 fix blur for behaveAsPlasmaPanels 5 years ago
Michail Vourlakos f689fc64e5 drop deprecated code
--no real reason to force shadows for
vertical real panels any more
5 years ago
Michail Vourlakos 72992b8bf5 fix missing calculation for behavingAsPlasmaPanel 5 years ago
Michail Vourlakos 9d30eb6257 support stick options for vertical views
--the user can now choose for vertical views to
stick their edges at the top or bottom screen edge
and ignore any top or bottom views accordingly. These
options are available in the Transparent Settings
area for vertical views and in advanced settings
mode.
5 years ago
Michail Vourlakos 1162b1e302 fix blur regions calculations
--do not send faulty blurred regions to KWin

BUG:417254
5 years ago
Michail Vourlakos 9cfdd253a8 second fix for Qt API WheelEvent breakage 5 years ago
Michail Vourlakos 5df6935c3c fix Qt API breakage from QWheelEvent 5 years ago
Michail Vourlakos 8e614468bc imrove applets scroll wheel activation
--the new implementation works at all cases even
when the ParabolicEffect MouseArea is not really
enabled (e.g. real panels)
5 years ago
Michail Vourlakos 8ab5779bcb compute blur area correctly on startup
--improve calculations for Effects area during startup
and at the same time when the dock is totally hidden
so it should not paint any effects area at all.

BUG:416928
FIXED-IN:0.9.9
5 years ago
Michail Vourlakos 4b1580c0bd move View::HelperWindows in their own directory
--at the same time create a base SubWindow class for
all window helpers used by Views. Now ScreenEdgeGhostWindow
and FloatingGapWindow use the same window implementation
5 years ago
Michail Vourlakos a0582ac409 improve FloatingGapWindow creation/deletion
--create FloatingGapWindow the first time needed
from VisibilityManager if it is not already created.
--remove FloatingGapWindow when View::screenEdgeMarginEnabled
is disabled
5 years ago
Michail Vourlakos 3f68665300 introduce floating gap window
--this window responsibility is to check
if the mouse is still inside the real floating
gap and in such case to prevent the dock from
hiding
5 years ago
Michail Vourlakos 35ce0496ec periodically checking containmouse after slidein 5 years ago
Michail Vourlakos b32171fe21 Revert "hide timer for floating views"
This reverts commit 706a80cae3.
5 years ago
Michail Vourlakos 87f2f7e644 dont update dock settings mask for compositing
--follow PlasmaQuick::Dialog:Popup window approach
and dont apply any mask when compositing is active
5 years ago
Michail Vourlakos 670c0cf405 remove debug message 5 years ago
Michail Vourlakos b7e1f6b142 introduce new PlasmaTabStyle indicator
--this indicator is used only internally from Latte
in order to draw default plasma applets tab style
indicators when the user has chosen to not draw
latte specific indicators. A good example of its
usage is when the plasma theme contains tabbar
indicator which is used in applets and the Latte
overlayed icon applets need to use the same visual
with the regular plasma applets.
5 years ago
Michail Vourlakos 4809703e9f remove common global indicators options
--enabledForApplets and lengthPadding for indicators
has now moved to indicators responsibility to handle
--as a consequence usesPlasmaStyle has been removed
from indicators API. The corner cases that indicators
conflict with plasma theme applets should be handled
differently and in a different way
5 years ago
Michail Vourlakos 266499a485 support dialogs/background for dock settings wins
--use a different shadows manager for dialogs such as
dock settings window through the Latte::Corona class.
The new shadow manager is responsible to draw
"dialogs/background" shadows for windows instead of
the PanelShadows original class which is responsible
to draw "widgets/background" shadows
5 years ago
Michail Vourlakos 8b1526bc0d Revert "apply proper shadows for dock settings window"
This reverts commit 9e78fab4ce.
5 years ago
Michail Vourlakos 16a04684df blur dock settings window properly
--the new approach is always using the background
mask of the window from the FrameSvgItem background
applied.

BUG:416177
FIXED-IN:0.9.8
5 years ago
Michail Vourlakos 9e78fab4ce apply proper shadows for dock settings window
--copy and use plasmaquick/dialogshadow class from
plasma framework library

BUG:416175
FIXED-IN:0.9.8
5 years ago
Michail Vourlakos 34d6c2cd78 identify highest priority application launcher
--provide a new way to identify which application
launcher has the highest priority in order to be
triggered. When an application launcher applet
has a global shortcut assigned to it then that
application launcher applet has the highest
priority in order to be triggered through
"Super" global key.
5 years ago
Michail Vourlakos 411017c0f6 [wayland,crash]-fix showing advanced dock settings
--fix showing advanced settings window in order to update
the window geometry ONLY WHEN there are availableScreenGeometry
changes from Latte::View(s).
--As a side effect changing docks/panels location under wayland
when they have enabled their background blur has reduced crashes
during location changes.
5 years ago
Michail Vourlakos 706a80cae3 hide timer for floating views
--for floating views the hide timer can do
the trick about when to make the checks
that the view must become hidden. In floating
views should support different default and
current value because it should be greater
that the normal use cases.
5 years ago
Michail Vourlakos 87f86ebc75 trying to support masking for floating 5 years ago
Michail Vourlakos f539512c8c improve View workarounds for kwin activities
--improve the new worksarounds in order to always
apply the activities that a view and its windows are
present when the workarounds were triggered from
kwin faulty behavior. The kwin faulty behavior is
that when any activity is paused then all Latte::Views
become hidden and lose their activities references.
The workarounds are timers that when they trace
a faulty visible state !visible are restoring the
normal behavior to views.
5 years ago
Michail Vourlakos 620cc32c47 restore signal registering that was lost 5 years ago
Michail Vourlakos 8946ded107 improve availableScreenR*WithCriteria functions 5 years ago
Michail Vourlakos 9d6e350a85 New ScreenEdge triggering behavior for RealFloats
--trying an alternative approach concerning real floating
Views and screen edge triggering. In such case the user
has triggered to show a REAL FLOATING VIEW, it is considered
normal from user point of view for the view to remain shown
until there is windows changed state or the mouse has
escaped the View main window area
5 years ago
Michail Vourlakos a9d4f91c05 add inSlideAnimation flag for ViewPart::Positioner
--it can be used in order to enable/disable some codepaths
5 years ago
Michail Vourlakos 1dc154f932 track inLocationAnimation of View:Positioner 5 years ago
Michail Vourlakos b129a8d880 improve real floating views screen edge activation
-- when the user hovers the screen edge there is a chance that
screenedgeghostwindow has become underneath the view. In such
case when the real floating window slides in the screenghostwindow
becomes unhovered faulty and it is destroyed afterwards. It is
much better if the screenedgeghostwindow in such case remains shown
until the mouse is not contained neither in the view or the screen
ghost window
-- expose screen edge ghost window thickness
5 years ago
Michail Vourlakos e0e6f5f6b3 improve semantics for WM::setActiveEdge 5 years ago
Michail Vourlakos efbd2a8276 floating:staying mouse on edge and not hiding
--when the floating view is a real panel window and
slides out-in with real animation if the user keeps
its mouse on the screen edge the view can remain
shown without sliding out
5 years ago
Michail Vourlakos 103de33c92 trying to implement real panels sliding in/ou 5 years ago
Michail Vourlakos d0aa28a60d dock settings window not overlap plasma panels
--when dock settings window is shown it is good to
NOT overlap with plasma panels. Under X11 this is
possible because the real availableScreenGeometry
is exposed through QScreen.
5 years ago
Michail Vourlakos 0bea257086 add hidden debug option "kwinedges"
--a way to debug kwin edges behavior for
hidden Latte::View(s) screen edges windows
5 years ago
Michail Vourlakos 91b345e615 make indicators infrastructure smarter
--indicators are now tracked only based on their
installation path, that means that are updated
more precise when changes are applied and
at the same time views are recreated only when
the show the specific indicator that was changed
5 years ago
Michail Vourlakos 3108a73533 fixed compile with qt 5.9
FIXED-IN:0.9.7
BUG:415715
5 years ago
Michail Vourlakos 79705e9753 option to disable creenEdgeMargin for maximized
--improved settings for Floating windows in Behavior
tab and add a new option to hide ALL screen gaps meaning
both length screen and thickness screen gap when there
is a maximized window in the screen

BUG:415630
5 years ago
Michail Vourlakos f6b8ed139d update PanelShadows to upstream code 5 years ago
Michail Vourlakos 70cb2f7fde new View::availableScreenRectChangedFrom triggers
--following the new design applied first at
View:availableScreenRegionChangedFrom instead of different
View parts to trigger directly m_corona relevant signal,
all View parts are triggering the View relevant signal
and as such the can be disabled all together
easily.
5 years ago
Michail Vourlakos e5cab93fdb set minimumLength for ScreenEdgeGhostWindow
--set a minimumLength in order to avoid the indicator
to become TOO SMALL and not noticable. The minimum
length has been set to be 25% of the screen edge length
that the view as attached.
5 years ago
Michail Vourlakos ccbf2c88fd crash fix:from unloading views
--when as Always Visible view was unloaded from
a CentralLayout because its Activity was closing
it was creating a crash. This patch fixes the
situation by releasing sensitive view signals
earlier.
5 years ago
Michail Vourlakos f93bec8893 fixes for WindowsCanCover
--show immediately when view contains mouse
--hide only if view does not contain mouse
--never apply ByPassWM hint for WindowsCanCover
5 years ago
Michail Vourlakos 4cf929ea81 support containsMouse behavior for WindowsCanCover 5 years ago
Michail Vourlakos dfd8bcdeca wayland improvements for WindowsAlwaysCover 5 years ago
Michail Vourlakos c88329d278 x11:improve experience for Windows Always Cover
--simplify also some parts from windows calling window
manager values
5 years ago
Michail Vourlakos d9e18794c8 simplify keepabove/below calling
--start a bit to work with "Windows Always Cover"
visibility mode
5 years ago
Michail Vourlakos 3554c4a006 improve some functionality used 5 years ago
Michail Vourlakos 72777d18c1 add functionality to latte window manager
--the Latte window manager has gained now
functions in order to set the window flags
properly and to update KeepAbove/KeepBelow
flags for windows
5 years ago
Michail Vourlakos 896afcc068 support screen edge margin for behaveAsPlasmaPanel 5 years ago