aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/LDesktop.cpp
Commit message (Collapse)AuthorAge
* 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.
* Couple more updates for lumina-desktop:Ken Moore2015-10-07
| | | | | | | 1) Implement the file dropping on the desktop 2) Fix the panel painting routine to ensure the proper "fake" transparency is applied. 3) Add a missing include line in the panel "applauncher" plugin. 4) Fix the initial desktop icon size setting.
* Commit the 3rd iteration of the desktop plugin container system.Ken Moore2015-10-07
| | | | | | | | | - Now the desktop plugins are drag-and-drop based, resulting in the user being able to simply drag the plugins around as necessry. - All the plugins now have a special context menu (right-click, or click and hold the left mouse button for 1/2 second), which provides options to start moving/resizing the plugin as well as the removal option. Known Issues: - The cross-application drop event for files is currently flagged as valid - but does not actually run anything yet (to be finished up soon) - Hidden panels are not being updated when plugins are moved around yet - resulting in some screen artifacting on the panel. (to be fixed soon)
* Add various formatting options for the background wallpaper: center, ↵Ken Moore2015-09-11
| | | | [top/bottom][left/right], tile, stretch (stretch is default - same as before).
* Oops, make sure that applauncher/desktop icon check is run before deleting ↵Ken Moore2015-08-20
| | | | the desktop file (just in case the user simply unchecked the icon generation option).
* Add an additional option to desktop plugins where additional cleanup ↵Ken Moore2015-08-20
| | | | routines may be added (only used for some applaunchers right now). This now makes a desktop icon which was explicitly closed/removed by the user also delete the file from the desktop folder (instead of having that plugin get re-created at a later time)
* Oops, fix a typo in the LDesktop conversion to XCBKen Moore2015-07-31
|
* Move all the X11 usage in LDesktop.cpp to XCBKen Moore2015-07-31
|
* 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.
* Add some work that make the Lumina desktop/panels appear in the proper ↵Ken Moore2015-07-28
| | | | locations when XINERAMA is used for combining monitors. However, the interface is still completely unresponsive because the Qt backend is completely screwed up by Xinerama (returns 0's for everything related to screens, geometries, etc, preventing menus from opening up even when manually started). This might be something where we just have to say that Xinerama is not supported for Lumina (at least until lumina-wm get finished up).
* Make sure that all the interface elements in lumina-desktop actively re-load ↵Ken Moore2015-07-22
| | | | their text/icons when the system locale is changed.
* Commit some quick fixes:Ken Moore2015-07-17
| | | | | | 1) Switch some X11->XCB functions around (SetAsDesktop(), SetDisableWMActions()). 2) Fix up some QtQuick plugin detection routines (now it will properly see the user's quickplugins if any). 3) Connect the status change signal/slots for QtQuick plugins to try and detect script failures and remove the script (still not working reliably).
* Final cleanup of debugging messages and temporary changes prior to release. ↵Ken Moore2015-07-10
| | | | | | | Aslo update the default key bindings a bit: 1) Add a shortcut to lock the screen (Pause key) 2) Adjust the tiling shortcuts to Alt+[left/right] instead of Ctrl-[left/right]. The Ctrl shortcuts were already in use by Fluxbox.
* Ok, NOW the desktop plugins layout methodology is consistent/reliable. Had ↵Ken Moore2015-07-10
| | | | to implement my own tiling algorithm for initial plugin placements (and adjust a lot of the plugins to have better auto-set default sizes depending on font settings)
* Finish cleaning up the arrangement/placement of desktop plugins with the new ↵Ken Moore2015-07-09
| | | | system. Also add a default size for the calendar plugin.
* Remove the old "forcing" of a panel with particular settings on the ↵Ken Moore2015-07-09
| | | | default/first screen. This is no longer used/needed because of the luminaDesktop.conf settings file.
* Fix up the clipping/sizing issues with the applauncher desktop icons.Ken Moore2015-07-08
|
* Update how the desktop icons (applaunchers or desktopview) are ↵Ken Moore2015-07-08
| | | | created/arranged initially. Now the desktopview should be oriented the proper way, and the applauncher icons should be the proper size (although they are still not being placed in non-overlapping locations yet).
* Clean up the desktop plugin/container interactions quite a bit to ensure ↵Ken Moore2015-06-20
| | | | consistency and proper size calculations (especially for new plugins).
* Disable some debugging and fix up the context menu on the applauncher plugins.Ken Moore2015-06-14
|
* 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)
* Finish up the desktop re-scaling routines for ensure the same interface if ↵Ken Moore2015-06-05
| | | | you switch out monitors/systems with a different resolution. Also add a quick check to ensure that we don't create duplicate desktops in the same location on the X screen.
* Fix the random issue with desktop crashes when removing a desktop plugin ↵Ken Moore2015-05-23
| | | | (only able to reproduce on a 11.x VM).
* Add the ability to set solid-color backgrounds within Lumina, and add this ↵Ken Moore2015-05-20
| | | | option to lumina-config.
* Fix/Fix a couple important bugs before announcing 0.8.4-release:Ken Moore2015-04-30
| | | | | | | | 1) Desktop plugins are not getting removed. - This appears to be a bug in Qt 5.4.1 from what I can tell (any window buttons in the QMdiSubWindow are non-responsive), but for the moment the user can right-click on the plugin titlebar and select "close" from the menu for the same effect. I have fixed a couple edge cases/situations where forcibly closing/removing a desktop plugin will crash the session (it behaves properly in all situations now from my testing). 2) Disable the panel location limitations in lumina-config since with the new lenght settings it is possible to place panels in any location now (such as two panels on the top - one pinned left and the other pinned right). 3) Fix up the desktop plugin area calculations so they properly handle panels in any configuration. 4) If the desktop area was re-configured, go through and adjust the location/sizing of any desktop plugins (to ensure that they are all within the available space - use the grid alignment procedure).
* 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.
* Add the ability for panels to now occupy a percentage of the screen side, ↵Ken Moore2015-04-25
| | | | with an additional setting to either center the panel on the edge or pin it to one of the corners.
* Oops, accidentally committed a change to the desktop init process (reverted ↵Ken Moore2015-04-24
| | | | becuase it slows down the DE init significantly).
* Before activating the panel on mouse-over, save the ID of the currently ↵Ken Moore2015-04-24
| | | | active window and then re-activate that other window when the mouse leaves the panel.
* Update a bunch of icons in the desktop session, and also add a few abilities ↵Ken Moore2015-03-12
| | | | | | | | | to the desktopview plugin: 1) Multi-item selection 2) cut/copy files to clipboard 3) delete files 4) increase/decrease icon sizes
* Add lumina-xconfig shortcuts into the desktop interface (userbutton, ↵Ken Moore2015-02-25
| | | | | | | settings menu). Clean up/add some desktop/panel "prepareToClose()" routines, and have them run when appropriate. Also add these close routines to the general session cleanup. Add support for a new "--noclean" CLI flag when starting LuminaDE. This flag will tell the session not to close system tray utilities and other applications on session close.
* Clean up how the lumina-desktop closes down:Ken Moore2015-02-17
| | | | Now it is run through a "CleanSession" function beforehand to try and safely close down any applications/trays. Als reduce the number of filesystem watchers: only have one in the session itself, which sends out a signal when the desktop settings config file changes (instead of a watcher in every desktop class).
* Remove some temporary debugging statements.Ken Moore2015-02-17
|
* Fix some panel interactions.Ken Moore2015-02-17
| | | | | 1) Found/fixed a bug with a panel mis-reporting which number it was. 2) Clean up the panel interface management in lumina-config.
* Quick fix for the desktop plugins system: too many different lock flags ↵Ken Moore2015-01-21
| | | | causing random issues. Cut it down to 2 boolians only now, and the desktop responds correctly/reliably again.
* Add a completely new background method for a distributor to set per-system ↵Ken Moore2015-01-21
| | | | defaults for the Lumina desktop. Also fix a bug this exposed in how the Lumina panel removes plugins.
* Oops, missed resetting one of the lock flags in the desktop.Ken Moore2015-01-19
|
* Fix a lockfile violation in the desktop plugin removal process. Now there is ↵Ken Moore2015-01-19
| | | | no chance of it crashing when plugins are removed.
* Fix a bug with removing desktop plugins.Ken Moore2015-01-15
|
* Large update of XLib -> XCB usageKen Moore2015-01-01
| | | | | 1) Add ability for task manager to minimize/maximize window from details menu 2) Add quick check/movement of new windows to make sure they are not underneath any panels
* 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).
* Clean up the lumina-desktop usage of the new way defaults are registered ↵Ken Moore2014-11-18
| | | | (for menu plugins in particular)
* Add a new utility: lumina-searchKen Moore2014-11-05
| | | | | This utility provides quick searching for applications (the default), or for searching the entire user's home directory. The file search also supports the "*" wildcard for the search terms.
* Large quality of life update to Lumina:Ken Moore2014-10-30
| | | | | | | | | 1) Fix up the applauncher desktop plugins so that the initial sizing is sane. 2) Completely remove all global static variables from the session. 3) Re-enable the login/logout chimes (works properly without static variables) 4) Streamline the desktop background rotation algorithms a bit. 5) Greatly streamline the Session start procedure (50% to 75% faster on my computer here) 6) Make sure the background wallpaper does not rotate every time the desktop settings file changes (only when the backgrounds for that desktop are changed, or the rotation timer goes off)
* Tag Lumina version 0.7.1:Ken Moore2014-10-29
| | | | This version mainly contains bugfixes and stability fixes from 0.7.0. The only new features are the "window list" menu plugin, and the option to have panels auto-hide.
* Add a new menu plugin:Ken Moore2014-10-23
| | | | The "Window List" will show a menu of all the current windows, and activate the one that the user clicks on.
* Add randomization to the wallpaper image that is used on first start of a ↵Ken Moore2014-10-21
| | | | desktop.
* Finish up the rest of the new Lumina Theme engine and the utilities for ↵Ken Moore2014-10-14
| | | | editing those themes in lumina-config. Also tag Lumina version 0.7.0 with this change.
* Large update to the Lumina project: provide full theming capabilities.Ken Moore2014-10-10
| | | | | | | | | | | | | 1) New libLumina classes: LuminaThemes.h 2) Single-line usage to add lumina theme usage to an application (already added to all the Lumina utilities) 3) Include a Lumina-default theme template, as well as a single color scheme (will add more later) 4) Will create a global Qt style for "lumina" so that this theme engine can be automatically applied to all Qt applications at a later date (want to make sure to beat this up and get it working reliably before turning it on for everything). Major Features: 1) Full Qt theme capabilities through Qt stylesheets (so they can be modified and applied on the fly). 2) Stylesheets are broken into a couple pieces: an "incomplete" stylesheet file (the theme template) with variables in place of colors, font size, and font family. A "color" file which variable->value definitions for the different colors. And a themesettings.cfg files which keeps track of the files/font settings. 3) Along with this, add the ability to specify the icon theme that is used as well, and make that automatically re-loaded as necessary. 4) Add the ability to read/set thes values in lumina-config. The lumina-config usage is still a bit rough: working on cleaning it up right now.
* Clean up the default filemanager/terminal settings. Put them in the main ↵Ken Moore2014-10-08
| | | | session file (instead of desktop settings), and also have lumina-config safe it to the lumina-open defaults file directly (in the case of the file manager).
bgstack15