Commit Graph

531 Commits (a718d8d58aeaf10052557c69a14d321b3e1372ce)

Author SHA1 Message Date
Michail Vourlakos 52eb0acfef dont hide external shadows during location change 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 79d95371d7 fix #9,panel/dock buttons
--fix panel/dock mode buttons from configuration
windows.
5 years ago
Michail Vourlakos e4437b7f66 abilities:introduce UserRequests 5 years ago
Michail Vourlakos f5cc1f8f81 abilities:provide animations.requirements
--applets animations ability can now be used to
provide a zoomFactor that is needed from their
animations
5 years ago
Michail Vourlakos 02e1e87d59 smoothen anim for hide length screen gaps 5 years ago
Michail Vourlakos 0b8fa321bc dont crash when panels change location 5 years ago
Michail Vourlakos 673882f966 provide live editing for !compositing 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 548afca400 create applets drag overlay only once 5 years ago
Michail Vourlakos aba7aeab80 small fixes here and there 5 years ago
Michail Vourlakos d04c19dacf dont enable add launchers in Tasks area
--when there are multiple Latte Tasks applets
5 years ago
Michail Vourlakos 2343933408 remove Container ParabolicManager
--this is not needed any more from the container.
All its functionality is provided from various
Container Abilities.
5 years ago
Michail Vourlakos 7176febb09 move badges tags in PositionShortcuts ability 5 years ago
Michail Vourlakos dc78257962 improvement for Container::OnPositionShortcuts
--bind On Position Shortcuts Container ability
with View::ExtendedContainmentInterface implementation
5 years ago
Michail Vourlakos f32937ca6d first commit for multi on position shortcuts 5 years ago
Michail Vourlakos cb368c504d drop old Tasks identification code paths 5 years ago
Michail Vourlakos b264854a98 Dodge visibility mode now ignores edge touches
--The new implementation for snapping needed to remove
the touching view edge from touching algorithm. The
windows trakers now provide two separate values for each
touching.
----First value is for regular window touches for which
their window geometry intersects with view published
absoluteGeometry
----Second value is for windows that are touching
view edge without intersecting with view geometry
5 years ago
Michail Vourlakos 29b5c3e590 fix warnings 5 years ago
Michail Vourlakos 79beef1fc6 reduce minimum applet length inConfigureApplets 5 years ago
Michail Vourlakos 14a6d73284 fix warnings 5 years ago
Michail Vourlakos 23f3c1f5c1 remove debug message 5 years ago
Michail Vourlakos 55c856d4f5 rename Applet property parabolicEffectIsSupported 5 years ago
Michail Vourlakos 9fcec2128a support min/max length and alignments beautifully
--applets that use auto fill calculations to gain their
length work really nice now for all alignments and values
very similar to plasma panels
5 years ago
Michail Vourlakos df9eda426f improve Justify splitters behavior inConfigure
--justify splitters now the offset themselves when
startLayout or endLayout are too big
5 years ago
Michail Vourlakos 3d6c7b3b23 reduce justify splitter maximum size 5 years ago
Michail Vourlakos 2ef0cdd944 introduce Layouter ability 5 years ago
Michail Vourlakos 66f8cce6d9 introduce Layouter Debug mode
--really handy and beautiful in order to confirm the
calculations that are valid. Already a bug was found
for ParabolicEffect. There is 1px difference between
hovering Tasks and Applets
5 years ago
Michail Vourlakos ec949948b6 fix View recraetion and frameExtents freezes
--View recreation path was broken from new implementation
for Latte::Interfaces that pass objects to containment
interface. This is now fixed and Interfaces::View object is updated
and broadcasted correctly when changed
--when GtkFrameExtents are zeroed for behaveAsPlasmaPanels
then it is better to recreate the view to avoid freezes and
hidings of the view because of compositor strange behavior
5 years ago
Michail Vourlakos 39cc767eed drop panelUserSetAlignment not used anymore 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 0d023dff37 expose backgroundThickness through Metrics
--this way Tasks scrolling shadows work ok again
and also they are decoupled from containment
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 0539db1a09 rename more values of Background.MultiLayered 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 f5db9ce63d fix Justify alignment applets placement inConfigure
--applets are now always take into account the splitters
placement and the splitters try to be always in the
center. This is much more predictable and understanble
from the user
5 years ago
Michail Vourlakos 6ae3c499f0 block calculations for applets changing parents 5 years ago
Michail Vourlakos 97a1c3fdb8 NEW Intuitive InConfigureApplets Mode
--I have managed to solve most of the issues that were
preventing a live demonstration of applets layout
during InConfigureApplets mode... Things are more
intuitive now are updated correctly between different
layout areas... enjoy...
5 years ago
Michail Vourlakos 7a451facb2 use inConfigureAppletsMode like a regular mode 5 years ago
Michail Vourlakos ef2592b183 add Indexer applet Ability
--works beautifully and nicely even in
multi-applets indexer supported environment
5 years ago
Michail Vourlakos df4df914ca introduce Indexer ContainerAbility 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 e3e4ee4c5a fantastico! full decoupled parabolic effect
--This is the first commit that demonstrates also
a beautiful and easy way to gain properties from
multiple applets that support specific activities
5 years ago
Michail Vourlakos cfd79ae713 fixes for ParabolicEffect Ability 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 0bb838d90e fix triggering for contextMenuIsShown
--it should not be triggered in every view press
event but only when there is or not a context
menu any more
5 years ago
Michail Vourlakos a0e4f688e5 fix some previews issues 5 years ago
Michail Vourlakos 81abb0eb35 fix some parabolic effect glitches 5 years ago
Michail Vourlakos 7e1be6144a remove Parabolic::DirectRender timer functionality
--remove direct render timer which is not used any more.
5 years ago
Michail Vourlakos 140cc8cb73 smoothen up parabolic effect 5 years ago
Michail Vourlakos c9b7866662 HoveredIndex:Drop plasmoid implementation
--parabolic effect does not need hovered index
any more in order to work properly
5 years ago
Michail Vourlakos 63500ed524 HoveredIndex:Drop for containment
--a new implementation is needed which is going
to be simpler and lighter. Removing the current
implementation, parabolic effect works just fine
without issues and feels more responsive.
5 years ago
Michail Vourlakos 7b521634a8 restore properly multi-tasks parabolic effect
--update parabolic effect clear zoom functionanlity in order
to clear zoom properly
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 9be7822b98 upgrade to LatteApp.Interfaces containment access 5 years ago
Michail Vourlakos 6259c395de move lengthMargin(s) to Metrics ability 5 years ago
Michail Vourlakos dae35a12bb rename thicknessMargins to thicknessEdges
--which is more accurate an Edge can be the calculated
distance of margin+border+padding like css is also
describing
5 years ago
Michail Vourlakos c45e45138f rename Metrics padding.length 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 e0d2991790 move fractions to MetricsPrivate 5 years ago
Michail Vourlakos 441fbdf635 plenty of improvements to position Latte panels
--used a video demonstrating multiple panels at the
bottom edge with padding between them
--max/minLength and offset are changed to float values
--max/minLength and offset can now be adjusted with
Ctrl+Wheel over their label in Appearance tab page. Clicking
the previous mentioned label will round the values
--introduce an autoSizeEnabled value in order to block
auto size mechanism when it becomes annoying. Such issue
appears more often to Latte panels
--block MenuZ from Latte icon heuristics
5 years ago
Michail Vourlakos 00127f28c0 Tasks:introduce Tasks.Dialog
--this is just a subclass of PlasmaQuick::Dialog
that provides "containsMouse" property
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 3a7a8368fa provide a multiapplets innerZoomFactor structure
--introduce AppletsRecords in order to keep track
of their requirements that influence the containment
qml behavior
5 years ago
Michail Vourlakos 03de9bb09f replace maxZoomFactor with innerZoomFactor
--innerZoomFactor is a way for applets to
request specific zoom factor at some cases
for example during some of their animations
5 years ago
Michail Vourlakos c9ec2bc957 rename minZoomFactor to animations.maxZoomFactor 5 years ago
Michail Vourlakos 7709e1514b simplify autosize container ability 5 years ago
Michail Vourlakos 368b4b8441 references improvements in container qml 5 years ago
Michail Vourlakos c43dd6d003 update root references to Abilities 5 years ago
Michail Vourlakos 732c7821f1 support property AbilityDefinition.Animations
--use qml for this and it is much better than c++
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 1bc14b5d7a add Containment.ThemeColorsGroup 5 years ago
Michail Vourlakos 35d09789c9 add Containment.ShadowColorGroup qml enum 5 years ago
Michail Vourlakos 7ac648983f upgrade applet shadows variable for cotainment
--replace deprecated configuration.shadows with
configuration.appletShadowsEnabled
5 years ago
Michail Vourlakos 9c57f9db4b introduce AppTypes.MouseSensitivity 5 years ago
Michail Vourlakos a4e9b51b2b support LatteContaiment.ActiveWindowFilterGroup 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 505f63b3ad update plasmoid Containment to Container 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 b69af88ebc refactor:move irrelevant WindowSystem properties
--irrelevant WindowSystem properties are now moved
to LatteCore.Environment that fit better semantically
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 7f4ff70950 upgrader:Alignment instead of PanelPosition
--ContainmentQuickItem is now using alignment
in its configuration
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 c333e11cdb update applets expanded tracking on every startup
--even when the views is recreated
5 years ago
Michail Vourlakos 0625ad1423 fix edit visual style in !compositing 5 years ago
Michail Vourlakos ef41f17ef3 fix minimumLength for !compositing 5 years ago
Michail Vourlakos 6034073dd0 fix floating editMode for !compositing case 5 years ago
Michail Vourlakos f63a467b1e improvements for applet isExpanded tracking 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 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 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 ef3a59e836 behaveAsPlasmaPanel for NOCOMPOSITING environment
--all views in NOCOMPOSITING environment should behave
as Plasma Panels in order to interact much better with
windows
5 years ago
Michail Vourlakos 5efa757146 fix Justify Splitter appearance at all cases
--introduce also some max/min values for applets
size for inConfigureAppletsMode state
5 years ago
Michail Vourlakos de1604bb71 improve bouncing animation speed for plasma 5.18 5 years ago
Michail Vourlakos bac31e450e plasma5.18:update animations speed 5 years ago
Michail Vourlakos b5233ddfe0 option for tasks to scroll and minimize them
--a new Wheel action is introduced to Tasks and
the user can now choose to disable wheel actions
only for tasks OR cycle through grouped tasks OR
upwards cycles trhough grouped tasks and downwards
minimizes them.

