Commit Graph

355 Commits (19af87417e8554193e23367fd789b839ed9c0bff)

Author SHA1 Message Date
Johan Smith Agudelo Rodriguez e26f316e67 implicit conversion 8 years ago
Michail Vourlakos 059a778765 fix #235,set icon for docks differently
--for some reason the icon name returned from
the metadata of corona is empty.This gets
the windowIcon set for the application.
8 years ago
Michail Vourlakos 97e57550bf fix #102,show apps menu with Super key
--this needs from the user side to add
in the .config/kwinrc

[ModifierOnlyShortcuts]
Meta=org.kde.lattedock,/Latte,org.kde.LatteDock,activateLauncherMenu
8 years ago
Michail Vourlakos c29cc37cda improve alternative layout appearance
--use a purpleprint fot the editing mode
in order to distinguish it from the default
session
8 years ago
Michail Vourlakos 4ea4a903fd fix #152,support an alternative session
-- On The Road was renamed at Alternative
Session and more improvements to the code
were added
8 years ago
Michail Vourlakos 45e95788ed fix #152,add On The Road session
--the user is able to change into another
session/profile called "On The Road" for
which can set up its docks and applets
differently according to its needs. For
example hide its name, status, place
living etc.
8 years ago
Michail Vourlakos 38f9d0d7e0 fix #224,add option to add spacers applets 8 years ago
Michail Vourlakos 32f2ebc8e0 improve proportion icon size with automatic icon
--when dock is changing screens and dock is using
an automatic calculated icon size based on contents
the automatic icon size must be recalculated for the
new proportion icon size
8 years ago
Michail Vourlakos 70e3c2bb7a expose dockview local geometry to qml 8 years ago
Michail Vourlakos 13325ca022 fix #238,disable/enable raise dock temporary 8 years ago
Michail Vourlakos 1a04ff968d fix #233,support autostart through tweaks page 8 years ago
Michail Vourlakos b8ce37d4c3 fix #198,recreate windows when it is needed
--in order for a dock to be above KeepAbove
windows must contain flag BypassWindowManagerHint.
Unfortunately this flag breaks the experience with
AlwaysVisible state especially the struts and
snapping behavior. This patch recreates a
dockView when a mode is changed and an
update for the flags is needed.
--at the same time move the localGeometry to
dockView in order to trigger properly the
updateAbsGeometry when it is needed, on
window's geometry changes not only when there
is local geometry change
--when a dock is created through corona, the
addDock function reads the mode which is going
to be used and specifys this way the flags that
have to be set during docks creation
8 years ago
Michail Vourlakos 417f0012bd disable debug message for shadows 8 years ago
Michail Vourlakos 329ba8b6ff fix #126, improve behavior for auto positioning
--support also an edge case where a top and left dock
overlap each other but there is also a free space in them.
This case hasnt been taken into account into the previous
implementation
8 years ago
Michail Vourlakos f3dbd30ec1 signals to update free area
--more specific when the normalThickness or
shadow size are changed
8 years ago
Michail Vourlakos b2b4517ba8 fix crash from quit of configuration window 8 years ago
Michail Vourlakos ead7892551 fix #194,the user can enable a solid background
--this is especial useful for plasma themes with big
transparency. Latte can not support blur and background
contrast kwin effects for panel backgrounds that are drawn
inside its qml side.
8 years ago
Michail Vourlakos 70c83d8b83 support blur/background contrast effects
--support these effects for docks that draw
their shadows externally with the window
server
8 years ago
Michail Vourlakos 2a8bd25e0e compute availableScreenRect only once
--this commit reduces into half the calculations
needed from the vertical docks in order to position
themselves based on horizontal docks. More specific
it makes the QRegion calculations only once for
each dock instead of two times
8 years ago
Michail Vourlakos 0b2bebfbd8 protect dock removal in some cases
--forbid removal of the last running dock with
tasks in it
--forbid removal of the last tasks plasmoid from
running docks
8 years ago
Michail Vourlakos 0f7df07ef1 remove no return error 8 years ago
Michail Vourlakos 6010638094 support overlap dock cases by using free space
--this commit uses free region from corona instead
of free rectangle in order to calculate size and
positioning for the docks. This way is possible to
be positioned more intelligently.
8 years ago
Michail Vourlakos d2e8dd7881 fix #218,reenable garbage collect and trim cache
--the clear component cache was disabled because on
exit it creates crashes when 2 and more docks are
running
8 years ago
Michail Vourlakos c510c74cc5 fix #214, comment new multi-screen behavior
--refer to last 6-7 commits that contain this new
multi-screen behavior
--the new multi-screen behavior becomes more intelligent.
Latte trys to never let you without a dock containing
tasks plasmoid. It trys to do that intelligently not
depending on how many docks you have registered and if
they are set to explicit or primary ones
8 years ago
Michail Vourlakos fbf8cd3802 disable debug messages 8 years ago
Michail Vourlakos 81dfa36cef set a timer for sync docks screens
--add debuging message
8 years ago
Michail Vourlakos 2e54a90eef fix right edge positioning
--do not load primary screen when the specific
edge is occupied in the primary screen
8 years ago
Michail Vourlakos 5421b976fa remove on primary docks on special cases
--primary docks are removed when their edge is
occupied in the new primary screen and their
current screen is destroyed. Also they are added
when the screen edge is available
8 years ago
Michail Vourlakos 74770a9f37 dock containing tasks is protected in multi-screen
--the last dock containing tasks can not be removed
automatic by Latte based on screens heuristics
--on startup Latte checks if a dock containing tasks
will be loaded based on screens associated. If it
doesnt it loads the first dock containing tasks and
puts it on primary screen and setting also its flag
to onPrimary
--on the configuration window when a dock changes from
explicit to primary screen by latte automation the
record of the previous screen is shown correctly
8 years ago
Michail Vourlakos 07d68dd636 fix typo for LeftEdge
--this was breaking the AlwaysVisible experience
for Left docks
8 years ago
Michail Vourlakos 5962cbc9bb stop timer on exit 8 years ago
Michail Vourlakos 6214318e09 change primary dock screen when relevant edge freed 8 years ago
Michail Vourlakos 38e3446db9 do not allow a primary dock overlap an explicit 8 years ago
Michail Vourlakos 52c8673aad semantic improvements 8 years ago
Michail Vourlakos 2385e593d2 fix screen choosing from configuration window
--the check for the screen if it has the specific
edge free added some small bugs
8 years ago
Michail Vourlakos 18f57f51fd block screen change when edge is occupied
--unfortunately this contains also white spaces
fixes. Sorry for this but by implementing multi-screen
the laptop wasnt correctly configured for
astyle and whitespaces
8 years ago
Michail Vourlakos 0bef60838a disable flag ByPassWindowManagerHint 8 years ago
Michail Vourlakos de30d48f72 remove configuration window on hiding 8 years ago
Michail Vourlakos 5f5cfbad35 fix #208,crash on exit through quit button 8 years ago
Michail Vourlakos 17d2626443 fix whitespaces 8 years ago
Johan Smith Agudelo Rodriguez d2b5487abd fix #198, flag ByPassWindowManagerHint 8 years ago
Michail Vourlakos c72e62a5d0 fix #12,multi-screen support
--this commit is just a small clean up that
acts as a reference for all the previous
10-12 commits that provide the new anticipated
multi-screen support. With multi-screen support
the user can set for its docks either to be always
on the primary screen or an explicit one... The
docks are loaded and removed automatically on
screen changes
8 years ago
Johan Smith Agudelo Rodriguez 2f419e6eab fix restore config 8 years ago
Michail Vourlakos b88170caaa support always on primary case
-- :) fantastic behavior from Latte...
8 years ago
Michail Vourlakos 3b3c6a0f47 drop dock primary screen behavior from plasma
--this cleans the plasma behavior for the
primary screen that was creating a mess.
The dock "on primary" state can now be implemented
through Latte without breaking things
8 years ago
Michail Vourlakos 03fc80439a fixes for plasma behavior and screens ids
--there are cases that screens instead of returning
correct screen names the return names like
"0:0". These are totally ignored in order to not
break the screen ids database
8 years ago
Michail Vourlakos 14b72f49e6 restore add/remove dock buttons
--also use a single timer for screen sync
for dockview
8 years ago
Michail Vourlakos 8aa5021645 update screens in config window in each show event 8 years ago
Michail Vourlakos f791f0b209 fix config window positioning in multi-screens 8 years ago
Michail Vourlakos f46848e039 add screen information into debug window 8 years ago
Michail Vourlakos 9259a28cde improvements to add/remove docks on screen demand 8 years ago
Michail Vourlakos 8a7bb2942c add basic multi screen support
--the user can change the dock's screen
from the configuration window... Optimizations
must be made of course in the future...
8 years ago
Michail Vourlakos c468353407 fix #116, update screen in screengeometry changes
--when the screengeometry was called the dockview screen
hadnt changed to primaryscreen, that had as a
consequence the dock to go to the primary screen
but because that was out of the boundaries of
its own screen to return again to first place
8 years ago
Michail Vourlakos d4da25e2e6 add a screen pool for multi-screens 8 years ago
Johan Smith Agudelo Rodriguez 0e728b558d punctuation marks. 8 years ago
Johan Smith Agudelo Rodriguez 1ba8a62e07 remove property debugFlags of DockView 8 years ago
Johan Smith Agudelo Rodriguez 445cf91791 unused function 8 years ago
Johan Smith Agudelo Rodriguez fbf5808667 update commandline options 8 years ago
Johan Smith Agudelo Rodriguez 2b4bbd20f2 fix memory leak 8 years ago
Johan Smith Agudelo Rodriguez 75d4b71216 #199, AbstractWindowInterface is now a shared resource 8 years ago
Michail Vourlakos 0a50e76bf6 disable debug messages 8 years ago
Michail Vourlakos a38dd1d91e disable debug message 8 years ago
Michail Vourlakos 4c0a97348c disable debug messages, fix masking positioning 8 years ago
Michail Vourlakos b7c42a5365 mouse events debug messages 8 years ago
Michail Vourlakos 55f88360c2 Revert "block dock hiding when alternatives are shown"
This reverts commit ddd1a57875.
8 years ago
Michail Vourlakos a430d85119 block dock hiding when alternatives are shown 8 years ago
Michail Vourlakos b4885ceee4 remove no needed app/latte-dock.desktop 8 years ago
Johan Smith Agudelo Rodriguez bb407d94c1 various fixes, and added metainfo to latte-dock.desktop.template 8 years ago
Michail Vourlakos ab1cc5f87c fix #171,use lock file instead of QSharedMemory
-- this way the lock is per user and crashing Latte
allows us to rerun it properly
8 years ago
Michail Vourlakos f9797aa06c fix #172, disable hidpi scaling
--fix for hidpi screens based on plasma
official code
8 years ago
Michail Vourlakos 03fb457af6 fix #171,allow only one instance for Latte app 8 years ago
Michail Vourlakos 81b36dc91e improve when dock can hide itself
--when an applet becomes activated then the dock
shouldnt hide itself until the applet to become
inactive
8 years ago
Johan Smith Agudelo Rodriguez 1677e2a041 Improving readability of CMakeLists 8 years ago
Johan Smith Agudelo Rodriguez 0d325f827f fix #48, Support Alternatives from the Context Menu 8 years ago
Johan Smith Agudelo Rodriguez dd12817a24 added alternativeshelper class from plasma 8 years ago
Johan Smith Agudelo Rodriguez c17732cf17 fix #164, Dodge Active is broken for windows on all desktops 8 years ago
Michail Vourlakos 827bde86d4 fix #116, remove QueuedConnection 8 years ago
Michail Vourlakos 65a2367fd6 fix #116, endless showing loop at startup
--in a multi-screen environment that
 primary screen is not set to 0 it was
 created an endless showing loop at
 startup (catch-up race) between
 screen:0 and primaryScreen
