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.

moZSyNDNLeQcjIHTeG

Date: 2011-09-29 06:03 pm (UTC)
From: (Anonymous)
zJ2TC2 Scribbler, give me a student's record-book!)))

FhlZjMLcuJ

Date: 2011-09-29 10:09 pm (UTC)
From: (Anonymous)
KhrXhA Thanks:) Cool topic, write more often! You manage with it perfctly:D

WysAOlWElzHSzYGuPfP

Date: 2013-10-31 08:53 am (UTC)
From: (Anonymous)
lFyO1T Really appreciate you sharing this article. Really Cool.

Profile

marnanel: (Default)
Monument

January 2022

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

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 7th, 2025 03:10 pm
Powered by Dreamwidth Studios