aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/LSession.cpp
Commit message (Collapse)AuthorAge
* 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).
* Move the timer to launch the startup applications into the session itself ↵Ken Moore2015-04-28
| | | | (instead of main.cpp). This should prevent the random occasions when that timer never seems to go off.
* Update the system window a bit and how it is used in the session. Now there ↵Ken Moore2015-04-28
| | | | is only a single system window per session, and it is simply shown/hidden as necesary. This allow it to become visible *much* faster than creating the window from scratch every time.
* Setup the lumina-desktop to use the new favorites system:Ken Moore2015-04-27
| | | | | | 1) Convert any old system to the new one on login (0.8.4-devel users will need to wait until 0.8.4-release or 0.8.5-devel - the next change to the session version). 2) Update the User Buton plugin to use the new system and streamline when it actually probes the filesystem for changes (makes it even faster) 3) Update the Desktop Bar plugin to use the new system as well.
* 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.
* Merge branch 'master' of github.com:pcbsd/luminaKen Moore2015-04-24
|\
| * Re-arrange the startup procedures a bit:Ken Moore2015-04-23
| | | | | | | | | | *Run the audio/brightness setting routines *after* doing the XDG autostart stuff. This catches situations where the audio system (such as pulseaudio) is getting started by the XDG autostart routines. *Run the login chimes at the end of the startup procedures, instead of right before the autostart functionality. This ensures that the audio volume was already reset to the previous value before playing the music.
* | 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.
* Move the initial screen brightness and volume setting routines into the ↵Ken Moore2015-04-22
| | | | session initialization (out of the system dashboard plugin).
* Make sure to check the list of watched files and reset it if something was ↵Ken Moore2015-04-20
| | | | removed temporarily (to ensure that the watcher functionality does not stop working while a session is in progress).
* Add a special flag to prevent the lumina-open crash handler from starting up ↵Ken Moore2015-04-20
| | | | during the session cleanup procedures.
* Fix the session chimes (and possible stability issue) by removing the ↵Ken Moore2015-04-16
| | | | | | special audio thread and using the QMediaPlayer within the main thread (no stuttering/delays in my initial tests so far). Add a PC-BSD specific routine for setting brightness so that hardware brightness controls are attempted (through pc-sysconfig) before the software brightness is modified (using xbrightness)
* 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 internal version number handling for backwards compatibility ↵Ken Moore2015-03-30
| | | | checks. This is just to future-proof the routine - now each version number piece can be anywhere from 0->999 (instead of the old limitation of 0->9).
* Add usage support for the XDG autostart specifications. This is currently on ↵Ken Moore2015-03-30
| | | | top of the older Lumina autostart specification, until I can get the writing support for the XDG spec in place as well - at which time I will convert any Lumina-spec entries to the XDG spec (for backwards compat).
* Add support for the older WM_NAME and WM_ICON_NAME standards in addition to ↵Ken Moore2015-03-15
| | | | the EWMH standards (_NET_WM_NAME, etc..)
* Ensure that on session-start the audio volume is reset back to the ↵Ken Moore2015-03-10
| | | | previously-used value before starting the login chimes.
* Make sure that Fluxbox get prompted to reload configs as well after the ↵Ken Moore2015-03-03
| | | | Lumina session detects screen modifications/changes.
* 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.
* Make sure to kill any leftover windows that did not close properly during ↵Ken Moore2015-02-18
| | | | the session cleanup, and tag version 0.8.2-Release
* Use the XCB CloseWindow routine instead of the old XLib routine during the ↵Ken Moore2015-02-17
| | | | session cleanup.
* 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).
* Add the ability to set different date/time formats on a session-wide scale, ↵Ken Moore2015-02-05
| | | | and have the clock plugin instantly update to the new format (backwards compatible with no formats set)
bgstack15