aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/LSession.cpp
Commit message (Collapse)AuthorAge
* 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)
* Clean up how Lumina loads the startapps files. Now it will combine any files ↵Ken Moore2015-01-28
| | | | that are found, allowing for system-wide defaults in addition to user-set defaults.NOTE: all the system files are named "luminaStartapps" whereas the file in the user's config is "~/.lumina/startapps"
* read /etc/luminaStartapps aswellChristopher Roy Bratusek2015-01-28
|
* Add knowledge of the lumina-info utility to the Lumina desktop (userbutton, ↵Ken Moore2015-01-28
| | | | | | config menu). Also make sure that there is a *.desktop shortcut for the application (and update the pkg-plist) Also allow for "-<something>" to be put in the version number without messing up the version checking routine, and tag the current version on the master branch as 0.8.2-devel (once the stable/official release is branched, the "-devel" tag will get either dropped or changed to "-release" in that branch, with the master branch moving on to the next <version>-devel)
* 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.
* Clean up a couple other session options:Ken Moore2015-01-21
| | | | | | 1) Fix the "Open Home Dir" option in the application menu. 2) Have the logout window open on the current screen (instead of always the left screen) 3) Hide the logout window when starting the logout procedure.
* Clean up the active window detection/usage for the task manager.Ken Moore2015-01-19
|
* Turn off some of the debugging for the lumina-desktop session in preparation ↵Ken Moore2015-01-05
| | | | for releasing 0.8.0
* Put another couple quick fixes in:Ken Moore2015-01-05
| | | | | 1) Do not adjust the width of new windows (even if they go off the right side of the screen, they still have some part of them on the main screen) 2) Add better crash handling to lumina-open (put the standard error text or standard output text of the application in the "details" for the message box).
* Clean up the Panel/Taskmanager XCB usage quite a bit. Now the panel is ↵Ken Moore2015-01-05
| | | | "seen" by fluxbox when a window is maximized, and the task manager works with the highly asynchronous XCB events.
bgstack15