text:
Repeated actual termination causes XIO error on some systems

I'm trying to detect when a user attaches a second monitor but it's crashing.
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
after 98 requests (98 known processed) with 0 events remaining.
I'm on archlinux running nvidia drivers if it matters.
#include <GLFW/glfw3.h>
#include <unistd.h>

int main()
{
        glfwInit();
        int count;
        GLFWmonitor** monitors = glfwGetMonitors(&count);
        glfwTerminate();

        while (count < 2)
        {
                glfwInit();
                monitors = glfwGetMonitors(&count);
                glfwTerminate();
                usleep(1000);
        }
}

Even simpler:
#include <GLFW/glfw3.h>

int main()
{
        glfwInit();
        glfwTerminate();
        glfwInit();
        glfwTerminate();

}

same results

A call stack would be very helpful. Trap abort and exit. The Xlib default error handler calls one or the other.

A call stack from another user led into XCloseDisplay.

What window manager are you using? What is the version of your X server? What distribution are you using? What is the output of xdpyinfo on your machine?

xfce4
name of display:    :0.0
version number:    11.0
vendor string:    The X.Org Foundation
vendor release number:    11604000
X.Org version: 1.16.4
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 0x40001b7, revert to Parent
number of extensions:    31
BIG-REQUESTS
Composite
DAMAGE
DOUBLE-BUFFER
DPMS
DRI2
DRI3
GLX
Generic Event Extension
MIT-SCREEN-SAVER
MIT-SHM
NV-CONTROL
NV-GLX
Present
RANDR
RECORD
RENDER
SECURITY
SHAPE
SYNC
X-Resource
XC-MISC
XFIXES
XFree86-DGA
XFree86-VidModeExtension
XINERAMA
XINERAMA
XInputExtension
XKEYBOARD
XTEST
XVideo
default screen number:    0
number of screens:    1
screen #0:
dimensions:    5760x1080 pixels (1557x292 millimeters)
resolution:    94x94 dots per inch
depths (7):    24, 1, 4, 8, 15, 16, 32
root window id:    0x2aa
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:    256x256
current input event mask:    0xfac03f
KeyPressMask             KeyReleaseMask           ButtonPressMask
ButtonReleaseMask        EnterWindowMask          LeaveWindowMask
KeymapStateMask          ExposureMask             StructureNotifyMask
SubstructureNotifyMask   SubstructureRedirectMask FocusChangeMask
PropertyChangeMask       ColormapChangeMask
number of visuals:    228
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:    0x24
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:    0x25
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:    0x26
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:    0x27
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:    0x28
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:    0x29
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:    0x2a
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:    0x2b
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:    0x2c
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:    0x2d
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:    0x2e
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:    0x2f
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:    0x30
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:    0x31
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:    0x32
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:    0x33
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:    0x34
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:    0x35
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:    0x36
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:    0x37
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:    0x38
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:    0x39
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:    0x3a
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:    0x3b
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:    0x3c
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:    0x3d
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:    0x3e
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:    0x3f
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:    0x40
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:    0x41
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:    0x42
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:    0x43
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:    0x44
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:    0x45
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:    0x46
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:    0x47
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:    0x48
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:    0x49
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:    0x4a
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:    0x4b
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:    0x4c
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:    0x4d
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:    0x4e
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:    0x4f
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:    0x50
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:    0x51
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:    0x52
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:    0x53
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:    0x54
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:    0x55
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:    0x56
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:    0x57
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:    0x58
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:    0x59
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:    0x5a
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:    0x5b
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:    0x5c
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:    0x5d
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:    0x5e
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:    0x5f
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:    0x60
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:    0x61
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:    0x62
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:    0x63
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:    0x64
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:    0x65
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:    0x66
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:    0x67
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:    0x68
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:    0x69
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:    0x6a
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:    0x6b
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:    0x6c
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:    0x6d
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:    0x6e
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:    0x6f
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:    0x70
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:    0x71
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:    0x72
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:    0x73
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:    0x74
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:    0x75
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:    0x76
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:    0x77
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:    0x78
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:    0x79
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:    0x7a
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:    0x7b
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:    0x7c
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:    0x7d
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:    0x7e
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:    0x7f
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:    0x80
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:    0x81
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:    0x82
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:    0x83
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:    0x84
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:    0x85
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:    0x86
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:    0x87
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:    0x88
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:    0x89
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:    0x8a
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:    0x8b
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:    0x8c
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:    0x8d
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:    0x8e
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:    0x8f
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:    0x90
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:    0x91
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:    0x92
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:    0x93
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:    0x94
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:    0x95
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:    0x96
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:    0x97
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:    0x98
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:    0x99
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:    0x9a
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:    0x9b
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:    0x9c
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:    0x9d
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:    0x9e
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:    0x9f
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:    0xa0
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:    0xa1
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:    0xa2
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:    0xa3
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:    0xa4
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:    0xa5
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:    0xa6
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:    0xa7
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:    0xa8
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:    0xa9
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:    0xaa
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:    0xab
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:    0xac
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:    0xad
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:    0xae
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:    0xaf
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:    0xb0
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:    0xb1
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:    0xb2
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:    0xb3
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:    0xb4
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:    0xb5
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:    0xb6
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:    0xb7
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:    0xb8
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:    0xb9
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:    0x23
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
visual:
visual id:    0xba
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
visual:
visual id:    0xbb
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
visual:
visual id:    0xbc
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
visual:
visual id:    0xbd
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
visual:
visual id:    0xbe
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
visual:
visual id:    0xbf
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
visual:
visual id:    0xc0
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
visual:
visual id:    0xc1
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
visual:
visual id:    0xc2
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
visual:
visual id:    0xc3
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
visual:
visual id:    0xc4
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
visual:
visual id:    0xc5
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
visual:
visual id:    0xc6
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
visual:
visual id:    0xc7
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
visual:
visual id:    0xc8
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
visual:
visual id:    0xc9
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
visual:
visual id:    0xca
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
visual:
visual id:    0xcb
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
visual:
visual id:    0xcc
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
visual:
visual id:    0xcd
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
visual:
visual id:    0xce
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
visual:
visual id:    0xcf
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
visual:
visual id:    0xd0
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
visual:
visual id:    0xd1
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
visual:
visual id:    0xd2
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
visual:
visual id:    0xd3
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
visual:
visual id:    0xd4
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
visual:
visual id:    0xd5
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
visual:
visual id:    0xd6
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
visual:
visual id:    0xd7
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
visual:
visual id:    0xd8
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
visual:
visual id:    0xd9
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
visual:
visual id:    0xda
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
visual:
visual id:    0xdb
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
visual:
visual id:    0xdc
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
visual:
visual id:    0xdd
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
visual:
visual id:    0xde
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
visual:
visual id:    0xdf
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
visual:
visual id:    0xe0
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
visual:
visual id:    0xe1
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
visual:
visual id:    0xe2
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
visual:
visual id:    0xe3
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
visual:
visual id:    0xe4
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
visual:
visual id:    0xe5
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
visual:
visual id:    0xe6
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
visual:
visual id:    0xe7
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
visual:
visual id:    0xe8
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
visual:
visual id:    0xe9
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
visual:
visual id:    0xea
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
visual:
visual id:    0xeb
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
visual:
visual id:    0xec
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
visual:
visual id:    0xed
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
visual:
visual id:    0xee
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
visual:
visual id:    0xef
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
visual:
visual id:    0xf0
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
visual:
visual id:    0xf1
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
visual:
visual id:    0xf2
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
visual:
visual id:    0xf3
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
visual:
visual id:    0xf4
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
visual:
visual id:    0xf5
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
visual:
visual id:    0xf6
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
visual:
visual id:    0xf7
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
visual:
visual id:    0xf8
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
visual:
visual id:    0xf9
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
visual:
visual id:    0xfa
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
visual:
visual id:    0xfb
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
visual:
visual id:    0xfc
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
visual:
visual id:    0xfd
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
visual:
visual id:    0xfe
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
visual:
visual id:    0xff
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
visual:
visual id:    0x100
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
visual:
visual id:    0x101
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
visual:
visual id:    0x102
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
visual:
visual id:    0x103
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
visual:
visual id:    0x104
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

