1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-01-11 13:18:13 +03:00
Commit Graph

147 Commits

Author SHA1 Message Date
Michail Vourlakos
63187ce5b4 remove Latte library as requirement
--implement things simpler by using the same
CoreTypes header file both for LatteCore.Types
import statement and App c++ implementation.
Let's leave in the future to decide if
a LibLatte is really necessary.
2020-04-24 14:52:16 +03:00
Michail Vourlakos
2526ab7e17 rename to MemoryUsage::LayoutsMemory
--easier to read in the code as that type
provides:
MemoryUsage::SingleLayout
MemoryUsage::MultipleLayouts
2020-04-24 12:31:03 +03:00
Michail Vourlakos
6e4779e6ab require new official Latte library 2020-04-22 21:10:17 +03:00
Michail Vourlakos
ac3ccb5b98 try to support a public liblatte library 2020-04-22 14:09:42 +03:00
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
2020-04-18 13:39:45 +03:00
Michail Vourlakos
ce245ab253 ignore some windows in LastActiveWindow
--LastActiveWindow is providing information to
applets thus special windows that contain
the following flags:
skipTaskBar AND (skipPager OR skipSwitcher)
these windows can be totally ignored.
In such window case the LastActiveWindow used
are provided.

BUG:419384
2020-04-07 13:00:45 +03:00
Michail Vourlakos
f90e86fa88 introduce hasSkipPager/Switcher for window infos 2020-04-07 12:51:44 +03:00
Michail Vourlakos
1f92045873 update windowinfowrap code style
--make its code style like the one
used in other data classes
2020-04-07 12:44:08 +03:00
Michail Vourlakos
778dcc3e5a fix 5.38 compatibility for wayland case 2020-04-05 10:42:00 +03:00
Michail Vourlakos
0d29114664 whitelist krunner and yakuake windows 2020-03-26 14:16:04 +02:00
Michail Vourlakos
4d3b5e86e8 major refrest for wm(s), remove consts
--introduce also windows whitelist that can
be used in order to force tracking in some
windows
2020-03-25 18:40:48 +02:00
Michail Vourlakos
a651d9f731 wayland:ignore all popups 2020-03-25 15:03:19 +02:00
Michail Vourlakos
efaaf70297 x11: do not track popups at all cases 2020-03-25 14:50:01 +02:00
Michail Vourlakos
e951aa67b2 protect updating LastActiveWindow appData
--LastActiveWindow application data should be updated
only when the last active window id is equal with
the sent application data. Otherwise we may show
Application name and icon for totally irrelevant
window.

Bug was first reported at:
https://github.com/psifidotos/applet-window-title/issues/89/

FIXED-IN:0.9.10
2020-03-24 15:23:33 +02:00
Michail Vourlakos
f4c255952f disable some debug messages 2020-03-19 12:16:09 +02:00
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
2020-03-19 12:09:17 +02:00
Michail Vourlakos
2db252b769 fix warnings 2020-03-14 14:41:07 +02:00
Michail Vourlakos
d3a07b5371 improvements for multips views and sidebars 2020-03-07 21:24:06 +02:00
Michail Vourlakos
e6ba47daab add more ignore visibility modes for calculations
--when a view is loaded its visibility mode is not
set already, in that case ignore it from all the
availableScreenGeometries calculations
2020-03-07 18:43:18 +02:00
Michail Vourlakos
719c852c8c update availableScree...WithCriteria functions
--use ignoredModes/Edges instead of accepted ones in order
to make code more readable and easy to understand
2020-03-07 15:36:39 +02:00
Michail Vourlakos
d3b5e2c4eb remove gtk_frame_extents from window geometries
--under x11 environment remove the gtk_frame_extents that
are used for shadows under plasma environment

