IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
--we introduce handlers that are going to be
responsible for the ui parts of settings windows.
So having data structures, MVC for models/tables that
are used and Handlers for any ui interaction
simplify the implementation and make it more
structured in order to be maintained and grow
safely.
--this way the model items can become aware
of all data changes and become visual
responsive accordingly. All changed data
should use the italic paradigm... If a
value is changed from its original value
can become italic in order for the user
to know which values have changed.
--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.
--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
--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.
--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.
--when the user has altered the free_activities from
its context menu then settings window it must better
update its record concerning the layout that will
be responsible for free activities
--the new controller will take all functionality
from Layouts model that is currently found in settings
window and that way the settings window will be
simplified and is going to be responsible only for
the UI elements of the window and NOT the QTableView
internals
--the new implementation will provide all Activites
and everything else will be updated automatically
--also a default option is introduced which describes
which layout will be used for the free layouts and
the user will be able to alter this easily
--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
--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
--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.
--the orphaned-central layout should NOT be loaded
when it has already been loaded as SHARED layout for
other CENTRAL layouts in a MULTIPLE LAYOUTS environment
BUG:417886
FIXED-IN:0.9.9
--dont mess the old migrating process during startup
with a new user that uses Latte for first time. This
is a very important step during startup otherwise the
entire Latte experiences instability.
BUG:417886
FIXED-IN:0.9.9
--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