BUG:416096
5 years ago
Michail Vourlakos 77b66e85e0 option to close active window with mid click
--an option to close active window with middle
click from empty areas
5 years ago
Michail Vourlakos 5288aa6e38 protect floating views appearance
--floating views is a strange situation for which
plasma theme do not have any way to be protected for
their drawing (there is a chance that shadows and content
overlap). Latte in order to protect from that situation
now uses the auto-discovered plasma theme roundness to be used
in order to calculate the minimum thicknes for panel
background.
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 aa00d6348b disable zoom labels in settings for !animatons 5 years ago
Michail Vourlakos 813b40e9ca fix glitch from editMode to real floating 5 years ago
Michail Vourlakos 1dc154f932 track inLocationAnimation of View:Positioner 5 years ago
Michail Vourlakos 4034ccfaf9 blockHiding in editMode based on edit animations
--it is safer to block/unblock view hiding based on
edit mode animations. This way any view hiding mechanisms
are applied only after the containment editMode has
really applied.
5 years ago
Michail Vourlakos 103de33c92 trying to implement real panels sliding in/ou 5 years ago
Michail Vourlakos 07a1065320 animate dynamic screen edge margin behavior
--when the view is NOT behavingAsPlasmaPanel then for
those cases we can animate the screenEdgeMargin
shrinking/expanding
5 years ago
Michail Vourlakos 5d65909adb fix binding loop from hideLengthScreenGap 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 6a95af5f8c option,always apply Fitt's Law for floating mode
-The use can specify to always apply Fitt's Law when
in floating mode
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 06fdd0d703 make screenEdgeMargin aware some elements
--update some containment elements and make
them screenEdgeMargin aware in order to be
positioned properly
5 years ago
Michail Vourlakos 896afcc068 support screen edge margin for behaveAsPlasmaPanel 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 d31d7afb9d dont wait for dock to show for activate shortcuts
--when the application launcher is not a popup then
we do not have to wait for the dock show we can execute
the activation code immediately
--when Latte activates an entry can now understand
if a popup is going to be shown in order to delay
the execution. If a popup is NOT going to show either
for a latte task or an applet then the code is executed
immediately

