--Plasma 5.18 introduced a new dbus interface in order
for external apps to be able to publish to Plasma how
much they occupy from screen space. This is a much
requested feature from users, Latte is now publishing
both its availableScreenRect and availableScreenRegions
and this is also Multiple Layouts aware at runtime.
BUG:391073
--when the user is triggering an application
launcher that is a popup in a hidden view
it is not needed to enforced hidden afterwards.
The blockHiding will be released automatically
when the application launcher popup is closed.
BUG:417239
--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
--preparing the infrastructure calculations in order
to publish to Plasma 5.18 and greater the
availableScreenRectagle and availableScreenRegion
that Latte leaves free in current running
screens.
--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
--create FloatingGapWindow the first time needed
from VisibilityManager if it is not already created.
--remove FloatingGapWindow when View::screenEdgeMarginEnabled
is disabled
--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.
--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
--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
--identify better what is the plasma theme color
palette the creator has chosen and use ALWAYS
the same color palette that Plasma is also using.
In the past, Latte was trying to protect the
color palette because Latte REVERSED colors mode
did not work fine for all plasma themes. That
approach is abandoned, Latte will use the same
colors group with plasma themes and it is on
the creators responsibility to provide enough
contrast
--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.
--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.
--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.
--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.
--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
-- 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
--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
--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.
--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
--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
--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.
--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.
--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.
Summary:
- Add `Configure Latte Global Settings...` because it's too hidden in Layout > Configure and does not relate to the Layout menu.
- Insert a new `Separator` to separate between Global settings and View settings (see screenshot)
- Rename `Panel/Dock Settings` to `Edit Panel/Dock` (Verb + Noun)
- Rename `Layout > Configure...` to `Layout > Manage Layouts` (Verb + Noun)
Menu Items Order:
a. -separator-
b. Layouts->
c. Configure Application...
e. -separator-
f. Add Widgets...
g. Edit Dock...
h. -separator- [only for Tasks plasmoid]
i. Close... [only for Tasks plasmoid]
BUG: 415584
Test Plan:
Before:
{F7844554}
After:
a. context menu of applets
{F7845184}
b. context menu of a task that hasn't/has one window shown
{F7844944}
{F7845185}
c. context menu of Latte Tasks plasmoid when used on the desktop
{F7845186}
{F7845187}
Reviewers: #latte_dock, #vdg, mvourlakos
Reviewed By: #latte_dock, mvourlakos
Subscribers: ngraham, ndavis, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26238
--app is crashing if we set for Latte::Views
KWin visibility mode to WindowsCanCover because
Latte is hiding its Views at some animations.
In such case only the KWin AutoHide mode allows
that, otherwise it is crashing.
--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
--all the qml handling code from globalshortcuts is
now moved to Latte::View::ContaimentInterface. This
way the code is cleaner and can be expanded easier.
--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
--window manager provides two more states isMaxHorizontally,
isMaxVertically. These states can be ignored and be
considered as isMaximized only when both of these states
are valid
FIXED-IN:0.9.6
--all plasma windows that are touching a screen edge
and their thickness based on the edge they are touching is
below 96px. are NOT consider as plasma panels and are
treated like normal windows for all Latte codepaths
--occasionaly when the user was switching
layouts it could get some crashes. It looks
safer to unload first the Latte::Views objects
and their corresponding containments afterwards.
I tried in my system to switch multiple layouts
in plenty different configurations and I could
not get a crash. This patch should fix the
mentioned crash report if that was the root
of the issue.
BUG:412864
FIXED-IN:0.9.5
--the last active window codepath provides a way to
drag and maximize/restore the last active window. This
should not occur when the last active window is not
in the current desktop and activity.
BUG:414089
FIXED-IN:0.9.5
--the previous code was updating the delayed application
data for each instance of lastactivewindow separately.
The new code is implementing this at the central
WM::WindowsTracker and just informs last active windows
to update their values
--the previous code was updating the delayed application
data for each instance of lastactivewindow separately.
The new code is implementing this at the central
WM::WindowsTracker and just informs last active windows
to update their values
--when an application is tracked from the lastactivewindow
infrastructure it is updating the application name/icon
1500 ms after its first startup in order to fix apps cases
where they update their StartupWMClass a bit delayed
BUG:413671
--when an application is tracked from the lastactivewindow
infrastructure it is updating the application name/icon
1500 ms after its first startup in order to fix apps cases
where they update their StartupWMClass a bit delayed
BUG:413671
--switchToLayout dbus interface is used in order to
switch at specific layout that it is already imported.
With this commit the same dbus interface can be used
in order to import and load afterwards any latte layout
file by sending its absolute filepath
--switchToLayout dbus interface is used in order to
switch at specific layout that it is already imported.
With this commit the same dbus interface can be used
in order to import and load afterwards any latte layout
file by sending its absolute filepath
--there are distros that do not return /usr/share/applications
as their first global path for desktop files. It is better to not
just search for the "applications" path but rather the desktop
file also to make sure that we use the first one found.
BUG:412612
FIXED-IN:0.9.4
--there are distros that do not return /usr/share/applications
as their first global path for desktop files. It is better to not
just search for the "applications" path but rather the desktop
file also to make sure that we use the first one found.
BUG:412612
FIXED-IN:0.9.4
--instead of reading the kwin values all the time
when needed from user actions we now read them
only on startup and when the kwinrc file was
updated/changed
BUG:411657
FIXED-IN:0.9.3
--instead of reading the kwin values all the time
when needed from user actions we now read them
only on startup and when the kwinrc file was
updated/changed
BUG:411657
FIXED-IN:0.9.3
--Whenever a view is updating its layout then the AllScreens
tracked information [per layout tracking] should be updated
also. Until now this was happening only during startup and there
was a case that if during startup a view was requesting tracking
and the second one did not, then tracking for the entire layout
for all screens it could be faulty disabled.
BUG:411670
FIXED-IN:0.9.3
--Whenever a view is updating its layout then the AllScreens
tracked information [per layout tracking] should be updated
also. Until now this was happening only during startup and there
was a case that if during startup a view was requesting tracking
and the second one did not, then tracking for the entire layout
for all screens it could be faulty disabled.
BUG:411670
FIXED-IN:0.9.3
Summary:
Use the new icon added in D22155.
{F6948355}
Test Plan: Open the Latte layout settings.
Reviewers: #plasma, #vdg, mvourlakos, ndavis
Reviewed By: #vdg, mvourlakos, ndavis
Subscribers: #vdg, plasma-devel, #plasma
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22170
--draggingStarted signals/slots were used in order
to handle the active window dragging from empty areas.
The new approach ungrabs the mouse properly through
View relevant function and at the same time sends a
QEvent::Leave event to inform applets that the mouse
has left the view. This is enough in order to remove
any older draggingStarted workarounds and hacks.
--draggingStarted signals/slots were used in order
to handle the active window dragging from empty areas.
The new approach ungrabs the mouse properly through
View relevant function and at the same time sends a
QEvent::Leave event to inform applets that the mouse
has left the view. This is enough in order to remove
any older draggingStarted workarounds and hacks.
--the issue was pretty obvious when the user was
using a top view with thickness < 24px. and a
bottom view always visible. In that case the top
view struts on startup did not decrease below
at 24px.
BUG:410707
--the issue was pretty obvious when the user was
using a top view with thickness < 24px. and a
bottom view always visible. In that case the top
view struts on startup did not decrease below
at 24px.
BUG:410707
--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
--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.
--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
--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.
--when hide timer is set below 50ms. there are
cases that does not let the view to be shown after
a containmouse trigerring. By setting a minimum
value for the timer to 50ms this is fixed.
BUG:410370
--when hide timer is set below 50ms. there are
cases that does not let the view to be shown after
a containmouse trigerring. By setting a minimum
value for the timer to 50ms this is fixed.
BUG:410370
--when a window is stacked back to its parent window
for example the firefox case (dragging a tab to create
a new firefox window and redrag it afterwards to the
main window) the wm::windows array had inconsistent
window records.
--This is fixed and also any X11 transient changed signals
are not blocked for windowChanged signals
--when a window is stacked back to its parent window
for example the firefox case (dragging a tab to create
a new firefox window and redrag it afterwards to the
main window) the wm::windows array had inconsistent
window records.
--This is fixed and also any X11 transient changed signals
are not blocked for windowChanged signals
--if the main window is not active but is
touching the dock then the dock is not shown
for dodge active state
--fix the cleanup code in order to cleanup
windows that have a ghost wid ( 0 )
--if the main window is not active but is
touching the dock then the dock is not shown
for dodge active state
--fix the cleanup code in order to cleanup
windows that have a ghost wid ( 0 )
--when KWin edges are used in a SharedLayout then the
all view Layout::isCurrent() function must be used
otherwise the layout is not identified properly as
current based on different layouts per activities
--in such case under x11, the winIds of the visible
Latte windows are changed and as such the windows
tracking mechanism becomes broken. The code introduced
tries to track the case the update the WM::ignoredWindows
properly
--this function creates irrelevant crashes even
under x11 environment... Dropped in favour of
show()/hide() functions that seem to not create
any issues
--the new report identifies for all your layouts
when a screen has not been assigned any docks/panels.
That can help user to clean up the ScreensConnectors
if wants to
--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
--when the user uses Meta+A to cycle between the Views
configuration windows then in such case when NO Config
window is shown the LAST ONE USED should be shown again.
IF a Config View is already shown then the NEXT should
be shown afterwards
--fixes to signals in ViewParts in order to avoid
crashes. Currently the recreateView approach is used
in order to reload indicators runtime dynamically.
The "View::setSource" approach does not reload the
indicators properly
--the previous approach was disabling the background
contrast effect at all times except when the background
opacity was 100%, the new approach considers the background
opacity value and provide mid values to be applied.
That means that 0% background opacity disables the background
constrast visual effect, 100% applies the background contrast
visual effect at its maximum values and in between the mid
values for background contrast effect are applied
--is touching view functions did not identify
when a windows was touching the absolutegeometry
<thickness> boundary and at the same time
overlapping the view <length> area. A case
that was breaking the experience was the
Plasma "AddWidgets" dialog
--during searching the plasma theme roundness,
opacity values for pixels > 200 are considered
to be in panel background part. This fixes also
the Oxygen theme case and provides a better roundness
value now
--View::WindowsTracker now provides all the time
information about CurrentScreen and AllScreens!
This way all consumers (Latte::Containment, Applets etc.)
can choose whatever suits them best.
--when dragging a new applet over the view
the responsiveness is now improved vastly
--the new architecture uses two different
DragAndDropAreas. One which is the old one
and is used when dragged launchers, urls and
separators. The second is used only when
applets are dragged into the view
--the visuals for adding launchers/applets have
been improved and a circular visual is preferred
now instead
--fix all events identifications from DragMove and
DragExit etc. in containment::qml part and all drags
flags are calculated only at DragEnter! This fixes
the DragMove signaling and all DragMove signals are
sent correctly.
It needs to be fixed also for Tasks plasmoid because
every time the mouse hovers the Tasks Plasmoid then
the DragMove signals are NOT SENT as they should.
--add initialization of values for views
tracking hints when enabled becomes false
--add some debug messages to be used when
we want to test out things
--Split the Layouts::Manager to Synchronizer and
Manager classes. The Synchronizer is responsible
to keep all Active layouts in sync with user
preferences
--any view and view::containment() signals that
are related to layout are now moved in the
View::setLayout() in order to be reinitialized
properly when the view changes to another
layout
--no reason to load Mutiple layouts linked file
as a Pseudo Central layout. This way no needed
checks can be removed and things are still working
as before.
--fixed struts gap for !compositing mode in order
to handle the strange kwin behavior. Kwin under
!compositing removes 1px. from the struts specified
by windows
--plenty of fixes concerning automatic coloring
under !compositing mode
--following plasma approach and use always
even for !compositing mode the widgets/panel-background
svg file. This way when Latte and Plasma panels are
combined there is uniformity between them.
BUG: 406597
--this is side-way path for mouse events and
more specific the mouse pressed, released
events to be sent from parent window to its
qml containment part. This way it is possible
to keep the original plasma applet behavior
such as original plasma tooltips and provide
Latte specific functionality such as animated
clicks from indicators.
NOTE: An investigation - testing took place in
order to check if this approach could be also used
for mouseMove events to be used for applets parabolic
effect. The result was that this was not possible because
there were too many signals and too much calculations
too identify for which applet the signal belonged to.
The parabolic effect was not fluid in that case and
could not catch up.
--infrastructure is now ready to expose to
applets the full color paletter and not
make compromises by choosing only from
original plasma theme for some of the
exposed colors
--dont reverse colors for selection group.
It creates a much nicer effect from user point
of view to keep the highlighting colors the
same for both the normal and reversed plasma
themes.
--providesHoveredAnimation, in order to disable
the Latte one
--providesClickedAnimation, in order to disable
the Latte one
--needsMouseEventCoordinates, in order to know
when the mouse pressed e.g. creating animations
like the android way
--the Latte Settings window tries its best in order
to provide a nice experience concerning its width/height
ratio and a width size that is best for its contents.
There are cases that this fails so the user in the
best to set it right. Latte now provides two shortcuts
Meta+Scroll, that changes the width scale ratio and
Ctrl+Scroll, that changes the height scale ratio when
settings are in Basic mode.
The previous shortcuts must be applied when the mouse
is over the empty areas in the Settings View window.
--lock icon takes into account the selected state
in order to draw itself
--focus dotted lines for tableview cells were disabled
until something less noisy is introduced
--improve how the available screen geometry is
calculated because in MultipleLayouts mode we can
have different layouts that provide different
available screen geometries
--update function to use new validViewsMap() function
in order to identify which views must be presented
and where. The validViewsMap function can be used also
from subclasses in order to indetify the Layout occupied
edges without applying the final map state to actual
views.
--huge refactor in order to split the logic of the
Layout file. One of small steps in order to end at
the following logic:
AbstractLayout->GeneralLayout->InterfacedLayout
InterfacedLayout->NormalLayout
InterfacedLayout->OnTopLayout
PresentedLayout, that will contain references for
one ActiveLayout and one OnTopLayout and will
act as a class to provide useful information to
layoutManager and all other classes that want
to work with Views.
GeneralLayout will gain a storage object
for all STORAGE properties that require
a CORONA to work
--based on the current indicator there minimum
thickness and indicator padding can be altered.
Providing some visual feedback for the user to
understand these limits is a good practice.
--under wayland masking does not break the visual
result of a window. For that reason under wayland
the editShadow can be masked out totally and not
only for its windows underlying parts.
--in order for all indicators infrastructure to
load the plugin correctly the configuration and
the component elements of ViewPart::Indicator
must be loaded first correctly and afterwards
the relevant Indicators to follow
--when monitor from an explicit screen was closed there
were cases that docks were moved at another monitor from
the window manager and that was preventing them to be
delete properly. This patch fixes this by considering
as valid explicit screen only the one provided by the
view
BUG: 405687
--onPrimary flag is considered from layout file directly
only for containments that are not already loaded to
latte views
--location flag is accessed directly from containment object
--there is now an always shown underlying layer that
provides full solidness for 100% panel transparency
--Colorizer.CustomBackground was updated in order to
support Borders drawing
--this patch fixes the show timer delayer in combination
with KWin edges activation even more. The experience
now looks almost identical to NONE-KWin edge activation
--secondary config window now follows the primary
config window design. Config windows now are just
simple windows !AboveAll and are activated from
Latte::View on demand. This way we can now have
demonstration of the parabolic effect during
editMode at all times
-- for each layout only one dock should show its configuration windows
otherwise we could reach a point that because a settings window
is below another Latte View its options are not reachable
--now config windows are masked properly in order to
accessible to all of their areas. By design the config
windows are trying to be below the main view, this is
why masking is needed in order to work properly and not
having areas that can not be clicked/accessed because
of the top Latte View
--when the mouse enters the main latte view,
the primary and secondary config windows should
be activated. This patch improves how this is
handled in order to not mess up the focusOut
even handling from config windows. The config
windows do not race now in order to identify
if all the config windows has lost focus.
--meaning that edit Visual can contain more
elements than just the usual ones and as such
we can now add a "Rearrangement" option to make
things easier to switch between live/static editing
--first commit to restructure editMode in order to
support livemode under editing. Live mode means
that all options changes during editMode will be
available to be tested directly
Summary:
This will make file references in .po/.pot files clearer for
translators.
Test Plan: none
Reviewers: mvourlakos
Reviewed By: mvourlakos
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19274
--this is critical because it does not open Latte at
first run. The fix is just to make sure that "latte"
directory will be created in case there isnt already
BUG: 404762
--Disable the hack for kwin effects because it has many
false results. e.g. when a window is maximized and
Latte or Plasma are showing their View settings
-- KWin Effects such as ShowDesktop have no way to be identified and as such
create issues with identifying properly touching and maximized windows. BUT when
they are enabled then NO ACTIVE window is found. This is a way to identify these
effects trigerring and disable the touch flags.
BUG: 404483
--the menu is sending the containment id to
Latte::Corona and afterwards calls for the menu
data. These data now are including also the view
type, memory usage, active layout name and of
course the full layouts list shown to menu.
This is improvement from D18918.
Summary:
--this way any part interested to know the
real type of Latte::View it can access the
all new type() property
Test Plan:
test view settings that indicate correctly
the panel/dock type
Reviewers: trmdi, #latte_dock
Reviewed By: trmdi
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18926
--move out from globalshortcuts functions that were
related to latte views functions such as sorting,
highest priority etc. All these were moved to their
appropriate places in layout manager or layout classes
--the user can disable "global shortcuts based
on position" by disabling the global shortcuts
for the first two latte items
--improve texts readability
BUG: 403880
--global shortcuts now tracks modifiers changes
and trys to do the best for the user.
1. When Meta is pressed and holded latte views are
shown
2. When Meta is clicked but without been holded then
the Application Launcher code path is preferred
3. Activating Latte entries does not follow the
Meta pressedAndHolded code path
4. Pressing any other modifier except Meta cancels the
Meta pressed code path
BUG: 403734
Summary:
Use `KModifierKeyInfo` to display shortcut badges while holding Super
BUG: 401768
Test Plan:
Just playing with it.
I still don't understand the `GlobalShortcut` class very well, correct me if I make any mistake.
Reviewers: #latte_dock, mvourlakos
Reviewed By: #latte_dock, mvourlakos
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18620
--there are deprecated applets that are not
used, I dont know under which circumstances
this ghost applet configurations are created,
they are shown more commonly under plasma
systrays
--when Latte crashes the global shortcuts from applets
remain untouched in kglobalshortcutsrc file. That fact
based on the Latte architecture that can alter applet
ids during layout loading can break the global shortcuts
experience by creating multiple global shortcuts records
for the same applet and by disabling some shortcuts because
these shortcuts are already enabled for ghost applets of
the crashed layout. This patch fixes this by removing all
applet global shortcuts during startup. Applet global shortcuts
are already saved in the layout file based on the current
plasma architecture, that fact simplifies things a lot.
BUG: 401184
--the Application Launcher triggering through global
shortcuts (codepath) was missing a release for
visibilitymanager in order to work correctly after
the applet trigerring.
BUG: 403471
--there were cases for small screen resolutions
that because the view settings windows did not
change its height, it was not changing its placement
to the side of the screen
--When the user has chosen a solid background when
there are windows touching the Latte panel then in
such case windows that are touching the panel not
just at the edge but at the at any point of the latte
panel are also considered as touching windows
--The "snapped" term that was used before in the
visibilitymanager was changed to "touching"
--there were cases that the focusOutEvent from
secondary config window was sent before the
primary config window has become active. In that
case all config windows were closing with no
reason
BUG: 402776
--when the user has enabled the monochrome colorizing
in that case in applet options there is now a new option
in order for the user to choose if wants or not that
applet to be colorized. Such an example are colorful
applets that lose their proper appearance through
monochrome option.
Summary:
- `timeout = 3000` is a bit short on some computer. Use `timeout = -1` will work for any case.
BUG: 401041
Test Plan: BUG: 401041 is fixed on my computer.
Reviewers: mvourlakos, #latte_dock
Reviewed By: mvourlakos
Tags: #latte_dock, #plasma
Differential Revision: https://phabricator.kde.org/D18258
Summary:
Currently, when dragging a window from the panel to move it, it breaks the autohide behaviour of active docks/panels. This change imitates a release event on X11 to circumvent these problems.
BUG: 403104
Reviewers: mvourlakos
Reviewed By: mvourlakos
Subscribers: plasma-devel
Tags: #latte_dock, #plasma
Differential Revision: https://phabricator.kde.org/D18194
--when containment changes status it was
unblocking the visibility manager. This patch
fixes that situation and the blocker remains
under editMode. This way the dock can not be
hidden when it is in editMode.
Summary: Fix minor typos in messages and comments
Test Plan: No major changes to prevent compilation and usage
Reviewers: mvourlakos
Reviewed By: mvourlakos
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17894
--the luminas functions didnt work well
for all cases. Latte is now using brightness
functions as described at:
https://www.w3.org/TR/AERT/#color-contrast
this patch fixes all cases mentioned in the bug
that Latte contrast identification did not work well
BUG: 402115
--in order to update window manager flags properly
in some cases a dock recreation is needed. But that
dock recreation when takes place when the user choses
to move its panel between different screens (that recreation
shouldnt be needed) in such case it creates crashes
-- Latte screen ids are different from plasma
screen ids. This class helps in order to help
translating the different screen ids between
Latte and Plasma.
--when color schemes from themes are used there are
cases that the WM records do not correspond to the
colors that the plasma theme will use. In such cases
the color scheme file that is passed to applets can
create colors inconsistencies. For this reason we
update the default color scheme in order for its
WM values to be consistent with the plasma theme.
For the record plasma theme is using Colors:View
group for its main colors.
BUG: 401431
--enable shadows by default on startup otherwise
the FrameSvgItem sets is imagepath to "" and that
can create a crash during loading/unloading a
layout