#
a0e9f8e2 |
|
04-Mar-2012 |
Stephan Aßmus <superstippi@gmx.de> |
Fixed wrong assert and locking when using Workspace objects. * The assert in the Workspace constructor was definitely for the wrong lock. One should be holding the all window lock either in read or write mode. The Desktop message loop lock should be unrelated. * Added boolean to the constructor which controls the assert. * Added documentation to Workspace class, since it's not at all obvious how this is intended to be used. * Fixed ServerApp to lock the Desktop correctly when using Workspace desktop colors.
|
#
b9bedde4 |
|
26-Jul-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Assert the right lock, thanks Axel. Some clean up. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42496 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d5314ec0 |
|
24-Jul-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
* It helps a lot to find thread problems when the multi locker assert macros actually doing something useful. Took me forever to finally realise that and to find a threading bug. * Remove a superfluously assert which sends the app server into the debugger. More fixes following. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42472 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0eed9183 |
|
20-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Rewrote screen configuration management: VirtualScreen doesn't have anything to do with the configurations now, instead, there is a separated ScreenConfigurations class that maintains all known screen_configurations per workspace (and the Workspace::Private class has two of them, one for the current modes, one for the stored modes). * Added Desktop::{Get|Set}ScreenMode() methods, ServerApp now only calls those. * Getting and setting of anything else than the current screen is now supported. * This change also fixes that a temporarily set screen mode was not being restored on workspace switch. * Also, the Deskbar now seems to have the wrong location a lot, which is something that should be easily fixable therefore. I will look into this next. * Got rid of the unhandy screen_id structure server side, and in BPrivateScreen; we now just use an int32 - the next API break should definitely replace the screen_id with a simple typedef. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32541 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
437b1927 |
|
08-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed severly outdated DebugInfoManager. * More "layer" cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24305 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
953d895e |
|
07-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Got rid of the "Layer" part of WindowLayer, ViewLayer, WorkspacesLayer (now WorkspacesView), OffscreenWindowLayer. * Renamed ServerScreen.cpp/h to Screen.cpp/h (the class was already called Screen). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24303 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7e1df75 |
|
16-Aug-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* get rid of RGBColor usage where it is not needed, this simplified many things, possibly making them a little faster too * mess with decorator button size calculation to make the whole layout scale more agreeable with the font size (no more fixed offsets/insets), but it is work in progress * DefaultDecorator no longer allocated the border color array, it is part of the object now * small memory footprint optimizations in ViewLayer, Decorator and WindowLayer git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22003 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
91d64539 |
|
13-Mar-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Added a new Workspace::GetPreviousWindow() method to allow traversing the window list in the other direction. * Since WorkspacesLayer now cuts out the current window from the clipping region, the window order was upside down; it now uses the new Workspace::GetPreviousWindow(). This fixes bug #1105. * WorkspacesLayer::MouseDown() now also uses GetPreviousWindow() which prevents it from needing to scan the whole window list for the top window at every click. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20382 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
68b599fb |
|
14-Apr-2006 |
Jérôme Duval <korli@users.berlios.de> |
reusing the old settings message is a good idea (thanks Axel!) we simply remove color data before storing the workspace color git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17130 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8be3635f |
|
14-Apr-2006 |
Jérôme Duval <korli@users.berlios.de> |
don't reuse old workspace settings, store method expects an empty message git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17129 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
82081c70 |
|
12-Apr-2006 |
Jérôme Duval <korli@users.berlios.de> |
improved version though the first workspace color isn't kept between boots git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17116 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
190b4fa4 |
|
12-Apr-2006 |
Jérôme Duval <korli@users.berlios.de> |
hopefully implemented makedefault in Workspace::SetColor() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17113 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
39c9925f |
|
07-Apr-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* implemented a BRegion pool per WindowLayer which is supposed to cut down on BRegion related allocations, cannot really tell if it speeds things up * used the new BRegion pool in WindowLayer and ViewLayer whereever a BRegion was used on the stack * fixed the debugging stuff in MultiLocker - it will get you into the debugger if you - try to nest read locks - try to write lock when your are a reader already - don't match up nested locks when your a writer -> but only if you #define DEBUG 1 in the .cpp, is off by default now * went over WindowLayer, ServerWindow, Desktop and a few other places and fixed the locking for use with the MultiLocker, the "a reader can not become a writer" is especially tricky, feel free to review the changes * activated the MultiLocker, I tested this quite a bit, if there are problems simply turn on DEBUG and you should drop into the debugger right where the problem is... hope all is good git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17046 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3dcbe9fc |
|
13-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented redrawing the desktop after color changes. Right now, it only works correctly when Tracker is not running; obviously, the background is cleared in Tracker before it had the chance of changing the view color. Maybe the app_server needs to detect the background view of the desktop and change the view color manually :-/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16376 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8527f8ff |
|
06-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
The display resolution is now saved and restored. Probably doesn't handle non-default modes right yet. The settings are stored in B_USER_SETTINGS_DIRECTORY/system/app_server/workspaces. They are currently saved as a flattened BMessage - we might want to switch to the driver_settings format, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16249 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc6ec917 |
|
29-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented AS_SET_DESKTOP_COLOR - the desktop is not redrawn yet, but freshly exposed areas will be filled with the new color. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15724 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
61fed21b |
|
12-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed Write[Un]lockWindows() to [Un]lockAllWindows(), and Read[Un]lockWindows() to [Un]lockSingleWindow(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15509 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a4471919 |
|
10-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The fWindowLock is now responsible for all window activities - no need to sometimes lock the Desktop itself, and sometimes not - that also fixes some potential deadlock situations. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15463 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e83820ed |
|
07-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Merged app_server_new_clipping branch changes r15290 to 15418 back into trunk. Also fixed Jamfile for the test environment. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15419 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5ca8477e |
|
30-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* the Workspace class is now hidden and put into Workspace::Private; the new Workspace class is a simple accessor to this class that takes care about locking (currently, it's just the desktop lock, maybe it'll stay that way). * WorkspacesLayer now displays the window thumbs again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15250 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a631158a |
|
30-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Reenabled most of the workspaces functionality - the Workspaces window doesn't show any windows, but everything else seems to work fine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15241 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
66fdfb90 |
|
30-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Some preparations to reactivate the workspace feature. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15239 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27adb969 |
|
28-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Massive RootLayer & Workspace tearing: * workspace switch and subset windows functionality temporarily removed (away with that mess!). * no more RevealWMState() - we now have methods like ActivateWindow() and SendWindowBehind() that do all the work - just a little cleaner and with less overhead. * Workspace is now a pretty passive class - it only stores configurations of the windows and screens. * added an evil work-around for a locking problem (in RootLayer::_SetFocus()). * I'll plan to move pretty much all of the remaining root layer functionality to Desktop - so that the all regions lock is only held in case clipping regions are affected. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15207 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
485b9487 |
|
26-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed "Active" stuff from Workspaces state. As a side effect, the desktop is now clickable again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15173 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4b813bf2 |
|
24-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed WinBorder to WindowLayer, and OffscreenWinBorder to OffscreenWindowLayer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15128 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e2ad4ab9 |
|
10-Nov-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Not in mood for too much coding, I had a look through the code tonight. And guess what? Like Stefano the other day, I discovered, not a bug, but how to invalidate only the area that requires it when changing window order (selecting or moving to back a window). Stuppid me, that stuff didn't worked because I forgot how windows were arranged in the list returned by Workspace::GetWMState(). I was iterating the wrong way! :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14839 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9f0d28e9 |
|
29-Oct-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Fixed a stupid bug when checking if the window order changed. Added support for BWindow::Activate(false). Added some debug support for Workspace::WMState. Simplified a bit code for sending a window to back. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14563 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
85a1a674 |
|
08-Oct-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Workspace has a display_mode member where it stores the settings. Removed unused [Set]LocalSpace() methods, added Set/GetDisplayMode() methods git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14336 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f59edb4b |
|
02-Oct-2005 |
Adi Oanca <adioanca@nowhere.fake> |
- removed RootLayer::WinBorderAt(). Use Layer::LayerAt() instead. - Added a skeleton for RootLayer::SetActive() - removed Workspace::SetFocus(). Use AttemptToSetFocus() instead. - properly implemented Workspace::_SetFocus(). - removed Workspace::fActiveItem - it had/has no use. - fixed a problem with Decorator buttons being drawn improperly when B_MOUSE_UP was generated outside their area. - added 2 TODOs to later fix Decorator's (re)drawing path. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14295 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
534bc2c3 |
|
19-Sep-2005 |
Adi Oanca <adioanca@nowhere.fake> |
moving and resizing windows works very well now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14202 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1b65556d |
|
18-Sep-2005 |
Adi Oanca <adioanca@nowhere.fake> |
more work on the input handling. I let Layer/WinBorder handle the MouseDown/Moved/Up instead of doing this in RootLayer::MouseEventHandler(). I did this because I felt it's more clean and in the near future RootLayer may have other children than WinBorders, for example simple Layers representing tooltips/bubbles/etc. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14198 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8b94d5ec |
|
15-Sep-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Work in progress for the new input handling stuff... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14191 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0e430ce9 |
|
18-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed the crashing bug with BAlerts - have I already said that this code is a mess? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13740 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
189ba7a9 |
|
06-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Tried to separate active WinBorder from front, but failed - it's now always the focus border, and therefore, I probably broke floating windows (but that's not that important right now). Workspace::HideWinBorder() now sets focus to the next WinBorder, not always the top one. Workspace::MoveToFront() no longer changes focus, no longer calls ShowWinBorder() when the window doesn't have to be moved (ie. for the desktop window). Added Workspace::SetFocus() to change the focus explicetly. Some other cleanup. This is an ugly patch, but refactoring/rewriting is coming soon. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13509 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a38e46a0 |
|
23-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
ServerApp now maintains a list of all windows, ServerWindow's AS_DELETE_WINDOW will update it automatically. Renamed ServerWindow::fName to fTitle, made it a pointer - it will now just adopt the title pointer that came from AS_CREATE_WINDOW. Just another cleanup round: renamed Layer::GetName() to Name(), no more layer->fName->String() accesses. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13239 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fcb006dc |
|
23-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Rewrote how the app_server and ServerApp's quit. As a side effect, the server can now quit instantly. AppServer must no longer call ServerApp's destructor once it's running - it now has to call Quit() in this case. The ServerApp is now destructed in its own thread. Some cleanup (like renaming ServerApp::MonitorThreadID() to Thread()). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13238 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1b5aeb31 |
|
17-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed class FMWList to SubWindowList. Cleaned up SubWindowList a bit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13203 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
47a1e5d1 |
|
06-Jun-2005 |
DarkWyrm <darkwyrm@gmail.com> |
Implemented the settings functions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12966 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51a73c1e |
|
23-Apr-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Fixed a bug where a modal app window appeared in current workspace although its workspace mask did not include it git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12462 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7c2c050 |
|
16-Apr-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Big cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12424 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4038d581 |
|
11-Apr-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Fixed a bug where a modal subset on some occasions did not change workspaces when its main window did. Initializing workspaces is a bit different now, they are initialized when are needed. Some work on adding support for BWindow::WorkspaceActived() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12299 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9e358400 |
|
27-Mar-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Sending windows into background works now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12070 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
33bbe223 |
|
24-Mar-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Moved app_server files to app/. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11972 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a0e9f8e205d081b64afe5ef9f30230ed9c16d011 |
|
04-Mar-2012 |
Stephan Aßmus <superstippi@gmx.de> |
Fixed wrong assert and locking when using Workspace objects. * The assert in the Workspace constructor was definitely for the wrong lock. One should be holding the all window lock either in read or write mode. The Desktop message loop lock should be unrelated. * Added boolean to the constructor which controls the assert. * Added documentation to Workspace class, since it's not at all obvious how this is intended to be used. * Fixed ServerApp to lock the Desktop correctly when using Workspace desktop colors.
|
#
b9bedde479b543dc53b5c4de100af2d4722419fd |
|
26-Jul-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Assert the right lock, thanks Axel. Some clean up. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42496 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d5314ec095b26892b07dc9aa51a3d8db9eee6213 |
|
24-Jul-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
* It helps a lot to find thread problems when the multi locker assert macros actually doing something useful. Took me forever to finally realise that and to find a threading bug. * Remove a superfluously assert which sends the app server into the debugger. More fixes following. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42472 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0eed9183061a7763972bc2589f9c43489cd078ab |
|
20-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Rewrote screen configuration management: VirtualScreen doesn't have anything to do with the configurations now, instead, there is a separated ScreenConfigurations class that maintains all known screen_configurations per workspace (and the Workspace::Private class has two of them, one for the current modes, one for the stored modes). * Added Desktop::{Get|Set}ScreenMode() methods, ServerApp now only calls those. * Getting and setting of anything else than the current screen is now supported. * This change also fixes that a temporarily set screen mode was not being restored on workspace switch. * Also, the Deskbar now seems to have the wrong location a lot, which is something that should be easily fixable therefore. I will look into this next. * Got rid of the unhandy screen_id structure server side, and in BPrivateScreen; we now just use an int32 - the next API break should definitely replace the screen_id with a simple typedef. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32541 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
437b19277feacd48292ca9ec814a38da17e4eb89 |
|
08-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed severly outdated DebugInfoManager. * More "layer" cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24305 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
953d895e020ece5d50cfc2e76d9f370ceb5c45e7 |
|
07-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Got rid of the "Layer" part of WindowLayer, ViewLayer, WorkspacesLayer (now WorkspacesView), OffscreenWindowLayer. * Renamed ServerScreen.cpp/h to Screen.cpp/h (the class was already called Screen). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24303 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7e1df75609966bdfdb4ed39edf26dd145d8221f |
|
16-Aug-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* get rid of RGBColor usage where it is not needed, this simplified many things, possibly making them a little faster too * mess with decorator button size calculation to make the whole layout scale more agreeable with the font size (no more fixed offsets/insets), but it is work in progress * DefaultDecorator no longer allocated the border color array, it is part of the object now * small memory footprint optimizations in ViewLayer, Decorator and WindowLayer git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22003 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
91d6453948960c4793a82b238ab5ca2caef73e04 |
|
13-Mar-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Added a new Workspace::GetPreviousWindow() method to allow traversing the window list in the other direction. * Since WorkspacesLayer now cuts out the current window from the clipping region, the window order was upside down; it now uses the new Workspace::GetPreviousWindow(). This fixes bug #1105. * WorkspacesLayer::MouseDown() now also uses GetPreviousWindow() which prevents it from needing to scan the whole window list for the top window at every click. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20382 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
68b599fbccfb5353e1418f601153a299eeda9fe6 |
|
14-Apr-2006 |
Jérôme Duval <korli@users.berlios.de> |
reusing the old settings message is a good idea (thanks Axel!) we simply remove color data before storing the workspace color git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17130 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8be3635fcf058d72fadf6649b3f268c7f703787a |
|
14-Apr-2006 |
Jérôme Duval <korli@users.berlios.de> |
don't reuse old workspace settings, store method expects an empty message git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17129 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
82081c70ea570719f8ce4c5c0e92fd0eb5db9c93 |
|
12-Apr-2006 |
Jérôme Duval <korli@users.berlios.de> |
improved version though the first workspace color isn't kept between boots git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17116 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
190b4fa4efb5613077e511d692841b8d5c4873c5 |
|
12-Apr-2006 |
Jérôme Duval <korli@users.berlios.de> |
hopefully implemented makedefault in Workspace::SetColor() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17113 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
39c9925fcf718dbb8c8d5342997d6bbd40f9e7e4 |
|
07-Apr-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* implemented a BRegion pool per WindowLayer which is supposed to cut down on BRegion related allocations, cannot really tell if it speeds things up * used the new BRegion pool in WindowLayer and ViewLayer whereever a BRegion was used on the stack * fixed the debugging stuff in MultiLocker - it will get you into the debugger if you - try to nest read locks - try to write lock when your are a reader already - don't match up nested locks when your a writer -> but only if you #define DEBUG 1 in the .cpp, is off by default now * went over WindowLayer, ServerWindow, Desktop and a few other places and fixed the locking for use with the MultiLocker, the "a reader can not become a writer" is especially tricky, feel free to review the changes * activated the MultiLocker, I tested this quite a bit, if there are problems simply turn on DEBUG and you should drop into the debugger right where the problem is... hope all is good git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17046 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3dcbe9fc8879f2f88a0cd4fc57e504649a2362cd |
|
13-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented redrawing the desktop after color changes. Right now, it only works correctly when Tracker is not running; obviously, the background is cleared in Tracker before it had the chance of changing the view color. Maybe the app_server needs to detect the background view of the desktop and change the view color manually :-/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16376 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8527f8ffbeb4b72a9502099b29aa6210b7832191 |
|
06-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
The display resolution is now saved and restored. Probably doesn't handle non-default modes right yet. The settings are stored in B_USER_SETTINGS_DIRECTORY/system/app_server/workspaces. They are currently saved as a flattened BMessage - we might want to switch to the driver_settings format, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16249 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc6ec91732ba7dfe509e0c37fb72dec1f749f505 |
|
29-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented AS_SET_DESKTOP_COLOR - the desktop is not redrawn yet, but freshly exposed areas will be filled with the new color. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15724 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
61fed21b0401ca13f44df07fcdda8690975e6871 |
|
12-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed Write[Un]lockWindows() to [Un]lockAllWindows(), and Read[Un]lockWindows() to [Un]lockSingleWindow(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15509 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a447191925f08638cc1acab8191ea40b1c3699c9 |
|
10-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The fWindowLock is now responsible for all window activities - no need to sometimes lock the Desktop itself, and sometimes not - that also fixes some potential deadlock situations. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15463 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e83820ed5720395d39a1ff809991b4fd76326548 |
|
07-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Merged app_server_new_clipping branch changes r15290 to 15418 back into trunk. Also fixed Jamfile for the test environment. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15419 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5ca8477eca516c59dcc8f4981f47471b2bd5d1c1 |
|
30-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* the Workspace class is now hidden and put into Workspace::Private; the new Workspace class is a simple accessor to this class that takes care about locking (currently, it's just the desktop lock, maybe it'll stay that way). * WorkspacesLayer now displays the window thumbs again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15250 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a631158a6254702beac3bbee2814769757bd5ec7 |
|
30-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Reenabled most of the workspaces functionality - the Workspaces window doesn't show any windows, but everything else seems to work fine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15241 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
66fdfb907b2c76b138fde8ad456963561381f524 |
|
30-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Some preparations to reactivate the workspace feature. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15239 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27adb969620d656c8d92dfa608cd85c35f4d37e3 |
|
28-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Massive RootLayer & Workspace tearing: * workspace switch and subset windows functionality temporarily removed (away with that mess!). * no more RevealWMState() - we now have methods like ActivateWindow() and SendWindowBehind() that do all the work - just a little cleaner and with less overhead. * Workspace is now a pretty passive class - it only stores configurations of the windows and screens. * added an evil work-around for a locking problem (in RootLayer::_SetFocus()). * I'll plan to move pretty much all of the remaining root layer functionality to Desktop - so that the all regions lock is only held in case clipping regions are affected. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15207 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
485b94873199f8f49b814f89f8d13144c1281521 |
|
26-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed "Active" stuff from Workspaces state. As a side effect, the desktop is now clickable again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15173 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4b813bf2670024494ff699a4a2ccb87ca3bccd61 |
|
24-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed WinBorder to WindowLayer, and OffscreenWinBorder to OffscreenWindowLayer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15128 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e2ad4ab9b2870341606c14a039dbf945097ae022 |
|
10-Nov-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Not in mood for too much coding, I had a look through the code tonight. And guess what? Like Stefano the other day, I discovered, not a bug, but how to invalidate only the area that requires it when changing window order (selecting or moving to back a window). Stuppid me, that stuff didn't worked because I forgot how windows were arranged in the list returned by Workspace::GetWMState(). I was iterating the wrong way! :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14839 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9f0d28e92101f13976d806835d5cd3717cad8587 |
|
29-Oct-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Fixed a stupid bug when checking if the window order changed. Added support for BWindow::Activate(false). Added some debug support for Workspace::WMState. Simplified a bit code for sending a window to back. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14563 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
85a1a6749542501cd49e13027bc3cce95c363e29 |
|
08-Oct-2005 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Workspace has a display_mode member where it stores the settings. Removed unused [Set]LocalSpace() methods, added Set/GetDisplayMode() methods git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14336 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f59edb4bf09a5b695cb844dee0d2c9ece4900c9f |
|
02-Oct-2005 |
Adi Oanca <adioanca@nowhere.fake> |
- removed RootLayer::WinBorderAt(). Use Layer::LayerAt() instead. - Added a skeleton for RootLayer::SetActive() - removed Workspace::SetFocus(). Use AttemptToSetFocus() instead. - properly implemented Workspace::_SetFocus(). - removed Workspace::fActiveItem - it had/has no use. - fixed a problem with Decorator buttons being drawn improperly when B_MOUSE_UP was generated outside their area. - added 2 TODOs to later fix Decorator's (re)drawing path. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14295 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
534bc2c360b6a45b1058128e050d8e54951a7cbc |
|
19-Sep-2005 |
Adi Oanca <adioanca@nowhere.fake> |
moving and resizing windows works very well now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14202 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1b65556d662b8ffbc251791433c58112eac398b4 |
|
18-Sep-2005 |
Adi Oanca <adioanca@nowhere.fake> |
more work on the input handling. I let Layer/WinBorder handle the MouseDown/Moved/Up instead of doing this in RootLayer::MouseEventHandler(). I did this because I felt it's more clean and in the near future RootLayer may have other children than WinBorders, for example simple Layers representing tooltips/bubbles/etc. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14198 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8b94d5ecdd346ade922feda81dc6588ae4ef243d |
|
15-Sep-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Work in progress for the new input handling stuff... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14191 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0e430ce96eee1a8e8b880bed06d0a172d8f0de35 |
|
18-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed the crashing bug with BAlerts - have I already said that this code is a mess? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13740 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
189ba7a9dc2e0311fc4d12d6f44fda645b286d78 |
|
06-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Tried to separate active WinBorder from front, but failed - it's now always the focus border, and therefore, I probably broke floating windows (but that's not that important right now). Workspace::HideWinBorder() now sets focus to the next WinBorder, not always the top one. Workspace::MoveToFront() no longer changes focus, no longer calls ShowWinBorder() when the window doesn't have to be moved (ie. for the desktop window). Added Workspace::SetFocus() to change the focus explicetly. Some other cleanup. This is an ugly patch, but refactoring/rewriting is coming soon. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13509 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a38e46a046cbb27fef680a1c9f93b000663d70c9 |
|
23-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
ServerApp now maintains a list of all windows, ServerWindow's AS_DELETE_WINDOW will update it automatically. Renamed ServerWindow::fName to fTitle, made it a pointer - it will now just adopt the title pointer that came from AS_CREATE_WINDOW. Just another cleanup round: renamed Layer::GetName() to Name(), no more layer->fName->String() accesses. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13239 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fcb006dcf5e3396d905e09d127c085f7efb9b017 |
|
23-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Rewrote how the app_server and ServerApp's quit. As a side effect, the server can now quit instantly. AppServer must no longer call ServerApp's destructor once it's running - it now has to call Quit() in this case. The ServerApp is now destructed in its own thread. Some cleanup (like renaming ServerApp::MonitorThreadID() to Thread()). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13238 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1b5aeb312ea3a59d30160a6dd2be02899326888c |
|
17-Jun-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed class FMWList to SubWindowList. Cleaned up SubWindowList a bit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13203 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
47a1e5d1891c45a383b898b04f02dd3c94c5b279 |
|
06-Jun-2005 |
DarkWyrm <darkwyrm@gmail.com> |
Implemented the settings functions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12966 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51a73c1e2b05dffc2b37a530e03d9d3b7d01f3c5 |
|
23-Apr-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Fixed a bug where a modal app window appeared in current workspace although its workspace mask did not include it git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12462 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7c2c05061210a81952d3a32a464a0e23f008c48 |
|
16-Apr-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Big cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12424 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4038d58146ff3459c9d82c34fb50bb091e411dbe |
|
11-Apr-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Fixed a bug where a modal subset on some occasions did not change workspaces when its main window did. Initializing workspaces is a bit different now, they are initialized when are needed. Some work on adding support for BWindow::WorkspaceActived() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12299 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9e358400f59ad28dfd52ce9ad6111b414a3e8754 |
|
27-Mar-2005 |
Adi Oanca <adioanca@nowhere.fake> |
Sending windows into background works now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12070 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
33bbe223914093509b4bc56bea8a90c81af80a37 |
|
24-Mar-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Moved app_server files to app/. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11972 a95241bf-73f2-0310-859d-f6bbb57e9c96
|