diff options
author | Thierry Vignaud <thierry.vignaud@gmail.com> | 2016-11-08 03:54:57 +0100 |
---|---|---|
committer | Thierry Vignaud <thierry.vignaud@gmail.com> | 2016-11-08 09:55:44 +0100 |
commit | 83a4d365863c4c096c541fe252e0678a622ac59f (patch) | |
tree | 927e8e4c55b761a3dd908f3bb8baea21e10bb594 | |
parent | a6d3b8586989777db095b51a26b3cf2241b92e8e (diff) | |
download | drakx-kbd-mouse-x11-83a4d365863c4c096c541fe252e0678a622ac59f.tar drakx-kbd-mouse-x11-83a4d365863c4c096c541fe252e0678a622ac59f.tar.gz drakx-kbd-mouse-x11-83a4d365863c4c096c541fe252e0678a622ac59f.tar.bz2 drakx-kbd-mouse-x11-83a4d365863c4c096c541fe252e0678a622ac59f.tar.xz drakx-kbd-mouse-x11-83a4d365863c4c096c541fe252e0678a622ac59f.zip |
fix test background
It was broken since switching to gtk+3...
Fixed & simplified by switching to using CSS on a top maximized window
instead of playing with root GdkWindow
We always want the image to be there now.
This also enables to rip broken code from mygtk3
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | lib/Xconfig/test.pm | 23 |
2 files changed, 16 insertions, 11 deletions
@@ -1,3 +1,7 @@ +- XFdrake + o when testing X: + * fix displaying test background (as well as running) + Version 1.16 - 19 September 2016 - added newer and modern resolutions to xfree.pm diff --git a/lib/Xconfig/test.pm b/lib/Xconfig/test.pm index c2f16cd..a09e48e 100644 --- a/lib/Xconfig/test.pm +++ b/lib/Xconfig/test.pm @@ -101,7 +101,6 @@ sub test { $ENV{DISPLAY} = ":9"; Gtk3->init; - gtkset_background(200 * 257, 210 * 257, 210 * 257); my $text = Gtk3::Label->new; my $time = 12; Glib::Timeout->add(1000, sub { @@ -110,16 +109,18 @@ sub test { 1; }); - eval { #- eval it so that missing pixmap will not break the test completely - my $root = gtkroot(); - my $gc = Gtk3::Gdk::GC->new($root); - my $pixbuf = Gtk3::Gdk::Pixbuf->new_from_file("$::prefix/usr/share/mga/xfdrake/xfdrake-test-card.png"); - my ($w, $h) = ($pixbuf->get_allocated_width, $pixbuf->get_allocated_height); - my $pixmap = Gtk3::Gdk::Pixmap->new($root, $w, $h, $root->get_depth); - $pixbuf->render_to_drawable($pixmap, $gc, 0, 0, 0, 0, $w, $h, 'none', 0, 0); - $root->set_back_pixmap($pixmap, 0); - $root->clear; - }; + my $root_w = Gtk3::Window->new; + $root_w->set_name("back"); + my $pl = Gtk3::CssProvider->new; + $pl->load_from_data("#back { +background-image: url('$::prefix/usr/share/mga/xfdrake/xfdrake-test-card.png'); +background-repeat: repeat; +}"); + Gtk3::StyleContext::add_provider_for_screen(Gtk3::Gdk::Screen::get_default(), $pl, Gtk3::STYLE_PROVIDER_PRIORITY_APPLICATION); + + # maximize: + $root_w->set_default_size(Gtk3::Gdk::Screen::width, Gtk3::Gdk::Screen::height); + $root_w->show_all; my $in = interactive::gtk->new; $in->exit($in->ask_yesorno('', [ translate("%s"), $text ], 0) ? 0 : 222); |