1
0
mirror of https://github.com/KDE/latte-dock.git synced 2024-12-25 19:21:41 +03:00
Commit Graph

1993 Commits

Author SHA1 Message Date
Michail Vourlakos
4f92222863 user Layouts::Manager for currentLayoutName 2020-03-21 13:47:32 +02:00
Michail Vourlakos
92c0a68a19 update active states differently for singlelayout 2020-03-21 13:33:53 +02:00
Michail Vourlakos
0534c33ff8 reduce publish geometries interval to 1000ms 2020-03-21 13:23:15 +02:00
Michail Vourlakos
6188888840 update infoview to be ignored properly 2020-03-21 13:06:03 +02:00
Michail Vourlakos
70359602b8 apply activities at views andcurrentActivitychanges 2020-03-21 12:44:52 +02:00
Michail Vourlakos
93d7422059 dont use too often, costly kwinrc tracking 2020-03-21 12:23:32 +02:00
Michail Vourlakos
0ff8f2b74f force plasmageometries updates for activitieschange 2020-03-21 12:10:19 +02:00
Michail Vourlakos
850b058ecd fix layouts data broadcasting when applying 2020-03-21 01:54:45 +02:00
Michail Vourlakos
ad8723ce4f fix, save temporary layouts when user applied 2020-03-21 01:46:33 +02:00
Michail Vourlakos
f954999b12 drag n' drop layout files in layouts editor 2020-03-21 01:29:38 +02:00
Michail Vourlakos
252ebcaa19 refactor preferences settings handling
--we introduce handlers that are going to be
responsible for the ui parts of settings windows.
So having data structures, MVC for models/tables that
are used and Handlers for any ui interaction
simplify the implementation and make it more
structured in order to be maintained and grow
safely.
2020-03-20 23:53:15 +02:00
Michail Vourlakos
fe7f35b9bf remove boldness from preferences settings 2020-03-20 18:50:17 +02:00
Michail Vourlakos
2256a8b855 update last-1 column width properly 2020-03-20 18:41:23 +02:00
Michail Vourlakos
1113f942b1 provide feedback to the user in layouts view
--provide feedback to the user for which layout
options have been altered. This is achievable
by providing italicness to these options.
2020-03-20 18:19:29 +02:00
Michail Vourlakos
9faa3cac86 meaning sortings for layouts model 2020-03-20 16:02:31 +02:00
Michail Vourlakos
c62ff66ffd validate layouts data to follow userrole
--all layouts table cell user Qt::UserRole as
the first role to user for their data and any
subdata should use an explicitly-set
LAYOUTUSERROLE
2020-03-20 16:02:31 +02:00
Michail Vourlakos
f6aeea9980 move original data into layouts model
--this way the model items can become aware
of all data changes and become visual
responsive accordingly. All changed data
should use the italic paradigm... If a
value is changed from its original value
can become italic in order for the user
to know which values have changed.
2020-03-20 16:02:31 +02:00
Johnny Jazeix
ebaf3aebee fix build for Qt < 5.14 2020-03-20 09:17:36 +01:00
Michail Vourlakos
4ad3880579 update PLASMAPANEL geometry immediate after hiding
--behaveAsPlasmaPanel can now slide in/out as real windows
but after they hide there is a chance that their geometry
should be updated. This patch makes sure that this will
happen exactly before the BEHAVEASPLASMAPANEL starts
sliding-in.
2020-03-19 22:12:59 +02:00
Michail Vourlakos
466129c1d0 update shared layouts activities icons 2020-03-19 18:56:03 +02:00
Michail Vourlakos
7dacde2d3a update Preferences settings to follow KDE HIG 2020-03-19 18:21:13 +02:00
Michail Vourlakos
87f6330816 slide in/out nicely when hideThickScreenGap
--when the user has chosen to hide the screen gap
when there is a maximized window in the screen and
at the same time the View behaves as plasma panel,
it now slides in/out nicely
2020-03-19 15:32:36 +02:00
Michail Vourlakos
338159c01f calculate better the screen edge margin 2020-03-19 13:47:04 +02:00
Michail Vourlakos
c9c61818a4 force kwinedge for behaveAsPlasmaPanels
--this way we make sure that the user will be
able to trigger showing with mouse at the screen
edge. Using the window mask to succeed in this
in not an option.
2020-03-19 13:35:31 +02:00
Michail Vourlakos
43d91c9b63 drop QRect::setX/Y from all classes
--they can change the QRect width and height
and this is not the desired behavior.
moveLeft/Top are much better replacements.
2020-03-19 12:54:20 +02:00
Michail Vourlakos
73b3fb234f drop QRect::setX/Y from View
--change them with moveTop/Left which provide
the exact math calculations that are needed
for geometries. Functions setX/Y must be
avoided because they may change the width
and height values.
2020-03-19 12:45:23 +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
3246ce2447 update free activities flag from external changes
--when the user has altered the free_activities from
its context menu then settings window it must better
update its record concerning the layout that will
be responsible for free activities
2020-03-19 02:21:31 +02:00
Michail Vourlakos
b960a8579e use all cell height for free activities icon 2020-03-19 01:56:01 +02:00
Michail Vourlakos
2bc4e63431 fix a case to autoupdate free_activities_id
--when free_activities layout becomes shared
then another layout should become responsible
for FREE_ACTIVITIES
2020-03-19 01:44:52 +02:00
Michail Vourlakos
97e5345f40 update shareto line settings indicator
--improve its appearance in general and its
behavior also
2020-03-19 01:22:04 +02:00
Michail Vourlakos
20602acbfb provide nice icons for layouts from activities 2020-03-18 20:28:19 +02:00
Michail Vourlakos
df844ed171 drop double reference in corona 2020-03-18 17:39:19 +02:00
Michail Vourlakos
c59dc52e1e move activities logic out of activity delegate
--all activities information/data for activities
and layouts are now handled properly from the
layoutsmodel in settings
2020-03-18 17:34:09 +02:00
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
2020-03-18 13:40:42 +02:00
Yuri Chornoivan
e61445d5cc Fix minor typos: <i/> -> <i> 2020-03-18 09:02:05 +02:00
Michail Vourlakos
652cbb0041 add layout actions to Layout menu
--improve vastly how actions in the layout menu
and Layout push buttons use the same code and
shortcuts in order to work correctly
2020-03-17 21:13:33 +02:00
Michail Vourlakos
e9ec4ea266 add shortcuts for layouts editor 2020-03-17 17:06:15 +02:00
Michail Vourlakos
7a11aa93c0 improve settings window Esc key handling 2020-03-17 16:25:08 +02:00
Michail Vourlakos
b6b34b06de validate layout name icons colors 2020-03-17 15:51:38 +02:00
Michail Vourlakos
5323e7832c internal messages intervals 2020-03-17 14:29:40 +02:00
Michail Vourlakos
07df968fde update layouts states after reseting layouts data 2020-03-17 14:17:34 +02:00
Michail Vourlakos
6e09bb5601 drop KNotifications from settings window
--introduce a new dependency for KIO, it works
really nice in order to open files in filemanager
and selecting them
2020-03-17 14:06:38 +02:00
Michail Vourlakos
01bab50d67 add more inline message for adding layouts 2020-03-17 12:40:15 +02:00
Michail Vourlakos
3e3b455a53 introduce kmessagewidget in settings window
--use the nicely look kmessagewidget in order to
show inline internal messages to the user
2020-03-17 10:53:27 +02:00
Michail Vourlakos
300f4a364f add alignment for backgroundcolumn 2020-03-16 23:09:08 +02:00
Michail Vourlakos
22a9416583 fixes for assigned layouts handling 2020-03-16 21:03:14 +02:00
Michail Vourlakos
ba94546cb4 multiple fixes for single layout case 2020-03-16 19:41:18 +02:00
Michail Vourlakos
748ca87bb8 simplify code for switch button-single layout 2020-03-16 18:17:17 +02:00
Michail Vourlakos
0724124f63 set settings on all activities
--simplify pause button and switch button
codes
2020-03-16 17:41:42 +02:00
Michail Vourlakos
68f2ab9c47 improve switch button enablement 2020-03-16 17:12:36 +02:00
Michail Vourlakos
8c97dcecc5 update shared visual properly 2020-03-16 16:55:48 +02:00
Michail Vourlakos
2ad1a040b4 introduce custom headerview for layouts 2020-03-16 16:50:53 +02:00
Michail Vourlakos
92f37eef8c improve alignments for layouts delegates 2020-03-16 15:43:21 +02:00
Michail Vourlakos
9a3918763b settings,improve layouts header visual 2020-03-16 14:35:39 +02:00
Michail Vourlakos
79936a662d improve background circle visual 2020-03-16 13:31:53 +02:00
Michail Vourlakos
4deaa3bc0b make Shared button proxy model aware 2020-03-16 13:18:59 +02:00
Michail Vourlakos
a7ecd549b0 drop dataAreAccepted in settings window
--this is not needed any more, data should
always be valid
2020-03-16 13:02:13 +02:00
Michail Vourlakos
94e5a04de2 make copy layout function proxy aware 2020-03-16 12:59:50 +02:00
Michail Vourlakos
37cac2ca81 reject duplicate layout names in settings 2020-03-16 12:36:43 +02:00
Michail Vourlakos
880ed9638e introduce proxy model for layouts in settings 2020-03-16 12:04:18 +02:00
Michail Vourlakos
bddc04d371 inform controller for inserted rows 2020-03-16 11:40:23 +02:00
Michail Vourlakos
00f4e4cd22 fix crash from layouts reset functionality 2020-03-16 11:20:24 +02:00
Michail Vourlakos
00e6fbba5b update synchronizer semantics to freeactivities 2020-03-16 11:02:17 +02:00
Michail Vourlakos
0d39ee6f55 settings:always a layout is set for freeactivities 2020-03-16 10:48:21 +02:00
Michail Vourlakos
93a8ae3ff2 improvements for Layouts Editor 2020-03-16 02:03:12 +02:00
Michail Vourlakos
3b85867c56 introduce setLayoutForFreeActivities 2020-03-16 01:16:56 +02:00
Michail Vourlakos
abc4ca4308 layouts settings tab improvements 2020-03-16 00:45:31 +02:00
Michail Vourlakos
8be38bf7dc apply current names after layouts saving 2020-03-16 00:35:35 +02:00
Michail Vourlakos
671f413a3e introduce Reset button 2020-03-16 00:16:36 +02:00
Michail Vourlakos
7acde8be5d update SharedTo column visibility properly 2020-03-15 23:48:49 +02:00
Michail Vourlakos
c0d8116e7b visual improvements for settings delegates 2020-03-15 17:58:13 +02:00
Michail Vourlakos
7dbfb1184b settings window improvements 2020-03-15 17:06:23 +02:00
Michail Vourlakos
3122103f6c save column widths properly in settings window 2020-03-15 16:46:17 +02:00
Michail Vourlakos
1e855f2472 dont crash when saving a new layout 2020-03-15 16:36:28 +02:00
Michail Vourlakos
d418abbeb4 remove deprecated code from settings dialog 2020-03-15 16:28:29 +02:00
Michail Vourlakos
45e3531ad3 move logic out of settings dialog
--layouts controller in settings window
should take ownership for all logic
related to layouts model/view
2020-03-15 16:20:29 +02:00
Michail Vourlakos
01bb785999 rename editedName to currentName for layout data
--improve semantics for layout data in settings
window
2020-03-14 18:44:45 +02:00
Michail Vourlakos
4437472fa9 simplify shares map create/sync in settings window 2020-03-14 17:50:28 +02:00
Michail Vourlakos
4de91c535c remove deprecated code 2020-03-14 16:47:05 +02:00
Michail Vourlakos
e29b5a3e38 update layout removing in settings window 2020-03-14 16:37:48 +02:00
Michail Vourlakos
60d24144b5 update layouts settings data classes 2020-03-14 16:14:28 +02:00
Michail Vourlakos
264b2b7568 remove deprecated settings window functions 2020-03-14 15:46:41 +02:00
Michail Vourlakos
828bacce33 update share_id automatic when layout_id changed 2020-03-14 15:39:00 +02:00
Michail Vourlakos
c6e8f6f032 introduce layouts controller for MVC approach
--the new controller will take all functionality
from Layouts model that is currently found in settings
window and that way the settings window will be
simplified and is going to be responsible only for
the UI elements of the window and NOT the QTableView
internals
2020-03-14 15:18:26 +02:00
Michail Vourlakos
6ff1102e1f update qt5 deprecated code 2020-03-14 14:50:37 +02:00
Michail Vourlakos
2db252b769 fix warnings 2020-03-14 14:41:07 +02:00
Michail Vourlakos
154000345d fix some warnings for shareddelegate 2020-03-14 13:54:20 +02:00
Michail Vourlakos
aa4a6061cd improve semantics for settings 2020-03-14 13:45:25 +02:00
Michail Vourlakos
9a104340bb simplify code for background cmbbox 2020-03-13 19:07:20 +02:00
Michail Vourlakos
c39a50f253 rename colorscmb to backgroundcmb
--improve delegate name
2020-03-13 19:01:42 +02:00
Michail Vourlakos
5f3007ed93 simplify colors combobox in layouts editor 2020-03-13 18:54:30 +02:00
Michail Vourlakos
49e203de86 fixes for shared column delegate behavior 2020-03-13 17:59:13 +02:00
Michail Vourlakos
46e44606bc update editor shared delegate to new model 2020-03-13 16:11:26 +02:00
Michail Vourlakos
44c1abcf73 update settings activities delegate
--drop totally deprecated activities delegate
code
2020-03-13 14:33:39 +02:00
Michail Vourlakos
d4ed1aa609 update settings Activites delegate 2020-03-13 13:15:06 +02:00
Michail Vourlakos
6e66907957 update settings Layout name delegate 2020-03-13 12:33:40 +02:00
Michail Vourlakos
e5baecfb9f visual for layout name was edited 2020-03-13 12:16:56 +02:00
Michail Vourlakos
a9bc5aa19f introduce original/edited Named in layout data 2020-03-13 12:08:54 +02:00
Michail Vourlakos
4428d4b083 support setData function for layouts model
--initial support for this
2020-03-12 20:33:31 +02:00
Michail Vourlakos
4874b254dd fix sharedcolumn and introduce some editable items 2020-03-12 19:23:24 +02:00
Michail Vourlakos
bab5564d0a remove deprecated settings window code 2020-03-12 18:39:13 +02:00
Michail Vourlakos
70c8841646 update layouts headers 2020-03-12 18:34:52 +02:00
Michail Vourlakos
b55447764a update layouts checkdelegates for new model 2020-03-12 16:40:33 +02:00
Michail Vourlakos
401a56a8a4 support loading in the new model 2020-03-12 15:12:13 +02:00
Michail Vourlakos
5e75b889e0 introduce initial LayoutsModel 2020-03-12 11:53:37 +02:00
Michail Vourlakos
be4e088f5e use QList for layoutsdata
--add isActive flag for Data::Layout
2020-03-11 15:46:25 +02:00
Michail Vourlakos
f81d535468 drop old originalLayoutNames list 2020-03-10 21:56:58 +02:00
Michail Vourlakos
09c599a2d7 update how layouts settings are stored in editor 2020-03-10 21:01:01 +02:00
Michail Vourlakos
7bb01f150a support new layouts data for settings 2020-03-10 20:37:01 +02:00
Michail Vourlakos
1ee24adbbd update "FreeActivities" during apply 2020-03-10 19:35:34 +02:00
Michail Vourlakos
fca4db5962 support font style for FreeActivities record 2020-03-08 21:40:20 +02:00
Michail Vourlakos
5f7bcf565d remove old code for activities in settings window
--remove relevant deprecated code that is not needed
in the new implementation
2020-03-08 20:56:26 +02:00
Michail Vourlakos
43de9b509b update activities combobox implementation
--the new implementation will provide all Activites
and everything else will be updated automatically
--also a default option is introduced which describes
which layout will be used for the free layouts and
the user will be able to alter this easily
2020-03-08 20:52:44 +02:00
Michail Vourlakos
1d8fe4541c Important:fix localGeometry calculations
--and add also new visual debug mode for
localGeometry calculations
2020-03-08 10:27:16 +02:00
Michail Vourlakos
38d7ec5c2e prevent user from switching to shared layouts 2020-03-08 02:14:13 +02:00
Michail Vourlakos
5464018135 fix crashes and update share ids runtime in model 2020-03-08 02:03:26 +02:00
Michail Vourlakos
d164f06354 fix wrong mis-assignment of Shared layouts
--when an active central layout was changing
from one shared layout to another the new
shared layout was not loaded properly
2020-03-08 00:44:06 +02:00
Michail Vourlakos
ab09e56d56 dont close settings dialog with Enter key 2020-03-08 00:00:28 +02:00
Michail Vourlakos
d3a07b5371 improvements for multips views and sidebars 2020-03-07 21:24:06 +02:00
Michail Vourlakos
d1faaedc59 improve availableScreen..WithCriteria api
--improve its semantics in order to be more
understandable
2020-03-07 18:58:05 +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
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
2020-03-07 18:30:22 +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
f31cc660b4 send QRegion through dbus as QList<QRect>
BUG:418559
2020-03-07 10:20:55 +02:00
Michail Vourlakos
9f4d961f32 Revert "change QRegion to QList for dbus plasma call"
This reverts commit a7f786d87f.
2020-03-07 10:16:57 +02:00
Michail Vourlakos
a7f786d87f change QRegion to QList for dbus plasma call
--change how dbus arguments are sent to Plasma
and a QList arguments for this

