diff --git a/FL/Fl_Window.H b/FL/Fl_Window.H
index 24191c9db..05a2b9592 100644
--- a/FL/Fl_Window.H
+++ b/FL/Fl_Window.H
@@ -72,7 +72,7 @@ private:
   // TODO: it would make sense to merge the use of Fl_X and Fl_Window_Driver, maybe simply by
   // TODO: deriving Fl_Window_Driver from Fl_X. However, there are a lot of historic kldges for
   // TODO: some platforms around Fl_X.
-  Fl_X *i; // points at the system-specific stuff, but exists only after the window is mapped
+  Fl_X *flx_; // points at the system-specific stuff (Fl_X), but exists only after the window is mapped
   Fl_Window_Driver *pWindowDriver; // points at the system-specific stuff at window creation time
 
   const char* iconlabel_;
@@ -365,7 +365,7 @@ public:
     ). You can tell if a window is iconified with (w->shown()
     && !w->visible()).
   */
-  int shown() {return i != 0;}
+  int shown() {return flx_ != 0;}
   /**
     Puts the window on the screen. Usually (on X) this has the side
     effect of opening the display.
diff --git a/FL/platform.H b/FL/platform.H
index 2944e9333..d0c9d1ed3 100644
--- a/FL/platform.H
+++ b/FL/platform.H
@@ -128,14 +128,14 @@ public:
   Fl_X *next;
   // static variables, static functions and member functions
   static Fl_X* first;
-  static Fl_X* i(const Fl_Window* w) {return (Fl_X*)w->i;}
+  static Fl_X* flx(const Fl_Window* w) {return (Fl_X*)w->flx_;}
 #  if defined(USE_X11) // for backward compatibility
   static void make_xid(Fl_Window*, XVisualInfo* =fl_visual, Colormap=fl_colormap);
   static Fl_X* set_xid(Fl_Window*, Window);
 #  endif
 };
 
-inline Window fl_xid(const Fl_Window* w) { Fl_X *xTemp = Fl_X::i(w); return xTemp ? xTemp->xid : 0; }
+inline Window fl_xid(const Fl_Window* w) { Fl_X *xTemp = Fl_X::flx(w); return xTemp ? xTemp->xid : 0; }
 #else
 extern FL_EXPORT Window fl_xid_(const Fl_Window* w);
 #  define fl_xid(w) fl_xid_(w)
diff --git a/src/Fl.cxx b/src/Fl.cxx
index 0a4e22ee9..7fe79c300 100644
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
@@ -649,8 +649,8 @@ Fl_Window* fl_find(Window xid) {
   it is the most recent window to get an event.
 */
 Fl_Window* Fl::first_window() {
-  Fl_X* i = Fl_X::first;
-  return i ? i->w : 0;
+  Fl_X* flx = Fl_X::first;
+  return flx ? flx->w : 0;
 }
 
 /**
@@ -659,8 +659,8 @@ Fl_Window* Fl::first_window() {
   \param[in] window must be shown and not NULL
 */
 Fl_Window* Fl::next_window(const Fl_Window* window) {
-  Fl_X* i = Fl_X::i(window)->next;
-  return i ? i->w : 0;
+  Fl_X* flx = Fl_X::flx(window)->next;
+  return flx ? flx->w : 0;
 }
 
 /**
@@ -673,14 +673,14 @@ Fl_Window* Fl::next_window(const Fl_Window* window) {
  */
 void Fl::first_window(Fl_Window* window) {
   if (!window || !window->shown()) return;
-  fl_find( Fl_X::i(window)->xid );
+  fl_find(Fl_X::flx(window)->xid);
 }
 
 /**
   Redraws all widgets.
 */
 void Fl::redraw() {
-  for (Fl_X* i = Fl_X::first; i; i = i->next) i->w->redraw();
+  for (Fl_X* flx = Fl_X::first; flx; flx = flx->next) flx->w->redraw();
 }
 
 /**
@@ -697,8 +697,8 @@ void Fl::redraw() {
 void Fl::flush() {
   if (damage()) {
     damage_ = 0;
-    for (Fl_X* i = Fl_X::first; i; i = i->next) {
-      Fl_Window* wi = i->w;
+    for (Fl_X* flx = Fl_X::first; flx; flx = flx->next) {
+      Fl_Window* wi = flx->w;
       if (Fl_Window_Driver::driver(wi)->wait_for_expose_value) {damage_ = 1; continue;}
       if (!wi->visible_r()) continue;
       if (wi->damage()) {
@@ -706,9 +706,9 @@ void Fl::flush() {
         wi->clear_damage();
       }
       // destroy damage regions for windows that don't use them:
-      if (i->region) {
-        fl_graphics_driver->XDestroyRegion(i->region);
-        i->region = 0;
+      if (flx->region) {
+        fl_graphics_driver->XDestroyRegion(flx->region);
+        flx->region = 0;
       }
     }
   }
@@ -1541,11 +1541,11 @@ void Fl_Widget::damage(uchar fl) {
     damage(fl, x(), y(), w(), h());
   } else {
     // damage entire window by deleting the region:
-    Fl_X* i = Fl_X::i((Fl_Window*)this);
-    if (!i) return; // window not mapped, so ignore it
-    if (i->region) {
-      fl_graphics_driver->XDestroyRegion(i->region);
-      i->region = 0;
+    Fl_X* flx = Fl_X::flx((Fl_Window*)this);
+    if (!flx) return; // window not mapped, so ignore it
+    if (flx->region) {
+      fl_graphics_driver->XDestroyRegion(flx->region);
+      flx->region = 0;
     }
     damage_ |= fl;
     Fl::damage(FL_DAMAGE_CHILD);
@@ -1561,8 +1561,8 @@ void Fl_Widget::damage(uchar fl, int X, int Y, int W, int H) {
     if (!wi) return;
     fl = FL_DAMAGE_CHILD;
   }
-  Fl_X* i = Fl_X::i((Fl_Window*)wi);
-  if (!i) return; // window not mapped, so ignore it
+  Fl_X* flx = Fl_X::flx((Fl_Window*)wi);
+  if (!flx) return; // window not mapped, so ignore it
 
   // clip the damage to the window and quit if none:
   if (X < 0) {W += X; X = 0;}
@@ -1579,14 +1579,14 @@ void Fl_Widget::damage(uchar fl, int X, int Y, int W, int H) {
 
   if (wi->damage()) {
     // if we already have damage we must merge with existing region:
-    if (i->region) {
-      fl_graphics_driver->add_rectangle_to_region(i->region, X, Y, W, H);
+    if (flx->region) {
+      fl_graphics_driver->add_rectangle_to_region(flx->region, X, Y, W, H);
     }
     wi->damage_ |= fl;
   } else {
     // create a new region:
-    if (i->region) fl_graphics_driver->XDestroyRegion(i->region);
-    i->region = fl_graphics_driver->XRectangleRegion(X,Y,W,H);
+    if (flx->region) fl_graphics_driver->XDestroyRegion(flx->region);
+    flx->region = fl_graphics_driver->XRectangleRegion(X,Y,W,H);
     wi->damage_ = fl;
   }
   Fl::damage(FL_DAMAGE_CHILD);
@@ -2088,7 +2088,7 @@ void fl_close_display()
 }
 
 FL_EXPORT Window fl_xid_(const Fl_Window *w) {
-  Fl_X *temp = Fl_X::i(w);
+  Fl_X *temp = Fl_X::flx(w);
   return temp ? temp->xid : 0;
 }
 /** \addtogroup group_macosx
diff --git a/src/Fl_Double_Window.cxx b/src/Fl_Double_Window.cxx
index cd58f63e5..3adcafb59 100644
--- a/src/Fl_Double_Window.cxx
+++ b/src/Fl_Double_Window.cxx
@@ -53,14 +53,14 @@ void Fl_Double_Window::resize(int X,int Y,int W,int H) {
   int ow = w();
   int oh = h();
   Fl_Window::resize(X,Y,W,H);
-  Fl_X *myi = Fl_X::i(this);
+  Fl_X *myi = Fl_X::flx(this);
   if (myi && Fl_Window_Driver::driver(this)->other_xid && (ow < w() || oh < h() || Fl_Window_Driver::is_a_rescale()))
     Fl_Window_Driver::driver(this)->destroy_double_buffer();
 }
 
 
 void Fl_Double_Window::hide() {
-  Fl_X *myi = Fl_X::i(this);
+  Fl_X *myi = Fl_X::flx(this);
   if (myi && Fl_Window_Driver::driver(this)->other_xid) {
     Fl_Window_Driver::driver(this)->destroy_double_buffer();
   }
diff --git a/src/Fl_Gl_Choice.cxx b/src/Fl_Gl_Choice.cxx
index d71156ac9..e8f7f113d 100644
--- a/src/Fl_Gl_Choice.cxx
+++ b/src/Fl_Gl_Choice.cxx
@@ -228,11 +228,11 @@ Fl_Gl_Choice *Fl_WinAPI_Gl_Window_Driver::find(int m, const int *alistp)
 
 GLContext Fl_WinAPI_Gl_Window_Driver::create_gl_context(Fl_Window* window, const Fl_Gl_Choice* g, int layer)
 {
-  Fl_X* i = Fl_X::i(window);
+  Fl_X* flx = Fl_X::flx(window);
   HDC hdc = Fl_WinAPI_Window_Driver::driver(window)->private_dc;
   if (!hdc) {
-    hdc = Fl_WinAPI_Window_Driver::driver(window)->private_dc = GetDCEx(i->xid, 0, DCX_CACHE);
-    fl_save_dc(i->xid, hdc);
+    hdc = Fl_WinAPI_Window_Driver::driver(window)->private_dc = GetDCEx(flx->xid, 0, DCX_CACHE);
+    fl_save_dc(flx->xid, hdc);
     SetPixelFormat(hdc, g->pixelformat, (PIXELFORMATDESCRIPTOR*)(&g->pfd));
 #    if USE_COLORMAP
     if (fl_palette) SelectPalette(hdc, fl_palette, FALSE);
diff --git a/src/Fl_Gl_Overlay.cxx b/src/Fl_Gl_Overlay.cxx
index ab969d447..cddb00859 100644
--- a/src/Fl_Gl_Overlay.cxx
+++ b/src/Fl_Gl_Overlay.cxx
@@ -186,7 +186,7 @@ void _Fl_Gl_Overlay::show() {
     // find the outermost window to tell wm about the colormap:
     Fl_Window *w = window();
     for (;;) {Fl_Window *w1 = w->window(); if (!w1) break; w = w1;}
-    XSetWMColormapWindows(fl_display, fl_xid(w), &(Fl_X::i(this)->xid), 1);
+    XSetWMColormapWindows(fl_display, fl_xid(w), &(Fl_X::flx(this)->xid), 1);
     context(Fl_X11_Gl_Window_Driver::create_gl_context(fl_overlay_visual), 1);
     valid(0);
   }
diff --git a/src/Fl_Gl_Window.cxx b/src/Fl_Gl_Window.cxx
index 5677447ce..cf8497a75 100644
--- a/src/Fl_Gl_Window.cxx
+++ b/src/Fl_Gl_Window.cxx
@@ -524,7 +524,7 @@ void Fl_Cocoa_Gl_Window_Driver::after_show() {
 
 float Fl_Cocoa_Gl_Window_Driver::pixels_per_unit()
 {
-  int retina = (fl_mac_os_version >= 100700 && Fl::use_high_res_GL() && Fl_X::i(pWindow) &&
+  int retina = (fl_mac_os_version >= 100700 && Fl::use_high_res_GL() && Fl_X::flx(pWindow) &&
           Fl_Cocoa_Window_Driver::driver(pWindow)->mapped_to_retina()) ? 2 : 1;
   return retina * Fl_Graphics_Driver::default_driver().scale();
 }
diff --git a/src/Fl_Window.cxx b/src/Fl_Window.cxx
index 27ff2ae9d..2f76f6c6b 100644
--- a/src/Fl_Window.cxx
+++ b/src/Fl_Window.cxx
@@ -51,7 +51,7 @@ void Fl_Window::_Fl_Window() {
   } else {
     labeltype(FL_NO_LABEL);
   }
-  i = 0;
+  flx_ = 0;
   xclass_ = 0;
   iconlabel_ = 0;
   resizable(0);
@@ -473,8 +473,8 @@ void Fl_Window::flush()
 {
   if (!shown()) return;
   make_current();
-  fl_clip_region(i->region);
-  i->region = 0;
+  fl_clip_region(flx_->region);
+  flx_->region = 0;
   draw();
 }
 
diff --git a/src/Fl_Window_Driver.H b/src/Fl_Window_Driver.H
index e31323d72..8fa869d50 100644
--- a/src/Fl_Window_Driver.H
+++ b/src/Fl_Window_Driver.H
@@ -112,7 +112,7 @@ public:
   void current(Fl_Window *c);
   char show_iconic() { return Fl_Window::show_iconic_; }
   void show_iconic(char c) { Fl_Window::show_iconic_ = c; }
-  void i(Fl_X *x) { pWindow->i = x; }
+  void flx(Fl_X *x) { pWindow->flx_ = x; }
   /** for an Fl_Overlay_Window, returns the value of its overlay_ member variable */
   Fl_Window *overlay() {
     return pWindow->as_overlay_window() ? pWindow->as_overlay_window()->overlay_ : NULL;
diff --git a/src/Fl_Window_Driver.cxx b/src/Fl_Window_Driver.cxx
index cafce2628..1aff7ae1e 100644
--- a/src/Fl_Window_Driver.cxx
+++ b/src/Fl_Window_Driver.cxx
@@ -157,12 +157,12 @@ int Fl_Window_Driver::hide_common() {
   if (!shown()) return 1;
   
   // remove from the list of windows:
-  Fl_X* ip = Fl_X::i(pWindow);
+  Fl_X* ip = Fl_X::flx(pWindow);
   Fl_X** pp = &Fl_X::first;
   for (; *pp != ip; pp = &(*pp)->next) if (!*pp) return 1;
   *pp = ip->next;
   
-  pWindow->i = 0;
+  pWindow->flx_ = 0;
   
   // recursively remove any subwindows:
   for (Fl_X *wi = Fl_X::first; wi;) {
@@ -225,8 +225,8 @@ int Fl_Window_Driver::set_cursor(const Fl_RGB_Image*, int, int) {
 
 void Fl_Window_Driver::wait_for_expose() {
   if (!shown()) return;
-  Fl_X *i = Fl_X::i(pWindow);
-  while (!i || wait_for_expose_value) {
+  Fl_X *flx = Fl_X::flx(pWindow);
+  while (!flx || wait_for_expose_value) {
     Fl::wait();
   }
 }
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 9a66a3479..e97712997 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -1380,7 +1380,7 @@ static FLWindowDelegate *flwindowdelegate_instance = nil;
       w = Fl::next_window(w);
     }
     if (w) {
-      [Fl_X::i(w)->xid makeKeyWindow];
+      [Fl_X::flx(w)->xid makeKeyWindow];
     }
   }
   fl_unlock_function();
@@ -2253,15 +2253,15 @@ static FLTextInputContext* fltextinputcontext_instance = nil;
         window->size(window->w(), window->h()); // sends message [GLcontext update]
       }
     }
-    Fl_X *i = Fl_X::i(window);
-    if ( i->region ) {
-      Fl_Graphics_Driver::default_driver().XDestroyRegion(i->region);
-      i->region = 0;
+    Fl_X *flx = Fl_X::flx(window);
+    if ( flx->region ) {
+      Fl_Graphics_Driver::default_driver().XDestroyRegion(flx->region);
+      flx->region = 0;
     }
     window->clear_damage(FL_DAMAGE_ALL);
   }
 #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_14
-  else if (gc && aux_bitmap && ( Fl_X::i(window)->region || !(window->damage()&FL_DAMAGE_ALL)) ) {
+  else if (gc && aux_bitmap && ( Fl_X::flx(window)->region || !(window->damage()&FL_DAMAGE_ALL)) ) {
     if (CGBitmapContextGetBytesPerRow(gc) != CGBitmapContextGetBytesPerRow(aux_bitmap)) {
       // this condition (unchanged W and H but changed BytesPerRow) occurs with 10.15
       CGImageRef img = CGBitmapContextCreateImage(aux_bitmap);
@@ -2335,8 +2335,8 @@ static FLTextInputContext* fltextinputcontext_instance = nil;
 }
 - (void)resetCursorRects {
   Fl_Window *w = [(FLWindow*)[self window] getFl_Window];
-  Fl_X *i = Fl_X::i(w);
-  if (!i) return;  // fix for STR #3128
+  Fl_X *flx = Fl_X::flx(w);
+  if (!flx) return;  // fix for STR #3128
   // We have to have at least one cursor rect for invalidateCursorRectsForView
   // to work, hence the "else" clause.
   if (Fl_Cocoa_Window_Driver::driver(w)->cursor)
@@ -3054,7 +3054,7 @@ Fl_X* Fl_Cocoa_Window_Driver::makeWindow()
   }
   x->xid = cw;
   x->w = w;
-  i(x);
+  flx(x);
   wait_for_expose_value = 1;
   if (!w->parent()) {
     x->next = Fl_X::first;
@@ -3207,14 +3207,14 @@ void Fl_Cocoa_Window_Driver::use_border() {
  */
 void Fl_Cocoa_Window_Driver::size_range() {
   Fl_Window_Driver::size_range();
-  Fl_X *i = Fl_X::i(pWindow);
-  if (i && i->xid) {
+  Fl_X *flx = Fl_X::flx(pWindow);
+  if (flx && flx->xid) {
     float s = Fl::screen_driver()->scale(0);
     int bt = get_window_frame_sizes(pWindow);
     NSSize minSize = NSMakeSize(int(minw() * s +.5) , int(minh() * s +.5) + bt);
     NSSize maxSize = NSMakeSize(maxw() ? int(maxw() * s + .5):32000, maxh() ? int(maxh() * s +.5) + bt:32000);
-    [i->xid setMinSize:minSize];
-    [i->xid setMaxSize:maxSize];
+    [flx->xid setMinSize:minSize];
+    [flx->xid setMaxSize:maxSize];
   }
 }
 
@@ -3231,7 +3231,7 @@ void Fl_Cocoa_Window_Driver::wait_for_expose()
  * set the window title bar name
  */
 void Fl_Cocoa_Window_Driver::label(const char *name, const char *mininame) {
-  if (shown() || Fl_X::i(pWindow)) {
+  if (shown() || Fl_X::flx(pWindow)) {
     q_set_window_title(fl_xid(pWindow), name, mininame);
     if (fl_sys_menu_bar && Fl_Sys_Menu_Bar_Driver::window_menu_style())
       Fl_MacOS_Sys_Menu_Bar_Driver::driver()->rename_window(pWindow);
@@ -3244,18 +3244,18 @@ void Fl_Cocoa_Window_Driver::label(const char *name, const char *mininame) {
  */
 void Fl_Cocoa_Window_Driver::show() {
   Fl_X *top = NULL;
-  if (parent()) top = Fl_X::i(pWindow->top_window());
+  if (parent()) top = Fl_X::flx(pWindow->top_window());
   if (!shown() && (!parent() || (top && ![top->xid isMiniaturized]))) {
     makeWindow();
   } else {
     if ( !parent() ) {
-      Fl_X *i = Fl_X::i(pWindow);
-      if ([i->xid isMiniaturized]) {
-        i->w->redraw();
-        [i->xid deminiaturize:nil];
+      Fl_X *flx = Fl_X::flx(pWindow);
+      if ([flx->xid isMiniaturized]) {
+        flx->w->redraw();
+        [flx->xid deminiaturize:nil];
       }
       if (!fl_capture) {
-        [i->xid makeKeyAndOrderFront:nil];
+        [flx->xid makeKeyAndOrderFront:nil];
       }
     }
     else pWindow->set_visible();
@@ -3328,9 +3328,9 @@ void Fl_Cocoa_Window_Driver::resize(int X, int Y, int W, int H) {
 void Fl_Cocoa_Window_Driver::make_current()
 {
   q_release_context();
-  Fl_X *i = Fl_X::i(pWindow);
+  Fl_X *flx = Fl_X::flx(pWindow);
   //NSLog(@"region-count=%d damage=%u",i->region?i->region->count:0, pWindow->damage());
-  fl_window = i->xid;
+  fl_window = flx->xid;
   ((Fl_Quartz_Graphics_Driver&)Fl_Graphics_Driver::default_driver()).high_resolution( mapped_to_retina() );
   
   if (pWindow->as_overlay_window() && other_xid && changed_resolution()) {
@@ -4027,7 +4027,7 @@ int Fl_Cocoa_Screen_Driver::dnd(int use_selection)
   localPool = [[NSAutoreleasePool alloc] init]; 
   Fl_Widget *w = Fl::pushed();
   Fl_Window *win = w->top_window();
-  FLView *myview = (FLView*)[Fl_X::i(win)->xid contentView];
+  FLView *myview = (FLView*)[Fl_X::flx(win)->xid contentView];
   NSEvent *theEvent = [NSApp currentEvent];
   
   int width, height;
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx
index 9c23bae40..abe2d62ad 100644
--- a/src/Fl_win32.cxx
+++ b/src/Fl_win32.cxx
@@ -605,10 +605,10 @@ static char im_enabled = 1;
 void Fl_WinAPI_Screen_Driver::enable_im() {
   open_display();
 
-  Fl_X *i = Fl_X::first;
-  while (i) {
-    flImmAssociateContextEx(i->xid, 0, IACE_DEFAULT);
-    i = i->next;
+  Fl_X *flx = Fl_X::first;
+  while (flx) {
+    flImmAssociateContextEx(flx->xid, 0, IACE_DEFAULT);
+    flx = flx->next;
   }
 
   im_enabled = 1;
@@ -617,10 +617,10 @@ void Fl_WinAPI_Screen_Driver::enable_im() {
 void Fl_WinAPI_Screen_Driver::disable_im() {
   open_display();
 
-  Fl_X *i = Fl_X::first;
-  while (i) {
-    flImmAssociateContextEx(i->xid, 0, 0);
-    i = i->next;
+  Fl_X *flx = Fl_X::first;
+  while (flx) {
+    flImmAssociateContextEx(flx->xid, 0, 0);
+    flx = flx->next;
   }
 
   im_enabled = 0;
@@ -1233,12 +1233,12 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar
 
       case WM_PAINT: {
 	Fl_Region R, R2;
-	Fl_X *i = Fl_X::i(window);
+	Fl_X *flx = Fl_X::flx(window);
 	Fl_Window_Driver::driver(window)->wait_for_expose_value = 0;
 	char redraw_whole_window = false;
-	if (!i->region && window->damage()) {
+	if (!flx->region && window->damage()) {
 	  // Redraw the whole window...
-	  i->region = CreateRectRgn(0, 0, window->w(), window->h());
+	  flx->region = CreateRectRgn(0, 0, window->w(), window->h());
 	  redraw_whole_window = true;
 	}
 
@@ -1251,7 +1251,7 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar
 	}
 
 	// convert i->region in FLTK units to R2 in drawing units
-	R2 = Fl_GDI_Graphics_Driver::scale_region(i->region, scale, NULL);
+	R2 = Fl_GDI_Graphics_Driver::scale_region(flx->region, scale, NULL);
 
 	if (R2) {
 	  // Also tell Windows that we are drawing someplace else as well...
@@ -1267,7 +1267,7 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar
 	}
 
 	// convert R2 in drawing units to i->region in FLTK units
-	i->region = Fl_GDI_Graphics_Driver::scale_region(R2, 1 / scale, NULL);
+	flx->region = Fl_GDI_Graphics_Driver::scale_region(R2, 1 / scale, NULL);
 
 	window->clear_damage((uchar)(window->damage() | FL_DAMAGE_EXPOSE));
 	// These next two statements should not be here, so that all update
@@ -1851,8 +1851,8 @@ void Fl_WinAPI_Window_Driver::resize(int X, int Y, int W, int H) {
       pWindow->redraw();
       // only wait for exposure if this window has a size - a window
       // with no width or height will never get an exposure event
-      Fl_X *i = Fl_X::i(pWindow);
-      if (i && W > 0 && H > 0)
+      Fl_X *flx = Fl_X::flx(pWindow);
+      if (flx && W > 0 && H > 0)
 	wait_for_expose_value = 1;
     }
   } else {
@@ -1945,7 +1945,7 @@ Fl_X *Fl_WinAPI_Window_Driver::makeWindow() {
   // mark this window visible, so that mapping the parent at a later
   // point in time will call this function again to finally map the subwindow.
   Fl_Window *w = pWindow;
-  if (w->parent() && !Fl_X::i(w->window())) {
+  if (w->parent() && !Fl_X::flx(w->window())) {
     w->set_visible();
     return 0L;
   }
@@ -2111,7 +2111,7 @@ Fl_X *Fl_WinAPI_Window_Driver::makeWindow() {
   Fl_X *x = new Fl_X;
   other_xid = 0;
   x->w = w;
-  i(x);
+  flx(x);
   x->region = 0;
   Fl_WinAPI_Window_Driver::driver(w)->private_dc = 0;
   cursor = LoadCursor(NULL, IDC_ARROW);
@@ -2386,7 +2386,7 @@ void Fl_Window::icons(HICON big_icon, HICON small_icon) {
     Fl_WinAPI_Window_Driver::driver(this)->icon_->big_icon = CopyIcon(big_icon);
   if (small_icon != NULL)
     Fl_WinAPI_Window_Driver::driver(this)->icon_->small_icon = CopyIcon(small_icon);
-  if (Fl_X::i(this))
+  if (Fl_X::flx(this))
     Fl_WinAPI_Window_Driver::driver(this)->set_icons();
 }
 
@@ -2586,11 +2586,11 @@ void Fl_WinAPI_Window_Driver::show() {
     makeWindow();
   } else {
     // Once again, we would lose the capture if we activated the window.
-    Fl_X *i = Fl_X::i(pWindow);
-    if (IsIconic(i->xid))
-      OpenIcon(i->xid);
+    Fl_X *flx = Fl_X::flx(pWindow);
+    if (IsIconic(flx->xid))
+      OpenIcon(flx->xid);
     if (!fl_capture)
-      BringWindowToTop(i->xid);
+      BringWindowToTop(flx->xid);
     // ShowWindow(i->xid,fl_capture?SW_SHOWNOACTIVATE:SW_RESTORE);
   }
 #ifdef USE_PRINT_BUTTON
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx
index 59c442ed5..fbd50f441 100644
--- a/src/Fl_x.cxx
+++ b/src/Fl_x.cxx
@@ -1628,9 +1628,9 @@ int fl_handle(const XEvent& thisevent)
 
     case DestroyNotify: { // an X11 window was closed externally from the program
       Fl::handle(FL_CLOSE, window);
-      Fl_X* X = Fl_X::i(window);
-      if (X) { // indicates the FLTK window was not closed
-	X->xid = (Window)0; // indicates the X11 window was already destroyed
+      Fl_X* flx = Fl_X::flx(window);
+      if (flx) { // indicates the FLTK window was not closed
+	flx->xid = (Window)0; // indicates the X11 window was already destroyed
 	window->hide();
 	int oldx = window->x(), oldy = window->y();
 	window->position(0, 0);
@@ -2335,10 +2335,10 @@ void Fl_X11_Window_Driver::activate_window() {
   Window prev = 0;
 
   if (fl_xfocus) {
-    Fl_X *x = Fl_X::i(fl_xfocus);
-    if (!x)
+    Fl_X *flx = Fl_X::flx(fl_xfocus);
+    if (!flx)
       return;
-    prev = x->xid;
+    prev = flx->xid;
   }
 
   send_wm_event(w, fl_NET_ACTIVE_WINDOW, 1 /* application */,
@@ -2399,7 +2399,7 @@ Fl_X* Fl_X::set_xid(Fl_Window* win, Window winxid) {
   Fl_X *xp = new Fl_X;
   xp->xid = winxid;
   Fl_Window_Driver::driver(win)->other_xid = 0;
-  xp->w = win; win->i = xp;
+  xp->w = win; win->flx_ = xp;
   xp->next = Fl_X::first;
   xp->region = 0;
   Fl_Window_Driver::driver(win)->wait_for_expose_value = 1;
@@ -2475,7 +2475,7 @@ void Fl_X::make_xid(Fl_Window* win, XVisualInfo *visual, Colormap colormap)
   // if the window is a subwindow and our parent is not mapped yet, we
   // mark this window visible, so that mapping the parent at a later
   // point in time will call this function again to finally map the subwindow.
-  if (win->parent() && !Fl_X::i(win->window())) {
+  if (win->parent() && !Fl_X::flx(win->window())) {
     win->set_visible();
     return;
   }
diff --git a/src/drivers/Android/Fl_Android_Window_Driver.cxx b/src/drivers/Android/Fl_Android_Window_Driver.cxx
index 5781c0361..8892e70ef 100644
--- a/src/drivers/Android/Fl_Android_Window_Driver.cxx
+++ b/src/drivers/Android/Fl_Android_Window_Driver.cxx
@@ -47,14 +47,14 @@ void Fl_Android_Window_Driver::show()
   if (!shown()) {
     // make window
     fl_open_display();
-    if (pWindow->parent() && !Fl_X::i(pWindow->window())) {
+    if (pWindow->parent() && !Fl_X::flx(pWindow->window())) {
       pWindow->set_visible();
       return;
     }
     pWindow->set_visible();
     Fl_X *x = new Fl_X;
     x->w = pWindow;
-    i(x);
+    flx(x);
     x->next = Fl_X::first;
     Fl_X::first = x;
     // position window
@@ -86,7 +86,7 @@ void Fl_Android_Window_Driver::show()
 
 void Fl_Android_Window_Driver::hide()
 {
-  Fl_X* ip = Fl_X::i(pWindow);
+  Fl_X* ip = Fl_X::flx(pWindow);
   if (hide_common()) return;
   if (ip->region) {
     delete ip->region;
@@ -137,8 +137,8 @@ void Fl_Android_Window_Driver::resize(int X,int Y,int W,int H)
       pWindow->redraw();
       // only wait for exposure if this window has a size - a window
       // with no width or height will never get an exposure event
-      Fl_X *i = Fl_X::i(pWindow);
-      if (i && W > 0 && H > 0)
+      Fl_X *flx = Fl_X::flx(pWindow);
+      if (flx && W > 0 && H > 0)
         wait_for_expose_value = 1;
     }
   } else {
@@ -495,15 +495,15 @@ void Fl_WinAPI_Window_Driver::flush_double()
 {
   if (!shown()) return;
   pWindow->make_current(); // make sure fl_gc is non-zero
-  Fl_X *i = Fl_X::i(pWindow);
-  if (!i) return; // window not yet created
+  Fl_X *flx = Fl_X::flx(pWindow);
+  if (!flx) return; // window not yet created
 
   if (!other_xid) {
     other_xid = fl_create_offscreen(w(), h());
     pWindow->clear_damage(FL_DAMAGE_ALL);
   }
   if (pWindow->damage() & ~FL_DAMAGE_EXPOSE) {
-    fl_clip_region(i->region); i->region = 0;
+    fl_clip_region(flx->region); flx->region = 0;
     fl_begin_offscreen(other_xid);
     fl_graphics_driver->clip_region( 0 );
     draw();
@@ -521,8 +521,8 @@ void Fl_WinAPI_Window_Driver::flush_overlay()
 
   if (!shown()) return;
   pWindow->make_current(); // make sure fl_gc is non-zero
-  Fl_X *i = Fl_X::i(pWindow);
-  if (!i) return; // window not yet created
+  Fl_X *flx = Fl_X::flx(pWindow);
+  if (!flx) return; // window not yet created
 
   int eraseoverlay = (pWindow->damage()&FL_DAMAGE_OVERLAY);
   pWindow->clear_damage((uchar)(pWindow->damage()&~FL_DAMAGE_OVERLAY));
@@ -532,7 +532,7 @@ void Fl_WinAPI_Window_Driver::flush_overlay()
     pWindow->clear_damage(FL_DAMAGE_ALL);
   }
   if (pWindow->damage() & ~FL_DAMAGE_EXPOSE) {
-    fl_clip_region(i->region); i->region = 0;
+    fl_clip_region(flx->region); flx->region = 0;
     fl_begin_offscreen(other_xid);
     fl_graphics_driver->clip_region(0);
     draw();
@@ -558,7 +558,7 @@ void Fl_WinAPI_Window_Driver::icons(const Fl_RGB_Image *icons[], int count) {
       icon_->icons[i] = (Fl_RGB_Image*)((Fl_RGB_Image*)icons[i])->copy();
   }
   
-  if (Fl_X::i(pWindow))
+  if (Fl_X::flx(pWindow))
     set_icons();
 }
 
@@ -626,7 +626,7 @@ extern void fl_clipboard_notify_retarget(HWND wnd);
 extern void fl_update_clipboard(void);
 
 void Fl_WinAPI_Window_Driver::hide() {
-  Fl_X* ip = Fl_X::i(pWindow);
+  Fl_X* ip = Fl_X::flx(pWindow);
   // STR#3079: if there remains a window and a non-modal window, and the window is deleted,
   // the app remains running without any apparent window.
   // Bug mechanism: hiding an owner window unmaps the owned (non-modal) window(s)
@@ -761,7 +761,7 @@ void Fl_WinAPI_Window_Driver::fullscreen_off(int X, int Y, int W, int H) {
   // Remove the xid temporarily so that Fl_WinAPI_Window_Driver::fake_X_wm() behaves like it
   // does in Fl_WinAPI_Window_Driver::makeWindow().
   HWND xid = fl_xid(pWindow);
-  Fl_X::i(pWindow)->xid = NULL;
+  Fl_X::flx(pWindow)->xid = NULL;
   int wx, wy, bt, bx, by;
   switch (fake_X_wm(wx, wy, bt, bx, by)) {
     case 0:
@@ -775,7 +775,7 @@ void Fl_WinAPI_Window_Driver::fullscreen_off(int X, int Y, int W, int H) {
       }
       break;
   }
-  Fl_X::i(pWindow)->xid = xid;
+  Fl_X::flx(pWindow)->xid = xid;
   // compute window position and size in scaled units
   float s = Fl::screen_driver()->scale(screen_num());
   int scaledX = ceil(X*s), scaledY= ceil(Y*s), scaledW = ceil(W*s), scaledH = ceil(H*s);
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx
index 34e1c80fd..abc2b24a8 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx
+++ b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx
@@ -161,7 +161,7 @@ void Fl_Cocoa_Screen_Driver::grab(Fl_Window* win)
 {
   if (win) {
     if (!Fl::grab_) {
-      fl_capture = Fl_X::i(Fl::first_window())->xid;
+      fl_capture = Fl_X::flx(Fl::first_window())->xid;
       Fl_Cocoa_Window_Driver::driver(Fl::first_window())->set_key_window();
     }
     Fl::grab_ = win;
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
index 43ae44664..64383b879 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
+++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
@@ -85,7 +85,7 @@ void Fl_Cocoa_Window_Driver::flush_overlay()
     oWindow->clear_damage(FL_DAMAGE_ALL);
   }
   if (oWindow->damage() & ~FL_DAMAGE_EXPOSE) {
-    Fl_X *myi = Fl_X::i(pWindow);
+    Fl_X *myi = Fl_X::flx(pWindow);
     fl_clip_region(myi->region); myi->region = 0;
     fl_begin_offscreen(other_xid);
     draw();
@@ -242,7 +242,7 @@ void Fl_Cocoa_Window_Driver::shape(const Fl_Image* img) {
 
 
 void Fl_Cocoa_Window_Driver::hide() {
-  Fl_X* ip = Fl_X::i(pWindow);
+  Fl_X* ip = Fl_X::flx(pWindow);
   // MacOS X manages a single pointer per application. Make sure that hiding
   // a toplevel window will not leave us with some random pointer shape, or
   // worst case, an invisible pointer
diff --git a/src/drivers/PicoAndroid/Fl_PicoAndroid_Screen_Driver.cxx b/src/drivers/PicoAndroid/Fl_PicoAndroid_Screen_Driver.cxx
index 6ab2d5025..d19fc502a 100644
--- a/src/drivers/PicoAndroid/Fl_PicoAndroid_Screen_Driver.cxx
+++ b/src/drivers/PicoAndroid/Fl_PicoAndroid_Screen_Driver.cxx
@@ -479,7 +479,7 @@ int Fl_X::set_cursor(Fl_RGB_Image const*, int, int) { return 0; }
 
 void Fl_Window::make_current()
 {
-  fl_window = i->xid;
+  fl_window = flx->xid;
   current_ = this;
 }
 
@@ -487,7 +487,7 @@ void Fl_Window::make_current()
 
 Window fl_xid(const Fl_Window* w)
 {
-  Fl_X *temp = Fl_X::i(w);
+  Fl_X *temp = Fl_X::flx(w);
   return temp ? temp->xid : 0;
 }
 
diff --git a/src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx b/src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx
index 0fdad34bd..6c4ef8e07 100644
--- a/src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx
+++ b/src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx
@@ -58,7 +58,7 @@ Fl_X *Fl_PicoAndroid_Window_Driver::makeWindow()
   Fl_PicoAndroid_Screen_Driver *scr = (Fl_PicoAndroid_Screen_Driver*)Fl::screen_driver();
 
   Fl_Group::current(0);
-  if (parent() && !Fl_X::i(pWindow->window())) {
+  if (parent() && !Fl_X::flx(pWindow->window())) {
     pWindow->set_visible();
     return 0L;
   }
@@ -81,7 +81,7 @@ Fl_X *Fl_PicoAndroid_Window_Driver::makeWindow()
 //  x->xid = SDL_CreateRenderer(pNativeWindow, -1, SDL_RENDERER_ACCELERATED);
   x->next = Fl_X::first;
   wait_for_expose_value = 0;
-  pWindow->i = x;
+  pWindow->flx_ = x;
   Fl_X::first = x;
 
   pWindow->set_visible();
@@ -99,10 +99,10 @@ void Fl_PicoAndroid_Window_Driver::flush()
 {
   glClearColor(0, 0, 0, 1);
   glClear(GL_COLOR_BUFFER_BIT);
-  Fl_X *i = Fl_X::i(pWindow);
-  if (!i) return;
-  fl_clip_region(i->region);
-  i->region = 0;
+  Fl_X *flx = Fl_X::flx(pWindow);
+  if (!flx) return;
+  fl_clip_region(flx->region);
+  flx->region = 0;
   pWindow->draw();
   Fl_PicoAndroid_Screen_Driver *scr = (Fl_PicoAndroid_Screen_Driver*)Fl::screen_driver();
   scr->drawFrame();
diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx b/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx
index abd70c4cc..6aeba3b3d 100644
--- a/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx
+++ b/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx
@@ -64,11 +64,11 @@ double Fl_PicoSDL_Screen_Driver::wait(double time_to_wait)
           {
             if ( !window ) break;;
             Fl_Window_Driver *wd = window->driver();
-            Fl_X *i = Fl_X::i(Fl::first_window());
+            Fl_X *flx = Fl_X::flx(Fl::first_window());
             wd->wait_for_expose_value = 0;
-            if ( i->region ) {
-              fl_graphics_driver->XDestroyRegion(i->region);
-              i->region = 0;
+            if ( flx->region ) {
+              fl_graphics_driver->XDestroyRegion(flx->region);
+              flx->region = 0;
             }
             window->clear_damage(FL_DAMAGE_ALL);
             wd->flush();
diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx b/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx
index 2335f799c..953acab49 100644
--- a/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx
+++ b/src/drivers/PicoSDL/Fl_PicoSDL_Window_Driver.cxx
@@ -45,7 +45,7 @@ Fl_PicoSDL_Window_Driver::~Fl_PicoSDL_Window_Driver()
 Fl_X *Fl_PicoSDL_Window_Driver::makeWindow()
 {
   Fl_Group::current(0);
-  if (parent() && !Fl_X::i(pWindow->window())) {
+  if (parent() && !Fl_X::flx(pWindow->window())) {
     pWindow->set_visible();
     return 0L;
   }
@@ -68,7 +68,7 @@ Fl_X *Fl_PicoSDL_Window_Driver::makeWindow()
   pNativeTexture = SDL_CreateTexture((SDL_Renderer*)x->xid, SDL_PIXELFORMAT_RGB888, SDL_TEXTUREACCESS_TARGET, w(), h());
   x->next = Fl_X::first;
   wait_for_expose_value = 0;
-  pWindow->i = x;
+  pWindow->flx_ = x;
   Fl_X::first = x;
 
   pWindow->set_visible();
@@ -84,18 +84,18 @@ Fl_X *Fl_PicoSDL_Window_Driver::makeWindow()
 
 void Fl_PicoSDL_Window_Driver::draw_end()
 {
-  Fl_X *i = Fl_X::i(pWindow);
-  SDL_SetRenderTarget((SDL_Renderer*)pWindow->i->xid, 0L);
+  Fl_X *flx = Fl_X::flx(pWindow);
+  SDL_SetRenderTarget((SDL_Renderer*)pWindow->flx_->xid, 0L);
   //SDL_RenderClear((SDL_Renderer*)i->xid);
-  SDL_RenderCopy((SDL_Renderer*)i->xid, pNativeTexture, 0L, 0L);
-  SDL_RenderPresent((SDL_Renderer*)i->xid);
+  SDL_RenderCopy((SDL_Renderer*)flx->xid, pNativeTexture, 0L, 0L);
+  SDL_RenderPresent((SDL_Renderer*)flx->xid);
 }
 
 
 void Fl_PicoSDL_Window_Driver::make_current()
 {
-  fl_window = pWindow->i->xid;
-  SDL_SetRenderTarget((SDL_Renderer*)pWindow->i->xid, pNativeTexture);
+  fl_window = pWindow->flx_->xid;
+  SDL_SetRenderTarget((SDL_Renderer*)pWindow->flx_->xid, pNativeTexture);
 }
 
 
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
index 78379712f..2e664ef36 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
@@ -303,15 +303,15 @@ void Fl_WinAPI_Window_Driver::flush_double()
 {
   if (!shown()) return;
   pWindow->make_current(); // make sure fl_gc is non-zero
-  Fl_X *i = Fl_X::i(pWindow);
-  if (!i) return; // window not yet created
+  Fl_X *flx = Fl_X::flx(pWindow);
+  if (!flx) return; // window not yet created
 
   if (!other_xid) {
     other_xid = fl_create_offscreen(w(), h());
     pWindow->clear_damage(FL_DAMAGE_ALL);
   }
   if (pWindow->damage() & ~FL_DAMAGE_EXPOSE) {
-    fl_clip_region(i->region); i->region = 0;
+    fl_clip_region(flx->region); flx->region = 0;
 #if 0 /* Short form that transiently changes the current Fl_Surface_Device */
     fl_begin_offscreen(other_xid);
     fl_graphics_driver->clip_region( 0 );
@@ -345,8 +345,8 @@ void Fl_WinAPI_Window_Driver::flush_overlay()
 
   if (!shown()) return;
   pWindow->make_current(); // make sure fl_gc is non-zero
-  Fl_X *i = Fl_X::i(pWindow);
-  if (!i) return; // window not yet created
+  Fl_X *flx = Fl_X::flx(pWindow);
+  if (!flx) return; // window not yet created
 
   int eraseoverlay = (pWindow->damage()&FL_DAMAGE_OVERLAY);
   pWindow->clear_damage((uchar)(pWindow->damage()&~FL_DAMAGE_OVERLAY));
@@ -356,7 +356,7 @@ void Fl_WinAPI_Window_Driver::flush_overlay()
     pWindow->clear_damage(FL_DAMAGE_ALL);
   }
   if (pWindow->damage() & ~FL_DAMAGE_EXPOSE) {
-    fl_clip_region(i->region); i->region = 0;
+    fl_clip_region(flx->region); flx->region = 0;
     fl_begin_offscreen(other_xid);
     fl_graphics_driver->clip_region(0);
     draw();
@@ -382,7 +382,7 @@ void Fl_WinAPI_Window_Driver::icons(const Fl_RGB_Image *icons[], int count) {
       icon_->icons[i] = (Fl_RGB_Image*)((Fl_RGB_Image*)icons[i])->copy();
   }
   
-  if (Fl_X::i(pWindow))
+  if (Fl_X::flx(pWindow))
     set_icons();
 }
 
@@ -450,7 +450,7 @@ extern void fl_clipboard_notify_retarget(HWND wnd);
 extern void fl_update_clipboard(void);
 
 void Fl_WinAPI_Window_Driver::hide() {
-  Fl_X* ip = Fl_X::i(pWindow);
+  Fl_X* ip = Fl_X::flx(pWindow);
   // STR#3079: if there remains a window and a non-modal window, and the window is deleted,
   // the app remains running without any apparent window.
   // Bug mechanism: hiding an owner window unmaps the owned (non-modal) window(s)
@@ -585,7 +585,7 @@ void Fl_WinAPI_Window_Driver::fullscreen_off(int X, int Y, int W, int H) {
   // Remove the xid temporarily so that Fl_WinAPI_Window_Driver::fake_X_wm() behaves like it
   // does in Fl_WinAPI_Window_Driver::makeWindow().
   HWND xid = fl_xid(pWindow);
-  Fl_X::i(pWindow)->xid = NULL;
+  Fl_X::flx(pWindow)->xid = NULL;
   int wx, wy, bt, bx, by;
   switch (fake_X_wm(wx, wy, bt, bx, by)) {
     case 0:
@@ -599,7 +599,7 @@ void Fl_WinAPI_Window_Driver::fullscreen_off(int X, int Y, int W, int H) {
       }
       break;
   }
-  Fl_X::i(pWindow)->xid = xid;
+  Fl_X::flx(pWindow)->xid = xid;
   // compute window position and size in scaled units
   float s = Fl::screen_driver()->scale(screen_num());
   int scaledX = ceil(X*s), scaledY= ceil(Y*s), scaledW = ceil(W*s), scaledH = ceil(H*s);
diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx
index 1de2e5297..ea805c664 100644
--- a/src/drivers/X11/Fl_X11_Window_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx
@@ -78,7 +78,7 @@ static int can_xdbe()
 void Fl_X11_Window_Driver::flush_double_dbe(int erase_overlay)
 {
   pWindow->make_current(); // make sure fl_gc is non-zero
-  Fl_X *i = Fl_X::i(pWindow);
+  Fl_X *flx = Fl_X::flx(pWindow);
   if (!other_xid) {
     other_xid = XdbeAllocateBackBufferName(fl_display, fl_xid(pWindow), XdbeCopied);
     backbuffer_bad = 1;
@@ -86,16 +86,16 @@ void Fl_X11_Window_Driver::flush_double_dbe(int erase_overlay)
   }
   if (backbuffer_bad || erase_overlay) {
     // Make sure we do a complete redraw...
-    if (i->region) {Fl_Graphics_Driver::default_driver().XDestroyRegion(i->region); i->region = 0;}
+    if (flx->region) {Fl_Graphics_Driver::default_driver().XDestroyRegion(flx->region); flx->region = 0;}
     pWindow->clear_damage(FL_DAMAGE_ALL);
     backbuffer_bad = 0;
   }  
   // Redraw as needed...
   if (pWindow->damage()) {
-    fl_clip_region(i->region); i->region = 0;
+    fl_clip_region(flx->region); flx->region = 0;
     fl_window = other_xid;
     draw();
-    fl_window = i->xid;
+    fl_window = flx->xid;
   }
   // Copy contents of back buffer to window...
   XdbeSwapInfo s;
@@ -155,7 +155,7 @@ void Fl_X11_Window_Driver::decorated_win_size(int &w, int &h)
   if (!win->shown() || win->parent() || !win->border() || !win->visible()) return;
   Window root, parent, *children;
   unsigned n = 0;
-  Status status = XQueryTree(fl_display, Fl_X::i(win)->xid, &root, &parent, &children, &n);
+  Status status = XQueryTree(fl_display, Fl_X::flx(win)->xid, &root, &parent, &children, &n);
   if (status != 0 && n) XFree(children);
   // when compiz is used, root and parent are the same window
   // and I don't know where to find the window decoration
@@ -189,10 +189,10 @@ int Fl_X11_Window_Driver::decorated_w()
 
 void Fl_X11_Window_Driver::take_focus()
 {
-  Fl_X *i = Fl_X::i(pWindow);
+  Fl_X *flx = Fl_X::flx(pWindow);
   if (!Fl_X11_Screen_Driver::ewmh_supported())
     pWindow->show();		// Old WMs, XMapRaised
-  else if (i)			// New WMs use the NETWM attribute:
+  else if (flx)			// New WMs use the NETWM attribute:
     activate_window();
 }
 
@@ -222,16 +222,16 @@ void Fl_X11_Window_Driver::flush_double()
 void Fl_X11_Window_Driver::flush_double(int erase_overlay)
 {
   pWindow->make_current(); // make sure fl_gc is non-zero
-  Fl_X *i = Fl_X::i(pWindow);
+  Fl_X *flx = Fl_X::flx(pWindow);
   if (!other_xid) {
       other_xid = fl_create_offscreen(w(), h());
     pWindow->clear_damage(FL_DAMAGE_ALL);
   }
     if (pWindow->damage() & ~FL_DAMAGE_EXPOSE) {
-      fl_clip_region(i->region); i->region = 0;
+      fl_clip_region(flx->region); flx->region = 0;
       fl_window = other_xid;
       draw();
-      fl_window = i->xid;
+      fl_window = flx->xid;
     }
   if (erase_overlay) fl_clip_region(0);
   int X,Y,W,H; fl_clip_box(0,0,w(),h(),X,Y,W,H);
@@ -359,7 +359,7 @@ void Fl_X11_Window_Driver::icons(const Fl_RGB_Image *icons[], int count) {
       icon_->icons[i] = (Fl_RGB_Image*)((Fl_RGB_Image*)icons[i])->copy();
   }
   
-  if (Fl_X::i(pWindow))
+  if (Fl_X::flx(pWindow))
     set_icons();
 }
 
@@ -467,16 +467,16 @@ void Fl_X11_Window_Driver::show_menu()
 
 
 void Fl_X11_Window_Driver::hide() {
-  Fl_X* ip = Fl_X::i(pWindow);
+  Fl_X* flx = Fl_X::flx(pWindow);
   if (hide_common()) return;
-  if (ip->region) Fl_Graphics_Driver::default_driver().XDestroyRegion(ip->region);
+  if (flx->region) Fl_Graphics_Driver::default_driver().XDestroyRegion(flx->region);
 # if USE_XFT
-  Fl_Xlib_Graphics_Driver::destroy_xft_draw(ip->xid);
+  Fl_Xlib_Graphics_Driver::destroy_xft_draw(flx->xid);
   screen_num_ = -1;
 # endif
-  // this test makes sure ip->xid has not been destroyed already
-  if (ip->xid) XDestroyWindow(fl_display, ip->xid);
-  delete ip;
+  // this test makes sure flx->xid has not been destroyed already
+  if (flx->xid) XDestroyWindow(fl_display, flx->xid);
+  delete flx;
 }
 
 
@@ -584,7 +584,7 @@ void _Fl_Overlay::show() {
   // find the outermost window to tell wm about the colormap:
   Fl_Window *w = window();
   for (;;) {Fl_Window *w1 = w->window(); if (!w1) break; w = w1;}
-  XSetWMColormapWindows(fl_display, fl_xid(w), &(Fl_X::i(this)->xid), 1);
+  XSetWMColormapWindows(fl_display, fl_xid(w), &(Fl_X::flx(this)->xid), 1);
 }
 
 void _Fl_Overlay::flush() {
@@ -594,7 +594,7 @@ void _Fl_Overlay::flush() {
 #endif
   fl_overlay = 1;
   Fl_Overlay_Window *w = (Fl_Overlay_Window *)parent();
-  Fl_X *myi = Fl_X::i(this);
+  Fl_X *myi = Fl_X::flx(this);
   if (damage() != FL_DAMAGE_EXPOSE) XClearWindow(fl_display, fl_xid(this));
   fl_clip_region(myi->region); myi->region = 0;
   w->draw_overlay();
@@ -639,7 +639,7 @@ void Fl_X11_Window_Driver::redraw_overlay() {
 void Fl_X11_Window_Driver::flush_menu() {
 #if HAVE_OVERLAY
    if (!fl_overlay_visual || !overlay()) {flush_Fl_Window(); return;}
-   Fl_X *myi = Fl_X::i(pWindow);
+   Fl_X *myi = Fl_X::flx(pWindow);
    fl_window = myi->xid;
 # if defined(FLTK_USE_CAIRO)
    // capture gc changes automatically to update the cairo context adequately
@@ -681,7 +681,7 @@ int Fl_X11_Window_Driver::scroll(int src_x, int src_y, int src_w, int src_h, int
 Fl_X *Fl_X11_Window_Driver::makeWindow()
 {
   Fl_X::make_xid(pWindow, fl_visual, fl_colormap);
-  return Fl_X::i(pWindow);
+  return Fl_X::flx(pWindow);
 }
 
 const Fl_Image* Fl_X11_Window_Driver::shape() {
diff --git a/src/fl_cursor.cxx b/src/fl_cursor.cxx
index f3bd7e2b0..b28758827 100644
--- a/src/fl_cursor.cxx
+++ b/src/fl_cursor.cxx
@@ -128,7 +128,7 @@ void Fl_Window::cursor(Fl_Cursor c) {
   if (c == FL_CURSOR_DEFAULT)
     c = cursor_default;
 
-  if (!i)
+  if (!flx_)
     return;
 
   ret = pWindowDriver->set_cursor(c);
@@ -165,7 +165,7 @@ void Fl_Window::cursor(const Fl_RGB_Image *image, int hotx, int hoty) {
     return;
   }
 
-  if (!i)
+  if (!flx_)
     return;
 
   ret = pWindowDriver->set_cursor(image, hotx, hoty);
