aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/panel-plugins/systemtray
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.
* Turn off some debugging within the system tray plugin, cleanup the message ↵Ken Moore2015-08-07
| | | | logging routine, and fix a bug in the autostart loop procedures
* Fix up the file/dir removal options within the userbutton.Ken Moore2015-08-05
|
* Finish converting libLumina to XCB-only and finish replacing any LX11 ↵Ken Moore2015-08-05
| | | | functions in lumina-desktop.
* Fix up the issues with some apps which re-configure the Xsession/screens to ↵Ken Moore2015-07-30
| | | | match their own internal specifications. On single-screen setups it works fine now, but on multi-screen setups the app does not seem to return the xsettings back to their original specs properly (Tested with OpenArena and MegaMario). This may result in the screen being "flipped" or placed on different monitors after closing the app.
* Re-work quite a bit of the background procedures for desktop plugins and ↵Ken Moore2015-06-14
| | | | | | | | | | | watchers: 1) Move the ~/Desktop directory watcher into the Session (no extra overhead, already have a watcher there), and have te session send out signals when the contents of the ~/Desktop dir change. 2) Setup the plugins that poll the desktop to use the new session implementation (reducing overhead overall) 3) Add the ability to use files/dirs in the "applauncher" plugin as well (not exposed to user yet) 4) Add a new desktop flag for auto-creating applauncher plugins for any files/dirs on the desktop (not added to lumina-config yet) 5) Get rid of all the config files for the desktop plugins and merge them all together into a single conf file that the session maintains the pointer to (so plugins can grab that pointer as necessary) 6) Make sure that desktop plugins go through a special [read/save]Setting() functions in the plugin implementation itself so that they don't accidentally trample other plugin settings (keeps it restricted to the particular group for that plugin)
* Clean up the border/spacing for the system tray container - remove the frame ↵Ken Moore2015-06-09
| | | | entirely and make the spacing between tray icons 0 pixels. (prevents the occasional 1px lines since the frame does not refresh as often)
* Remove the extra painting check/update routine for the system tray - send it ↵Ken Moore2015-05-21
| | | | into a loop and causes high Xorg/CPU usage.
* Add a routine to ensure that all the tray icons get repainted when the main ↵Ken Moore2015-05-21
| | | | tray plugin gets repainted. This should ensure that when there is a visibility event (such as the screensaver turning off), all the tray icons should be updated immediately.
* Very minor clean-up to avoid compiler warnings.Jesse Smith2015-05-21
| | | | | | | On a clean compile of the code I found two compiler warnings, both indicating declarations of unused variables. In both cases I think these variables were used for debugging, originally, and are no longer needed. Their declarations have been removed.
* A couple quick updates to the system tray:Ken Moore2015-05-13
| | | | | 1) Keep track of any events that come in during a check, and run another check when ready. 2) If an update event comes in for an icon which is not internally found, have it run the full check to see if it is missing an icon.
* 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.
* Update the theming of the Lumina desktop:Ken Moore2015-01-19
| | | | | 1) Now the panel appearance will be set by the theme as well (unless custom appearance set) 2) Now the desktop plugins are themed appropriately as well (background canvas can be set to something, non-transparent plugins can be changed)
* 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).
* For the system tray, only have it make changes when doing the whole check: ↵Ken Moore2014-10-29
| | | | don't bother calling "update" on unchanged icons.
* Fix another possible crash in the system tray: when a tray icon fails to get ↵Ken Moore2014-10-22
| | | | embedded the container widget was not getting removed in the right order.
* Fix the system tray checking to once run one at a time (to prevent possible ↵Ken Moore2014-10-22
| | | | conflict with different loops modifying tray icons at the same time). This might fix the random desktop crashes since they seem to be tray related.
* 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