BUG:415417
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 63ed290593 improve option "Hide Background when not needed"
--when option "Hide Background when not needed" is
used on its own activates or not the forceTransparentPanel
code path. So when that option is enabled and any
window is touching the Latte::View then the force
transparency codepath should be disabled. In such
case the user background settings are applied.

BUG:414071
FIXED-IN:0.9.5
5 years ago
Michail Vourlakos c2a1c20d92 expose colorScheme to lastActiveWindow(s)
--applets can now use the color scheme from lastActiveWindow
objects in order to paint some of their elements
5 years ago
Michail Vourlakos b9d82fe0f1 improvements for automatic icon size code path
--this patch add two fixes concerning automatic
icon size when contents exceed the view maximum
length.
--A) when the function is called then it also
called one more time after 1sec to confirm that
the icon size found is valid. In the past that
approach was creating an endless loop that should
not be triggered any more
--B) the grow limit was made to be equal with
the shrink limit trying to be more predictive from
the user when the items will grow or shrink. In
the future we must take care of this if the items
grow or shrink endlessly

BUG:411860
FIXED-IN:0.9.3
5 years ago
Michail Vourlakos 7663e86068 multiple fixes for different margins
--multiple fixes for margins all over the place. More
specific how they are calculated and when they are
used
5 years ago
Michail Vourlakos 17621e0ffd check no panel shadows from windows states first 6 years ago
Michail Vourlakos 5a2c59601c Indicators:different margins for applets
--indicators gained a way to set different margins
for applets if they want to
6 years ago
Michail Vourlakos 2866b6a3aa plasma theme colors for !accelerated graphics
--fix also how accelerated graphics are identified
by using GraphicsInfo api
6 years ago
Michail Vourlakos 724a59eb23 add accelerated graphics checks all over the place
--when qml uses software rendering checks should be
added in order to not hide the visual elements. This
is taking place now in a more concrete way and checked
also that tasks with badges or not are still shown

