Commit Graph

121 Commits (1398747bb838882b0bf3e18aee7f8c2d09dbaa31)

Author SHA1 Message Date
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
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
Michail Vourlakos 5db22022c1 refactor:cleanup globalshortcuts
--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
6 years ago
Michail Vourlakos b15bd24218 refactor:move shortcutsEngine to its own class
--in that way all environment related shortcuts
management (e.g. plasma related shortcuts) is moved
in its own class
6 years ago
Michail Vourlakos aae2ecc78b refactor:update names in globalshortcuts
--use Latte View as a reference instead of the
deprecated Latte Dock
6 years ago
Michail Vourlakos 608275cc6b refactor:move modifiers code at its own class 6 years ago
Yuri Chornoivan 8d7110f761 Fix minor typos
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
6 years ago
Michail Vourlakos 3b8c52cc59 refactor:move lattepackage to simpler directory 6 years ago
Michail Vourlakos 0497c2c960 add PlasmaScreenPool to help with screen ids
-- 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.
6 years ago
Michail Vourlakos 2244cae8bc refactor:move PlasmaThemeExtended to better path 6 years ago
Michail Vourlakos 1ab99761a1 REFACTOR:Update Dock types to new Latte2::Types 6 years ago
Michail Vourlakos 185dd39e5c refactor:rename dock terms to view terms 6 years ago
Michail Vourlakos 25d9d4ed17 refactor:rename DockCorona to Latte::Corona 6 years ago