Hidden font selection button in the preference dialog

Hello,
I noticed that in the preference dialog of poedit, the button to set the font for text fields is nearly invisible (see attached capture).
I can reproduce it with poedit 1.8.11 (from Debian Stretch) and 2.0.1 (from experimental). I am using Gnome Shell with a fairly default config, notably default fonts (Cantarell Regular, 11).
Please let me know if I can be of any help to reproduce and fix this bug.
Thanks a lot for your work on poedit!
Thomas

Please actually attach attachments instead of linking to a random site (where they may disappear at any time).
Please provide full reproduction instructions (see this), including such basics as wxGTK and GTK versions.
This looks like a wxGTK bug to me, so checking with its latest version seems advisable.

I am not used to issues in github, sorry. :)
Here is the attachment.

Hello,
My system has wxGTK in version 3.0.2+dfsg-4 and GTK+ in version 2.24.31-2, both installed from Debian Stretch.
I am not sure what other info is needed, so please let me know how I can help. :)
Thomas

I have the same issue with Ubuntu Xenial, Wxwidgets 3.0.2+dfsg-1.3 gtk+ 2.12.10-6

Let's see if anything changes once running against wxGTK 3.0.3 (recently released, so hopefully will be packaged not too long from now too).

Hello, I installed a clean machine (stretch based) and I could reproduce only with the poedit from experimental
(so, 1.8.11 was fine, 2.0.1 not)
I packaged wxGTK 3.0.3 (you can use the debs from here http://debomatic-amd64.debian.net/distribution#experimental/wxwidgets3.0/3.0.3+dfsg-1~exp1/buildlog )
Note, I didn't check for API/ABI breaks, so install it in some controlled environment :)
Testing was the same, still broken the experimental version.

This is how it currently looks using wxGTK 3.0.3:

Poedit version: 2.0.2
OS: Fedora 26 x86_64
wxGTK3 version: 3.0.3-2

And this is how it looks on Fedora 24 with GTK+ 3.20.9 + wx 3.1/master:

If it weren't for reports of the same happening with the old 2.x versions of GTK+, I would assumed something in new GTK+ versions broke it. Like this, I'm just confused and have no idea what's going —  @c72578 ruled out non-English UI, old wx and GTK+ 2 as the culprit. I have the same stock Fedora config (font, DPI would appear the same in the screenshots), yet mine is sized correctly.
I guess next step is installing Fedora 26 and hope for the best, because I don't even know what to ask you for or what patches to try :(
(BTW, thanks @c72578 for your Copr packages of Poedit deps, very helpful!)

because I don't even know what to ask you for or what patches to try

Of course, as I wrote it, some ideas came to kind…
Could you please try to apply this patch and tell me what the terminal output is?
diff --git a/src/prefsdlg.cpp b/src/prefsdlg.cpp
index 699edbdfbc..19f847ee5b 100644
--- a/src/prefsdlg.cpp
+++ b/src/prefsdlg.cpp
@@ -225,6 +225,9 @@ public:
         m_fontText = new wxFontPickerCtrl(this, wxID_ANY);
         m_fontText->SetMinSize(wxSize(PX(120), -1));

+        printf("top button size: %d x %d\n", m_fontList->GetSize().x, m_fontList->GetSize().y);
+        printf("bottom button size: %d x %d\n", m_fontText->GetSize().x, m_fontText->GetSize().y);
+
         appearance->Add(m_useFontList, wxSizerFlags().CenterVertical().Left());
         appearance->Add(m_fontList, wxSizerFlags().CenterVertical().Expand());
         appearance->Add(m_useFontText, wxSizerFlags().CenterVertical().Left());

Mine is this:
top button size: 166 x 34
bottom button size: 166 x 34

Afterwards, please try the same with this patch and check if it changes anything (it doesn't here):
diff --git a/src/prefsdlg.cpp b/src/prefsdlg.cpp
index 699edbdfbc..f03b2046fc 100644
--- a/src/prefsdlg.cpp
+++ b/src/prefsdlg.cpp
@@ -220,10 +220,13 @@ public:

         m_useFontList = new wxCheckBox(this, wxID_ANY, _("Use custom list font:"));
         m_fontList = new wxFontPickerCtrl(this, wxID_ANY);
-        m_fontList->SetMinSize(wxSize(PX(120), -1));
+        //m_fontList->SetMinSize(wxSize(PX(120), -1));
         m_useFontText = new wxCheckBox(this, wxID_ANY, _("Use custom text fields font:"));
         m_fontText = new wxFontPickerCtrl(this, wxID_ANY);
-        m_fontText->SetMinSize(wxSize(PX(120), -1));
+        //m_fontText->SetMinSize(wxSize(PX(120), -1));
+
+        printf("top button size: %d x %d\n", m_fontList->GetSize().x, m_fontList->GetSize().y);
+        printf("bottom button size: %d x %d\n", m_fontText->GetSize().x, m_fontText->GetSize().y);

         appearance->Add(m_useFontList, wxSizerFlags().CenterVertical().Left());
         appearance->Add(m_fontList, wxSizerFlags().CenterVertical().Expand());

TIA!

first patch: (Debian unstable)
poedit
Gtk-Message: Failed to load module "canberra-gtk-module"
top button size: 110 x 36
bottom button size: 110 x 36

nothing changes with the second one :(

So much for that theory :( So the buttons do have a reasonable size, yet the layout engine clearly thinks they have very small height (see not only the overlap, but how the checkboxes are packed too tight as well).
Is there enough room on the screen for the window?
What if you try this (hardcodes minimal height)?
diff --git a/src/prefsdlg.cpp b/src/prefsdlg.cpp
index 699edbdfbc..f03b2046fc 100644
--- a/src/prefsdlg.cpp
+++ b/src/prefsdlg.cpp
@@ -220,10 +220,13 @@ public:

         m_useFontList = new wxCheckBox(this, wxID_ANY, _("Use custom list font:"));
         m_fontList = new wxFontPickerCtrl(this, wxID_ANY);
-        m_fontList->SetMinSize(wxSize(PX(120), -1));
+        m_fontList->SetMinSize(wxSize(PX(120), 36));
         m_useFontText = new wxCheckBox(this, wxID_ANY, _("Use custom text fields font:"));
         m_fontText = new wxFontPickerCtrl(this, wxID_ANY);
-        m_fontText->SetMinSize(wxSize(PX(120), -1));
+        m_fontText->SetMinSize(wxSize(PX(120), 36));
+
+        printf("top button size: %d x %d\n", m_fontList->GetSize().x, m_fontList->GetSize().y);
+        printf("bottom button size: %d x %d\n", m_fontText->GetSize().x, m_fontText->GetSize().y);

         appearance->Add(m_useFontList, wxSizerFlags().CenterVertical().Left());
         appearance->Add(m_fontList, wxSizerFlags().CenterVertical().Expand());

What are your GNOME DPI settings?

hope this helps :)
$ xdpyinfo
name of display:    :0
version number:    11.0
vendor string:    The X.Org Foundation
vendor release number:    11903000
X.Org version: 1.19.3
maximum request size:  16777212 bytes
motion buffer size:  256
bitmap unit, bit order, padding:    32, LSBFirst, 32
image byte order:    LSBFirst
number of supported pixmap formats:    7
supported pixmap formats:
    depth 1, bits_per_pixel 1, scanline_pad 32
    depth 4, bits_per_pixel 8, scanline_pad 32
    depth 8, bits_per_pixel 8, scanline_pad 32
    depth 15, bits_per_pixel 16, scanline_pad 32
    depth 16, bits_per_pixel 16, scanline_pad 32
    depth 24, bits_per_pixel 32, scanline_pad 32
    depth 32, bits_per_pixel 32, scanline_pad 32
keycode range:    minimum 8, maximum 255
focus:  window 0x1000007, revert to Parent
number of extensions:    28
    BIG-REQUESTS
    Composite
    DAMAGE
    DOUBLE-BUFFER
    DPMS
    DRI2
    GLX
    Generic Event Extension
    MIT-SCREEN-SAVER
    MIT-SHM
    Present
    RANDR
    RECORD
    RENDER
    SECURITY
    SGI-GLX
    SHAPE
    SYNC
    X-Resource
    XC-MISC
    XFIXES
    XFree86-DGA
    XFree86-VidModeExtension
    XINERAMA
    XInputExtension
    XKEYBOARD
    XTEST
    XVideo
default screen number:    0
number of screens:    1

screen #0:
  dimensions:    1920x987 pixels (508x261 millimeters)
  resolution:    96x96 dots per inch
  depths (7):    24, 1, 4, 8, 15, 16, 32
  root window id:    0x281
  depth of root window:    24 planes
  number of colormaps:    minimum 1, maximum 1
  default colormap:    0x20
  default number of colormap cells:    256
  preallocated pixels:    black 0, white 16777215
  options:    backing-store WHEN MAPPED, save-unders NO
  largest cursor:    64x64
  current input event mask:    0xda0003
    KeyPressMask             KeyReleaseMask           StructureNotifyMask
    SubstructureNotifyMask   SubstructureRedirectMask PropertyChangeMask
    ColormapChangeMask
  number of visuals:    240
  default visual id:  0x21
  visual:
    visual id:    0x21
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x22
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x193
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x194
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x195
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x196
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x197
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x198
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x199
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x19a
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x19b
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x19c
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x19d
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x19e
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x19f
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1a0
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1a1
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1a2
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1a3
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1a4
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1a5
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1a6
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1a7
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1a8
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1a9
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1aa
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ab
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ac
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ad
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ae
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1af
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1b0
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1b1
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1b2
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1b3
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1b4
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1b5
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1b6
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1b7
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1b8
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1b9
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ba
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1bb
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1bc
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1bd
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1be
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1bf
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1c0
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1c1
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1c2
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1c3
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1c4
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1c5
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1c6
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1c7
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1c8
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1c9
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ca
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1cb
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1cc
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1cd
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ce
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1cf
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1d0
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1d1
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1d2
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1d3
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1d4
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1d5
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1d6
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1d7
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1d8
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1d9
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1da
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1db
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1dc
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1dd
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1de
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1df
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1e0
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1e1
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1e2
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1e3
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1e4
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1e5
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1e6
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1e7
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1e8
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1e9
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ea
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1eb
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ec
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ed
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ee
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ef
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1f0
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1f1
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1f2
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1f3
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1f4
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1f5
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1f6
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1f7
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1f8
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1f9
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1fa
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1fb
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1fc
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1fd
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1fe
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x1ff
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x200
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x201
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x202
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x203
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x204
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x205
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x206
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x207
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x208
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x209
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x20a
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x20b
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x20c
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x20d
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x20e
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x20f
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x210
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x211
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x212
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x213
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x214
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x215
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x216
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x217
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x218
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x219
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x21a
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x21b
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x21c
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x21d
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x21e
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x21f
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x220
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x221
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x222
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x223
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x224
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x225
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x226
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x227
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x228
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x229
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x22a
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x22b
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x22c
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x22d
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x22e
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x22f
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x230
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x231
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x232
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x233
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x234
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x235
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x236
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x237
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x238
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x239
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x23a
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x23b
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x23c
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x23d
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x23e
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x23f
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x240
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x241
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x242
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x243
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x244
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x245
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x246
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x247
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x248
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x249
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x24a
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x24b
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x24c
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x24d
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x24e
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x24f
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x250
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x251
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x252
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x253
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x254
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x255
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x256
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x257
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x258
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x259
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x25a
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x25b
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x25c
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x25d
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x25e
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x25f
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x260
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x261
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x262
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x263
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x264
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x265
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x266
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x267
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x268
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x269
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x26a
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x26b
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x26c
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x26d
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x26e
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x26f
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x270
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x271
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x272
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x273
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x274
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x275
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x276
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x277
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x278
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x279
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x27a
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x27b
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x27c
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x27d
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x27e
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x27f
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x66
    class:    TrueColor
    depth:    32 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits

hope this helps :)

What about the other two questions? TIA!

Ah, I'm being slow, the screenshot means that yes, plenty space and no, hardcoding minimal size didn't have an effect either, correct?

Yep sorry I don't have my laptop right now but yeah that vm has a lot of space

And hardcoded patch applies (modulo mistakes from my side)

In the meantime I saw, that the problem with the font selection buttons sometimes was there and sometimes not. So I did some further investigations and could observe the following:

The problem occurs on my system only, when Poedit is started with a previously maximized main Poedit window.
When Poedit is started with a "not maximized" main window, then it depends on the main windows' size, if the problem occurs or not.
It seems that the size of the Preferences-General window (and the font selection button problem) is somehow related to the size of the main Poedit window.
Here are some examples of Poedit main window sizes (h x v), which work, and which not, on this system:

1280x550 OK
...
1280x581 OK
1280x582 not OK
1200x622 OK
1200x623 not OK
1100x682 OK
1100x683 not OK
1050x716 OK
1050x717 not OK
1051x716 OK
1052x716 not OK
The screen resolution on this system was 1280x800 for above tests, with a maximum possible window size for Poedit of 1280x736 (maximized window)
Remark: Poedit window sizes were set using e.g.:
xdotool search --onlyvisible --name Poedit windowsize 1280 581

When the size of the main window is e.g. 1280x582, which is not OK, then the Poedit window is maximized automatically during the start of Poedit. So, when Poedit is closed and started again, it is started maximized and the problem appears. In case of 1280x581 (OK), the window size stays as it is - no problem.
For main window sizes of Poedit, where the problem appears, the following is output to the command line, when opening the Preferences-General window:
(poedit:4210): Gtk-WARNING **: Negative content height -9 (allocation 1, extents 5x5) while allocating gadget (node button, owner GtkFontButton)
Example screenshots:

OK:

Preferences-General window size: 588x631
NOT OK:

Preferences-General window size: 588x594 (lower height, not enough space)

System:
Poedit version: 2.0.3
OS: Fedora 26 x86_64
wxGTK3 version: 3.0.3-5
GTK+ version: 3.22.19

It seems that the size of the Preferences-General window (and the font selection button problem) is somehow related to the size of the main Poedit window.

It isn't… only position is.

When the size of the main window is e.g. 1280x582, which is not OK, then the Poedit window is maximized automatically during the start of Poedit.

I'm not sure I understand, but if you're saying that the window gets maximized when it shouldn't, this could be the key. The size is nowhere near max usable area of your desktop, right?

An example, where the size is farer away from the max usable area of my desktop is:
1100x683 for the main window of Poedit.
When I close Poedit with this window size and start it again, then - yes - it gets maximized, when it shouldn't.

What I just found out, is that this "maximizing" is coming from the system. Just tested with firefox - same behavior.
xdotool search --onlyvisible --name Firefox windowsize 1100 683

So, the problem with font selection buttons of Poedit occurs here, when the Poedit main window has been maximized - Poedit closed - Poedit started again (maximized window)

Still can't reproduce :( Neither the bad sizes or maximized Poedit window cause it here.

In the meantime I could do further investigations on the system here.
The behavior as described on 2017-09-06, occurs only under specific circumstances concerning VirtualBox settings, where Fedora 26 is running in my case:
3D acceleration has to be enabled and the Guest Additions (GA) have to be installed.
The following combinations of settings have been tested:

3D enabled, GA installed: difference window/fullscreen
3D enabled, GA uninstalled: no difference window/fullscreen
3D disabled, GA uninstalled: no difference window/fullscreen
3D disabled, GA installed: no difference window/fullscreen

This is how it looks in the cases 2), 3), 4):

