Commit Graph

1159 Commits (5e420b597b07b64cd939ecbcecc80b31c94c1611)

Author SHA1 Message Date
Michail Vourlakos ad3b5abeaf enhance background solidness when touching window
--When the user has chosen a solid background when
there are windows touching the Latte panel then in
such case windows that are touching the panel not
just at the edge but at the at any point of the latte
panel are also considered as touching windows
--The "snapped" term that was used before in the
visibilitymanager was changed to "touching"
6 years ago
Michail Vourlakos 42f6bef738 dont close settings windows with no reason
--there were cases that the focusOutEvent from
secondary config window was sent before the
primary config window has become active. In that
case all config windows were closing with no
reason

BUG: 402776
6 years ago
Michail Vourlakos 582b59dae2 enable/disable colorizing from user
--when the user has enabled the monochrome colorizing
in that case in applet options there is now a new option
in order for the user to choose if wants or not that
applet to be colorized. Such an example are colorful
applets that lose their proper appearance through
monochrome option.
6 years ago
Michail Vourlakos 5c28b2194a 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

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
6 years ago
Steffen Coenen 56cfb42734 Fix autohide behaviour after dragging a panel
Summary:
Currently, when dragging a window from the panel to move it, it breaks the autohide behaviour of active docks/panels. This change imitates a release event on X11 to circumvent these problems.

BUG: 403104

Reviewers: mvourlakos

Reviewed By: mvourlakos

Subscribers: plasma-devel

Tags: #latte_dock, #plasma

Differential Revision: https://phabricator.kde.org/D18194
6 years ago
Michail Vourlakos cf6641a089 dont unblock for !editMode
--when containment changes status it was
unblocking the visibility manager. This patch
fixes that situation and the blocker remains
under editMode. This way the dock can not be
hidden when it is in editMode.
6 years ago
Michail Vourlakos daa4d0f003 recreate view only when is really needed
--recreate view only when the window
ByPass flag must be really changed
6 years ago
Michail Vourlakos 8c21ca9072 create local autostart folder if is missing
BUG: 402934
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 63e9fbc99f dont block mouse events with no reason
BUG: 402572
6 years ago
Michail Vourlakos e19cbd46f6 delete secondary window when no needed
BUG: 402627
6 years ago
Michail Vourlakos ca5ea55816 disable debug message 6 years ago
l10n daemon script 5b5aec055d GIT_SILENT made messages (after extraction) 6 years ago
Michail Vourlakos 5c8a2bb380 reorganize settings in view settings window 6 years ago
Michail Vourlakos aeb7877546 improve ExpertSettings location 6 years ago
Michail Vourlakos 5d6d1730f2 improve syncGeometry at settings windows 6 years ago
Michail Vourlakos 79ccc37e31 delay latte view showing for Meta global shortcut 6 years ago
Michail Vourlakos 32a34d7c47 show latte view for all cases of Meta+A 6 years ago
Michail Vourlakos 40bd5a83e2 update settings to new complexity level 6 years ago
Michail Vourlakos 7d66434244 introduce complexity for view settings 6 years ago
Michail Vourlakos 5e09a41e99 refactor:remove no needed colorizer signals
--the new infrastructure to track background
brightness does not need communication between
universalsettings and view colorizer enabler
6 years ago
Michail Vourlakos b418923c03 move from luminas to brightness
--the luminas functions didnt work well
for all cases. Latte is now using brightness
functions as described at:

   https://www.w3.org/TR/AERT/#color-contrast

this patch fixes all cases mentioned in the bug
that Latte contrast identification did not work well

BUG: 402115
6 years ago
Michail Vourlakos 418799ed30 fix crashes from latteView recreation code
--in order to update window manager flags properly
in some cases a dock recreation is needed. But that
dock recreation when takes place when the user choses
to move its panel between different screens (that recreation
shouldnt be needed) in such case it creates crashes
6 years ago
Michail Vourlakos 095048223a refactor:move backgroundtracker under liblatte 6 years ago
Michail Vourlakos e81ef199b3 refactor:drop visibilitymanager private class 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 efb9414ef9 refactor:move plasmaquick headers to better place 6 years ago
Michail Vourlakos 653f0a22fb small commenting and backgrounds qhash 6 years ago
Michail Vourlakos 74238dba6f improve color schemes handling for default values
--when color schemes from themes are used there are
cases that the WM records do not correspond to the
colors that the plasma theme will use. In such cases
the color scheme file that is passed to applets can
create colors inconsistencies. For this reason we
update the default color scheme in order for its
WM values to be consistent with the plasma theme.
For the record plasma theme is using Colors:View
group for its main colors.