8 years ago
Michail Vourlakos 4579fcff46 protect crashes from containment() in dockview 8 years ago
Johan Smith Agudelo Rodriguez ec3721a591 fix #139, Un-hide Latte at desktop and activity changes 8 years ago
Michail Vourlakos 3ab252339c fix #116,add protections in multi-screen 8 years ago
Johan Smith Agudelo Rodriguez 988ffdae35 fix position when external shadows is enable 8 years ago
Johan Smith Agudelo Rodriguez 0592ba3aaf avoid overlaping 8 years ago
Johan Smith Agudelo Rodriguez 8c820073f0 fix narrow casts 8 years ago
Johan Smith Agudelo Rodriguez b8cbf694f7 fix #133, dodge active window when switching desktop 8 years ago
Johan Smith Agudelo Rodriguez 8ac85c53a6 fix #141, dodge decoration 8 years ago
Johan Smith Agudelo Rodriguez a13957e59b fix #136, load visibility with a timer in startup 8 years ago
Johan Smith Agudelo Rodriguez 5b1d5b79bd fix #136, clean autoHidden 8 years ago
Michail Vourlakos 0476a85aab fix #155,fix availableScreenRect of latte corona
--this is based on the plasma implementation
8 years ago
Michail Vourlakos 46087059ac fix #42,latte icon shown correctly in ksysguard
--shell metadata file was missing the icon, this
fixes also the configuration window icon
8 years ago
Michail Vourlakos b717a714f5 fix #154,crash on screenGeometry change
--strange thing is that the code producing
this was very weird. From the user's backtrace
syntax: if(!screen())
and more specific at updateEnabledBorders() of
dockview was creating the crash.
replacing it with syntax:
if (!this->screen())
fixes the issue
8 years ago
Michail Vourlakos 6dd4aa9982 fix, publish correct borders
--this fix publish the correct panel borders
that should be drawn according to alignment
and location. Improves also PanelBox heurestics
and should be also any shadows issues
8 years ago
Johan Smith Agudelo Rodriguez 073c3cae3f update requirements for devel packages 8 years ago
Johan Smith Agudelo Rodriguez 500e9d7110 added website to about dialog 8 years ago
Johan Smith Agudelo Rodriguez dbb22f0038 initWindow() has not been defined 8 years ago
Johan Smith Agudelo Rodriguez 57797c51f5 add shadows to config window 8 years ago
Johan Smith Agudelo Rodriguez 6e37702a95 cleaning CMakeLists.txt 8 years ago
Michail Vourlakos 09629b774b support drawing panel shadows outside dock window
--this is set by default only in case of Always Visible,
zoom factor 1.0, Justify alignment and maximum panel
thickness
8 years ago
Michail Vourlakos f9a2226457 prevent dockview crashes because screen in not set 8 years ago
Michail Vourlakos 41e79cf188 support debug flags from the runtime
--the user is able to set some additional
debug flags in --debug state by just executing
the application.

