aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/panel-plugins/systemtray/TrayIcon.cpp
Commit message (Collapse)AuthorAge
* Cleanup how auto-start apps are launched a bit (start them via a single ↵Ken Moore2015-10-30
| | | | | | lumina-open call now, instead of a bunch of individual ones). Also fix up the tray app detection/failover methods a bit to catch/discard tray icons which were registered/destroyed almost simultaneously (or no destroy event was ever caught for the icon). This prevents the situation where a "blank" tray icon may be trying to repaint itself repeatedly (eating up CPU cycles). NOTE: It seems like these "blank" tray apps are all GTK based, so it might be something in that toolkit which needs fixing to prevent registering a tray window which will never be used (or is instantly destroyed).
* Another batch of small fixes:Ken Moore2015-10-07
| | | | | | | | 1) Add a new ResizeMenu() class to the LuminaUtils library - this class allows the resulting menu to be resizable by the user clicking on an edge and dragging. 2) In the systemstart panel plugin, reverse the location of the shutdown options on the leave page (put them at the bottom next to where the leave button is in the first place) 3) Setup the systemstart plugin to use the new ResizeMenu. It currently does not save the new size to be used for later sessions, but per-session resizing works fine. 4) Quick adjustment to the systemtray icon sizes 5) Quick fix to the detection of a desktop file removal.
* Add quicklaunch ability to the systemstart panel plugin.Ken Moore2015-10-03
| | | | Also turn off some debuging information from the system tray plugin.
* Add a 1 pixel margin around the panel plugins - this helps a lot with hidden ↵Ken Moore2015-10-02
| | | | panels "detecting" when the mouse leaves the window.
* Finally fix up the system tray updates:Ken Moore2015-09-15
| | | | Found out that (at least on FreeBSD 10.2 right now), the xcb_damage_create() routine does absolutely nothing (no damage events ever sent out when the window changes). Switching this back to the Xlib XDamageCreate() routine makes it work perfectly again. Need to ask about this upstream and see if this is a known bug/regression in the XCB libraries.
* Add a new panel plugin: systemstartKen Moore2015-09-10
| | | | This plugins is an overall "start" menu for the system, combining the functionality of the userbutton and the system dashboard into a single unified interface.
* Finish converting libLumina to XCB-only and finish replacing any LX11 ↵Ken Moore2015-08-05
| | | | functions in lumina-desktop.
* Add (but disable by default) some additional debuggin information. Also turn ↵Ken Moore2015-04-25
| | | | off the debugging for the session/desktop/panel classes by default.
* Remove the last libX11 usage in the sytem tray protocols. Move the damage ID ↵Ken Moore2015-04-20
| | | | creation to XCB, and place it within the embedding routine in LuminaX11 instead.
* Clean up a *lot* of the general XCB warnings that sometimes occur, and also ↵Ken Moore2015-04-15
| | | | tinker with the session cleanup routine quite a bit to streamline the order in which things are closed down (particularly with system tray apps).
* Update the system tray to use the QScreen->grabWindow() routine instead of ↵Ken Moore2015-03-27
| | | | the XCB->WindowImage() function which was just removed.
* Update the system tray Embed/Unembed routines to use the XCB library instead ↵Ken Moore2015-03-27
| | | | of XLib. This bahaves exactly the same on my FreeBSD 10.x system - still need to test a FreeBSD 11.x system.
* Adjust the QPixmap::grabWindow routine to work better on Qt5 (that function ↵Ken Moore2015-03-12
| | | | was moved into QScreen)
* Add some debugging to the system tray image painting routine.Ken Moore2015-03-12
|
* Just a bit of cleanup in libLumina and adjust the deskopview plugin a bit ↵Ken Moore2015-03-11
| | | | for non-valid *.desktop files.
* Convert the windowImage routine to XCB from XLib, and set the desktop ↵Ken Moore2015-03-11
| | | | | | | (system tray) to use the new routine. Also setup the desktop to use the new XCB routine for window icons as well. Both are tested on 10.x and appear to work perfectly.
* Fix up the sticky status-setting routine for the Lumina Panel. Now the WM ↵Ken Moore2014-12-19
| | | | | | will be aware of the new status change (send an event instead of changing the property directly). Also add a quick fix for system tray icons: if the icon size does not match the tray size, send a resize event and redraw a few moments later.
* Commit a checkpoint on the conversion of Lumina to Qt5.Ken Moore2014-12-18
| | | | It is functional at the moment, but still has a few rough edges with regards to the X11 background interface (due to the move from XLib to XCB in Qt5). This reulst in some of the window manager interactions not behaving properly (such as sticky status on panels).
* Adjust how the backend for the system tray works:Ken Moore2014-10-17
| | | | | | | 1) Now the Lumina session registeres the system-wide tray, and just keeps track of the windows that should be visible (preventing any loss of service or apps starting up before the tray is registered). 2) The system tray plugin is now just a "visual tray" for embedding the applications in the panel. The Session only allows a single visual tray to be registered at a time, but sends out signals whenever there is an opening for a visual tray (allowing near-instant transfer of tray applications from one visual tray to another). Also fix a quick bug in lumina-config where the save button was getting activated simply by changing the appearance/plugins tab in the panel configuration (without actually changing anything).
* Initial import of the lumina code from pcbsd git repoKris Moore2014-09-04
bgstack15