Commit Graph

222 Commits (d208698143017c8d761220c1278df891feecc442)

Author SHA1 Message Date
Michail Vourlakos 02d3c37f93 view:drop contextmenu class
--use ContextMenuLayer internal quickitem
that is responsible for applets and containments
context menus from now on.
3 years ago
Michail Vourlakos 90e4ea28c4 introduce ContextMenuLayerQuickItem
--use plasma approach in order to show context menus
for applets by introducing a new QuickItem that will
be responsible for this at the bottom of applets and
containment layers
3 years ago
Michail Vourlakos b1d57051c2 wayland:support Plasma primaryscreen protocol
--use ScreenPool as reference for primary screen.
The new code uses PrimaryOutputWatcher class from
Plasma Shell in order to keep track of primary
screen at all cases.

BUG:448418
FIXED-IN:0.11.0
3 years ago
Ömer Fadıl Usta 8476a796d2 Spring cleaning with Qt5.15.x
Because of we increased min qt version to 5.15.x, we dont need these checks anymore
3 years ago
Michail Vourlakos 60095bba3b fix #96,FEATURE:AllScreens and AllSecondaryScreens
--This is a HUGE FEATURE and so important for multi-screens
users. It is introduced as one single commit because it
reimplements plenty of infrastructure changes and it will
be easier to identify newly introduced bugs.
--Users can now choose for their docks and panels to belong
at various screen groups. The first two screen groups introduced
are AllScreens and AllSecondayScreens. In the future it might
be possible to provide CustomScreensGroup that the user will
be able to define specific screens in which a dock or panel
should be always present.
--Current solution specifies an Original dock or panel and clones/copies
itself automatically to other screens. So docks and panels in other screens
are just real docks and panels that reference themselves to original
docks and panels.
--Clones are destroyed during layout startup and are automaticaly
recreated. It is suggested to export your layouts through the
official Layouts Editor in order to share them because in that case
clones are not included in the new generated layout file. If in any
case you do not this and you share your layout with any previous
versions then your clones will just appear as separate docks and
panels that belong to specific screens.
--Automatic syncing was introduced in order to keep up-to-date
the configuration of Original docks and panels with their referenced
Clones.
--Automatic syncing currently works for all docks and panels settings,
for all normal applets configurations and for all subcontaiments
configuration such as systrays.
--Automatic syncing does not work for applets inside subcontainments
such as Group Plasmoid. In such case it is suggested to configure
your applets inside your Group Plasmoid in the original dock or panel
and afterwards to trigger a recreation for the relevant clones
--Manual recreation of clones is easily possible by just choosing
the dock or panel to be OnPrimary or OnSpecificScreen and rechoosing
afterwards the AllScreensGroup or AllSecondaryScreensGroup
3 years ago
Michail Vourlakos 6fa1d1cc87 fix vertical docks/panels positioning
--identify correctly for vertical panels in right edge
when they need to draw or not their top and bottom borders.
This is enough in order to position properly these docks.

BUG:448519
FIXED-IN:0.10.8
3 years ago
Michail Vourlakos 0657ca1e4e x11:center applet config window on screen 3 years ago
Michail Vourlakos c4afa37465 view:unblock events when user undo removal
--this way when a dock or panel is scheduled for
removal but the user undo that removal all
events for main dock/panel window are forwarded
correctly. As  a side fix parabolic effect works
just fine now is such scenario.
3 years ago
Michail Vourlakos 765aa45c72 view:enable OnAllDesktops during creation
--try to avoid corner cases that wm ignores OnAllDesktops
flag for specific views during startup. This patch should
protect these corner cases.

BUG:447689
FIXED-IN:0.10.7
3 years ago
Michail Vourlakos fb4cfaa399 view:copy properly screen edge margin
Consider -1 as screen edge margin default value
and not zero. This way when duplicating a default
dock AllBorders are not enabled in the new dock.

BUG:446903
FIXED-IN:0.10.5
3 years ago
Michail Vourlakos aeb934d0fb improve smoothness of animations during startup
--This new approach paints all docks and panels during
starup offscreen. This way especially under x11 not a lot of
visual glitches are appearing all over the place.
After startup time has ended docks and panels are
moved at their original and valid placement and slide in
animations are triggered.
3 years ago
Michail Vourlakos 6a66dd0000 add missing signal 3 years ago
Michail Vourlakos a553f7403f position vertical docks/panels more accurately
--send more availableRect/Region changed signals
for more cases and as such all views update
their positioning properly.
--for example when a horizontal view updates its
offset or max length independent of its visibility mode
the neighbour vertical views need to update
and validate their position.
3 years ago
Michail Vourlakos 61d4ff64d8 support X11::GlobalScaling properly
--as it appears many users are using Plasma GlobalScaling
in conjuction with PLASMA_USE_QT_SCALING. This commit
provides plenty of fixes for that scenario in order to
make things workable.
--adjust X11::InputMask based on devicePixelRatio()
--adjust X11::GtkFrameExtents based on devicePixelRatio()
--adjust View::absoluteGeometry() based on devicePixelRatio()
--adjust WM::Tracker based on devicePixelRatio()
--adjust WM::AbstractInterface based on devicePixelRatio()

