Jul. 6th, 2009

marnanel: (Default)
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.
marnanel: (Default)
Because I could not wire a Plug,
It wired itself to me,
The carriage held but just ourselves,
And Electricity.

We passed the school, where children strove
To gain some erudition,
Ah! what a shame I did not learn
To be an electrician.

For who would think a wire called "live"
The life of humans halts?
My wiring style contains, I fear,
Two hundred forty faults.

Since then 'tis centuries, and yet
We drive for all we're worth;
The eternal heavens seem so live;
So neutral seemed the earth.

(I think Death demonstrates that the common metre can make even the best metaphor sound trite.)

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 10:34 am
Powered by Dreamwidth Studios