BUG:418559
2020-03-07 07:47:52 +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
ab83bc5b2e fixes for BLUR in live editMode
--add also missing signal in Effects to updateEffects
when enabledBorders are changed
2020-03-05 22:11:06 +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
57d1bf1f43 add quit application to contextmenu actions
--easier way for some to quit Latte by just
right clicking on the docks/panels

BUG:417486
2020-03-05 20:09:22 +02:00
Michail Vourlakos
e2596b905c fix topbottom borders check in editmode 2020-03-02 19:01:51 +02:00
Michail Vourlakos
dd1a7b72c7 validate top/bottom borders for vertical panels
--make the top/bottom borders identification much
smarter in order to identify in they must be drawn.
There are many corner cases that these borders should
be drawn, for example when a vertical top aligned
panel is half shown its top border because of a
top panel
2020-03-02 18:56:27 +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
67d0ca76dd new wayland id discovery for helper windows 2020-03-02 09:39:57 +02:00
Michail Vourlakos
6bc604feca new wayland id discovery for settings windows 2020-03-02 09:39:57 +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
47f79db2ec improve show/hide functions of visibilitymanager
--test the new code both for x11 and wayland and check
out that it does not create crashes or any other new
bugs
2020-03-02 09:39:57 +02:00
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
2020-03-01 18:20:23 +02:00
Michail Vourlakos
eb2d9a0190 fix blur for behaveAsPlasmaPanels 2020-03-01 18:18:45 +02:00
Michail Vourlakos
f689fc64e5 drop deprecated code
--no real reason to force shadows for
vertical real panels any more
2020-03-01 18:07:06 +02:00
Michail Vourlakos
72992b8bf5 fix missing calculation for behavingAsPlasmaPanel 2020-03-01 17:37:03 +02:00
Michail Vourlakos
9d30eb6257 support stick options for vertical views
--the user can now choose for vertical views to
stick their edges at the top or bottom screen edge
and ignore any top or bottom views accordingly. These
options are available in the Transparent Settings
area for vertical views and in advanced settings
mode.
2020-03-01 10:35:45 +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
l10n daemon script
417152bf89 GIT_SILENT made messages (after extraction) 2020-02-26 02:41:34 +01:00
Michail Vourlakos
ad58783ae5 dont load orphaned-central layout when shared
--the orphaned-central layout should NOT be loaded
when it has already been loaded as SHARED layout for
other CENTRAL layouts in a MULTIPLE LAYOUTS environment