Unable to reproduce. I can do nothing further without at least a call stack.

Can anyone still reproduce this issue using the 3.3 release?

authors: elmindreda fundies tombsar

repo: glfw/glfw

license: Zlib


text:
Draft: Add IME support for each platform

This is a fix to the matter we discussed earlier in the issue: #2097.
This fix is based on @shibukawa's  #658 PR.
In that PR, there were some problems with each platform.
This PR fixed its major problems and now works mostly correctly on each platform.
(Minor fixes still need to be made, but we will continue to do so.)
The new APIs are the same as this PR and they are as follows.

About preedit

glfwSetPreeditCallback: callback to notify the preedit text
glfwSetPreeditCursorPos: set the candidate window position
glfwGetPreeditCursorPos: get the candidate window position
glfwResetPreeditText: reset the preedit text

About IME status

glfwSetIMEStatusCallback: callback to notify the change of ON/OFF of the IME
glfwSetInputMode: switch ON/OFF of the IME by using new mode GLFW_IME
glfwGetInputMode: get ON/OFF of the IME by using new mode GLFW_IME

Supported platforms: Win32, macOS, X11
(We need to consider supporting Wayland, but we would like to support these first.)
You can confirm the behavior by tests/input_text.
tests/input_text on X11:

Win32

Use Imm32 (dynamic load)
All APIs work fine on Windows10

macOS

All APIs work fine on M1 Monterey 12.3.1.

X11

Environment: Ubuntu 20.04 LTS, X11, ibus
Adopted over-the-spot style by default because on-the-spot style of XIM doesn't work well.

You can change the style to on-the-spot by glfwInitHint(GLFW_X11_ONTHESPOT, GLFW_TRUE).

Over-the-spot style

Only glfwSetPreeditCursorPos and glfwGetPreeditCursorPos work and other APIs don't work.
This is OK for this style because the input method side manages the preedit, so the application side doesn't need to manage it except for the candidate window position.

On-the-spot style

glfwSetPreeditCursorPos and glfwGetPreeditCursorPos don't work, so we can't manage the candidate window position.
All APIs of IME status doesn't work too.

Remaining issues

X11: Some keys (arrow, Enter, BackSpace, ...) are passed to applications during preediting
Block-sizes of preedit-callback don't take into account the UTF-32 encoding
The candidate window doesn't display correctly with fullscreen mode

@ashie 's comment on #2097 about TSF support.
original:  https://github.com/glfw/glfw/issues/2097#issuecomment-1134159799

Windows: TSF support
In addition to Imm32, we need to consider supporting TSF (Text Service Framework).
A comment on the original PR pointed out that the TSF needs to be supported instead of Imm32.
However, Imm32 seems to work well for now, so it may be enough to support only Imm32 at first?
Can we think of a direction to have this merged into upstream without TSF support, and then consider TSF later if necessary?

I'm working on this task with @daipom
TSF is nice to have, but we decided that we won't include it in our first pull request. Here is the reason:

Windows have a compatible layer "CUAS" (Cicero Unaware Application Support: TSF is formerly known as Cinero) that converts TSF <-> Imm32, so that we can use TSF input methods from Imm32 applications.

CUAS is enabled by default on Windows Vista or later.
Although older CUAS was buggy (at least on Windows XP), recent version of CUAS seems stable enough.

Although Windows 8's Metro style didn't allow Imm32 and CUAS, Windows 10's tablet mode seems supporting it. We confirmed the actual behavior.

Although UWP applications can't use Imm32, It's not concerned with GLFW becuase GLFW is a library which depends on Win32.

We confirmed actual behavior with various input methods of Windows 10, and most of them works fine with Imm32 application.

Microsoft IME (Japanese)
ATOK Passport (Japanese)
Google Japanese Input
Microsoft Pinyin (Simplified Chinese)
Microsoft Bopomofo (Traditional Chinese)
Chinese Traditional Array (Traditional Chinese)

We don't use TSF specific features yet.

Since TSF requires COM (Component Object Model), we can't build it by MinGW.

Even when we use Visual Studio, we have to greatly change the project configuration.

We think the comment Imm32 is problematic on Window10 as Microsoft has dropped support of it. is incorrect as mentioned above.
refs:

https://bugs.chromium.org/p/chromium/issues/detail?id=225189#c1

https://nyaruru.hatenablog.com/entry/20070308/p1 (Written in Japanese)

https://nyaruru.hatenablog.com/entry/20070309/p1 (Written in Japanese)

https://game.watch.impress.co.jp/docs/20070927/wv.htm (Written in Japanese)

https://ascii.jp/elem/000/000/757/757721/2/ (Written in Japanese)

@ashie 's comment on #2097 about Wayland support.
original:  https://github.com/glfw/glfw/issues/2097#issuecomment-1134355093

