Commit Graph

250 Commits (b6112c2ab85e6e2b2bf823c3fc002c5aab9aa691)

Author SHA1 Message Date
Michail Vourlakos f0092a9f6e drop thicknessMidOriginal 4 years ago
Michail Vourlakos 72aef4dbd7 upgrade thickness.hidden to abilities 4 years ago
Michail Vourlakos cec7cc5950 upgrade extras thicknessed to abilities 4 years ago
Michail Vourlakos 60f8e3017f upgrade edit mode ruler margin to abilities 4 years ago
Michail Vourlakos 36150d802b upgrade extraFromIndicators to abilities 4 years ago
Michail Vourlakos 68af027cec upgrade extrasFromShadows to abilities 4 years ago
Michail Vourlakos efcbff045e upgrade maxScreenEdge to abilities 4 years ago
Michail Vourlakos 72667f2f57 update mask value to abilities 4 years ago
Michail Vourlakos 5af3036613 fixes for identifying Unity vertical view showing
--more specific identifying properly when a vertical
view is shown and is touching a top or bottom view
that has requested to be fully trasparent when no
maximized window exists
4 years ago
Michail Vourlakos 8298bf0e2c fix dock view geometry calculations
--when background custom radius and shadow
are applied the dock window geometry shouldnot
change if these values are not altered. This
is especially true when a dock is hiding
its screen edge margin when there is a maximized
window and the same time is hiding also its
background shadows. In such case in the past because
shadows were temporarily disabled the dock was constantly
changing its geometry
5 years ago
Michail Vourlakos 0aa5aaec64 fixes for hideThickScreenGap in Dock mode 5 years ago
Michail Vourlakos 1142950f69 provide effect/masks regions for custom backgrounds
--PlasmaExtended::Theme produces QRegions based on corners
radius that can be consumed afterwards from Effects calculations
in order to provide correct QRegions for custom backgrounds
produced from custom background radius option
5 years ago
Michail Vourlakos 8ccc3660e9 block mustBeShown events when hideThickScreepGaps
--especially for Latte Panels that has used Positioner
midSlidingAnimation() to reposition the panel
5 years ago
Michail Vourlakos 37a682e5bc rename property to hideFloatingGapForMaximized
--this property hides any floating gap when there
are maximized windows
5 years ago
Michail Vourlakos b92ece0f8e rename option for floatingInternalGapIsForced
--that option from Behavior page is now renamed and
also its behavior has been upgraded by enabling
three possible options:
   1. Disabled always
   2. Auto - which is enabled for Docks and disabled for Panels
   3. Enabled always
5 years ago
Michail Vourlakos 0bcc45e633 use KWin slideouts when switching layouts 5 years ago
Michail Vourlakos 61e77063ac do not deny hiding inRelocationHiding 5 years ago
Michail Vourlakos a3989d1c2a improve semantic for inRelocationHiding view phase 5 years ago
Michail Vourlakos b808fa2559 reduce minimum hide timer interval to zero 5 years ago
Michail Vourlakos 95cd703333 slideout real floating panels on startup if needed
--after view startup real floating panels that are hiding
their thickness because of maximized windows must reposition
themeselves in order to have a valid visual state
5 years ago
Michail Vourlakos abc0cbc389 remove slot from deprecated signal 5 years ago
Michail Vourlakos a3250cf7ca fixed for View::inEditMode flags
--inEditMode is now updated directly from
containment()->inUserConfiguring()
--add again hiding blockers when View gets
into edit mode. That was lost during last commits
because it was part of Visual qml code that
has been moved to another window.
5 years ago
Michail Vourlakos 3b3388d673 rename SideBar to SidebarOnDemand
--improve semantics all over the place now
that we provide two different sidebar
visibility modes
5 years ago
Michail Vourlakos d1b9610614 accept AllCorners for a floating case
--AllCorners can make sense when a floating view
uses Justify alignment and 100% maximum length
5 years ago
Michail Vourlakos 5e78a0a3c7 provide all background corners option
--provide an option to force showing of all background
corners
5 years ago
Michail Vourlakos 6de05c92e8 support XCP::SHAPE for Views
--views can now specify their input area under X11 and
give valuable space to underlying windows
5 years ago
Michail Vourlakos ea7940dffe hide length screen gaps after slide in 5 years ago
Michail Vourlakos 19eb9f9ff5 fix edge margin adjustment 5 years ago
Michail Vourlakos dd79d5a0ed provide colors Tools trough LatteCore 5 years ago
Michail Vourlakos fec2f447d5 drop editMode workarounds in containment 5 years ago
Michail Vourlakos 083dec89ba disable editmode trigerring for View window 5 years ago
Michail Vourlakos bf2c7ebbd9 expose Colorizer to itw own View c++ class 5 years ago
Michail Vourlakos 7fd56aebfb compute editThickness in View c++ level 5 years ago
Michail Vourlakos 6af99fcbad AboveFullscreen breaks Frame_Extents
--Can above Fullscreen windows under x11 ignore
GTK_FRAME_EXTENTS totally. Long story short
such docks can not have beautiful snapping from
kwin and as such the blur area should ignore the
headThicknessGap