BUG: 401431
6 years ago
Michail Vourlakos c81e97f24d improve scheme file assignment from themeExtended 6 years ago
Michail Vourlakos a3107b7f1c dont call syncGeometry if not needed in some case 6 years ago
Michail Vourlakos fbe07f5ec1 add debug message for syncGeometry() 6 years ago
Michail Vourlakos b05c7d94ae refactor:add visibilitymanager to ViewPart:: 6 years ago
Michail Vourlakos 57ab5f3b3f refactor:move screenedgewindow to ViewPart:: 6 years ago
Michail Vourlakos 0510293c21 REFACTOR:Move confiView(s) to ViewPart:: namespace 6 years ago
Michail Vourlakos b2fbb2a7ae REFACTOR:change dock->latteView in settings windows 6 years ago
Michail Vourlakos f84043d28e REFACTOR:change dock in containment to latteView 6 years ago
Michail Vourlakos 1ab99761a1 REFACTOR:Update Dock types to new Latte2::Types 6 years ago
Michail Vourlakos 9447a8f748 REFACTOR:replace liblattedock with new liblatte2 6 years ago
Michail Vourlakos 462a849ac4 refactor:rename dock terms to view 6 years ago
Michail Vourlakos f2a90aafe6 refactor:rename dock term to view term 6 years ago
Michail Vourlakos 185dd39e5c refactor:rename dock terms to view terms 6 years ago
Michail Vourlakos fd23fd83c1 refactor:rename dockWinBehavior to byPassWM flag 6 years ago
Michail Vourlakos 25d9d4ed17 refactor:rename DockCorona to Latte::Corona 6 years ago
Michail Vourlakos 7a3fcc7773 refactor:rename dockpackage to Latte::Package 6 years ago
Michail Vourlakos f74b3a4da0 REFACTOR:drop DockView term,in favour of LatteView 6 years ago
Michail Vourlakos 39368a41de REFACTOR:rename DockView to Latte::View
--move all classes related to Latte::View
from dock/ folder to view/ folder
6 years ago
Michail Vourlakos 856f26a7ed refactor:rename View:: namespace to ViewPart:: 6 years ago
Michail Vourlakos 6a0438155b fix missing dependency
BUG: 401641
6 years ago
Michail Vourlakos 05bef49d5a move activitiesmodel to settings 6 years ago
Michail Vourlakos 2099b8ed36 add headers comments for all c++ files 6 years ago
Michail Vourlakos deefa6f32e REFACTOR:move wm related classes to wm folder 6 years ago
Michail Vourlakos d8f748b512 REFACTOR:move setting* to relevant folder 6 years ago
Michail Vourlakos f81b800c6f improve code in view config windows 6 years ago
Michail Vourlakos 7a55ac9922 position secconfigwindow properly in multi-screen 6 years ago
Michail Vourlakos 90a2bb3bc1 refactor:rename MenuManager to View::ContextMenu 6 years ago
Michail Vourlakos 85009494e7 rename dock functions to views 6 years ago
Michail Vourlakos 390478f6d4 remove old commented syncDockViews 6 years ago
Michail Vourlakos 9931c38a8b refactor:addNewDock to Layout 6 years ago
Michail Vourlakos 8261217837 refactor:move docksWithTasks to Layout 6 years ago
Michail Vourlakos 5e47a2f483 fix crash from wrong FrameSvgItem initialization
--enable shadows by default on startup otherwise
the FrameSvgItem sets is imagepath to "" and that
can create a crash during loading/unloading a
layout
6 years ago
Michail Vourlakos 24c52b45f4 improve code signals in Layout 6 years ago
Michail Vourlakos 323ffbe3af refactor:move viewsCount to Layout 6 years ago
Michail Vourlakos bf097f3f62 refactor:add viewsCount to Layout 6 years ago
Michail Vourlakos 3098812679 simplify code 6 years ago
Michail Vourlakos ab2dc47fd9 refactor:move dock freeEdges to Layout 6 years ago
Michail Vourlakos 8fadd31020 refactor:remove no needed library headers 6 years ago
Michail Vourlakos 24c383d98a refactor:screens from dock to universalSettings 6 years ago
Michail Vourlakos 642b524cc7 refactor:move currentScreen to View::Positioner
--rename also currentScreen to currentScreenName
for better semantic representation
6 years ago
Michail Vourlakos 186a641444 fix crash under wayland 6 years ago
Michail Vourlakos 3e9071f5f5 refactor: move shadows handling to View::Effects 6 years ago
Michail Vourlakos f13e83ffb7 refactor:move theme handling to extendedtheme class 6 years ago
Michail Vourlakos 0794c0e84f refactor:blockAnimations moved to View::Effects
--rename blockAnimations to animationsBlocked
6 years ago
Michail Vourlakos 44006f2fe6 refactor:move dockTransparency to View::Effects
--rename dockTransparency to backgroundOpacity
6 years ago
Michail Vourlakos 885e438143 refactor:colorizerSupport moved to View::Effects
--renamed also from colorizerSupport to colorizerEnabled
6 years ago
Michail Vourlakos 3de7993b8d refactor:move shadow to Effects
-rename also to shadow to innerShadow for
better naming. This shadow is used when the
shadow is drawn inside the window from qml
side, such examples are the dock case and the
editVisual case
6 years ago
Michail Vourlakos 3a0a95e6a9 refactor: rename properties in View::Effects
--effectsArea became "rect"
--maskArea became "mask"
6 years ago
Michail Vourlakos 825144a92e refactor:move Positioner to View:: namespace 6 years ago
Michail Vourlakos 47c3d6fb41 refactor:move effects and mask at own dock class 6 years ago
Michail Vourlakos 71d648437f move dock positioning code into its own class 6 years ago
Michail Vourlakos 8294bd892c support plasmoid.screenGeometry properly
BUG: 401333
6 years ago
Michail Vourlakos 6c58115f9b 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
6 years ago
Michail Vourlakos 6e2c645008 Revert "Revert "No need to search i18n() in the same folder twice""
This reverts commit 1888fb7c80.

