aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/LSession.cpp
Commit message (Collapse)AuthorAge
* Add a better watcher/change fallback for ensuring that no files are removed ↵Ken Moore2015-12-16
| | | | from teh watcher during a session.
* Fix up the loading of locales through the StartMenu/Session. Now it will ↵Ken Moore2015-12-01
| | | | properly make the locale changes *if* it could properly load the locale (ensuring consistency between system/session).
* 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.
* Adjust the start menu to show the "genericName" instead of the comment ↵Ken Moore2015-11-23
| | | | underneath an app name, and use the comment as the tooltip. Also adjust the panel re-focus routine a bit to make it smarter about which window gets activation after leaving the panel if the previously active window was closed/minimized.
* A few fixes for the desktop:Ken Moore2015-11-23
| | | | | | 1) Clean up the characters which are unsupported by the notepad for filenames (quotes of all kinds, semicolons, slashes) 2) Start Menu: allow clicks on the item text to trigger the launch, add the generic "comment" text underneath the name of the application (if available) in italics and indented. 3) Remove an extra processEvents call during session startup.
* Fix up the WM a bit more - now it can open/close windows without issues ↵Ken Moore2015-11-20
| | | | (still very rough - does not do things like fine-grained stacking, minimization, and such yet).
* Quick checkpoint for the window manager: NOT STABLE - crashes on window ↵Ken Moore2015-11-20
| | | | close right now.
* Remove a geometry-match condition when re-loading the desktop canvas's. This ↵Ken Moore2015-11-12
| | | | could cause the wrong number of desktop canvases to get created/moved.
* 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.
bgstack15