BUG:417856
2020-03-06 21:45:54 +02:00
Michail Vourlakos
b82d9dfdbe x11:validate windows added before accepting them
--this way when Plasma Desktop is reloaded or during
startup after Latte is loaded then Plasma desktop
window is still totally ignored.
2020-03-05 21:20:25 +02:00
Michail Vourlakos
4df139f34f ignore ksmserver fullscreen windows
--this way fullscreen windows from ksmserver
such as LogOut are totally ignored from Latte
for coloring,placement etc.
2020-03-02 10:05:43 +02:00
Michail Vourlakos
d5033d1bed improve latte wayland ids discovery
--introduce new waylad ids discovery implementation
for View::Positioner
2020-03-02 09:39:57 +02:00
Michail Vourlakos
5363433b00 ignore fullscreen windows from Plasma and Latte
--drop isPlasmaDesktop flag for windows and use the
new wm approach for plasmaIgnoredWindows
2020-02-29 17:57:59 +02:00
Michail Vourlakos
4b1580c0bd move View::HelperWindows in their own directory
--at the same time create a base SubWindow class for
all window helpers used by Views. Now ScreenEdgeGhostWindow
and FloatingGapWindow use the same window implementation
2020-01-22 19:45:13 +02:00
Michail Vourlakos
ad61f897af improve semantics 2020-01-22 13:51:18 +02:00
Michail Vourlakos
b681836232 expose WindowAbilities from LastActiveWindow API
--expose isClosable,isMinimizable, isMaximizable etc..
through the LastActiveWindow API for applets or containments
to use
2020-01-22 13:02:00 +02:00
Michail Vourlakos
80ceea98e2 respect plasma theme color palette always
--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
2020-01-12 10:52:45 +02:00
Michail Vourlakos
3b1676fb93 update caller for availablescreenrectwithcriteria 2020-01-04 19:42:35 +02:00
Michail Vourlakos
e0e6f5f6b3 improve semantics for WM::setActiveEdge 2020-01-03 21:18:01 +02:00
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
2019-12-29 14:09:37 +02:00
Michail Vourlakos
a0f9758350 wayland fix crash from visibility mode flag
--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.
2019-12-27 00:21:20 +02:00
Michail Vourlakos
dfd8bcdeca wayland improvements for WindowsAlwaysCover 2019-12-26 23:57:32 +02:00
Michail Vourlakos
7dd6696dfa wayland:fix crash from not found window 2019-12-26 22:15:08 +02:00
Michail Vourlakos
c88329d278 x11:improve experience for Windows Always Cover
--simplify also some parts from windows calling window
manager values
2019-12-26 21:58:21 +02:00
Michail Vourlakos
d9e18794c8 simplify keepabove/below calling
--start a bit to work with "Windows Always Cover"
visibility mode
2019-12-26 21:10:11 +02:00
Michail Vourlakos
3554c4a006 improve some functionality used 2019-12-26 17:25:56 +02:00
Michail Vourlakos
72777d18c1 add functionality to latte window manager
--the Latte window manager has gained now
functions in order to set the window flags
properly and to update KeepAbove/KeepBelow
flags for windows
2019-12-26 16:53:37 +02:00
Michail Vourlakos
945a034a8c remove deprecated SignalMapper at waylandinterface 2019-12-22 13:37:53 +02:00
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
2019-12-20 15:14:23 +02:00
Michail Vourlakos
2bd037f79a fix wrong criteria for isMaximized state 2019-12-09 22:39:12 +02:00
Michail Vourlakos
7c77270f0b consider as isMaximized state only full screen case
--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
2019-12-09 22:21:48 +02:00
Michail Vourlakos
e05c5e2515 ignore plasma side-style panels/windows
--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
2019-11-22 00:28:27 +02:00
Michail Vourlakos
6b5f4a952a dont drag/maximize windows from different desktops
--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
2019-11-13 14:25:43 +02:00
Michail Vourlakos
f63200988e ignore Plasma panels in Latte heuristics 2019-11-02 16:53:27 +02:00
Michail Vourlakos
a946e485e0 indent fixes 2019-11-02 16:53:18 +02:00
Michail Vourlakos
36f7834cff fix typo that was creating an error build
BUG:413735
2019-11-02 16:50:29 +02:00
Michail Vourlakos
4ff84b4bde optimize delayed application data updating
--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
2019-10-31 17:37:23 +02:00
Michail Vourlakos
d5b7694d4d update application data after 1500ms from startup
--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
2019-10-31 17:07:08 +02:00