aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/LSession.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).
* Adjust the screen resize/modification detection a tiny bit so that all ↵Ken Moore2015-10-29
| | | | changes bump a 0.2 second timer, after which it re-runs the desktop window geometry update routines.
* Make the symlink icon overlays a bit smaller (1/3 icon size, not 1/2 ↵Ken Moore2015-10-28
| | | | anymore), and ensure the 0.8.7-Release upgrade rules are not triggered for update to 0.8.8+
* Ok, adjust the window check/movement routine one more time - Now it runs the ↵Ken Moore2015-10-23
| | | | special frame/geom mix first (for Fluxbox issues), checks that the window+frame is where it is supposed to be, then moves to just the geom location if still out of place.
* Reverse the order of the window movement routines. The one which still might ↵Ken Moore2015-10-23
| | | | move the window above the top of the screen should be used first, with the fallback one which moves the window below the top of the screen second (had them flipped on accident).
* Convert the desktop-plugin "applauncher" (desktop icons) to use a ↵Ken Moore2015-10-19
| | | | double-click for launching items instead of a single click.
* 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.
* Add another upgrade rule for 0.8.6->0.8.7:Ken Moore2015-10-15
| | | | If the "desktopview" plugin is used on the desktop, remove it and trigger the auto-generation of desktop icons instead.
* Add the conversion rule for 0.8.7-devel (or older) to 0.8.7-release to ↵Ken Moore2015-10-08
| | | | automatically update the panel plugins (systemdashboard removed, appmenu/userbutton->systemstart)
* Commit a couple fixes:Ken Moore2015-10-08
| | | | | | 1) Make sure the calendar desktop plugin updates the date occasionally. 2) Add the framework for a custom-painted Toolbutton for the applauncher plugin. This will be used to ensure font outlines in the near future. 3) Another small adjustment for new window geometries - run the overall adjustment first - then re-check and see if the window is off the top of the screen before trying the fallback movement routine.
* Adjust the window geometry movement routine a bit more. Now it will only run ↵Ken Moore2015-09-29
| | | | the no-frame movement routine if the window is at the top of the screen.
* Change which MoveResize calculation is used for window geometry ↵Ken Moore2015-09-28
| | | | check/verifications. This should fix the issue with *some* windows appearing with exactly the title bar off-screen.
* Turn off a bunch of debugging for the lumina-desktop, and adjust the ↵Ken Moore2015-09-18
| | | | desktopview plugin a bit more.
* Fix up all the window activation detection/management within the lumina ↵Ken Moore2015-09-16
| | | | session. Now when a submenu on the panel is closed somehow or a window was modified with the task manager, it will properly find/activate the right window again.
* 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.
* Add special handling for lumina-screenshot when moving the initial window ↵Ken Moore2015-08-14
| | | | location: for some reason Fluxbox treats it differently than other windows.
* Remove some old comments, and also remove the old savedScreens variable that ↵Ken Moore2015-08-07
| | | | I was using for Xinerama testing.
* 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
* Completely finish the XLib -> XCB conversions. Now Lumina no longer requires ↵Ken Moore2015-08-05
| | | | any XLib functions/libraries/extensions.
* Add a replacement for XSelectInput and use it within lumina-desktopKen Moore2015-08-05
|
* Add the XCB versions of the system tray start/stop routines, and setup ↵Ken Moore2015-08-04
| | | | LSession to use those new versions
* 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).
* Fix up the active re-loading of icons in the desktop interface when the icon ↵Ken Moore2015-07-24
| | | | theme changes.
* Finish cleaning up the new localization configuration settings in libLumina, ↵Ken Moore2015-07-21
| | | | | | and put a combobox in the system dashboard plugin which allows the user to (temporarily) change their session locale. Still need to finish up the active re-translation of the desktop session though.
* Fix up a calculation of the new window geometry - add in checks for those ↵Ken Moore2015-07-17
| | | | strange windows (like gimp) which move the main window off-screen before showing it (causing errors/crashes in the program when moving it back).
* 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.
* Adjust the window check/resize routine a bit more. Now it seems to workmuch ↵Ken Moore2015-07-10
| | | | better, still have a couple apps which might go past the bottom of the screen a couple pixels, but that might be the app doing some auto-resizing of itself later.
* Clean up some extra debugging in the lumina-desktopKen Moore2015-07-09
|
* Large update to the usermanager:Ken Moore2015-07-09
| | | | | | | 1) Fix alphabetizing the list of favorites 2) Make all the menu updates happen in a non-blocking fashion (the user will see the items appear as they are loaded) 3) In the home dir browser, also load any files within the directory (and launch them when clicked) 4) Remember which dir was loaded in the browser last, and only refresh/change it as necessary on next menu open.
* Some quick cleanup in the LSession.cpp file and update the port filesKen Moore2015-06-26
|
* Fix up the adjustment of new windows to account for the frame (in the ↵Ken Moore2015-06-20
| | | | vertical dimension only at the moment).
* Adjust the new window adjustment routine a bit - make it use the center of ↵Ken Moore2015-06-20
| | | | the window to calculate which screen it is on instead of the upper-left corner.
* 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).
* 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)
* Add a QtQuick sample plugin and disable the new panel container for QtQuick ↵Ken Moore2015-06-12
| | | | pluins. It appears that there is a fundamental issue with embedding QML objects into a panel/window with the "always on top" flag set - it never finishes painting the QML object and prevents the rest of the panel from being updated as well.
* Add two new plugins for Lumina: QuickPPlugin, QuickDPlugin (panel/desktop ↵Ken Moore2015-06-11
| | | | | | respectively). These are QtQuick "containers" which allow the loading of user/system supplied QML scripts for non-compiled plugin support. These plugins must be single *.qml files located in <Lumina Share>/quickplugins/*.qml or ~/.lumina/quickplugins/*.qml
* A couple quick adjustments to the LSession:Ken Moore2015-06-08
| | | | | 1) Ensure that the settings file never has the saved version go "backwards", only forward so that we know what version the settings correspond with. 2) Have the WM reset wait a second before starting off (X is sometimes still swamped when the event happens - give it a moment first).
* Add a new function to "restart" the window manager, and run this if ↵Ken Moore2015-06-08
| | | | something changed with regards to the available monitors/displays (such as when adding/removing a monitor). This forces Fluxbox to reload completely so it picks up on the new display layout.
* 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.
* Move the desktop initialization after the menu's initialization. With all ↵Ken Moore2015-05-23
| | | | teh additional process events calls the menus needs to be ready before desktop elements start trying to use them.
* Remove the extra bootsplash show between the apps/settings menu ↵Ken Moore2015-05-23
| | | | initialization. Something about the addition processEvents() call is screwing up the init procedures.
* Add a new "phase" into the boot splash - system applications loading.Ken Moore2015-05-23
|
* Make sure disabled numlock stays off. Updated Linux shutdown command.Jesse Smith2015-05-22
| | | | | | | | | This patch primarily fixes two minor issues. 1. When number lock is disabled in the session settings, it should now turn off when Lumina starts. 2. In the Linux portion of libLumina, the shutdown command has been updated. 3. A minor typo was fixed in the dependency list.
* Finish cleaning up the new CPU/Memory desction routines in libLumina, and ↵Ken Moore2015-05-22
| | | | add a new desktop plugin for monitoring system statistics (CPU/Mem usage, CPU temps).
* 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.
* Add a new boot splash screen to be used during the Lumina initialization ↵Ken Moore2015-05-21
| | | | phase. This is *not* a QSplashScreen, so we avoid the issues with VirtualBox/3D acceleration and it loads/updates much faster (almost no change in the startup time on my system).
* A couple adjustments to the session startup procedures:Ken Moore2015-05-14
| | | | | 1) Ensure that numlockx is actually installed before running that check/enable routine. 2) Add a 250ms delay (non-blocking) between auto-started applications. This just helps prevent overloading the system and is a bit nicer about starting a lot of processes in a short time frame.
* Integrate the new conversion from the old "startApps" file to the new XDG ↵Ken Moore2015-05-13
| | | | | | autostart spec, and disable all the usage of the "startApps" files. NOTE FOR SYSTEM ADMINS: If you have system-specific startapps files hanging around, you will need to convert them to the XDG autostart spec manually - they will NO LONGER BE USED!!!
* 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).
bgstack15