BUG:417886
FIXED-IN:0.9.9
2020-02-23 10:29:26 +02:00
Michail Vourlakos
af712c6ac4 IMPORTANT:fix first run initialization
--dont mess the old migrating process during startup
with a new user that uses Latte for first time. This
is a very important step during startup otherwise the
entire Latte experiences instability.

BUG:417886
FIXED-IN:0.9.9
2020-02-23 10:29:26 +02:00
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
2020-02-22 14:30:02 +02:00
l10n daemon script
430b910403 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-02-11 05:42:41 +01:00
l10n daemon script
41a861cd0f GIT_SILENT made messages (after extraction) 2020-02-11 02:39:12 +01:00
Michail Vourlakos
3220bfefbd dont add meta view in hiding views
--when the user is triggering an application
launcher that is a popup in a hidden view
it is not needed to enforced hidden afterwards.
The blockHiding will be released automatically
when the application launcher popup is closed.

BUG:417239
2020-02-08 23:28:39 +02:00
Michail Vourlakos
1162b1e302 fix blur regions calculations
--do not send faulty blurred regions to KWin

BUG:417254
2020-02-08 10:53:56 +02:00
Michail Vourlakos
9cfdd253a8 second fix for Qt API WheelEvent breakage 2020-02-01 17:56:53 +02:00
Michail Vourlakos
5df6935c3c fix Qt API breakage from QWheelEvent 2020-02-01 17:46:08 +02:00
Michail Vourlakos
8e614468bc imrove applets scroll wheel activation
--the new implementation works at all cases even
when the ParabolicEffect MouseArea is not really
enabled (e.g. real panels)
2020-01-31 18:00:17 +02:00
Yuri Chornoivan
734c191578 Use safe hardcoded value for ProvidersUrl
https://marc.info/?l=kde-core-devel&m=158043297319851&w=2
2020-01-31 11:58:46 +02:00
Michail Vourlakos
8ab5779bcb compute blur area correctly on startup
--improve calculations for Effects area during startup
and at the same time when the dock is totally hidden
so it should not paint any effects area at all.

