Commit Graph

73 Commits (2aa010b5f38a251dcad1e0610674f452863d495f)

Author SHA1 Message Date
Michail Vourlakos 631837e199 Tasks fixes for disableAllWindowsFunctionality 5 years ago
Michail Vourlakos 383e365f82 update availableScreenRegionWithCriteria
--the new implementation is much simpler and takes into
account all alignment types and view dock/panel modes
5 years ago
Michail Vourlakos 9be7822b98 upgrade to LatteApp.Interfaces containment access 5 years ago
Michail Vourlakos deb9c244ff improve/support BackgroundTracker in app
--the new implementation is much improved and easy
to support. No workaround and direct use of the
libraries
5 years ago
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.
5 years ago
Michail Vourlakos 2526ab7e17 rename to MemoryUsage::LayoutsMemory
--easier to read in the code as that type
provides:
MemoryUsage::SingleLayout
MemoryUsage::MultipleLayouts
5 years ago
Michail Vourlakos 9c57f9db4b introduce AppTypes.MouseSensitivity 5 years ago
Michail Vourlakos dbee0a81df fix typo in availableScreenRectWithCriteria 5 years ago
Michail Vourlakos e525596a04 refactor:split Latte Types to Tasks and Types
--move also irrelevant types to their owner. For
example LayoutsPage is moved to Settings::Dialog
namespace
5 years ago
Michail Vourlakos f9c024095c ignore View real panel movements for desktop space
--when real panel views are slided out either for auto
hiding, dodge case or dynamically removing their screen
margin the desktop available space should not be
changed; it should stay the same.
5 years ago
Michail Vourlakos df844ed171 drop double reference in corona 5 years ago
Michail Vourlakos 11798211a9 multiple fixes for imports/exports
--import/export full configurations are now
moved to File menu and move out their
implementation from Import/Export layouts
5 years ago
Michail Vourlakos d1faaedc59 improve availableScreen..WithCriteria api
--improve its semantics in order to be more
understandable
5 years ago
Michail Vourlakos 0b2be421eb IMPORTANT:Multiple docks/panels in same edge
--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
5 years ago
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
5 years ago
Michail Vourlakos 57d1bf1f43 add quit application to contextmenu actions
--easier way for some to quit Latte by just
right clicking on the docks/panels

BUG:417486
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 d071e3be33 publish available screen geometries to Plasma
--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
5 years ago
Michail Vourlakos 0458d53ec9 Left/RightEdge calculations for availableScrRegion
--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.
5 years ago
Michail Vourlakos 266499a485 support dialogs/background for dock settings wins
--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
5 years ago
Michail Vourlakos 8946ded107 improve availableScreenR*WithCriteria functions 5 years ago
Michail Vourlakos d0aa28a60d dock settings window not overlap plasma panels
--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.
5 years ago
Michail Vourlakos d9e18794c8 simplify keepabove/below calling
--start a bit to work with "Windows Always Cover"
visibility mode
5 years ago
Michail Vourlakos 2501c6169d fix compatibility with qt>=5.14
--fix qml register type for deprecated
code reference
5 years ago
Michail Vourlakos dc0a9a8f22 Import and Load layout runtime through dbus
--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
5 years ago
Michail Vourlakos cb9d978558 remove deprecated qApp::screenCountChanged
--use only screenAdded/Removed instead
5 years ago
Michail Vourlakos b94f87f144 rename trackerwindows to windowstracker
-- in order to distinguish it from the neighbour
tracker classes
6 years ago
Michail Vourlakos b71baccc14 fix screenForContainment in MulitpleShared mode 6 years ago
Michail Vourlakos 353f7119cc move Tracker::Enabled to View::WindowsTracker
--previously it was found in the consumers of
View::WindowsTracker (CurrentScreenTracker and
AllWindowsTracker)
6 years ago
Michail Vourlakos c0e3004717 add LastActiveWindow debug records
--in DebugWindow
6 years ago
Michail Vourlakos 53d24fe2c6 forward LastActiveWindow to QML 6 years ago
Michail Vourlakos 99ec9cb2fd move WM:Trackers in its own directory 6 years ago
Michail Vourlakos a8a19bb550 support VirtualDesktops for kwayland>=5.52
--This of course needs Plasma>=5.15

BUG: 398106
6 years ago
Michail Vourlakos 133c301b65 register SchemeColors as qml metatype 6 years ago
Michail Vourlakos 48d3728005 REFACTOR:Introduce SchemesTracker for WM 6 years ago
Michail Vourlakos ad788130ab REFACTOR:add WindowSystem namespace 6 years ago
Michail Vourlakos a661fbb032 refactor:drop LAYOUTSMANAGER apis moved to SYNCHER 6 years ago
Michail Vourlakos bea8247b84 refactor:move syncActiveShares to Synchronizer 6 years ago
Michail Vourlakos c4b226def5 REFACTOR:Add Synchronizer for Layouts::Manager
--Split the Layouts::Manager to Synchronizer and
Manager classes. The Synchronizer is responsible
to keep all Active layouts in sync with user
preferences
6 years ago
Michail Vourlakos 8c3d658a0d refactor:move Importer to "layouts" folder 6 years ago
Michail Vourlakos d426ecb50f refactor:launcherssignals moved to "layouts" folder 6 years ago
Michail Vourlakos a27ff3ec48 REFACTOR:Update LayoutManager to Layouts::Manager
--create "layouts" own directory in order to host
all LAYOUTS management/control code and classes
6 years ago
Michail Vourlakos 1f14405e63 REFACTOR: rename Active TO -> CENTRALLAYOUT 6 years ago
Michail Vourlakos 04e7f333c5 dont compute innershadow for available screen area 6 years ago
Michail Vourlakos cf0f22b44d fix crash,protect connector() calls
--connector calls must be done only when we
are sure that a screen id has already been
assigned

BUG: 407128
6 years ago
Michail Vourlakos 6505e8797f send mouse signals from View to containment
--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.
6 years ago
Michail Vourlakos b35fa94307 reduce availableScreenGeometry calls 6 years ago
Michail Vourlakos e2ccad62d9 RENAME TopLayout to SharedLayout
--Shared is a better term to describe these
layouts that can be Shared and be OnTop of
other layouts in Multiple Mode
6 years ago
Michail Vourlakos 0cb2bb38af plenty of fixes for TopLayouts and multi-screen(s) 6 years ago
Michail Vourlakos 6620cf54bd plenty fixes updates for MultipleTopLayouts 6 years ago