marnanel: (Default)
[personal profile] marnanel
Background: what a window is (basic X stuff)
When you're in GDK you never see all this stuff, because it wraps it.  You see widgets instead.  But some widgets have multiple windows and some have no windows (GTK_NO_WINDOW) because they draw in their parent widget's window.

So, client side windows.  Only use X windows for toplevel.  Subwindows are emulated.

Why?
  • No flicker, because you never see a partially-drawn widget. (Demonstration.  Spontaneous applause.)
  • Smarter redrawing; less copying.
  • Easier to work across platforms (no X-specific stuff for X and so on).  Much simplified.  (more applause)
  • Bling: you can do rotation and stuff (more applause).
  • More bling: crazy clutter stuff that bounces around while you're working on it.  "This is clearly not like a useful user interface" :)
Clientside will be default, except for toplevels.  There is a call you can use to force a window to be native.
How does it work?  Lots of clever stuff about emulating events.  "Sounds easy but it's not".

Merged to git master already; X11 working fine; Win32 being written.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

marnanel: (Default)
Monument

January 2022

S M T W T F S
      1
2345678
9101112131415
1617 1819202122
23242526272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 8th, 2025 06:32 pm
Powered by Dreamwidth Studios