aboutsummaryrefslogtreecommitdiff
path: root/libLumina/LuminaX11.cpp
Commit message (Collapse)AuthorAge
* 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.
* Add the final pieces of the EWMH support functions to the Lumina library.Ken Moore2015-11-13
|
* Add a bunch more of the window-level EWMH standards support into luminaX11. ↵Ken Moore2015-11-12
| | | | Only a few more to go, and then assembling the WM guts can commence...
* Add a couple more XCB EWMH functions. One change required a re-definition of ↵Ken Moore2015-11-12
| | | | an enumeration (WINDOWSTATE -> WINDOWVISIBILITY), so I fixed the usage of that enum in the lumina-desktop project as well.
* Add ~50% of the client EWMH window property support.Ken Moore2015-11-12
|
* Finish adding the rest of the Root window EWMH standards support into the ↵Ken Moore2015-11-12
| | | | LuminaX11 library.
* Just silence a compiler warning about an unused variable for the moment ↵Ken Moore2015-11-11
| | | | (that function is empty for the time being - error in the xcb_ewmh library with char array handling.
* Add support for all the important Root window EWMH properties to the ↵Ken Moore2015-11-11
| | | | LuminaX11 class.
* Add the WM_PROTOCOLS ICCCM support to the lumina library.Ken Moore2015-11-06
|
* 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).
* Add some more ICCCM functions to LuminaX11.Ken Moore2015-10-28
|
* Add new X11 functions for about 1/2 of the ICCCM standardsKen Moore2015-10-28
|
* Adjust the window workspace detection routine to also check whether the ↵Ken Moore2015-09-24
| | | | given window is "sticky" in which case it always returns the current workspace.
* Finally fix up the system tray updates:Ken Moore2015-09-15
| | | | Found out that (at least on FreeBSD 10.2 right now), the xcb_damage_create() routine does absolutely nothing (no damage events ever sent out when the window changes). Switching this back to the Xlib XDamageCreate() routine makes it work perfectly again. Need to ask about this upstream and see if this is a known bug/regression in the XCB libraries.
* Add come fixes to libLumina to work with the new systemstart plugin, and ↵Ken Moore2015-09-10
| | | | adjust the theme files accordingly.
* Quick fix to the libLumina project file to ensure all the colors/themes get ↵Ken Moore2015-09-04
| | | | installed.
* Clean out all the old XLib functions which were commented out, and start ↵Ken Moore2015-09-04
| | | | adding new functions for the window manager (direct access/control - not requests).
* 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
|
* Finish converting libLumina to XCB-only and finish replacing any LX11 ↵Ken Moore2015-08-05
| | | | functions in lumina-desktop.
* Add the XCB versions of the system tray start/stop routines, and setup ↵Ken Moore2015-08-04
| | | | LSession to use those new versions
* Convert a few more X11 functions to XCB - almost done....Ken 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).
* 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).
* 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).
* Add a new function to luminaX11: WindowFrameGeometry() - returns the sizes ↵Ken Moore2015-06-20
| | | | of the frame on each side of the given window.
* Don't try to free(3) a pointer to stack.Vadim Zhukov2015-05-05
| | | | | | | | GCC warning helped to spot a real bug: near line 1185 of libLumina/LuminaX11.cpp there is a call: `free(&hints);`, - but the "hints" is allocated on the stack a few lines above. This looks like a copy-paste error, since other free(&hints) instances look like sane (unless I've missed something, of course).
* 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.
* Remove the last libX11 usage in the sytem tray protocols. Move the damage ID ↵Ken Moore2015-04-20
| | | | creation to XCB, and place it within the embedding routine in LuminaX11 instead.
* 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).
* Remove the XCB "WindowImage()" function from LuminaX11 - it is not working ↵Ken Moore2015-03-27
| | | | properly for some reason on FreeBSD11, and using the QScreen->grabWindow(ID) routine *does* work properly for some reason, so just use the Qt function instead from now on (maybe it has better fallback routines?).
* Clean up a bit of the new XCB system tray embedding process. Still does not ↵Ken Moore2015-03-27
| | | | fix FreeBSD 11, but it is a lot more reliable now.
* Update the system tray Embed/Unembed routines to use the XCB library instead ↵Ken Moore2015-03-27
| | | | of XLib. This bahaves exactly the same on my FreeBSD 10.x system - still need to test a FreeBSD 11.x system.
* 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..)
* Just a bit of cleanup in libLumina and adjust the deskopview plugin a bit ↵Ken Moore2015-03-11
| | | | for non-valid *.desktop files.
* Convert the windowImage routine to XCB from XLib, and set the desktop ↵Ken Moore2015-03-11
| | | | | | | (system tray) to use the new routine. Also setup the desktop to use the new XCB routine for window icons as well. Both are tested on 10.x and appear to work perfectly.
* Add a new XCB-based function for fetching the _NET_WM_ICON information as a ↵Ken Moore2015-03-11
| | | | QIcon (untested)
* 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.
* Quick checkpoint of additional XCB improvements/fixes. Still having an issue ↵Ken Moore2015-01-05
| | | | with fluxbox maximizing windows underneath panels at the moment.
* Large update of XLib -> XCB usageKen Moore2015-01-01
| | | | | 1) Add ability for task manager to minimize/maximize window from details menu 2) Add quick check/movement of new windows to make sure they are not underneath any panels
* Commit some more XLib->XCB conversions (everything for the task manager), ↵Ken Moore2014-12-30
| | | | and fix a stray seg fault in the XCB window class detection routine.
* Fix the detection of the active window via XCB as well: now all the window ↵Ken Moore2014-12-19
| | | | states are properly detected again.
* Fix up the sticky status-setting routine for the Lumina Panel. Now the WM ↵Ken Moore2014-12-19
| | | | | | will be aware of the new status change (send an event instead of changing the property directly). Also add a quick fix for system tray icons: if the icon size does not match the tray size, send a resize event and redraw a few moments later.
* Commit a checkpoint on the conversion of Lumina to Qt5.Ken Moore2014-12-18
| | | | It is functional at the moment, but still has a few rough edges with regards to the X11 background interface (due to the move from XLib to XCB in Qt5). This reulst in some of the window manager interactions not behaving properly (such as sticky status on panels).
* Adjust how the backend for the system tray works:Ken Moore2014-10-17
| | | | | | | 1) Now the Lumina session registeres the system-wide tray, and just keeps track of the windows that should be visible (preventing any loss of service or apps starting up before the tray is registered). 2) The system tray plugin is now just a "visual tray" for embedding the applications in the panel. The Session only allows a single visual tray to be registered at a time, but sends out signals whenever there is an opening for a visual tray (allowing near-instant transfer of tray applications from one visual tray to another). Also fix a quick bug in lumina-config where the save button was getting activated simply by changing the appearance/plugins tab in the panel configuration (without actually changing anything).
* Clean up the usage/detection of the "URGENT" window status, and also move ↵Ken Moore2014-09-12
| | | | the AppStore/ControlPanel/QtConfig shortcut definitions into the LuminaOS class for use in other OS's.
* Move all the OS-specific path PREFIX settings into LuminaOS so that we don't ↵Ken Moore2014-09-12
| | | | have all the different defines all over the place.
* Add a simple OSD to the audio/brightness up/down options in lumina-open ↵Ken Moore2014-09-05
| | | | (since these are what the keyboard shortcuts run). Also adjust the window list filter to cut out any "Lumina-" utilities that do not provide a custom window title (such as the OSD or other splashscreens).
bgstack15