1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-03-25 22:50:35 +03:00

948 Commits

Author SHA1 Message Date
Michail Vourlakos
ea5768d506 embrace X-KDE-Wayland-Interfaces 2019-07-22 09:35:33 +03:00
l10n daemon script
0137317ee9 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-05-08 08:48:24 +02:00
l10n daemon script
cd81e29503 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-04-20 09:02:20 +02:00
l10n daemon script
f9faaa514a GIT_SILENT made messages (after extraction) 2019-04-20 07:55:12 +02:00
l10n daemon script
80d039cf5b GIT_SILENT made messages (after extraction) 2019-04-17 07:36:21 +02:00
Michail Vourlakos
7fa83bfda8 do not add signals during layout unloading
--When a layout unloads is setting for its
views a NULLPTR for managedLayout of its docks/panels.
In such case the signals that track the layout
changes for the view are not needed.
2019-04-08 23:38:54 +03:00
Michail Vourlakos
041ee941cd [multiscr]fixes for syncDockViews,v0.8 architecture
--fix building the new code in v0.8 style
2019-03-26 17:38:18 +02:00
Michail Vourlakos
b9aabb7b1c multi-screen: find view::screen id in better way
--when monitor from an explicit screen was closed there
were cases that docks were moved at another monitor from
the window manager and that was preventing them to be
delete properly. This patch fixes this by considering
as valid explicit screen only the one provided by the
view

BUG: 405687
2019-03-22 21:34:59 +02:00
Michail Vourlakos
95d37ff6a7 multi-screen:improve syncLatteViews() function
--onPrimary flag is considered from layout file directly
only for containments that are not already loaded to
latte views
--location flag is accessed directly from containment object
2019-03-22 21:34:48 +02:00
Michail Vourlakos
7283e2698d create latte dir if missing when loading presets
--this is critical because it does not open Latte at
first run. The fix is just to make sure that "latte"
directory will be created in case there isnt already

BUG: 404762
2019-02-24 13:13:50 +02:00
l10n daemon script
adc5c8d3cd GIT_SILENT made messages (after extraction) 2019-02-18 07:01:56 +01:00
Michail Vourlakos
d0f1a7ffe6 cleanup applet shortcuts on startup
--when Latte crashes the global shortcuts from applets
remain untouched in kglobalshortcutsrc file. That fact
based on the Latte architecture that can alter applet
ids during layout loading can break the global shortcuts
experience by creating multiple global shortcuts records
for the same applet and by disabling some shortcuts because
these shortcuts are already enabled for ghost applets of
the crashed layout. This patch fixes this by removing all
applet global shortcuts during startup. Applet global shortcuts
are already saved in the layout file based on the current
plasma architecture, that fact simplifies things a lot.

BUG: 401184
2019-01-27 19:57:15 +02:00
Pino Toscano
788e7ad4d9 fix project_license in appstream file
use the right SPDX tag
2019-01-27 08:58:32 +01:00
l10n daemon script
c1ceb6bfc7 GIT_SILENT made messages (after extraction) 2019-01-20 07:31:00 +01:00
Michail Vourlakos
88e2e9ddd6 Wait forever until the lock file can be locked
Summary:
- `timeout = 3000` is a bit short on some computer. Use `timeout = -1` will work for any case.

BUG: 401041

FIXED-IN: v0.8.5

Test Plan: BUG: 401041 is fixed on my computer.

Reviewers: mvourlakos, #latte_dock

Reviewed By: mvourlakos

Tags: #latte_dock, #plasma

Differential Revision: https://phabricator.kde.org/D18258
2019-01-15 21:20:48 +02:00
Michail Vourlakos
630160c6af create local autostart folder if is missing
BUG: 402934
FIXED-IN: 0.8.5
2019-01-06 20:56:42 +02:00
Michail Vourlakos
09109bcf96 support plasmoid.screenGeometry properly
BUG: 401333
2018-11-23 17:01:00 +02:00
Michail Vourlakos
7264b658bc add launchers validator for syncing launchers
--moving a task now is not synced immediately to
other docks. Syncing takes place only in the end.
The dock in which the user changed the launchers
order sends a signal to other docks to update
theirs launchers order.