BUG:416928
FIXED-IN:0.9.9
2020-01-30 22:02:53 +02:00
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.
2020-01-22 21:36:30 +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
a0582ac409 improve FloatingGapWindow creation/deletion
--create FloatingGapWindow the first time needed
from VisibilityManager if it is not already created.
--remove FloatingGapWindow when View::screenEdgeMarginEnabled
is disabled
2020-01-22 14:06:53 +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
3f68665300 introduce floating gap window
--this window responsibility is to check
if the mouse is still inside the real floating
gap and in such case to prevent the dock from
hiding
2020-01-22 00:28:07 +02:00
Michail Vourlakos
35ce0496ec periodically checking containmouse after slidein 2020-01-22 00:28:07 +02:00
Michail Vourlakos
b32171fe21 Revert "hide timer for floating views"
This reverts commit 706a80cae3.
2020-01-22 00:28:07 +02:00
l10n daemon script
3593ed48c6 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-01-19 05:31:57 +01:00
l10n daemon script
2b8978c2b4 GIT_SILENT made messages (after extraction) 2020-01-18 02:38:35 +01:00
Michail Vourlakos
87f2f7e644 dont update dock settings mask for compositing
--follow PlasmaQuick::Dialog:Popup window approach
and dont apply any mask when compositing is active
2020-01-16 19:26:54 +02:00
Michail Vourlakos
670c0cf405 remove debug message 2020-01-16 18:51:40 +02:00
Laurent Montel
fc5c5c0b0c It alreadys adds by kaboutdata 2020-01-15 13:48:24 +01:00
Michail Vourlakos
b7e1f6b142 introduce new PlasmaTabStyle indicator
--this indicator is used only internally from Latte
in order to draw default plasma applets tab style
indicators when the user has chosen to not draw
latte specific indicators. A good example of its
usage is when the plasma theme contains tabbar
indicator which is used in applets and the Latte
overlayed icon applets need to use the same visual
with the regular plasma applets.
2020-01-13 21:53:49 +02:00
Michail Vourlakos
4809703e9f remove common global indicators options
--enabledForApplets and lengthPadding for indicators
has now moved to indicators responsibility to handle
--as a consequence usesPlasmaStyle has been removed
from indicators API. The corner cases that indicators
conflict with plasma theme applets should be handled
differently and in a different way
2020-01-13 21:53:49 +02:00
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
2020-01-12 23:51:46 +02:00
Michail Vourlakos
8b1526bc0d Revert "apply proper shadows for dock settings window"
This reverts commit 9e78fab4ce.
2020-01-12 22:23:54 +02:00
Michail Vourlakos
16a04684df blur dock settings window properly
--the new approach is always using the background
mask of the window from the FrameSvgItem background
applied.