Case 1): see 2017-09-06 above
xdpyinfo:
1):
xdpyinfo_vbox_5.1.30_3D-enabled_GA-inst.txt
Same for 2), 3), 4):
xdpyinfo_vbox_5.1.30_3D-disabled_GA-inst.txt
So, there seems to be a relation to graphic "card"/driver somehow

System:
Poedit version: 2.0.4
OS: Fedora 26 x86_64
wxGTK3 version: 3.0.3-5
GTK+ version: 3.22.21-2
VirtualBox: VirtualBox-5.1.30-118389-Win.exe on Windows 7 64bit host


prot2pept eats the last letter!

Original issue by ghost on Tue Apr 01 2014 at 09:01.
Closed by an unknown user on Tue Apr 01 2014 at 10:09.

*first letter
Original comment by @bmesuere on Tue Apr 01 2014 at 09:11.


Snake tutorial

Overview
This moves the clock tutorials into their own folder without any modifications, and creates a new folder for the snake game.
Verification
See the readme under the snake subdirectory. I'm hoping those instructions are clear enough to get you started. To actually run the game, I like using the snakesim.launch file.
Use the RQT GUI that comes up in order to steer the snake. You can use shift + WASD, but I prefer to set the linear velocity up high, then use my mouse to swing the angular velocity left and right rapidly. That is sort of like the "bang-bang" controller Harrison mentioned.
If you die, you can reset by closing and restarting everything, or by calling the reset service. The command to do so is:
rosservice call /snake/reset "{}"
Improvement Ideas
I think my code style isn't very uniform with the PEP8 standard... We could either modify it to meet that standard or create our own.
We could potentially refactor the code into several files. I don't think that is required at the moment because I don't see this as needing to be super modular.
Dependencies
This breaks the solution branches for the clock tutorials. I think that was a bad implementation to begin with, so we need to fix that anyways.
Future Work