BUG: 401232
FIXED-IN: 0.8.3
2018-11-21 21:02:19 +02:00
Michail Vourlakos
5472a77c3b fix layout integrity check
--this check was returning false results
in some cases
2018-11-11 09:31:07 +02:00
l10n daemon script
f51e6e2ee7 GIT_SILENT made messages (after extraction) 2018-11-08 06:43:50 +01:00
l10n daemon script
b618ddc626 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"
2018-10-20 07:54:59 +02:00
Michail Vourlakos
bb70568304 remove no needed public api from visibilitymanager
(cherry picked from commit 37dbab99bf43b641ef04c36935afa3b67c0ffaaa)
2018-10-14 22:33:11 +03:00
Michail Vourlakos
ac9f1d2a34 fixes for multi-screen behavior
--fix wrong placement at multi-screen environment
during startup. freeEdges function was not sufficient for
reconsiderScreen() because there was a chance to
exclude edges that even though they were available
it returned fault results. Such case is when
a view request available edges for specific screen
and the edge of that specific view is also exluded
because that view has not finished its movement
to the new assigned screen.

--fix re-adding an explicit dock when its screen
is activated. A check was missing in order to
confirm that a primary dock is occuping that
edge but we must check also that the primary
screen is the same with the explicit one.

--add/improve debug messages

(cherry picked from commit 0bab34468207b1472c1906c768323f2a9f2b1b12)

BUG: 399456
FIXED-IN: 0.8.2
2018-10-12 19:05:14 +03:00
Michail Vourlakos
f019479f9a dont call syncGeometry when some cases
--dont call costly syncGeometry when drawShadows
externally is called. In such case only updating
shadows/borders is needed.

(cherry picked from commit be7bbfe848fe753239dcd4d9f506a70078212181)
2018-10-07 21:13:42 +03:00
Michail Vourlakos
3b0c39cc53 improve reconsiderScreens code for multi-screens
--try to make screens assignment and window geometry
more consistent. There are three variables in a dock
window for its screen and positioning to be accurate,
screen(), m_screenToFollow, m_screenToFollowId

BUG: 399456
FIXED-IN: 0.8.2
(cherry picked from commit f955c6a40c00fb06754223cbdc16ba40e379ca59)
2018-10-07 21:13:16 +03:00
Michail Vourlakos
f62f7485c0 dont break BorderlessMaximized window default
--dont update the BorderlessMaximized value if
the user hasnt explicitly enabled it from Latte
options.

BUG: 399462
FIXED-IN: 0.8.2
2018-10-07 01:14:07 +03:00
Michail Vourlakos
9613531651 imrove windowChanged signal under X11
--the new code contains more comments and except
blacklisting all NET::Properties2 signals that are
not accompanied with NET::Properties it also
whitelists specific states for NET::WMState.
This should lower a lot the calculations needed
in order to support the dodge visibility modes.
At the same time apps that are abusing X11 signals
should be ignored totally because the whitelisted
states and NET::Properties are only set by the
user or the window manager.

BUG: 399149
FIXED-IN: 0.8.2
2018-10-06 16:35:52 +03:00
Michail Vourlakos
10dfc62347 on startup explicit dock faulty moving onPrimary
--multi-screen fix for explicit docks. There were
cases that explicit docks during startup were
moving to onprimary screen even though they shouldnt
based on the new multi-screens implementation.
Bug was tracked down at a faulty series of signals
that were overwriting dockView config values
to default values and that was creating the fault.
-- one more fix for multi-screens, a missing return
statement in case an explicit dock is called and its
edge at that specific screen is occuppied by an
onPrimary one.