BUG:411037
FIXED-IN:0.9.2
6 years ago
Michail Vourlakos 8058778a93 initialy support only one case for busyVerticals 6 years ago
Michail Vourlakos 92a4fb054e 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 e684924d7c improve more the isBusy background case
--the new implementation supports and always darkish
case when the isBusy background is drawn. So now
we have the following possibilities:
a)panel transparency<35 means BEST contrast with
underlying desktop background
b)panel transparency>=35 AND <70 means a DARKISH
background
c)panel transparency>=70 the user chosen plasma
theme
6 years ago
Michail Vourlakos 7fe42921a8 fix reference for ignoreRegularFileDragging 6 years ago
Michail Vourlakos 30f3145f95 Introduce Flat and 3D style for Badges
--the user can now choose to enable or NOT 3D
style for all badges through Latte Global Preferences
window. By default the Flat style is preferred

BUG: 409467
6 years ago
Michail Vourlakos 804d3d4d73 ignore regular files/links dragging in Normal mode 6 years ago
Michail Vourlakos 9a7788ab58 improve Communicator::version
--provide also a way for applets to identify
versions and make versions through
bridge.actions.version function
6 years ago
Michail Vourlakos df9394ddd6 option for prominent color of Notification Badges
--The user from Tasks,Badges can choose a more prominent
color for notification badges (usually reddish). In case
the user has not enabled that option(default) then the plasma
theme highlight color is used which is also the default
option of Latte v0.8

BUG: 408955
6 years ago
Michail Vourlakos b7cf5dbb62 avoid glitch from panel shadow 6 years ago
Michail Vourlakos 2396ffbe19 rethink isBusy state panel shadow
--panel shadows in ISBUSY state are applied
when BLUR is enabled and backgroundopacity>0 OR
BLUR is NOT enabled and backgroundopacity>20
6 years ago
Michail Vourlakos 8a281bc3e8 update panel shadows for isBusy state 6 years ago
Michail Vourlakos 0b6c07a1e5 support Active Window Filtering
--Latte can now use the new multi-screen
Last Active Window infrastructur to choose
which Active Window is preferred, only from
current screen OR from all screens
6 years ago
Michail Vourlakos e25da5a668 update Containment Windows Tracking with screens
--new screens implementation for Latte screen
tracking
6 years ago