GNU/Linux: Wayland support
In addition to XIM, we need to consider supporting Wayland.
There is an idea supporting Fcitx directly in a comment on the original PR. However, we are not considering this direction because over-the-spot style seems to work well on XIM and we can support Wayland if needed.
What we would like to discuss is whether there is any possibility to go in the direction of only supporting XIM at first?

Wayland support is a bit complicated but we think we need to support it. Because recent major distributions are migrating from X11 to Wayland, and Wayland doesn't have global positioning protocol or API, so that it's always needed to support Wayland's text input protocol to show candidate window in correct position. Supporting Fcitx or IBus directly doesn't resolve this issue.
An complicated issue of Wayland is that there are some protocols and each of them are incompatible:

text-input-v1

text-input-v3

gtk-text-input

I'm not sure but it seems that gtk-text-input doesn't seem used in recent days (It's not included in GTK4, probably dropped). To support 2 major desktop environment "GNOME" and "KDE" on GNU/Linux, probably supporting text-input-v3 is enough. But another major window system "Weston" is also used widely on embedded systems and it supports only text-input-v1. So we may need to support both text-input-v1 and text-input-v3.
We have experience to implement them (e.g. https://github.com/ashie/gtk-wayland-textinputv1) so that we can implement it in GLFW as well, but not yet start to work on it.

Remaining issues

X11: Some keys (arrow, Enter, BackSpace, ...) are passed to applications during preediting

This is caused by _glfwInputKey being called even if the result of XFilterEvent is True.

https://github.com/clear-code/glfw/blob/5d7a89e5690600e4bb88f06c5721a18f01fea131/src/x11_window.c#L1325
https://github.com/clear-code/glfw/blob/5d7a89e5690600e4bb88f06c5721a18f01fea131/src/x11_window.c#L1437

I confirmed that inserting the following codes before the _glfwInputKey solved this issue.
if (filtered)
    return;

Could you please teach me why _glfwInputKey is called even if the result of XFilterEvent is True?
There seems to be a reason for this and I am wondering how to solve it.

Remaining issues
* The candidate window doesn't display correctly with fullscreen mode

About the fullscreen issue on X11:
Changing NET_WM_BYPASS_COMPOSITOR value to 2 from 1 solves this issue on X11.

NET_WM_BYPASS_COMPOSITOR: https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html#idm45446104333040

diff --git a/src/x11_window.c b/src/x11_window.c
index 5eec344f..c2214509 100644
--- a/src/x11_window.c
+++ b/src/x11_window.c
@@ -362,7 +362,7 @@ static void updateWindowMode(_GLFWwindow* window)
         // Enable compositor bypass
         if (!window->x11.transparent)
         {
-            const unsigned long value = 1;
+            const unsigned long value = 2;

             XChangeProperty(_glfw.x11.display,  window->x11.handle,
                             _glfw.x11.NET_WM_BYPASS_COMPOSITOR, XA_CARDINAL, 32,

This change may slightly worsen rendering performance.
Instead of always changing it to 2, should I make it possible to specify the value by Hint or something?

Remaining issues
* The candidate window doesn't display correctly with fullscreen mode

About the fullscreen issue on Windows and macOS:
It seems to be caused by the way creating a window on these platforms.
Windows
On Windows, the IME display flashes the screen,
similar to the problem of transparency not working with fullscreen mode.
Weirdly, these problems occur when the window size exactly matches the screen size.
We can solve this problem by making the window height or width 1 larger than the screen size,
at the same time enabling transparency to work with fullscreen mode.
If you can tolerate this weird solution,
we can solve it by adding a new hint to make the window height or width 1 larger than the screen size.
(Maybe windows-only glfwWindowHint such as GLFW_WIN32_FULLSCREEN_IME)
macOS
On macOS, the candidate window can't be displayed on fullscreen.
However, if we make it fullscreen by pressing the green button on the window, it works fine.
if we want IME input on fullscreen, we can use the green button to make it fullscreen instead of the GLFW function.

Remaining issues
* X11: Some keys (arrow, Enter, BackSpace, ...) are passed to applications during preediting

* Block-sizes of preedit-callback don't take into account the UTF-32 encoding

* The candidate window doesn't display correctly with fullscreen mode

In addition, we need to add a way to get caret position of preedit string.

In addition, we need to add a way to get caret position of preedit string.

I added this at https://github.com/glfw/glfw/pull/2117/commits/0ba4b3655707cce780e47679798f9e4d7023cc1a.

Wayland IME is a bit of a mess.  Besides text-input-v1 and text-input-v3, there's also unstable input-method-v2, used by wlroots (which is pretty much everything not Weston, KDE or GNOME)
https://github.com/fcitx/fcitx5/issues/206  fcitx5 has some more details, and a blog post https://www.csslayer.info/wordpress/fcitx-dev/chrome-state-of-input-method-on-wayland/ has some good info as well (in Chinese).

AFAIK input-method-v2 is a protocol for input methods, not affected to applications.

Since I re-created this PR as #2130, I close this.

source: gharchive/pull-request

authors: ashie daipom ronchaine

license_type: permissive

license_source: github-api


text:
PR #88 appears to have broken something in master

I noticed that after pulling master the HTTP adapter I am working on wasn't forwarding messages anymore. Thought this might be an issue on my end but couldn't figure it out. Finally, I tried with stock Logspout against Papertrail, and also, no logs appear in my account.
To reproduce locally, you can open a local TCP listener with Netcat in one terminal:
$ netcat -l 0.0.0.0 2115

Then cd to wherever you have the Logspout source code, master branch, latest (d428516f0ad80c8287ddfede5b60557344e888ae), and start Logspout:
$ DEBUG=1 ROUTE=syslog+tcp://$HOSTIP:2115 make dev

$HOSTIP is the IP of my host.
Then create some messages in a container in yet another window - I use this:
$ docker run --rm --name test ubuntu bash -c 'NEW_UUID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1); for i in `seq 1 67`; do echo $NEW_UUID Hello $i; sleep .5; done'

I am expecting to see the test messages show up in the window running Netcat, but they don't.
However, if I roll master back to before #88 and then run Logspout again:
$ git checkout 415c0f15c790ad21515f41abe8f79a1acddadc3a
$ DEBUG=1 ROUTE=syslog+tcp://$HOSTIP:2115 make dev

And if I then run the message-generating container again, I see the messages I expect in the Netcat window.
When I try to same with Papertrail, things start showing up there too.
I really don't want to start a wild goose chase, but is anybody else able to reproduce this? I looked the commits in @josharian PR and rolled forward one by one, and at least for me, commit 07555c5b0bef734f45b320db262f9f3cf1626295 appears to be the culprit. Up to that point in the history of master, I get messages in the Netcat window, and as soon as I apply that commit, I suddenly don't anymore.
Looking at 07555c5b0bef734f45b320db262f9f3cf1626295 it is not at all clear to me why this is an issue. But when I change this back to wrap the call to log.Fatalf in a func() everything works again. Looking at https://golang.org/ref/spec#Go_statements this change should have been safe...

Yeah I would have thought it to be safe, but damn, good catch.

Oops. My apologies. It's a question of when the function arguments are evaluated.

No worries. Thanks for the quick merge. I ran my test stuff and it is all working now! Closing.

source: gharchive/issue

authors: josharian progrium raychaser

repo: gliderlabs/logspout

license: mit

license_source: bigquery


text:
--recursive Flags

Hi, does --recursive Flags hasn't fully implemented yet?
Given this commands gdrive files download <FILE_ID> and replace <FILE_ID> with directory ID instead gives me an error:
Error: 'Folder X' is a directory, use --recursive to download directories

I've tried with --recursive
gdrive files download --recursive <DIR ID>

it gives me another error:
error: Found argument '--recursive' which wasn't expected, or isn't valid in this context

  If you tried to supply '--recursive' as a value rather than a flag, use '-- --recursive'

Usage: gdrive files download [OPTIONS] <FILE_ID>

For more information try '--help'

Yeah, not implemented yet.

This is now implemented in v3.3.0

authors: meowndor prasmussen

repo: glotlabs/gdrive

license: MIT


text:
Trouble using importMapper

Hi,
I am trying to migrate from using Rails/webpacker to Rails/jsbundling/esbuild, and I have this particular issue with importMapper.
In our current tsconfig.json, we have path configured like the following.
{
  "compilerOptions": {
    .....
    "paths": {
      "DesignSystem/*": ["app/javascript/design_system/*"],
      "Shared/*": ["app/javascript/shared/*"],
    },
    .....
  },

And in various scss files, we import them by stating and it works fine.
@import 'DesignSystem/colors/_colors.scss';

Now with esbuild and esbuild-sass-plugin, I have the following in esbuild.config.js,
const path = require('path')
const sassPlugin = require("esbuild-sass-plugin").default;

require("esbuild").build({
  ....
  tsconfig: path.join(process.cwd(), "tsconfig.json"),
  outdir: path.join(process.cwd(), "app/assets/builds"),
  absWorkingDir: path.join(process.cwd(), "app/javascript"),
  watch: process.argv.includes("--watch"),
  plugins: [
    sassPlugin({
      loadPaths: [
        "app/javascript/design_system/",
        "app/javascript/shared/"
      ],
      importMapper: (path) => {
        let transformed = path
        if (path.match(/^DesignSystem\//)) {
          transformed = path.replace(/^DesignSystem\//, 'app/javascript/design_system/');
        } else if (path.match(/^Shared\//)) {
          transformed = path.replace(/^Shared\//, './app/javascript/shared/');
        };

        console.log(`Received ${path} --> converting to ${transformed}`);
        return transformed
      },
    })
  ],
  define: {
    "global": "window"
  },
  loader: {
    ".js": "jsx",
    ".locale.json": "file",
    ".json": "json",
    ".png": "file",
    ".jpeg": "file",
    ".jpg": "file",
    ".svg": "file",
  }
}).catch(() => process.exit(1))

But, when I run yarn build, I still get the Can't find stylesheet to import error.
✘ [ERROR] [plugin sass-plugin] Can't find stylesheet to import.
  ╷
1 │ @import 'DesignSystem/colors/_colors.scss';
  │         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  ╵

But I do see the console log:
Received DesignSystem/colors/_colors.scss --> converting to app/javascript/design_system/colors/_colors.scss

I feel like there is something obvious I am missing here. If you please point the obvious (or not so obvious) mistake(s), I would really appreciate it.
Thank you in advance!

Answering my own question, using path.resolve(__dirname, "") worked for me.
      importMapper: (path) => {
        let transformed = path
        if (path.match(/^DesignSystem\//)) {
          transformed = path.replace(/^DesignSystem\//, path.resolve(__dirname, "") + '/app/javascript/design_system/');
        } else if (path.match(/^Shared\//)) {
          transformed = path.replace(/^Shared\//, path.resolve(__dirname, "") + '/app/javascript/shared/');
        };

        console.log(`Received ${path} --> converting to ${transformed}`);
        return transformed
      },

sorry for the late reply... what you did works. The path resolution would be done by the plugin for you because the importMapper is called before... the catch was that by starting your replaced path with app/ that wasn't
a correct relative import and so it wasn't resolved.
I see that you would have an harder life relying on the plugin resolution because it's relative to the importing file
so your solution seems to me to be the ideal one
The ifs are useless though... just invoke both replace...they don't do anything when they don't match and the complexity
is the same... also calculate path.resolve(__dirname, 'app/javascript/shared/') once and store it outside of the loop

authors: glromeo yangtheman

repo: glromeo/esbuild-sass-plugin


text:
pod的时候出现错误,并且pod里面也没有明细

添加两个控制器的时候,向上滑动和下拉都不正确

有的时候上滑和下拉需要3次,才能到达需要的地方(不论导航栏是否隐藏都会出现这个现象)

repo: gltwy/LTScrollView


text:
test: Try enabling skeptic again

Skeptic has been updated a bit (as have rustc) so lets see if we can run skeptic tests again

Still broken :(

repo: gluon-lang/gluon


text:
Claim creation screen

Date created

Expiration date
Issuer (Avatar, Name, Address)
Subject (Avatar, Name, Address)
Claim data: x = y ( "Skill" = "Android Developer")

authors: simonas-notcat ziggy-notcat

repo: gluon-project/gluon-design


text:
新功能需求

定时回收容器的机制, 即设定每道题的答题时间范围
增加题目是否可以复用的属性, 若否, 则该题每次创建时, 为每个用户启用单独的容器实例
2.1 针对非复用容器, 希望能控制容器实例个数, 当到达限制, 前端提示进入排队等候
用户分离
3.1 WEB可以通过hash的子域名+Nginx host绑定实现每个用户单独的域名访问
3.2 针对nc连接类型的题目,能做tcp层的认证, 即有前置的服务器A, nc连接到A, 输入口令后, A会透明代理到口令对应的题目.(目前golang已实现)
(3.3 下发vgrant 虚拟题目, 前端返回VPN接入口令)
底层Paas四个组件模块:

上面,仅为我的想法,Thanks!

感谢您的建议哈~
1、之后可能会有。在题目里加个字段。
2、同上，目前的建议是手工管理，和以前的普通题目一样上题。我自己的平台为了统一就没考虑这些了。
3、目前的功效和你提到的3.1相同。3.2 的话，可以做，但直接映射映射出来能满足需求我也没多大动力改了。vgrant 之类的全虚拟化实例，可能以后会有吧。

了解.
推荐一下资源, 看能不能用上:

https://captainduckduck.com/ == 组件Nginx+docker
前置的golang认证相关代码(把log后缀改成rar解压):
tcpproxy.log

个人觉得Issue主的建议是后续整个（大）CTF平台（自动）容器化的一种思路～
但是在当下，我觉得配合frps和swarm已经能与某些商业化ctf平台媲美，这对和owner一样维（重复）护（劳动）着自己平台的人来说，已经能减清自己很多负担。
后续，我也会把前些时间研究的一个基于docker-compose的plugin和适配awd的plugin开源，希望后面能跟owner交流交流～

@0akarma 欢迎欢迎~我的 QQ: 3054879403

请问一下docker-compose后期会支持吗.
如果只是填写image字段,有些启动的命令没法传入

@djerrystyle 并不会支持，docker-compose 只是调用了 docker 的api，其自身并没有提供对外的api。
如要在镜像启动时传入环境变量等参数，建议自己写个 Dockerfile 继承实现。
如要组内网，可参考更新说明，写一个 json 在镜像那即可启动多个容器并自动组成内网。

此分支已不再维护，如需继续使用请参考 https://github.com/frankli0324/ctfd-whale 。

authors: 0akarma djerrystyle djerryz glzjin

repo: glzjin/CTFd-Whale


text:
Issue #136. Added collectionView on viewProps for a collection's itemViews.

It looks like someone just forgot to add collectionView to the viewProps array so an itemView can access its parent view.

true !


text:
Enable slave mounts by default

I haven't seen any issues when utilizing mounts, I'm not aware of any security concerns, and it does allow autofs to work by default.
Let's toggle the default configuration value.

I literally just had someone ask me about this.... Does slave enable an automount from within the container? BTW, I am accepting this. Thanks!

authors: bbockelm gmkurtzer

repo: gmkurtzer/singularity


text:
Marked next

Blocked due to unicode escapes

What is the status on this one?

repo: gmsgowtham/react-native-marked


text:
Consider settlement with recent orders if they are part of "mature" settlements

Fixes #1310
See linked issue to read the motivation.
Implementation:
We get a Vec<Settlement> and iterate over it. If a settlement includes a mature order (older than passed time) or a recent order which has been considered valid at one point, all orders within the current settlement (including recent orders) are considered valid and we look at the next settlement.
We keep looping over all settlements until we reach a point where no new orders have been added to the valid set. Now we know all of the valid orders.
Because this can get computationally expensive for many settlements with many orders, validated settlements get stored in a HashSet in order to quickly determine on each iteration whether we can skip looking at the current settlement.
Test Plan
Added unit test for 3 scenarios:

No settlement includes any "mature" orders => No settlements should be considered
2 disjoint settlements (one including mature order, one including no mature orders) => only the settlement with the mature order is considered
Multiple settlements (1 including mature order) arranged like a linked list => Because 1 settlement includes mature order the other settlements "linked" to it are also considered valid

On second thought the operations we can skip because we have the settlements HashSet are very cheap. So having this set is maybe not worth the additional code complexity. Feedback is welcome.


text:
Transactions history is empty after manual refresh

Description
Transactions history is empty after manual refresh
Environment

Browser: Chrome
Wallet: MetaMask
Safe: any
Environment:

production (any network )

Steps to reproduce

Go to history list on any network
refresh the page manually
Current result: the list is empty

https://user-images.githubusercontent.com/338622/144252991-c65125c6-a4a8-48d2-9a2f-5bbf1744391d.mov
Expected result
the list should be refreshed and all transactions from history should be displayed
Workaround
Switch network in the app and come back to the safe history list

@liliya-soroka fixed in #3087

authors: katspaugh liliya-soroka

repo: gnosis/safe-react


text:
Fix the input error message in contract interaction (#2253)

Fixes #2253
The validator function was assuming that all address inputs can accept domain names. I've split it into two validators:

mustBeAddressHash – says only "Must be a valid address"
mustBeEthereumAddress – behaves like the old one and uses the above fn

The contract interaction now uses mustBeAddressHash for address input params.

Safe and env:
https://pr2297--safereact.review.gnosisdev.com/mainnet/app/#/safes/0x8675B754342754A30A2AeF474D114d8460bca19b/balances
I used the mainnet build so I could check with the ENS name provided "alice.eth" that seems to work only on mainnet
Tested the same scenario provided. Now the inputs for addresses in the methods ONLY allow for hash and not ENS names
Check the error message to be "Must be a valid address" as described
ENS names still work fine for the other inputs (Contract interaction for example) just in case
Looks good to me

authors: francovenica katspaugh


text:
style: redesign TxList

What it solves
Resolves https://github.com/gnosis/safe-react/issues/3067
How this PR fixes it
Implements improvements to the TxList details modals
How to test it
By interacting with the TxList, the designs should map to https://www.figma.com/file/47wkjxMZkyEeCRbCrLJBJa/safe%232995-Tx-details?node-id=2%3A27
Screenshots

[ ] Actions are displayed at the top of details screen instead of bottom as on the design ( remember that sometimes the tx may have 29-40 actions ) - safe = rin:0x1230B3d59858296A31053C1b8562Ecf89A2f888b rinkeby tx nonce =856

[ ] Address parameters in action details don't have prefix ( safe = rin:0x1230B3d59858296A31053C1b8562Ecf89A2f888b rinkeby tx nonce =856 )

[ ] Signatures are combine in one record instead of displaying each signature  - it's returned as an individual signature by back-end

A few visusal comments:

The amount/hash are not aligned correctly on some transactions.

It is not always possible to open 'Advanced Details'.

Unexpected delegate warnings are not uniformly designed, visible here.

Multisend interactions are not clearly positions: (the above link can be used as reference)

A few visusal comments:

The amount/hash are not aligned correctly on some transactions.

It is not always possible to open 'Advanced Details'.

Unexpected delegate warnings are not uniformly designed, visible here.

Multisend interactions are not clearly positions: (the above link can be used as reference)

Thanks @iamacook . Just addressed all the things you pointed

You haven't updated the stepper? Do we have a separate ticket for this?

On the design:

I have found some visual inconsistencies:

You are using the past tense in the queue (it should be 'Send' and not 'Sent'):

The contract interation method requires a divider between it and the address.

And on the MultiSend:

Here it is on the design:

Not all transaction hashes line up:

And I have few suggestions:

Not all transactions entities have capital, "placeHolder" titles:

Seeing as there is no longer the owners, should we still condense the hashes?

The delegate call warning does not seem to fit the style. What do you think? Maybe add a divider between them?

I feel like the params should be spread to match their value. It's very hard to follow them.

@liliiaorlenko, can you weigh in on the suggestions?

@iamacook regarding your last comment

Stepper was not included in the original estimation nor was ever presented so it was not included in the current redesign.
I changed it back to "Send" but we need to add some logic to change the label based on if the tx was already executed or not. (Enhancement?)
👍 fixed

For all the visual and data validation I would like to move the ticket first out of "Peer Review" in order to invite QA and Designer to participate.

Should there be a divider before decoded hex data?

authors: DiogoSoaress iamacook liliya-soroka


text:
GET /v1/private/safes/ returns negative balance for some safes

Examples can be found in https://docs.google.com/spreadsheets/d/1pmKwYDB29SVjP1dggA5zZEq40HoHfisTSLM13THWEm0/edit#gid=0

@tschubotz It seems that some Safes where funded even months ago from their deployment. Internal tx task gets the safe deployment block and scans a few days before, but not so much. As the funding tx is missing, balance is miscalculated.
I will push a hotfix for that

I found another bug, errored txs were processed as if the tx were effective

repo: gnosis/safe-relay-service


text:
🛑 Beacon Explorer is down

In cbbaa07, Beacon Explorer (https://beacon.chiadochain.net/) was down:

HTTP code: 503
Response time: 330 ms

Resolved: Beacon Explorer is back up in 09c726f after 5 minutes.

repo: gnosischain/chiado-uptime


text:
🛑 Blockscout Explorer is down

In ff1f4eb, Blockscout Explorer (https://blockscout.com/xdai/mainnet) was down:

HTTP code: 503
Response time: 20163 ms

Resolved: Blockscout Explorer is back up in 466a839.

repo: gnosischain/gnosischain-uptime


text:
🛑 RPC is down

In 529637d, RPC (https://rpc.gnosischain.com/) was down:

HTTP code: 502
Response time: 394 ms

Resolved: RPC is back up in 5dad7dc after 6 minutes.


text:
Support writing to named loggers

If I want to use logging for different modules, I would have destinations (like file) depending on the module.
Has it been planned or envisaged to write to a specific logger and not to all managed loggers ?
For example, I would create a console and a file logged for the main part of an application, but also would have a specific logger for a module (let's call it "module"). That would be convenient to have InfoTo(), WarnTo(), etc... for this:
log.NewFileWithName("module", 100, log.FileConfig{
  Level: log.LevelInfo,
  Filename: "module.log"
})

log.InfoTo("module", "log this")
log.WarnTo("module", "warn this")

A complete management of different logger sources with associated destinations would be better, but I think it's a good compromise to add such a functionnality without breaking compatibility.

Implemented in https://github.com/go-clog/clog/pull/21.

authors: hackquest-grid unknwon

repo: go-clog/clog


text:
Prevent PR refs being deleted by git push --mirror

Feature Description
What am I trying to achieve?
My project's "source-of-truth" repositories are on one Gitea server and I would like to mirror them to another Gitea server to enable collaboration there.
E.g., my primary "source of truth" repositories are on a self-hosted Gitea instance and I would like to enable collaboration on Codeberg.
To do this, I add a post-receive GitHook to the primary ("source-of-truth") repository to git push --mirror to the secondary repository.
What's the problem?
When a PR is submitted on the secondary, my workflow on my local machine is to 1) pull main from the primary, 2) check out a new feature branch, 3) pull from the contributor's fork feature branch, 4) merge the feature branch to main and then 5) push main to the primary.
The primary then push mirrors to the secondary and the PR on the secondary is broken and gives a 500 error.
The PR seems to break because mirroring the primary repository to the secondary deletes the refs for the PR on the secondary - the refs aren't present on the primary repo and are therefore deleted when git push --mirror is executed -- see "...deleted refs will be removed from the remote end" in the git-push --mirror docs here
Feature Request - How could/should it work?
The workflow above is working:

when the PR is on the primary
when the secondary is a GitHub mirror. Probably because "The remote refs/pull/ namespace is read-only" -- see here -- so that the PR refs on GitHub are not deleted when git push --mirror executes on the primary.

In both of these cases, merging a PR feature branch locally leads to the PR being automatically recognised as "manually merged" <-- this is what I am ultimately trying to achieve on a Gitea mirror.
With a Gitea secondary, if instead of using git push --mirror on the primary repository post-receive Git Hook, I use git push --all followed by git push --prune, then the merge on the primary is pushed to the secondary without deleting the PR refs and the PR on the secondary is automatically detected as "manually merged", which is what I want to happen. However, mirroring would be preferred.
So the feature request is: Make PR refs read-only (as GitHub does) so that mirroring does not break PRs on a mirror repository and so that merges via the primary lead to PRs on the seconday being detected as "manually merged".
If it is dangerous to do this by default, this could be a configurable option, e.g. in the Settings --> Repository --> Pull Requests section.
Screenshots
No response

fixd by https://github.com/go-gitea/gitea/pull/31931

repo: go-gitea/gitea


text:
Handle function call errors more gracefully in routes

Feature Description
Example: help more problems like #24118
Before
	count, err := actions_model.CountRunners(ctx, opts)
	if err != nil {
		ctx.ServerError("AdminRunners", err)
		return
	}

There are some problems:

The function names changes during refactoring, so the ServerError frequently gets out-of-sync.
People have to copy&paste duplicate code again and again.
The return could be forgotten, a lot of times.

Proposal 1

Use generic, let a function like ErrorProof handles server errors automatically.
ErrorProof can use reflect to get the target function's name, it doesn't affect performance because in most cases there is no "internal server error".
	count, err := ctx.ErrorProof(actions_model.CountRunners, ctx, opts))
	if err != nil {
		return
	}

Proposal 2
Return the err directly, make our handler framework support such return value for handler functions (with stacktrace):
	count, err := actions_model.CountRunners(ctx, opts)
	if err != nil {
		return ctx.ErrorWithStack(err)
	}

Feasible?
These are just some early ideas, haven't tried whether it is really feasible, but if people like this proposal, I will spend some time to try.
I really prefer the second one, it looks clear and intuitive

In a sane language with exceptions, I would say throw those errors, but given golang has no exceptions besides panic/recover (I'm not sure it should be used for that), error return is probably the next best thing.

I like proposal 2, I have ever implemented a web framework https://gitea.com/lunny/tango support to receive one or two return error parameters like
func a() error
or
func b() (statusCode int, error)

I also have done similar thing in my Java/PHP/Golang web frameworks.
Usually I make the return type as an interface, then the handler could have the full control for what it wants to output.
The common responses could be provided by builtin response classes:
func handler(ctx *web.Context) Response {
    return ctx.JSON()
}

func handler(ctx *web.Context) Response {
    return ctx.HTML()
}

func handler(ctx *web.Context) Response {
    return ctx.PlainText()
}

func handler(ctx *web.Context) Response {
    return ctx.ServerError()
}

func handler(ctx *web.Context) Response {
    return &MyResponseWriter{  write status, write headers, write body ... }
}

I agree, it surprised me the first time I saw this:
	v := DoSomething(ctx)
	if ctx.Written() {
		return
	}
	// then the v is not nil

No time for it. Close.

authors: lunny silverwind wolfogre wxiaoguang


text:
Integrate an OAuth2 consumer

To keep the barrier of Gitea as small as possible we should integrate an OAuth2 consumer. That way new users can register with just a few clicks and can reuse there already elsewhere existing accounts. A good library for that can be https://github.com/markbates/goth.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/39078610-integrate-an-oauth2-consumer?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github).

oauth for searchabilty
( GitHub fix your search-engine FFS 😒 )

This would mean some area in the admin panel/app.ini to setup OAuth2 client_id, client_secret and a provider based on the goth provider list
Do we want to support non-existing goth providers (like MS ADFS/Office365) and let users enter a custom token & authorize url which we then can use to either create a new goth provider (not sure how) or use the golang.org/x/oauth2 package?

I think on the first step we will support the goth providers, but on another step we should also try to support more providers.

So this has been resolved by #679 ?

it will be broken in to multiple PR's, first part is in #679 , but I don't think we need this as reference for the other PR's

So let's close this.

Nice work. But I would like to use Gitea on our intranet with our own OAuth2 provider (self-made with NodeJS).
I hope, this is planned for the next releases.

I also have several use cases (even on the public inthernet) where I'd want to be able to provide my own OAuth provider.  Particularly privacy-sensitive users would not typically like to share too much data with the large Oauth "providers".  So I think it's quite desirable for every entity/organization to run their own OAuth provider and not just rely on the big OAuth providers.

I think you mean a customize OAuth2 config UI? @Lichtjaeger @lafOrge Maybe we could create another issue to discuss that.

I think you mean a customize OAuth2 config UI? @Lichtjaeger @laforge Maybe we could create another issue to discuss that.

Just crossing around open / solved issues of Gitea to better understand the underlying golang structure...
Immediately noticed you menti@ned the wrong user, @lunny, that 'o' was a zero..

@Bryanpedini You are right. Sorry, @laf0rge

@lunny @laf0rge
This feature request has long been fulfilled. I'm using Gitea with our own auth server successfully for over a year now.

authors: Bryanpedini Lichtjaeger bkcsoft laf0rge lunny tboerger willemvd


text:
Migration from 298 to 280 possible? (Database, error)

Description
Hi, I'm using Gitea with Docker compose ... As far, I'm using the nightly image build, but I would like to change to latest image build.
I get the following message at starting:
...ations/migrations.go:628:Migrate() [F] Migration Error: Your database (migration version: 298) is for a newer Gitea, you can not use the newer database for this old Gitea release (280).
Is there a chance to "downgrade" the version back to 280?
Gitea Version
1.21.11
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
2.40.1
Operating System
Debian 12
How are you running Gitea?
Within a docker-compose.yml.
Database
MySQL/MariaDB

You can downgrade with a backup 😃 I don't think you can rollback these 18 migrations. You could switch to a fixed digest and then to a non-nightly version when that version is newer.

You could switch to a fixed digest and then to a non-nightly version when that version is newer.

That was my thought too, to wait a little until the "latest" version is updated... Thanks. :)

1.22-nightly is pretty stable now and it will become 1.22.0 soon. Welcome to try it!

1.22-nightly is pretty stable now and it will become 1.22.0 soon. Welcome to try it!

Thanks, I will try it.

@wxiaoguang Looks very good, Gitea is running (with image: gitea/gitea:1.22-nightly):

Thanks. I think, once version 1.22 is released under "latest" I can switch to this image. :)

authors: KN4CK3R tgrothe wxiaoguang


text:
Additional External Issue Tracker Naming Style options

Description
Right now, Numeric, and Alphanumeric is supported. Numeric extracts the numbers from "#123" and Alphanumeric extracts both the alphabetic and numeric parts together, so for example "TG-123 fixes critical bug", TG-123 is clickable and it puts "TG-123" in the {index} part of the URL. However I propose a third option, where either the numeric part of the "TG-123" example is clickable, or the whole part of "TG-123" but the numeric part is extracted and put in {index}.
Hope this makes sense.
Screenshots

This is what I have now, but this is just a modified regex of the Alphanumeric Naming Style.


text:
how to change the mirror repository setting Last Synchronized show time as utc+8

Gitea version (or commit ref):
Git version:
Operating system:
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[ ] Not relevant

Log gist:

Description
I try to change the app.ini->time.format = RFC3339,but it look like not effect
I don't know how to change the mirror repository setting Last Synchronized show time as utc+8
Screenshots

[time]
FORMAT = 2006-01-02 15:04:05
DEFAULT_UI_LOCATION = Asia/Shanghai

The FORMAT value can be set as shown in the "Go layout" column of this page. The value 2006-01-02 15:04:05 is not some arbitrary example but the name of the actual format.
The DEFAULT_UI_LOCATION must be a time zone present in your system, but it will probably be one of those listed here in the "TZ database name" column. GMT+8 will probably be Asia/Shanghai.

thank you for your answer, i'll try it later.

I have solved my problem, your answer is perffect,maybe sometimes i should read the source code, thanks again.


text:
fix #1189, commit messages containing a pipe

this patch makes graphItemFromString split only the first 8 elements, leaving commit messages with pipes in it untouched.

will fix #1189

LGTM

LGTM

@philfry could you also send a back port PR to release/v1.1 ?

authors: appleboy lunny philfry


text:
WIP: Implement systemd-notify protocol

Right now, the systemd service will mark gitea as started immediately after the process is started, even though there are multiple time-consuming steps that might be run before the server is actually up. This implements systemd's notify protocol to indicate when the server is ready to receive requests, and when it's shutting down. This is particularly useful for socket activation, since systemd will hold the traffic in a queue until the process is ready, to avoid dropping requests.
Since notifications are done via an environment variable, this has no effect on systems where this environment variable is not present.
Marking as a draft since I'm currently developing from a pinebook and it's a bit too slow for me to test the changes for now, but I wanted to put up the code as a proof of concept and will mark it ready once I test it.

So I think this is in the wrong place. The Notify function will belong in manager_unix.go and manager.go not server.go.
The functions and structs in server.go are called for multiple connections that gitea uses. The manager is the controller and it is that which should be notifying things.

Will close this in favour of @zeripath's PR since they're putting the work into this.

authors: clarfonthey zeripath


text:
Add releases/download-latest route

Possible partial fix (the "download url for latest release" part) for https://github.com/go-gitea/gitea/issues/3712
Draft PR posted for comment, tests currently missing.

{repo}/releases/latest is already a existing download link. So you should use {repo}/releases/latest/{filename} instead of {repo}/releases/download-latest/{filename}. A big problem I see here, is that many Projects tend to include the Version on the filename.

I don't think {repo}/releases/latest works here because it only redirects to the specific release page.
It doesn't allow for downloading a named artifact from the latest release, like:
$ curl http://gitea.local:3000/org/repo/releases/download-latest/file

I know, that currently you can't download through {repo}/releases/latest, as it's only a redirect. I was suggest, that you use {repo}/releases/latest/{file} instead of {repo}/releases/download-latest/{file}as route in this PR, as this is more intuitive.

I was suggest, that you use {repo}/releases/latest/{file} instead of {repo}/releases/download-latest/{file}as route in this PR

I didn't do that because the download route seems to be subject to different auth checks and I don't understand enough about the routing library to know if that would be problematic. But if you think it's ok, it's fine with me.

Pushed a commit that changes the path to {repo}/releases/latest/{file}.
Manually tested. Auth works as expected (unauthenticated access to {repo}/releases/latest/{file} is permitted while still disallowed to {repo}/releases/latest).
Now looking at how to add a test...

I found existing tests here: https://github.com/go-gitea/gitea/blob/main/tests/integration/api_releases_test.go but doesn't look like there is a test for download already. I will look at adding one for the existing download, and the latest release download code added in this PR.

Should we expose the new link on UI somewhere?

Should we expose the new link on UI somewhere?

I'm not sure. GH just documents this (search for "Linking to the latest release").

A test would be nice, likely in tests/integration/release_test.go.

Closing because this PR has already been merged. It seems to achieve roughly the same goal, except presumably will cause problems if anyone ever makes a real tag named "latest". This PR handled that case by using a distinct route rather than overloading the meaning of the vTag.

authors: JakobDev dboreham silverwind


text:
Improve the issue_comment workflow trigger event

Fix #29175
Replace #29207
This PR makes some improvements to the issue_comment workflow trigger event.

Fix the bug that pull requests cannot trigger issue_comment workflows
Previously the issue_comment event only supported the created activity type. This PR adds support for the missing edited and deleted activity types.
Some events (including issue_comment, issues, etc. ) only trigger workflows that belong to the workflow file on the default branch. This PR introduces the IsDefaultBranchWorkflow function to check for these events.

I think there are 3 kinds of branches. Default branch, base branch and current branch.

I think there are 3 kinds of branches. Default branch, base branch and current branch.

For those trigger events that should trigger workflows on the base branch (like pull_request_target) or the current branch (like push), we need to call WithRef to set the ref manually.
https://github.com/go-gitea/gitea/blob/22b8de85ddda50725480b21c5bf6ef9c0202b5e9/services/actions/notifier_helper.go#L86-L89
For those trigger events that should only trigger workflows on the default branch, the ref can be empty and it will fall back to the default branch.
In this PR, if a event cannot pass the check of IsDefaultBranchWorkflow and has an empty ref, its ref will fall back to the default branch and there will be a warn log.

Maybe it is better to merge similar codes of UpdateComment and DeleteComment, like notifyIssueChange.
https://github.com/go-gitea/gitea/blob/182b9c193642838dd41bf26f0fe4b2e870770f7e/services/actions/notifier.go#L178-L219


text:
Fix admin handling at merge of PR

Fix #9739

Admin shall be able to merge even if all checks are not ready (fix hook)
If merge whitelist is explicitly set, admin should not be able to merge if not in whitelist. At least I didn't intended that change.

Codecov Report

Merging #9749 into master will increase coverage by 0.01%.
The diff coverage is 7.69%.

@@            Coverage Diff             @@
##           master    #9749      +/-   ##
==========================================
+ Coverage    42.3%   42.31%   +0.01%
==========================================
  Files         598      598
  Lines       78318    78316       -2
==========================================
+ Hits        33135    33142       +7
+ Misses      41127    41115      -12
- Partials     4056     4059       +3

Impacted Files
Coverage Δ

services/pull/merge.go
50.94% <ø> (+0.35%)
:arrow_up:

routers/private/hook.go
43.76% <7.69%> (-0.15%)
:arrow_down:

services/pull/check.go
52.02% <0%> (-1.36%)
:arrow_down:

models/pull.go
42.27% <0%> (+0.4%)
:arrow_up:

models/branches.go
44.7% <0%> (+1.17%)
:arrow_up:

modules/queue/workerpool.go
41.2% <0%> (+1.28%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1751d5f...3ecd0b9. Read the comment docs.

authors: codecov-io davidsvantesson


text:
JSONB Query Error

Hello. I want to query a integer based jsonb column. I want to use "?|" operator. This operator is an operator for jsonb by postgresql. But ıt seems gorm does not support to use it.
dbObj := db.
		Session(&gorm.Session{DryRun: true}).
		Model(&kisiler)
dbObj = dbObj.Where("array_to_json(translate(il_idler::jsonb::text, '[]', '{}')::text[])::jsonb ?| array['58']")
if err := dbObj.Find(&kisiler).Error; err != nil {
	fmt.Println(err.Error())
} else {
	fmt.Println("hata yok")
}

https://github.com/go-gorm/datatypes

authors: EnsPzr jinzhu

repo: go-gorm/gorm