BUG: 398219
FIXED-IN: 0.8.1
(cherry picked from commit 09fe5e385b4df76afbd342fab61afe6c642aaaf1)
2018-09-04 19:52:55 +03:00
Michail Vourlakos
ceacb5745c IMPORTANT FIX:show dodged dock at corner cases
When there was only one latte dock and the last
active window was closed, the dock wasnt showing
afterwards. The dodge logic now has been improved
in order to not lose any window manager signals
that could help indicate when to show/hide a
dodge capable dock

BUG: 398052
FIXED-IN: 0.8.1
(cherry picked from commit 203c740980c594e5e90b4f4b54261561a89c35f0)
2018-09-01 17:49:33 +03:00
Michail Vourlakos
daa25d5e03 simplify dodge(s) code and comment it
(cherry picked from commit cc0e0e7c47e4f5aefe7524e72e94d1e827c9e6ea)
2018-08-31 16:53:02 +03:00
Michail Vourlakos
fbb7f79974 raise docks when there isnt any active window
--there are cases that the window manager doesnt
return any active window at all. In such cases
we can assume that our docks/panels dont have to
be hidden.

BUG: 398052
FIXED-IN: 0.8.1
(cherry picked from commit 66817695feb76c521b5f7a3dfa1f917b39c4de7b)
2018-08-31 15:32:50 +03:00
Tobias C. Berner
4a2db533d5 Fix build on FreeBSD by including <array>.
Summary:
latte-dock-0.8.0/app/dock/dockview.h:367:44:
    error: implicit instantiation of undefined template 'std::__1::array<QMetaObject::Connection, 4>'
    std::array<QMetaObject::Connection, 4> connectionsManagedLayout;
                                           ^

Reviewers: #freebsd, mvourlakos, davidedmundson

Reviewed By: davidedmundson

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D14534

(cherry picked from commit 156accc34f4470c6a7f984a5ffec19586c1383b7)
2018-08-31 15:32:39 +03:00
Michail Vourlakos
70a1d5c7f2 update to latest panel shadows
(cherry picked from commit 9e53fa727bbd142e685e1d5b3516ecf2bf25859c)
2018-08-30 14:04:22 +03:00
Michail Vourlakos
60f488f3a1 dont draw panel shadows when theme doesnot provide
when the plasma theme was not supporting shadows then
Latte was double drawing the panel background when
the user has chosen that wanted shadows

BUG: 397980
FIXED-IN: 0.8.1
(cherry picked from commit 87094a6fe7c23de7cb14be1237ccaf1fba28d25e)
2018-08-28 14:07:15 +03:00
Michail Vourlakos
72f7d3c4f1 ignore systrays at multi-screen considerations
--if a dock/panel was containing a systray there
was a chance that the systray was messing the
calculations for adding/removing docks based on
the screen and edges changes

(cherry picked from commit 285a2f87643f9b0387d4364ae6e3a53dceb9fe24)
2018-08-24 01:29:19 +03:00
Michail Vourlakos
7f97714e2b remove deprecated code from old multi-screens arch
--Latte will no longer try to be too smart concerning
the multi-screens behavior. At the old implementation
Latte wouldnt let you reach at a state that you dont
have a tasks plasmoid available. Such a case could be
when the user moves a dock from primary to explicit
screen and disables the screen afterwards. That case
should be thought better in the future in order to be
identified and handled properly without making the
code unnecessary complex. Such an example could be by
identifing the case and asking the user for actions.

(cherry picked from commit b2f1f98b5729fabdb00512ff0c90ffcbf44c12fd)
2018-08-22 18:42:34 +03:00
Michail Vourlakos
f61f1a58fe identify maximized window screen differently
--there are cases that the window geometry isnt consistent
for maximized windows. That was breaking the previous
implementation of dynamic background because of:
https://bugs.kde.org/show_bug.cgi?id=397700
the new implementation is using only the window center in
order to identify the screen in which a window is
present