BUG:416177
FIXED-IN:0.9.8
2020-01-12 21:56:46 +02:00
Michail Vourlakos
9e78fab4ce apply proper shadows for dock settings window
--copy and use plasmaquick/dialogshadow class from
plasma framework library

BUG:416175
FIXED-IN:0.9.8
2020-01-12 21:20:01 +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
34d6c2cd78 identify highest priority application launcher
--provide a new way to identify which application
launcher has the highest priority in order to be
triggered. When an application launcher applet
has a global shortcut assigned to it then that
application launcher applet has the highest
priority in order to be triggered through
"Super" global key.
2020-01-10 17:58:34 +02:00
Michail Vourlakos
411017c0f6 [wayland,crash]-fix showing advanced dock settings
--fix showing advanced settings window in order to update
the window geometry ONLY WHEN there are availableScreenGeometry
changes from Latte::View(s).
--As a side effect changing docks/panels location under wayland
when they have enabled their background blur has reduced crashes
during location changes.
2020-01-10 16:47:57 +02:00
Michail Vourlakos
706a80cae3 hide timer for floating views
--for floating views the hide timer can do
the trick about when to make the checks
that the view must become hidden. In floating
views should support different default and
current value because it should be greater
that the normal use cases.
2020-01-07 17:54:48 +02:00
Michail Vourlakos
87f86ebc75 trying to support masking for floating 2020-01-07 17:54:48 +02:00
Michail Vourlakos
f539512c8c improve View workarounds for kwin activities
--improve the new worksarounds in order to always
apply the activities that a view and its windows are
present when the workarounds were triggered from
kwin faulty behavior. The kwin faulty behavior is
that when any activity is paused then all Latte::Views
become hidden and lose their activities references.
The workarounds are timers that when they trace
a faulty visible state !visible are restoring the
normal behavior to views.
2020-01-04 19:57:54 +02:00
Michail Vourlakos
3b1676fb93 update caller for availablescreenrectwithcriteria 2020-01-04 19:42:35 +02:00
Michail Vourlakos
620cc32c47 restore signal registering that was lost 2020-01-04 19:35:57 +02:00
Michail Vourlakos
8946ded107 improve availableScreenR*WithCriteria functions 2020-01-04 19:21:10 +02:00
Michail Vourlakos
9d6e350a85 New ScreenEdge triggering behavior for RealFloats
--trying an alternative approach concerning real floating
Views and screen edge triggering. In such case the user
has triggered to show a REAL FLOATING VIEW, it is considered
normal from user point of view for the view to remain shown
until there is windows changed state or the mouse has
escaped the View main window area
2020-01-04 13:52:11 +02:00
Michail Vourlakos
a9d4f91c05 add inSlideAnimation flag for ViewPart::Positioner
--it can be used in order to enable/disable some codepaths
2020-01-03 21:18:01 +02:00
Michail Vourlakos
1dc154f932 track inLocationAnimation of View:Positioner 2020-01-03 21:18:01 +02:00
Michail Vourlakos
b129a8d880 improve real floating views screen edge activation
-- when the user hovers the screen edge there is a chance that
screenedgeghostwindow has become underneath the view. In such
case when the real floating window slides in the screenghostwindow
becomes unhovered faulty and it is destroyed afterwards. It is
much better if the screenedgeghostwindow in such case remains shown
until the mouse is not contained neither in the view or the screen
ghost window
-- expose screen edge ghost window thickness
2020-01-03 21:18:01 +02:00
Michail Vourlakos
e0e6f5f6b3 improve semantics for WM::setActiveEdge 2020-01-03 21:18:01 +02:00
Michail Vourlakos
efbd2a8276 floating:staying mouse on edge and not hiding
--when the floating view is a real panel window and
slides out-in with real animation if the user keeps
its mouse on the screen edge the view can remain
shown without sliding out
2020-01-03 21:18:01 +02:00
Michail Vourlakos
103de33c92 trying to implement real panels sliding in/ou 2020-01-03 21:18:01 +02:00
Johnny Jazeix
d2170f13c0 revert previous commit, add KDECompilerSettings back 2020-01-03 19:41:26 +01:00
Johnny Jazeix
e705eed415 Don't run qmllint if ECM_ENABLE_SANITIZERS is defined 2020-01-03 18:45:01 +01:00
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.
2020-01-02 11:16:51 +02:00
Michail Vourlakos
0bea257086 add hidden debug option "kwinedges"
--a way to debug kwin edges behavior for
hidden Latte::View(s) screen edges windows
2020-01-01 19:40:54 +02:00
Michail Vourlakos
fdf798b49f add KDE official Help menu
--in that way Latte gains easily language
switching from user
--exposure of how/where to report bugs
2020-01-01 12:23:30 +02:00
Michail Vourlakos
ada7be1a52 remove debug message 2019-12-31 15:58:45 +02:00
Michail Vourlakos
91b345e615 make indicators infrastructure smarter
--indicators are now tracked only based on their
installation path, that means that are updated
more precise when changes are applied and
at the same time views are recreated only when
the show the specific indicator that was changed
2019-12-31 15:49:53 +02:00
Michail Vourlakos
3108a73533 fixed compile with qt 5.9
FIXED-IN:0.9.7
BUG:415715
2019-12-30 23:57:14 +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
f6b8ed139d update PanelShadows to upstream code 2019-12-29 11:55:14 +02:00
Michail Vourlakos
0853d78101 remove QFontMetrics deprecated code 2019-12-29 11:42:05 +02:00
Michail Vourlakos
70cb2f7fde new View::availableScreenRectChangedFrom triggers
--following the new design applied first at
View:availableScreenRegionChangedFrom instead of different
View parts to trigger directly m_corona relevant signal,
all View parts are triggering the View relevant signal
and as such the can be disabled all together
easily.
2019-12-28 14:07:57 +02:00
Michail Vourlakos
e5cab93fdb set minimumLength for ScreenEdgeGhostWindow
--set a minimumLength in order to avoid the indicator
to become TOO SMALL and not noticable. The minimum
length has been set to be 25% of the screen edge length
that the view as attached.
2019-12-27 19:41:05 +02:00
Michail Vourlakos
ccbf2c88fd crash fix:from unloading views
--when as Always Visible view was unloaded from
a CentralLayout because its Activity was closing
it was creating a crash. This patch fixes the
situation by releasing sensitive view signals
earlier.
2019-12-27 19:14:31 +02:00
Tranter Madi
fe5dbf9f2b Improve context menu
Summary:
- Add `Configure Latte Global Settings...` because it's too hidden in Layout > Configure and does not relate to the Layout menu.
- Insert a new `Separator` to separate between Global settings and View settings (see screenshot)
- Rename `Panel/Dock Settings` to `Edit Panel/Dock` (Verb + Noun)
- Rename `Layout > Configure...` to `Layout > Manage Layouts` (Verb + Noun)