the commiter was right this isnt needed, find returns the
in question files in app/dock folder
6 years ago
Michail Vourlakos 1888fb7c80 Revert "No need to search i18n() in the same folder twice"
This reverts commit 85fea53760.

this is needed because it takes translation strings from app/dock
folder also
6 years ago
Yuri Chornoivan 85fea53760 No need to search i18n() in the same folder twice 6 years ago
Michail Vourlakos 99cb6b7983 dont reverse colors for Button
--it looks better if the Button(s) keep
their color instead to reverse it for the
reversed plasmaextended color scheme
6 years ago
Michail Vourlakos a6a291d2c5 expose all latte colors to applets 6 years ago
Michail Vourlakos 05c85dcd6d improvements for containsMouse code style 6 years ago
Michail Vourlakos b2abb99f2c fix layout integrity check
--this check was returning false results
in some cases
6 years ago
Michail Vourlakos 620c45a5b9 improve schemecolors name handling 6 years ago
Michail Vourlakos 3155a8173a update colorscheme values based on plasmaTheme 6 years ago
l10n daemon script f243961f95 GIT_SILENT made messages (after extraction) 6 years ago
Michail Vourlakos d295d88249 expose disabled colors for text/background 6 years ago
Michail Vourlakos 24806d8909 drop TaskManager for drag/double click panel
--use the visibilitymanager in order to drag
and maximize/restore an active window. Update
also the wayland functions for these features.
6 years ago
Michail Vourlakos e63a43afe5 enable requestMove through the visibilitymanager 6 years ago
Michail Vourlakos 578623836b make dock settings window smarter for secwindow
--the secondary configuration window can be shown
either inline or at its own window. In order to
be shown at its own window, that window must not
overlap with the main window. The new implementation
validates this at all cases.
6 years ago
Michail Vourlakos b8ad6fceeb drag a maximized window from panel 6 years ago
Michail Vourlakos 722d656bfa enhance colorschemes and colorizer to new arch 6 years ago
Michail Vourlakos ebb5759dc4 expose to qml ligth/dark themes,schemes 6 years ago
Michail Vourlakos 7c484afa91 create reversed color scheme for plasma theme 6 years ago
Michail Vourlakos a011333bf8 update KDirWatch implementations
--make sure that KDirWatch signals are taken into
consideration only when are triggered from the
questioned files
6 years ago
Michail Vourlakos 7d9c5cf593 rename colortools to commontools
--this way more shared functions could be
added
6 years ago
Michail Vourlakos 836bc38778 discover plasma theme path 6 years ago
Michail Vourlakos 3553415c59 load roundness theme info properly 6 years ago
Michail Vourlakos 0cea7e8622 use roundness from extenededTheme in settings win 6 years ago
Michail Vourlakos 92ce3f15c1 introduce plasma theme extended
--this is going to be a class that will
provide all the extended info of a plasma
theme such as roundness, dark/light color
schemes
6 years ago
Michail Vourlakos 0179bc6395 add colortools for luminas and plasmathemeextended
--plasmathemeextended is going to provide all the
functionality that current plasma theme infrastructure
does not. Such as roundness and dark/light color schemes
6 years ago
Michail Vourlakos 8d014c9e6e active windows that touch panel have higher priority 6 years ago
Yuri Chornoivan 4b55cdce52 Fix minor typo 6 years ago
Michail Vourlakos b1ad7f2a18 send window change signale for color scheme 6 years ago
Michail Vourlakos f2d088a297 add theme roundness option at preferences page 6 years ago
Michail Vourlakos 59f66233f2 track files for schemes changes
--track changes for wm default scheme
--track changes for colors in specific scheme
6 years ago
Michail Vourlakos e1712dded4 add more colors to SchemeColors 6 years ago
Michail Vourlakos f6b4aa55cf support background painting based on window scheme
--support painting based on the active window scheme.
Added a schemecolors class for this and updated
abstractwindowinterface to provide tracking for windows
color schemes.
6 years ago
l10n daemon script 7fd9cb1952 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"
6 years ago
Michail Vourlakos 37dbab99bf remove no needed public api from visibilitymanager 6 years ago
Michail Vourlakos 0bab344682 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
6 years ago
l10n daemon script cfec678f68 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"
6 years ago
l10n daemon script b7a1bbfdfc GIT_SILENT made messages (after extraction) 6 years ago
Michail Vourlakos be7bbfe848 dont call syncGeometry when some cases
--dont call costly syncGeometry when drawShadows
externally is called. In such case only updating
shadows/borders is needed.
6 years ago
Michail Vourlakos f955c6a40c 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
6 years ago
Michail Vourlakos 135ddc479d dont break BorderlessMaximized window default
--dont update the BorderlessMaximized value if
the user hasnt explicitly enabled it from Latte
options.
6 years ago
Michail Vourlakos 1638449997 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
6 years ago
Michail Vourlakos 64a40429a4 option/define who will be used at global shortcuts
--add an option in Tweaks page in order for the user
to define which dock/panel will have the highest priority
for global shortcuts activation. This option can be
used is per layout basis. Each layout can have its own
high priority dock/panel for Latte unified shortcuts.