create sample solution
create rqt control panel that implements scoring display and easy reset button along with the steering controller
track time since reset?

Lots of work still needed on tutorial side of things. Following up from our previous discussion, this is supposed an introduction to ROS and initial setup of development environments.

@hmccarty @peytondwilliams @katyayego This is ready for another look. I refactored the code and made it follow closer to the PEP 8 standard. It also follows the ROS format more closely: http://www.artificialhumancompanions.com/structure-python-based-ros-package/

I added in my simple controllers since they were done. For people doing the tutorial, snakesim will mostly be a black box. In the future, it may be used as an example. The snake_tutorial package should be really clean though, because those three nodes are the ones they will need a walk through for. They should be really simple and show good programming and different styles

Docker files are here to get you guys up and running. You need to run docker-build.sh to build the docker image. This just passes in args to docker build. Then use docker-run.sh. Again, this just passes args into docker run. Once there, you'll want to:
cd ~/catkin_ws/
catkin build
source devel/setup.bash
roslaunch snake_tutorial snake.launch

To run all that, you need Docker and an X display set up. Getting an X display on WSL2 is kinda tricky, see this: https://stackoverflow.com/questions/61110603/how-to-set-up-working-x11-forwarding-on-wsl2


Linolcon Creek AD Initial Setup - Internalfyre