Menu Items Order:

   a.  -separator-
   b. Layouts->
   c. Configure Application...
   e.  -separator-
   f. Add Widgets...
   g. Edit Dock...
   h.  -separator- [only for Tasks plasmoid]
   i.  Close... [only for Tasks plasmoid]

BUG: 415584

Test Plan:
Before:
{F7844554}

After:
a. context menu of applets
{F7845184}
b. context menu of a task that hasn't/has one window shown
{F7844944}
{F7845185}
c. context menu of Latte Tasks plasmoid when used on the desktop
{F7845186}
{F7845187}

Reviewers: #latte_dock, #vdg, mvourlakos

Reviewed By: #latte_dock, mvourlakos

Subscribers: ngraham, ndavis, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D26238
2019-12-27 23:41:23 +07:00
Michail Vourlakos
f93bec8893 fixes for WindowsCanCover
--show immediately when view contains mouse
--hide only if view does not contain mouse
--never apply ByPassWM hint for WindowsCanCover
2019-12-27 14:20:31 +02:00
Michail Vourlakos
4cf929ea81 support containsMouse behavior for WindowsCanCover 2019-12-27 13:38:22 +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
896afcc068 support screen edge margin for behaveAsPlasmaPanel 2019-12-24 20:35:48 +02:00
Michail Vourlakos
0ebef42513 add screenEdgeMargin and update border accordingly 2019-12-24 12:35:28 +02:00
Michail Vourlakos
945a034a8c remove deprecated SignalMapper at waylandinterface 2019-12-22 13:37:53 +02:00
Michail Vourlakos
d31d7afb9d dont wait for dock to show for activate shortcuts
--when the application launcher is not a popup then
we do not have to wait for the dock show we can execute
the activation code immediately
--when Latte activates an entry can now understand
if a popup is going to be shown in order to delay
the execution. If a popup is NOT going to show either
for a latte task or an applet then the code is executed
immediately

