aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/panel-plugins/systemtray/LSysTray.cpp
Commit message (Collapse)AuthorAge
* Rearrange the Lumina source tree quite a bit:Ken Moore2016-04-25
| | | | Now the utilites are arranged by category (core, core-utils, desktop-utils), so all the -utils may be excluded by a package system (or turned into separate packages) as needed.
* Find/switch a bunch of other "delete" calls on QWidgets to the Qt ↵Ken Moore2016-02-18
| | | | deleteLater() function instead. This seems to fix the start menu category change crash with Qt 5.5.1
* 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.
* 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
|
* 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)
* 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.
* 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 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)
* 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