Feature #587
X11 needs minimal multi monitor mode support
Status: | Approved | Start date: | 11/25/2013 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | Miroslav Fidler | % Done: | 100% | |
Category: | CtrlCore | Spent time: | - | |
Target version: | - |
Description
I implemented minimal multi monitor based on the tracking position of the mouse cursor. It doesn't change Ultimate++ overall schemat and works great. Two methods are implemented: "Ctrl::GetDefaultWindowRect()" and "Ctrl::GetPrimaryWorkArea()". Of course some other methods need update as well like "TopWindow::CenterRect(Ctrl *owner)".
P.S.
This update uses Xinerama the X11 extension. If operating system does not recognize this extension Ultimate++ works normally.
Personally, I think that this patch should eliminate most of multi monitors problems on X11.
Related issues
History
#1 Updated by Zbigniew Rebacz over 11 years ago
- File X11Gui.h
added
#2 Updated by Zbigniew Rebacz over 11 years ago
- File CtrlCore.upp added
I think we need to link with Xinerama...
#3 Updated by Zbigniew Rebacz over 11 years ago
Corrigendum: Xinerama is linking by default when GTK is on. When we are using pure X11 we need to link with Xinerama...
#4 Updated by Zbigniew Rebacz over 11 years ago
- Status changed from Ready for QA to New
- Assignee changed from Miroslav Fidler to Zbigniew Rebacz
I need some time to fix "TopWindow::CenterRect" method...
#5 Updated by Zbigniew Rebacz over 11 years ago
- % Done changed from 100 to 80
#6 Updated by Zbigniew Rebacz over 11 years ago
- File deleted (
X11Top.cpp)
#7 Updated by Zbigniew Rebacz over 11 years ago
- File X11Top.cpp added
- % Done changed from 80 to 90
#8 Updated by Zbigniew Rebacz over 11 years ago
- File deleted (
X11App.cpp)
#9 Updated by Zbigniew Rebacz over 11 years ago
- File X11App.cpp added
- Status changed from New to Ready for QA
- Assignee changed from Zbigniew Rebacz to Miroslav Fidler
- % Done changed from 90 to 100
Done...
P.S.
I added additional mouse detection in "TopWindow::GetDefaultWindowRect()"!
#10 Updated by Zbigniew Rebacz over 11 years ago
- File deleted (
X11App.cpp)
#11 Updated by Zbigniew Rebacz over 11 years ago
- File X11App.cpp added
#12 Updated by Miroslav Fidler over 11 years ago
- Status changed from Ready for QA to Patch ready
#13 Updated by Zbigniew Rebacz over 11 years ago
- File deleted (
X11App.cpp)
#15 Updated by Zbigniew Rebacz over 11 years ago
- File deleted (
X11Top.cpp)
#16 Updated by Zbigniew Rebacz over 11 years ago
- File X11Top.cpp added
Now, serialization supports new multi monitor mode.
Rect limit = GetPrimaryScreenArea();
insted of:
Rect limit = GetWorkArea(); // <- We can not limit to specific work area! (Because, we can have more than one!)
#17 Updated by Zbigniew Rebacz over 11 years ago
- File deleted (
X11App.cpp)
#18 Updated by Zbigniew Rebacz over 11 years ago
- File X11App.cpp added
GetVirtualWorkArea is implemented under X11... (The behavior is the same as the win32 version)
#19 Updated by Zbigniew Rebacz over 11 years ago
- File deleted (
X11Top.cpp)
#20 Updated by Zbigniew Rebacz over 11 years ago
- File X11Top.cpp
added
GetVirtualWorkArea insted of GetPrimaryScreenArea() in serialization code (The behavior is the same as the win32 version).
#21 Updated by Zbigniew Rebacz over 11 years ago
- Status changed from Patch ready to In Progress
- Assignee changed from Miroslav Fidler to Zbigniew Rebacz
#22 Updated by Zbigniew Rebacz over 11 years ago
- File deleted (
X11App.cpp)
#23 Updated by Zbigniew Rebacz over 11 years ago
- File X11App.cpp added
- Status changed from In Progress to Patch ready
- Assignee changed from Zbigniew Rebacz to Miroslav Fidler
I implemented two following methods under X11: GetPrimaryScreenArea and GetVirtualScreenArea.
#24 Updated by Zbigniew Rebacz over 11 years ago
- File deleted (
X11App.cpp)
#25 Updated by Zbigniew Rebacz over 11 years ago
- File X11App.cpp added
#26 Updated by Zbigniew Rebacz over 11 years ago
- File deleted (
X11App.cpp)
#27 Updated by Zbigniew Rebacz over 11 years ago
- File X11App.cpp added
#28 Updated by Zbigniew Rebacz over 11 years ago
- Status changed from Patch ready to In Progress
- Assignee changed from Miroslav Fidler to Zbigniew Rebacz
#29 Updated by Zbigniew Rebacz over 11 years ago
- File deleted (
X11App.cpp)
#30 Updated by Zbigniew Rebacz over 11 years ago
- File X11App.cpp
added
- Status changed from In Progress to Patch ready
- Assignee changed from Zbigniew Rebacz to Miroslav Fidler
Achieved better performance by using static variables. Small digression: calling "XineramaQueryScreens" over and over again can be painful for real time applications!
#31 Updated by Zbigniew Rebacz over 11 years ago
BTW, This patch is also compatible with u++ documentation.
#32 Updated by Zbigniew Rebacz over 11 years ago
- Status changed from Patch ready to In Progress
- Assignee changed from Miroslav Fidler to Zbigniew Rebacz
#33 Updated by Zbigniew Rebacz over 11 years ago
- Status changed from In Progress to Patch ready
- Assignee changed from Zbigniew Rebacz to Miroslav Fidler
#34 Updated by Miroslav Fidler over 11 years ago
- Status changed from Patch ready to Approved