BUG:415417
FIXED-IN:0.9.6
2019-12-21 23:37:52 +02:00
Michail Vourlakos
111254e509 refactor:move qml handling from globalshortcuts
--all the qml handling code from globalshortcuts is
now moved to Latte::View::ContaimentInterface. This
way the code is cleaner and can be expanded easier.
2019-12-21 23:37:41 +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
2501c6169d fix compatibility with qt>=5.14
--fix qml register type for deprecated
code reference
2019-12-04 23:04:06 +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
61016444fb dont crash when changing layouts
--occasionaly when the user was switching
layouts it could get some crashes. It looks
safer to unload first the Latte::Views objects
and their corresponding containments afterwards.
I tried in my system to switch multiple layouts
in plenty different configurations and I could
not get a crash. This patch should fix the
mentioned crash report if that was the root
of the issue.

BUG:412864
FIXED-IN:0.9.5
2019-11-13 16:24:05 +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
l10n daemon script
a3e747188f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-11-04 05:13:17 +01:00
l10n daemon script
d649e74bc9 GIT_SILENT made messages (after extraction) 2019-11-04 02:32:40 +01:00
Michail Vourlakos
702b53493b Merge branch 'v0.9' into fix 2019-11-03 09:58:32 +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
7215d30ff6 fix typo that was creating an error build
BUG:413735
2019-11-02 16:51:45 +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
c1a6cfc325 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:40:36 +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
189fb00426 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:09:40 +02:00
Michail Vourlakos
8d4e96ed44 drop ksysguard dependency for kf5>=5.62
--following plasma updates for tasktools in order
to drop the ksysguard dependency which is also
costly
2019-10-31 17:09:31 +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
Michail Vourlakos
6849a4906d drop ksysguard dependency for kf5>=5.62
--following plasma updates for tasktools in order
to drop the ksysguard dependency which is also
costly
2019-10-31 16:35:32 +02:00
Michail Vourlakos
fb8428bc20 optimize last active window color scheme update 2019-10-26 21:37:48 +03:00
Michail Vourlakos
fdb002d919 optimize last active window color scheme update 2019-10-26 21:36:53 +03:00
Michail Vourlakos
c2a1c20d92 expose colorScheme to lastActiveWindow(s)
--applets can now use the color scheme from lastActiveWindow
objects in order to paint some of their elements
2019-10-26 17:03:54 +03:00
Michail Vourlakos
6a7c959e6a expose colorScheme to lastActiveWindow(s)
--applets can now use the color scheme from lastActiveWindow
objects in order to paint some of their elements
2019-10-26 17:02:47 +03:00
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
2019-10-23 17:07:35 +03:00
Michail Vourlakos
904cdfe2af 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
2019-10-23 17:04:45 +03:00
Michail Vourlakos
a69f3013d8 search for Latte desktop file in more generic way
--there are distros that do not return /usr/share/applications
as their first global path for desktop files. It is better to not
just search for the "applications" path but rather the desktop
file also to make sure that we use the first one found.

BUG:412612
FIXED-IN:0.9.4
2019-10-05 17:43:10 +03:00
Michail Vourlakos
e04c57f403 search for Latte desktop file in more generic way
--there are distros that do not return /usr/share/applications
as their first global path for desktop files. It is better to not
just search for the "applications" path but rather the desktop
file also to make sure that we use the first one found.

BUG:412612
FIXED-IN:0.9.4
2019-10-05 17:39:58 +03:00