aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/LDesktop.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.
* Make sure that the desktop widget updates itself and any panels on ↵Ken Moore2016-04-15
| | | | screen/resize changes.
* Change a lot of "delete" calls on QWidgets to the safer "->deleteLater()" Qt ↵Ken Moore2016-02-12
| | | | function. This might fix the random issues with desktop crashes on non-FreeBSD systems.
* Cleanup how the ~/Desktop/* shortcuts are removed a bit. Now it catches ↵Ken Moore2016-02-04
| | | | these special files and only runs the QFile::remove() function on it (just like deleteing the file from teh CLI), and the plugin itself is removed by the update routine later on after the filesystem watcher sees the change.
* Ensure that when a desktop item opens it's context menu it hides the main ↵Ken Moore2015-12-04
| | | | desktop's context menu (if visible).
* Fix up the context menu actions for the desktop a bit.Ken Moore2015-12-02
| | | | | 1) Now the desktop canvas itself will catch/maintain keyboard focus when clicked. This prevents issues with using a keyboard shortcut to simulate a right-click event causing strange behavior (what item (if any) has focus?). 2) Make sure that when the context menu is opened, it is always at the mouse cursor position (even if a key press opened the menu).
* Re-do the "App Menu" plugin a bit. Now it uses a self-contained menu with a ↵Ken Moore2015-12-01
| | | | "Leave" option at the bottom. We can add/change it more later as needed.
* Adjust the main lumina-desktop session a bit:Ken Moore2015-12-01
| | | | | | 1) Make it a single-instance process 2) Add a "--check-geoms" input flag which will have the desktop re-scan all monitor geometries and adjust as needed. 3) Adjust the monitor re-detection/adjustment routines a bit to ensure consisten functionality.
* Unify some text in various menus: "Browse Files" for instance.Ken Moore2015-11-24
|
* Add a scaling rule for the desktop plugin grid size:Ken Moore2015-10-19
| | | | If the screen height is more than 2000 pixels high (4K screen), then set the initial icon size to 200 pixels. Otherwise use the normal 100 pixel default.
* Convert the grid used for the desktop plugin system a little bit:Ken Moore2015-10-16
| | | | | | | | | 1) The "IconSize" used is the total size for a desktop item (width & height), rather than the actual size of the icon. 2) Change the saved value in the settings file to "GridSize" instead of IconSize. 3) Make the entire grid relate to this item size - ensuring grid alignment for both desktop items and desktop plugins. 4) Make sure to treat any manual "applauncher" plugins as desktop items for sizing/update purposes. 5) Save the plugin geometries in pixel coordinates instead of grid coordinates to accomodate for flexible grid sizes now. 6) Add another update rule for 0.8.6->0.8.7 (including 0.8.7-devel->0.8.7-release) which removed all the old saved desktop plugin geometries (since they are in the wrong coordinate system). This is a minor change because the update to 0.8.7 was already going to change all the plugins anyway.
* Finish cleaning up the new desktop icon upscaling routines so that an app ↵Ken Moore2015-10-13
| | | | icon should always match what was requested for the button.
* A bit more cleanup of the new desktop icons:Ken Moore2015-10-13
| | | | | | | 1) Adjust the font outlines quite a bit more - now it properly respects the theme settings and adjusts appropriately. 2) Add options to re-size all the desktop icons at the same time (use 16 pixel increments) 3) Adjust the default desktop icon size (use a 64x64 icon be default). 4) Ensure that the applauncher re-scales the icon as necessary to ensure it is the proper size.
* 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
|
bgstack15