BUG:422313
5 years ago
Michail Vourlakos cb368c504d drop old Tasks identification code paths 5 years ago
Michail Vourlakos 54ea58c215 remove deprecated Effects subtracted implementatio 5 years ago
Michail Vourlakos 8bfc71fd3e remove magical (+/-1 px) from calculations
--implementation is much more concrete now and we
need to be 1px precise in order to provide good
snapping and dodge visibility modes correctly
--in upcoming commit the view is touched property
will mean without window is touching the view edge.
For view edges touching there will be a different
variable that can be used from containment and
applets.
5 years ago
Michail Vourlakos 14a6d73284 fix warnings 5 years ago
Michail Vourlakos 2ef0cdd944 introduce Layouter ability 5 years ago
Michail Vourlakos 2a91cb55c1 remove subtract extranormthick from headThickGap
--extra thickness that is required from indicators
must be ignored from HeadThicknessGap which is used
for nice snapping
5 years ago
Michail Vourlakos 93c6bbe9bd fix published screenEdgeMargin for panels
--in older version screenEdgeMargin == -1 was meant
that the screenEdgeMargin was disabled but this does not
need to be passed to View any more because variable
screenEdgeMarginDisabled is now passed directly
5 years ago
Michail Vourlakos 35bc8f3560 fix ConfigOverlay behavior/appearance 5 years ago
Michail Vourlakos 114828ad88 reduce GtkFrameExtents calls/triggers 5 years ago
Michail Vourlakos 8b32be15b9 support GtkFrameExtents under X11
--this way to dock windows can now snap beautifully
with windows around them, very beautiful behavior!
That was pretty annoying in the past.
5 years ago
Michail Vourlakos 95462fe5e6 fix maxlength applied inConfigureApplets mode 5 years ago
Michail Vourlakos 2ebe0d0b63 fix glitch from hide screen edge gap in dock mode
--do not update view window geometry when there is
an automatic hide screen edge gap situation because
of maximized windows events
5 years ago
Michail Vourlakos f715c5bbd5 various fixes for backgroud/items offsets 5 years ago
Michail Vourlakos dd4e4fb79d rename all Background.MultiLayer values
--much better and understandable names are now used
5 years ago
Michail Vourlakos bc441af941 rename PanelBox to Background.MultiLayered
--much better name and also describes how Background
really works and draws its content
5 years ago
Michail Vourlakos fe370bf885 improve all binding for containment
--use the Binding.when property in order to identify
when a binding is triggered or not
5 years ago
Michail Vourlakos a9c29916b0 improve catching signals for Container abilities 5 years ago
Michail Vourlakos 87ffc22f6a remove AppletsRecords container ability
--use the all new much better infrastructure
to track applet abilities requirements
5 years ago
Michail Vourlakos 44c7faba65 move zoomFactor,maxZoomFactor to ContainerAbility
--use nicer names such as parabolic.factor.zoom
and parabolic.factor.maxZoom
5 years ago
Michail Vourlakos 22f9bdd6a7 use Metrics Ability for screenEdgeMargin 5 years ago
Michail Vourlakos 4d1f5b2df0 deprecate root.screenEdgeMargin from containment 5 years ago
Michail Vourlakos 1c6fef6c12 move thickMargin(s) to Metrics Ability 5 years ago
Michail Vourlakos 583af39fba add metrics.margin.maxThickness 5 years ago
Michail Vourlakos e8c15905d6 position properly alignments for real panels
--provide calculations to position properly real
panels that use Left/Right/Top/Bottom alignments
5 years ago
Michail Vourlakos 97e7c428b7 rename Ability.Container to Metrics
--major change but improves readability a lot
5 years ago
Michail Vourlakos 92a6319dac update applets windows tracking for AppletsRecords 5 years ago
Michail Vourlakos 82f007e4bf provide an AbilityDefinition for Animations
--this way both containers and applets can use
the same infrastructure and properties
5 years ago
Michail Vourlakos 6a558df10b refactor:add Containment.AnimationsAbility
--change/update the animations api in order to
be understandable and easier to maintain/debug
5 years ago
Michail Vourlakos 790e0af406 add Containment.ThemeColorsGroup enum 5 years ago
Michail Vourlakos ac99708315 MAJOR MAJOR:splitting types to their own component
--improve types and references and add types splitted
at better places. So now we have
 - LatteCore.Types that are global for all components
 - LatteTasks.Types that are private to tasks plasmoid
 - LatteContainment.Types that are private to latte
