But, transparency is easily achieved now under Linux using the Wayland platform, new in FLTK 1.4 :
//
// Hello, World! program for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2021 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
// file is missing or damaged, see the license at:
//
//
https://www.fltk.org/COPYING.php//
// Please see the following page on how to report bugs and issues:
//
//
https://www.fltk.org/bugs.php//
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/fl_draw.H>
#include <FL/platform.H>
#if FLTK_USE_WAYLAND
#include <cairo/cairo.h>
#endif
class transparent_window : public Fl_Window {
public:
transparent_window(int w, int h) : Fl_Window(w,h) {}
void draw() {
#if FLTK_USE_WAYLAND
cairo_set_source_rgba(fl_wl_cairo(), 0, 0, 0, 0); // fully transparent color
#else
fl_color(FL_RED);
#endif
fl_rectf(0, 0, w(), h());
Fl_Window::draw();
}
};
int main(int argc, char **argv) {
transparent_window *window = new transparent_window(340, 180);
window->box(FL_NO_BOX);
Fl_Box *box = new Fl_Box(20, 40, 300, 100, "Hello, World!");
box->box(FL_UP_BOX);
box->labelfont(FL_BOLD + FL_ITALIC);
box->labelsize(36);
box->labeltype(FL_SHADOW_LABEL);
window->end();
window->show(argc, argv);
return Fl::run();
}