supported flags:
--with-window: provides a separate window
to show metrics from each separate dock
--graphics: visual indicator for the various
elements
--mask: additional debug messages concerning
mask calculations
8 years ago
Johan Smith Agudelo Rodriguez caa8d6e6dc Indent too long lines 8 years ago
Johan Smith Agudelo Rodriguez 9b30106101 Update credits 8 years ago
Johan Smith Agudelo Rodriguez 9a3c15d0b5 sync po files 8 years ago
Johan Smith Agudelo Rodriguez c6cdba4adc italian translation moved to po/ 8 years ago
JenaPlinsky 70d791fcc9 Create it.po 8 years ago
Michail Vourlakos c8c14cbe80 more improvements for calculations
--various improvements for calculations for panel size,
shadows calculations, configuration window showing
metrics
8 years ago
Michail Vourlakos dbe18e2ed6 update app description in about dialog 8 years ago
Michail Vourlakos 84de2ad1e4 remove maxLength from dockview 8 years ago
Johan Smith Agudelo Rodriguez fedb872e4a Merge branch 'master' into about-dialog 8 years ago
Johan Smith Agudelo Rodriguez 2e8fe37fd2 #98, added about dialog 8 years ago
Michail Vourlakos a9e23e24dc update translations strings 8 years ago
Michail Vourlakos 9c3e8f891c fix occusional crash from right click triggering 8 years ago
Michail Vourlakos 90b95f65ac fix #94,--debug must be set for debugging messages 8 years ago
Michail Vourlakos ca97e6d486 disable more debug messages 8 years ago
Michail Vourlakos 72baaa8809 fix #93,masking updated correctly on config win
--this can be tested by opening the configuration window
through the tasks. Even though a task is zoomed when
triggering the configuration window the animations
do not break afterwards
8 years ago
Michail Vourlakos 5a390e95b3 fix #96, fix right click for systray 8 years ago
Michail Vourlakos 254ad13536 small fixes with new right click menu
--this fixes right click in zoom factor area
for latte plasmoid and right click in containment
areas that dont have an applet
8 years ago
Michail Vourlakos 585cb154b7 improve systray and make it part latte experience
--improve right click behavior for systray and make it
behave according to latte experience
8 years ago
Michail Vourlakos 03eb69a618 simplify appletItems discovery for right click
--the containment becomes independent from dockView.
The appletItems which are needed in order to show
the context menu correctly are discovered from dockView
without any need of functionality from containment
8 years ago
Johan Smith Agudelo Rodriguez 8c1ac52ac1 removed NET::WM2WindowClass property 8 years ago
Johan Smith Agudelo Rodriguez 91f9ca280d fix #80, Dock do not dodge Spotify 8 years ago
Michail Vourlakos 13fa35c99a fix #75, improve loadLayout on startup
--loadLayout is called only once and when
the activities service is in ready state
8 years ago
Michail Vourlakos fd40ef7f4d update locations when dock changes location
--updates the available locations in the configuration
window when any dock updates its location
8 years ago
Michail Vourlakos 2c0e536cf9 remove old applets config from active containments 8 years ago
Michail Vourlakos 2d2c7875e7 fix some qml warnings on dock removal 8 years ago
Johan Smith Agudelo Rodriguez 72bd7a0af8 fix #85, removing Dock crashes Latte 8 years ago
Johan Smith Agudelo Rodriguez 05163c2911 code cleaned 8 years ago
Johan Smith Agudelo Rodriguez 9cb5b44b93 master merged on audoban2 8 years ago
Michail Vourlakos 5b1d152dc9 fix #84,closing Latte cleans config file
--when Latte is closing removes all entries for
containments that are obsolete
8 years ago
Johan Smith Agudelo Rodriguez 3a627a8d65 Free resources for dockview 8 years ago
Johan Smith Agudelo Rodriguez 17b48b6eea rename Latte's configuration files #81 8 years ago
Michail Vourlakos af74c952ef fix two serious crashes from config window
--first is inside the freeEdges function call
on destruction
--the second is also in the app's destruction
because of the call to a destructed containment
through m_containment. This variable was deleted
8 years ago
Johan Smith Agudelo Rodriguez 6da8142351 disconnect all the signals in the destruction 8 years ago
Johan Smith Agudelo Rodriguez c42250d9bb avoid white spaces with astyle 8 years ago
Johan Smith Agudelo Rodriguez 2307efd4c4 clean up code #79 8 years ago
Michail Vourlakos 0f658a1e54 fix #76, add waiting dock views
--add m_waitingDockViews which are waiting
for removal confirmation. Using destroyedChanged
signal from containments in order to support
the behavior
--improve freeEdges code based on
the docksCount implementation
8 years ago
Michail Vourlakos 66ce546141 update greek translation
--removed also a no needed string
8 years ago
Michail Vourlakos d641ec0b33 fix #54,dock is shown when applet needs attention 8 years ago
Johan Smith Agudelo Rodriguez e3aac94824 permit always update dockRect variable 8 years ago
Johan Smith Agudelo Rodriguez 401e85ad8e dont update struts when the user is configuring #25 8 years ago
Johan Smith Agudelo Rodriguez 4ea00588e9 timer unnecessary 8 years ago
Michail Vourlakos abf84a1d1e restore previous behavior
--fixed local dock geometry updating in editing
mode. Now in runtime the struts are updating
correctly
8 years ago
Michail Vourlakos 3f2847b467 disable update struts on userConfiguring state 8 years ago
Michail Vourlakos 25f901cdee fix two crashes
-- one private slot was missing, right clicking
was creating a crash because of this sometimes
-- removing a second or third created dock was
causing a crash because visibilitymanager wasnt
removed in sync and correctly from the dockview
8 years ago
Michail Vourlakos a74fe28c18 consider shadow size for currentThickness
--this solves an issue concerning configuration window
placement when changing locations
8 years ago
Johan Smith Agudelo Rodriguez f844f91ac2 unnecessary sync 8 years ago
Johan Smith Agudelo Rodriguez 5d59cfb01c better debug info 8 years ago
Johan Smith Agudelo Rodriguez 44bdd5a90b code formatted 8 years ago
Johan Smith Agudelo Rodriguez dd7009e96e reduced number of calls to syncGeometry 8 years ago
Johan Smith Agudelo Rodriguez 60f6f8d942 update dockconfig view 8 years ago