BUG: 398914
6 years ago
Michail Vourlakos 4732f7f1b1 activate entries for docks containing only applets
--when a dock/panel does not contain any taskmanager
should also be able to activate its applets through
Latte's unified global shortcuts

BUG: 398913
6 years ago
Michail Vourlakos 09fe5e385b 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
7 years ago
Michail Vourlakos 203c740980 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
7 years ago
Michail Vourlakos cc0e0e7c47 simplify dodge(s) code and comment it 7 years ago
Michail Vourlakos 66817695fe 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
7 years ago
Tobias C. Berner 156accc34f 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
7 years ago
Michail Vourlakos 9e53fa727b update to latest panel shadows 7 years ago
Yuri Chornoivan 7323068f36 Fix minor EBN issues 7 years ago
Michail Vourlakos 87094a6fe7 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
7 years ago
Michail Vourlakos 285a2f8764 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
7 years ago
Michail Vourlakos b2f1f98b57 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.
7 years ago
Michail Vourlakos bb8835f156 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
7 years ago
Michail Vourlakos 78b41eff91 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
7 years ago
l10n daemon script 7a693bdcda GIT_SILENT made messages (after extraction) 7 years ago
l10n daemon script cdc0cdcd7d GIT_SILENT made messages (after extraction) 7 years ago
l10n daemon script 46fa568350 GIT_SILENT made messages (after extraction) 7 years ago
Michail Vourlakos 8062a76605 improve activation badges visual indicators
--when an activation shortcut follows Meta+"Character"
scheme it is shown lowerCase and at all other cases
it is shown upperCase

CCBUG: 397128
7 years ago
Michail Vourlakos 9a69323293 smarter badges identifier for activation shortcuts
--with this commit now Latte is able to identify what are
the global shortcuts used for each activation entry and
also to not show at all any badge for activation entries
that are disabled from the user

BUG: 397128
7 years ago
l10n daemon script ec9ad19c36 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"
7 years ago
l10n daemon script 41f9e43e7e GIT_SILENT made messages (after extraction) 7 years ago
Michail Vourlakos 84de238181 missing apostrophe
BUG: 396676
7 years ago
Michail Vourlakos 7bceb7e4b7 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
7 years ago
Michail Vourlakos 30c90d2a41 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
7 years ago
Michail Vourlakos 03b469eff5 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
7 years ago