BUG: 397344
FIXED-IN: 0.8.1
(cherry picked from commit bb8835f156c6cf828d2d8f89d335f813c79dd6a1)
2018-08-21 15:13:13 +03:00
Michail Vourlakos
2bf6d36acb use current transparency to update effects
--the background contrast effect should be applied
only when the dock/panel is visually solid otherwise
it may block the transparency settings

BUG: 397431
FIXED-IN: v0.8.1
(cherry picked from commit 78b41eff914e565041598e2777a2eaaa98f74a8f)
2018-08-21 00:53:12 +03:00
l10n daemon script
1176aff7b6 GIT_SILENT made messages (after extraction) 2018-08-15 06:24:35 +02:00
l10n daemon script
0feffd08da GIT_SILENT made messages (after extraction) 2018-08-08 06:28:04 +02:00
l10n daemon script
7255f621aa GIT_SILENT made messages (after extraction) 2018-08-05 06:09:12 +02:00
l10n daemon script
fe6531ce12 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"
2018-08-03 07:24:39 +02:00
l10n daemon script
d3181579a8 GIT_SILENT made messages (after extraction) 2018-08-03 06:16:35 +02:00
Michail Vourlakos
6f40663478 Identify snapped windows independent of screen
--the old code wasnt screen independent for identifying
windows that touch the panel edge. There were cases
that when a window was touching a panel edge at
screen A to faulty identify that is touching
screen B also. The code now is more robust and it
can also handle cases that window is touching two or
more different panels in different screens.

BUG: 397076
FIXED-IN: 0.8.1
(cherry picked from commit 7bceb7e4b752955c0a9be79f57b0485c9271e1ef)
2018-08-02 14:28:01 +03:00
Michail Vourlakos
b19702987f More predictable copy function for multi-screen
--Improve the series of events in order for CopyDock
to work better in multi-screen environments. Copy Dock
should create the same dock in the same free edge at
different explicit screen when that edge is already
occupied in the origin screen

BUG: 397081
FIXED-IN: 0.8.1
(cherry picked from commit 30c90d2a419c8c367a7a2f3887b7a11bd4f8de6b)
2018-08-02 14:27:46 +03:00
Michail Vourlakos
620680e5d3 IMPORTANT: Update multi-screen codepage!!!
--after v0.8 release many issues with multi-architecture
were identified. An alternative approach was needed
in order for Latte to get a more user-predictable state.
In new approach:
--onPrimary docks have always higher value
and should be shown, this is also like how plasma is
moving its panels.
--explicit docks are removed if their edge in their screen
is occupied by an onPrimary dock
--be stupid smart in order to check if docks contain
tasks and try to not remove them based on screen-changes
is removed! Over-Complicated code that doesnt help
in maintainability...

one of the issues was reported at following bug report...

BUG: 396806
FIXED-IN: 0.8.1
2018-07-24 22:30:52 +03:00
Michail Vourlakos
08f0fd35b4 missing global shortcuts new instance record 9
Summary:
In Latte global shortcuts is missing one record
for New Instance of ninth record

BUG: 396751
FIXED-IN: 0.8.1

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D14273
2018-07-22 15:12:13 +03:00
Michail Vourlakos
5803366cb3 support no-unified global shortcuts
--v0.8 introduced unified global shortcuts for all
cases, that means that applets are also taken into
account for Latte activation/new instance global
shortcuts. A new parameter is introduced with
the patch at Latte global settings file called
"unifiedGlobalShortcuts", the user can set that
parameter to false before Latte startup in order
to use only global shortcuts relevant to the
Latte plasmoid.
2018-07-21 19:41:57 +03:00
Michail Vourlakos
bc9c45a42a fix to update contents correctly between sessions
--when changing Single mode to Multiple mode the latest
changes from user didnt get into because the kde cache
from KFileConfigPtr hadnt been updated yet. This
patch fixes this by using a temp file that contains
the layout in question.
2018-07-13 20:38:07 +03:00
Michail Vourlakos
4b3fad71f7 open background dialog at better path
--use the background image path in order to open
the Background dialog at that path
2018-07-11 20:41:33 +03:00