Commit Graph

61 Commits (5464018135fb2639a3deb0767cd50eac24b3a7a0)

Author SHA1 Message Date
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
Michail Vourlakos bdca8f58e8 simplify GenericLayout::latteViews call 6 years ago
Michail Vourlakos bbddfd3d48 REFACTOR:move code from Active to GeneralLayout
--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
6 years ago
Michail Vourlakos 7d0905e379 refactor: rename Layout to ActiveLayout
--first steps to abstract the Layout code in
different classes
6 years ago
Michail Vourlakos c735792c30 REFACTOR:replace all "foreach" statements 6 years ago
Michail Vourlakos 0b90411b1d IMPORTANT: All new Indicators architecture
--this huge commit contains all the changes needed
in order for Latte to load Indicators dynamically
from their own packages
6 years ago
Michail Vourlakos 15d5ac59ec improve calculations for vertical settings windows 6 years ago
Michail Vourlakos c3b3788fec calculate availableScreenGeometry properly
--use View::normalThickness in order to consider the
proper availableScreenGeometry
6 years ago
Michail Vourlakos 362d50a1fd support wallpaper slideshows 6 years ago
Michail Vourlakos dd4ae1865b improvements for color schemes under wayland 6 years ago
Michail Vourlakos d2ea33e236 sniff latte view id through contextData
--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.
6 years ago
Michail Vourlakos a375902442 support to send the viewType through dbus 6 years ago
Michail Vourlakos 20b76a182c add/enable option for MetaPressAndHold action
--user can now enable/disable the Meta pressAndHold
behavior that shows shortcuts badges. The new option
is located at Latte preferences.

BUG: 403840
6 years ago