BUG:444222
FIXED-IN:0.10.3
3 years ago
Michail Vourlakos e822062668 disable "CanBeAboveFullscreen" properly
--fix how CanBeAboveFullscreen windows option can be
enabled/disabled properly and work correctly
--fix how Blur is handled for docks and panels that
can be AboveFullScreenWindows under X11. Blur is now
working correctly for them but of course GtkFrameExtents
do not work at all because they are intended to work
based on KWin implementation.

BUG:443536
3 years ago
Michail Vourlakos 63a54b40db unblock Meta event properly for all launchers 3 years ago
Michail Vourlakos 59360176ee dont block visibility function after Meta trigger
--Menu11 and SimpleMenu applets are using a custom
plasmoid approach in order to be able to position their
popups differently on the screen. This patch considers
this in a more generic way and does not use the default
codepath to show popups from these applets. More
importantly the Needs/RequiresAttention status is used
in order to determine the panel/dock visibility for
these applets.

BUG:441053
3 years ago
Michail Vourlakos d354cc4513 fix focus behavior when notes applet is used
BUG:443236
3 years ago
Michail Vourlakos 7eff55b793 wayland:multiple layouts load properly on activities 4 years ago
Michail Vourlakos 7bc31fc9ea support wayland activities since kf5>=5.81 4 years ago
Alexander Lohnau 505379ed04 Use spdx syntax for all files 4 years ago
Michail Vourlakos 76549a9f99 shortcuts:wait for view to fully shown properly
--the new approach is not using timers but actual
events from View in order to identify when the
view is fully shown and when their popup is actual
visible. This way popup showing and view slide-in
is always synchronized properly

BUG:425078
4 years ago
Michail Vourlakos 940bee9408 Latte::Quick use layout popUpMargin
--this way we can support three different
popup styles. Plasma/AllBorders/Far From Edge
4 years ago
Michail Vourlakos 18233dc6ee viewsdialog:support moving between active layouts 4 years ago
Michail Vourlakos 5fd18ee0af add LayoutsManager::moveView function
--moveView for active layouts under MultipleLayouts
becomes more generic and can be used either from
onscreens and offscreens views
4 years ago
Michail Vourlakos 945b8ba5ea expose margin values in pixels for the user
--margin values are in percentage, now the user
is able to hover over these values in order
to be informed how much they are calculated in
pixels
4 years ago
Michail Vourlakos 00a3d15478 fix #64,position views properly under wayland
--last week commit about beautiful slide in/out through
kwin infrastructure broke the wayland placement for
docks and panels. This commit fixes the issue
and at the same time provide beautifule slide in/outs
for docks panels during their creation and removal.
4 years ago
Michail Vourlakos aa608f1bf5 use ::storedView approach for Duplicate View 4 years ago
Michail Vourlakos 2c8d7134bd simplify Layout::newView calls
--template file is already provided from Data::View
so there is no real reason to expose it one
more time
4 years ago
Michail Vourlakos 1fac17d6ba Storage:update newView for views editor
--trying to support newView that works in all the
cases between inactive/active layouts
4 years ago
Michail Vourlakos 8c23f267ed smooth slide-in/out after startup and view removal 4 years ago
Michail Vourlakos 02ff6cc808 fixes for offline properties updates 4 years ago
Michail Vourlakos b235e6cc96 update view alignment to new architecture
--view alignment can now be updated either by
editdock window or through views dialog in
settings window
4 years ago
Michail Vourlakos 92f12b6f63 view:update move to layout
--update to new infrastructure that is able to
switch view location by combining multiple
changes at the same time
4 years ago
Michail Vourlakos be636de5ce viewsdialog:show view screen edge margin if any 4 years ago
Michail Vourlakos 5af4f9c434 provide name for views 4 years ago
Michail Vourlakos a7ac422b31 support running views data from Layouts::Storage 4 years ago
Michail Vourlakos 03bd034898 fix user changing screen behavior
--wait for the actual screen change to really
happen in order to reshow the dock afterwards

BUG:433876
4 years ago
Michail Vourlakos 965644ce2c add duplicate view in context menu 4 years ago
Michail Vourlakos 87ae24dae1 add myView.action() to reach view actions
-this way things are more clear how the actions
are applied and reordered
4 years ago
Michail Vourlakos a44c5fa821 provide remove dock action in context menu 4 years ago
Michail Vourlakos 26af7e4091 add functionality for ExportViewTemplate 4 years ago
Michail Vourlakos 7af60c802d provide isHidingBlocked through MyView Ability 4 years ago
Michail Vourlakos cfb382002b update containmentActions properly when recreating 4 years ago
Michail Vourlakos 52490c6d7c fix crash when updating indicators 4 years ago
Michail Vourlakos 0edbd9a66a widgets explorer: initialize windows flags earlier
--this way we avoid in wayland to draw window decoration
4 years ago
Michail Vourlakos 84d4d4cef7 provide latte internal widget explorer 4 years ago
Michail Vourlakos e404abde4e fix editThickness for latte panels 4 years ago
Michail Vourlakos f8cce7acfa fix normalThickness value 4 years ago
Michail Vourlakos 919b0cbf8c rename view property 4 years ago