containment
5 years ago
Michail Vourlakos 214447b12f make AutoItemSizer an Ability called AutoSize 5 years ago
Michail Vourlakos a72c30f763 replace containmentAb name with container 5 years ago
Michail Vourlakos 0db7b29a2d Abilities:move iconSize to containmentAbility 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 7f4ff70950 upgrader:Alignment instead of PanelPosition
--ContainmentQuickItem is now using alignment
in its configuration
5 years ago
Michail Vourlakos 1c88a97c55 app animations independent of plasma durations
--plasma durations can mess up the Latte animations
experience a lot. We now use our own set animations
durations which are independent of what the user
chose for plasma animations speed.

BUG:418883
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 25677a01b5 block screen gap animations on startup 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 e0c04a9c6f import:dont update view:local_geometry when hidden
--if this does not apply then local geometry are not valid
when views become hidden
5 years ago
Michail Vourlakos ecd39b4098 introduce minimum length option
--found also some fixes for mask calculations
in right or bottom alignment
5 years ago
Michail Vourlakos 1d8fe4541c Important:fix localGeometry calculations
--and add also new visual debug mode for
localGeometry calculations
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 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 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 6635f9fa8f mask fixes for some floating cases 5 years ago
Michail Vourlakos 87f86ebc75 trying to support masking for floating 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 10ce95597c slide out layouts when changing location 5 years ago
Michail Vourlakos dba2f3bc8b hide external shadows when real panel hidden 5 years ago
Michail Vourlakos 103de33c92 trying to implement real panels sliding in/ou 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 4cf929ea81 support containsMouse behavior for WindowsCanCover 5 years ago
Michail Vourlakos 32f02c871e consider also thickMarginsEnabled for screenEdge
--if thickness margins are disabled then it must not
be applied any screen edge margin
5 years ago
Michail Vourlakos 8194ee94bc inform applets/indicators for screen edge margin
--fix geometries publishing, update margins calculations
5 years ago
Michail Vourlakos 0ebef42513 add screenEdgeMargin and update border accordingly 5 years ago
Michail Vourlakos 5fff947091 improve panel background is shown identification 5 years ago
Michail Vourlakos 9dd798477e improve criteria for side panels dyamic touching
--Latte panels when they touch each other are informing
each other in order to provide consistent appearance. For
example the Unity mode where a top panel and a left panel
exist at the same time. In such case if the left panel is
INBUSY background state then the top panel is informed and
because inBusy state also. This way the top border of left dock
background does not look out of place. ON THE OTHER hand if
the left dock is hidden because the use has chosen auto-hide
visibility mode or any of the dodge(s) choices then the top
panel does not have to stay in isBusy state. The patch fixes
this by applying this behavior only when the left dock is shown
e.g. the mouse has entered the dock or the dodge mode is not
activated

BUG:415347
FIXED-IN:0.9.6
5 years ago
Michail Vourlakos 747d4870a0 introduce AutomaticItemSizer and add protector
--the automatic item sizer algorithm now is present
in its own class/responsibility area. As a new
improvement/fix the new implementation provides also
a protector/tracker that when the current prediction
to grow has already be applied two steps back in
history then the growing is not applied. This way
endless loops with growings and shrinks are blocked.

BUG:414180
FIXED-IN:0.9.5
5 years ago
Michail Vourlakos eb564fdc7d use automatic icon size for behaveAsPlasmaPanel
--this way the panel can be shrinked because it
exceeds screen boundaries even when view is used
as a plasma panel
5 years ago
Michail Vourlakos b078765d5c improve smartness for Unity case layout
--when a vertical view is in busy state and is touching
also a horizontal view that is fully transparent in
SMART mode then the visual result is not that good.
In that case it is better to show the view background.
The horizontal view background in that case can provide
three different states:
a) if the panel style for popups is activated then the
horizontal view will follow the plasma original style
b) if NOT [a] and solid background for touching windows
is enabled then solid background will be offered
c) if NOT [a] and NOT [b] then the isBusy state
transparency will be offered
6 years ago
Michail Vourlakos ab9fbc3727 support touching horizontal view and isbusy
--trying to increase smartness for horizontal
and vertical views. In multiple layouts environment
a view can exist in cases that one or more of
the sided views that is touching it is NOT
transparent, it would be nice for those
cases the top or bottom  view to LOSE also
its transparency in order to not look
inconsistent.
6 years ago
Michail Vourlakos 6f51a1b770 fix published absolute geometry in !compositing
--absolute geometry is the published area that the
dock/panel occupies when it is shown. So it should
not change when the dock becomes hidden. This patch
fixes the case for the !compositing environment.
6 years ago
Michail Vourlakos 3c9c36f0f2 update absolute geometry in !compositing slide-in 6 years ago