Added some field waypoints and more folder organization.

One quick change (I need to do it on Lukah's Island too)
The map link needs redone this way:
[Lincoln Creek by MRG Mapping](the actual link here)

Changed to specified formatting.

Just noticed you forgot to add yourself to the contributors section in the main readme. You'll want to do that too before I merge.

Added proper contrib formatting, changed further descriptions within readme.
Added more waypoints in autodrive file.

Need to put 2 spaces at the end of my entry in contributors to force a newline. Then you need to put your link in parens to make it work.

Corrected, hopefully.

99% of fields finished up. Opened for review.

Additional crash by driving wrong way on a one way:
https://imgur.com/kt1Q7d4
And the reason why doing one way routes even when there is no traffic (2 of my 3 tractors found each other head on):
https://imgur.com/a/aSFQmQC

Dirt road where my tractors had a head on, is actually wide enough for 2 lane traffic.

If all 3 points at Borden's are functional, then all 3 should be on the network.

Wet Distillers cannot be reached from Borden Dairy.

NHC Harvesting is not connected on both ends, requiring a weird and painful turn around on the route that one came in on.
https://imgur.com/undefined

Suggestion: In the settings, set detour capability to 100m


Long messages from Chrome will not be accepted.

the last fragments
process(16384): {too big to display}
....
process(16398): {too big to display}
matched frame: Framedata{ optcode:CONTINUOUS, fin:false, payloadlength:[pos:0, len:131072], payload:[13,....
process(16384): {too big to display}
......
process(14670): {too big to display}
matched frame: Framedata{ optcode:CONTINUOUS, fin:true, payloadlength:[pos:0, len:63814], payload:[35.....
class WebSocketImpl {
....
private void decodeFrames(ByteBuffer socketBuffer) {
....
try {
wsl.onWebsocketMessageFragment(this, f);
} catch (RuntimeException e) {
wsl.onWebsocketError(this, e);
}
-->
@Override
@Deprecated
public/final/ void onWebsocketMessageFragment(WebSocket conn, Framedata frame) {// onFragment should be overloaded instead
onFragment(conn, frame);
}
-->
public void onFragment(WebSocket conn, Framedata fragment) {
}

I can confirm the issue. Is there anything that can fix the issue?

@dflz @din, thank you for taking the time to report and confirm this issue. At this time, I do not know of a fix.
Have either of you made any progress towards a fix? Even a failing test case would be helpful at this stage. Would you be interested in finding and contributing the solution?

I solved this problem without using ws, and for my project this question is removed. but it is very desirable to find a solution. It may be necessary to address to developers chrome?

Could you please check if #570 is fixing this issue for you?
Greetings
marci4

This issue should be solved. If not feel free to open a new issue!
Greetings
marci4


Fix name clashes in generated projections caused when field names are concatenated together.

This PR fixes name clashes in the following scenario:
            type Query {
                user: User
            }

            type User {
                favoriteMovie: Movie
                favoriteMovieGenre: Genre
            }

            type Movie {
                genre: Genre
            }

            type Genre {
                name: String
            }

This would produce 2 classes with UserFavoriteMovieGenreProjection for

user => favoriteMovie with field genre => UserFavoriteMovieGenreProjection
user => favoriteMovieGenre return Genre => UserFavoriteMovieGenreProjection

With this PR, we add "_" between fields, so it becomes

User_FavoriteMovie_GenreProjection for (1)
User_FavoriteMovieGenreProjection for (2)

@berngp - the class names are not visible to the users (hence we have some freedom in the name scheme). The users only see the actual field names, so they won't care about the actual class names.


python312Packages.tencentcloud-sdk-python: 3.0.1172 -> 3.0.1173

Diff: https://github.com/TencentCloud/tencentcloud-sdk-python/compare/refs/tags/3.0.1172...3.0.1173
Changelog: https://github.com/TencentCloud/tencentcloud-sdk-python/blob/3.0.1173/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 321444 run on x86_64-linux 1

4 packages built:

python311Packages.tencentcloud-sdk-python
python311Packages.tencentcloud-sdk-python.dist
python312Packages.tencentcloud-sdk-python
python312Packages.tencentcloud-sdk-python.dist


Use job_start.sh, installed with execute perms

This is needed to avoid problems later with mobs. See #33.

Someday we might switch to MANIFEST.in, but this works for us today.


make communicate two guests on the same network

Hi, I'm unsuccessfully trying to make two/multiple guests defined within my vagrantfile to communicate among each other.
Is it possible? As far as I see netwroking is still in progress and a user type is sent by default. I'm wondering if I could use another solution to create a unique virtual network  the guests share

Currently, this plugin uses "user mode networking" for simplicity. I think there still be able to connect multiple guests together:

Use forward port: vm A forwards 80 to host:8080, vm B connects to host:8080 (for example, <IP_ADDRESS>:8080)
Use "Socket" networking to connect guests' network, see https://wiki.qemu.org/Documentation/Networking#Advanced_user_networking_options and https://lists.gnu.org/archive/html/qemu-discuss/2014-11/msg00020.html for details
Use manual created bridge, and bridge config for qemu, see https://futurewei-cloud.github.io/ARM-Datacenter/qemu/network-aarch64-qemu-guests/ as a example (just found by google)

The latter two methods require the use of extra_qemu_args to set up the new network config.
I haven't tested them (except the first one, I connected to ssh port of another vm),
feel free to report any problems.

I think we cannot use the socket option because a default user type is added by default.
for instance:
      config.vm.define "kubemaster" do |node|
        # Name shown in the GUI
        node.vm.provider "qemu" do |vb|
            vb.name = "kubemaster"
            vb.memory = 2048
            vb.cpus = 2
            vb.ssh_port = 5022
            vb.extra_netdev_args = "id=mynet0,net=<IP_ADDRESS>/24,dhcpstart=<IP_ADDRESS>,socket=on"

        end

produces this error:
Stderr: qemu-system-aarch64: -netdev user,id=net0,hostfwd=tcp::5022-:22,id=mynet0,net=<IP_ADDRESS>/24,dhcpstart=<IP_ADDRESS>,socket=on: Invalid parameter 'socket'

done it! Thanks for your support. the extra_qemu_args does help. I'm using Mac OS' Hypervisor with its own networking system.
            vb.extra_qemu_args = "-M accel=hvf -netdev user,id=mynet0,net=<IP_ADDRESS>/24,dhcpstart=<IP_ADDRESS> -netdev vmnet-shared,id=mynet1 -device virtio-net-pci,netdev=mynet1,mac=54:54:00:55:55:5#{i}".split


Support adding additional options for DB connections in persist module and tooling

Description:
Currently, we only support the basic DB configuration in both tooling and persist runtime configuration. We need to add support to configure additional options currently supported by the MySQL connector[1]. This task is to discuss and implement this support
[database]
host = "localhost"
port = 3307
user = "${foo.tool_test_db_push_1.clients.root}"
password = "${tool_test_db_push_1.clients.password}"
database = "${foo.tool_test_db_push_1.clients.database}"

https://github.com/ballerina-platform/module-ballerinax-mysql/blob/master/ballerina/client.bal#L146

We seem to have two ways in adding support for this feature.
Option 1: Allow the user to configure all options as defined in the relevant SQL connector
In ballerinax/mysql we have the following possible connection configurations
public type Options record {|
    SecureSocket ssl?;
    FailoverConfig failoverConfig?;
    boolean useXADatasource = false;
    decimal connectTimeout = 30;
    decimal socketTimeout = 0;
    string serverTimezone?;
    boolean noAccessToProcedureBodies = false;
|};

We can allow the user to set the values for each of these options through configurable variables in Config.toml
e.g.
[example.clients]
host = "localhost"
port = 3306
user = "root"
password = "Test123#"
database = "CONNECT_DB"
connectionOptions.connectTimeout = 50.0
connectionOptions.socketTimeout = 30.0

or
[example.clients]
host = "localhost"
port = 3306
user = "root"
password = "Test123#"
database = "CONNECT_DB"

[example.clients.connectionOptions]
connectTimeout = 50.0
socketTimeout = 30.0

With this option, we would directly pass these parameters when initializing the relevant DB client in the generated persist clients.
mysql:Client|sql:Error dbClient = new (host = host, user = user, password = password, database = database, port = port, options = connectionOptions);

Option 2: Have a pre-determined set of configurable connection options
We would define a possible set of connection options that are common to all Ballerina SQL connectors and provide support for them. These configurations would be independent of the type of database used.
The user would use the Config.toml file to configure these options.
e.g.
[example.clients]
host = "localhost"
port = 3306
user = "root"
password = "Test123#"
database = "CONNECT_DB"
connectionOptions.timeout = 50.0

or
[example.clients]
host = "localhost"
port = 3306
user = "root"
password = "Test123#"
database = "CONNECT_DB"

[example.clients.connectionOptions]
timeout = 50.0

With this option, we would have to parse the provided configurations and pass them onto the DB client on initialization.
e.g.
// Util function in Persist module
public function getMySQLConnectionOptions(decimal? timeout) returns mysql:Options {
    mysql:Options options = {};

    if timeout != () {
        options.connectTimeout = <decimal>connectionTimeout;
    }

    // Set other connection options as well

    return options;
}

// In generated persist client (example with MySQL)
mysql:Options connectionOptions = getMySQLConnectionOptions(timeout); // Other connections options must also be passed
mysql:Client|sql:Error dbClient = new (host = host, user = user, password = password, database = database, port = port, options = connectionOptions);

Evaluation

Pros
Cons

Option 1
Can add support for all connection configurations allowed in the Ballerina SQL connectors with minimal effort.Future proof.(if a new connection config is added in the sql connector, persist module will automatically support it.
Not all connection configurations are relevant for the persist module.(e.g. noAccessToProcedureBodies in MySQL)Different Ballerina SQL connectors use different terminology for the sameconfiguration.(e.g. connectTimeout in MySQL vs. loginTimeout in MSSQL)The user would have to refactor the configuration names in Config.toml were they to change databases.User would need to have an understanding of the underlying database and the configs associated with the relevant Ballerina SQL connector.(database layer would not be completely abstracted)

Option 2
User can migrate between different databases easily.(no need to rename the configs in Config.toml)
Support can only be added to a limited subset of connection configurations.(those supported by all the Ballerina SQL connectors) Not future proof.(If any new connection configs are added to the SQL connectors, the same would need to be added in Persist module)

Thanks for the detailed explanation @kaneeldias
I prefer Option 01 as we don't need to do extra mapping at persist layer and do not need to worry about new configurations added to each connector. Even in prisma[1], the DB Url format defers from DB to DB, following each database's standards.

https://www.prisma.io/docs/reference/database-reference/connection-urls

@sameerajayasoma @anupama-pathirage @niveathika and others WDYT?


Feature request: Add package.json for each application in the project

Easy-Ui5 version:

Run yo easy-ui5 --plugins to print all relevant version strings

generator-easy-ui5: 3.5.0

When I generate a project using generator-ui5-project, I get a file and folder structure like following
com.myorg.myUI5App
    ├── karma-ci.conf.js
    ├── karma.conf.js
    ├── node_modules
    ├── package-lock.json
    ├── package.json
    ├── readme.md
    ├── tsconfig.json
    └── uimodule
        ├── ui5-mock.yaml
        ├── ui5.yaml
        └── webapp

The actual UI5 application resides in uimodule, where the ui5.yaml config and webapp directory is. This project structure suggests, that there might be other apps in the same project. However, with multiple apps in the same project, the root package.json would be shared. This might lead to unwanted behavior as in some situations, different applications have different devDependencies, dependencies, or scripts. To overcome this inflexibility, I propose to slightly change the generated structure of projects to include a package.json for each application in the project. This would enable the flexibility we know from monorepos, common dependencies are hoisted to the root of the project, but we still have the flexibility to have dependencies per app.
We could also consider generating all apps into a new directory packages, which is commonly used for monorepos (but not necessarily required).
The resulting project structure could look like this

com.myorg.myUI5App
    ├── karma-ci.conf.js
    ├── karma.conf.js
    ├── node_modules (hoisted)
    ├── package-lock.json
    ├── package.json
    ├── readme.md
    ├── tsconfig.json
    └── packages
        ├── uimoduleA
        |   ├── node_modules (from ui module A)
        |   ├── package.json
        |   ├── ui5-mock.yaml
        |   ├── ui5.yaml
        |   └── webapp
        └── uimoduleB
            ├── node_modules (from ui module B)
            ├── package.json
            ├── ui5-mock.yaml
            ├── ui5.yaml
            └── webapp

As we from SAP Fiori tools organization receive requests to support monorepos, we could help in preparing the code for such a structure into  generator-ui5-project
@tobiasqueck @petermuessig @nicogeburek @lboehm @vobu what do you think?

From my perspective, it would help to better separate the apps from each other, so I am all in. If anything is required in the open-ux-tools, just let me know.

I generally like the idea. I do think we would need to touch code in quite a few different places, but I guess it's feasible. I know that @petermuessig also has an opinion on this as we talked about the whole uimodule-structure a while ago.

IMO, a mono-repo setup requires a package.json for each module. We should in general rework the structure. In case of including ui projects and backend project the dependencies are rather different and must not be mixed. Ideally the project also uses a mono repo tool such as yarn or better pnpm. We should follow-up on this after the summer holiday break. In general, we should think about streamlining the generators more in depth - at least the ones coming from the UI5 community.

With PR https://github.com/ui5-community/generator-ui5-project/pull/42 @tobiasqueck introduce support for SAP Fiori elements Flexible Programming Model (FPM) pages and also added question:
? Do you want the module to be visible in the SAP Fiori tools? (Y/n)

Could we work on a PR to apply the new monorepo structure in case this questions is answered with Yes, only. Like a frontrunner implementation, because we need this for SAP Fiori tools. If the new structure finds acceptance, we could also use it as default for other generated project.

I like the strategy, however, it might be technically a bit more complicated to do it this way because you need two implementations for multiple sub-generators (I assume).

I' ve prepared a sample mono repo that has two Fiori apps. One FPM enabled app, similar to the one generated in this script: https://github.com/tobiasqueck/ui5con2022, generated with yo (generator-ui5-project) and one Fiori elements List Report Object Page v4 app, generated with @sap/generator-fiori. While generating both apps I've choosen all available linting and JavaScript helper options.
Here is the repo: https://github.com/Klaus-Keller/fiori-monorepo
What I've done so far can be seen in the commit history (bottom to top). Of course, looking at the details there are some open questions about what to move to the root and what should be kept on app level, but in general I think this sample could serve as a basis for discussion. We could add more and different apps to it to see how they related.

Do we want to limit it to pnpm or should the generator offer to generate for yarn, pnpm or npm@7+?
Where would you put the btp deployment script e.g. mta.yaml etc.; would this be another (private) module in packages?

Hi @tobiasqueck,

Do we want to limit it to pnpm or should the generator offer to generate for yarn, pnpm or npm@7+?

I'd start with pnpm and if there is a community demand for other package managers, it should be a rather simple contribution to add support for other package managers.

Where would you put the btp deployment script e.g. mta.yaml etc.; would this be another (private) module in packages?

Good question and this is exactly the kind of discussion I like to have. I guess this depends on your scenario, if you have modules that are all deployed together it might be on root level, if you selectively deploy certain packages you might want to go with a private module in packages.
Other things, especially devDependencies, that we need to discuss include:

linting rules; I assume in most cases you want to have one ruleset for all apps in your monorepo
UI5 version specific modules; like @sap/ux-specification or @sapui5/ts-types. If all modules in your monorepo are deployed to the same target, they might share the same UI5 version. Otherwise, if apps need different versions of UI5 specific modules, they can't be defined on root level devDependencies.
tooling support; modules like @ui5/cli or @sap/ux-ui5-tooling are good candidates to consolidate to root.
testing; also highly dependent on the actual scenario, I'd propose to keep it on app level, open for discussion.

The monorepo approach has been implemented and merged with PR https://github.com/ui5-community/generator-ui5-project/pull/75


Give up system resources upon panic

Tap and bridges should be freed if the orchestrator explicitly panics.

use the scripts for cleaning the host resources explicitly.