LINUX.ORG.RU

История изменений

Исправление invy, (текущая версия) :

ты знаешь?

да Иерархия окон git-gui (типичные x11)

igor:~/projects/weston% xwininfo -tree -name "Git Gui (weston-2.0.0) /home/igor/projects/weston/weston-2.0.0"

xwininfo: Window id: 0x280003c "Git Gui (weston-2.0.0) /home/igor/projects/weston/weston-2.0.0"

  Root window id: 0x1d3 (the root window) (has no name)
  Parent window id: 0xc09d81 (has no name)
     2 children:
     0x280003b (has no name): ()  1103x34+0+0  +83+147
     0x2800009 (has no name): ()  1103x495+0+34  +83+181
        4 children:
        0x2800095 (has no name): ()  1103x16+0+479  +83+660
           1 child:
           0x2800096 (has no name): ()  43x16+0+0  +83+660
        0x2800041 (has no name): ()  1103x463+0+16  +83+197
           2 children:
           0x280005a (has no name): ()  877x463+226+0  +309+197
              2 children:
              0x280005c (has no name): ()  877x260+0+0  +309+197
                 2 children:
                 0x280007b (has no name): ()  875x240+1+19  +310+216
                    3 children:
                    0x280007d (has no name): ()  15x223+859+1  +1169+217
                    0x280007c (has no name): ()  873x15+1+224  +311+440
                    0x28000e2 (has no name): ()  858x223+1+1  +311+217
                 0x2800074 (has no name): ()  875x18+1+1  +310+198
                    3 children:
                    0x2800078 (has no name): ()  459x18+416+0  +726+198
                    0x2800077 (has no name): ()  28x18+388+0  +698+198
                    0x2800076 (has no name): ()  388x18+0+0  +310+198
              0x280005b (has no name): ()  877x198+0+265  +309+462
                 2 children:
                 0x2800064 (has no name): ()  773x198+104+0  +413+462
                    2 children:
                    0x280006a (has no name): ()  773x179+0+19  +413+481
                       2 children:
                       0x2800071 (has no name): ()  15x177+757+1  +1170+482
                       0x280011e (has no name): ()  756x177+1+1  +414+482
                    0x2800065 (has no name): ()  773x19+0+0  +413+462
                       3 children:
                       0x2800069 (has no name): ()  108x16+0+1  +413+463
                       0x2800068 (has no name): ()  144x19+629+0  +1042+462
                       0x2800067 (has no name): ()  98x19+531+0  +944+462
                 0x280005d (has no name): ()  104x198+0+0  +309+462
                    6 children:
                    0x2800063 (has no name): ()  104x25+0+116  +309+578
                    0x2800062 (has no name): ()  104x25+0+91  +309+553
                    0x2800061 (has no name): ()  104x25+0+66  +309+528
                    0x2800060 (has no name): ()  104x25+0+41  +309+503
                    0x280005f (has no name): ()  104x25+0+16  +309+478
                    0x280005e (has no name): ()  104x16+0+0  +309+462
           0x2800042 (has no name): ()  221x463+0+0  +83+197
              2 children:
              0x2800050 (has no name): ()  221x229+0+234  +83+431
                 4 children:
                 0x2800058 (has no name): ()  15x194+205+19  +288+450
                 0x2800057 (has no name): ()  219x15+1+213  +84+644
                 0x28000be (has no name): ()  204x194+1+19  +84+450
                 0x2800052 (has no name): ()  219x18+1+1  +84+432
              0x2800043 (has no name): ()  221x229+0+0  +83+197
                 4 children:
                 0x280004f (has no name): ()  15x194+205+19  +288+216
                 0x280004e (has no name): ()  219x15+1+213  +84+410
                 0x28000bc (has no name): ()  204x194+1+19  +84+216
                 0x2800045 (has no name): ()  219x18+1+1  +84+198
        0x280003d (has no name): ()  1103x16+0+0  +83+181
           2 children:
           0x2800040 (has no name): ()  36x16+99+0  +182+181
           0x280003f (has no name): ()  99x16+0+0  +83+181
        0x280000a (has no name): ()  1103x495+0+0  +83+181

И для сравнения - QtCreator с открытым диалогом опций:

igor:~/projects/weston% xwininfo -tree -name "QtCreator"

xwininfo: Window id: 0x2e0009f "QtCreator"

  Root window id: 0x1d3 (the root window) (has no name)
  Parent window id: 0x1d3 (the root window) (has no name)
     1 child:
     0x2e000a1 (has no name): ()  1x1+-1+-1  +240+83

Сечешь фишку? Qt создает только одно окно и рисует в него весь свой контент, а Xовые приложения используют примитивы Xlib и рисуют окошки на каждый чих.

Исходная версия invy, :

ты знаешь?

да Иерархия окон git-gui (типичные x11) [spoiler]

igor:~/projects/weston% xwininfo -tree -name "Git Gui (weston-2.0.0) /home/igor/projects/weston/weston-2.0.0"

xwininfo: Window id: 0x280003c "Git Gui (weston-2.0.0) /home/igor/projects/weston/weston-2.0.0"

  Root window id: 0x1d3 (the root window) (has no name)
  Parent window id: 0xc09d81 (has no name)
     2 children:
     0x280003b (has no name): ()  1103x34+0+0  +83+147
     0x2800009 (has no name): ()  1103x495+0+34  +83+181
        4 children:
        0x2800095 (has no name): ()  1103x16+0+479  +83+660
           1 child:
           0x2800096 (has no name): ()  43x16+0+0  +83+660
        0x2800041 (has no name): ()  1103x463+0+16  +83+197
           2 children:
           0x280005a (has no name): ()  877x463+226+0  +309+197
              2 children:
              0x280005c (has no name): ()  877x260+0+0  +309+197
                 2 children:
                 0x280007b (has no name): ()  875x240+1+19  +310+216
                    3 children:
                    0x280007d (has no name): ()  15x223+859+1  +1169+217
                    0x280007c (has no name): ()  873x15+1+224  +311+440
                    0x28000e2 (has no name): ()  858x223+1+1  +311+217
                 0x2800074 (has no name): ()  875x18+1+1  +310+198
                    3 children:
                    0x2800078 (has no name): ()  459x18+416+0  +726+198
                    0x2800077 (has no name): ()  28x18+388+0  +698+198
                    0x2800076 (has no name): ()  388x18+0+0  +310+198
              0x280005b (has no name): ()  877x198+0+265  +309+462
                 2 children:
                 0x2800064 (has no name): ()  773x198+104+0  +413+462
                    2 children:
                    0x280006a (has no name): ()  773x179+0+19  +413+481
                       2 children:
                       0x2800071 (has no name): ()  15x177+757+1  +1170+482
                       0x280011e (has no name): ()  756x177+1+1  +414+482
                    0x2800065 (has no name): ()  773x19+0+0  +413+462
                       3 children:
                       0x2800069 (has no name): ()  108x16+0+1  +413+463
                       0x2800068 (has no name): ()  144x19+629+0  +1042+462
                       0x2800067 (has no name): ()  98x19+531+0  +944+462
                 0x280005d (has no name): ()  104x198+0+0  +309+462
                    6 children:
                    0x2800063 (has no name): ()  104x25+0+116  +309+578
                    0x2800062 (has no name): ()  104x25+0+91  +309+553
                    0x2800061 (has no name): ()  104x25+0+66  +309+528
                    0x2800060 (has no name): ()  104x25+0+41  +309+503
                    0x280005f (has no name): ()  104x25+0+16  +309+478
                    0x280005e (has no name): ()  104x16+0+0  +309+462
           0x2800042 (has no name): ()  221x463+0+0  +83+197
              2 children:
              0x2800050 (has no name): ()  221x229+0+234  +83+431
                 4 children:
                 0x2800058 (has no name): ()  15x194+205+19  +288+450
                 0x2800057 (has no name): ()  219x15+1+213  +84+644
                 0x28000be (has no name): ()  204x194+1+19  +84+450
                 0x2800052 (has no name): ()  219x18+1+1  +84+432
              0x2800043 (has no name): ()  221x229+0+0  +83+197
                 4 children:
                 0x280004f (has no name): ()  15x194+205+19  +288+216
                 0x280004e (has no name): ()  219x15+1+213  +84+410
                 0x28000bc (has no name): ()  204x194+1+19  +84+216
                 0x2800045 (has no name): ()  219x18+1+1  +84+198
        0x280003d (has no name): ()  1103x16+0+0  +83+181
           2 children:
           0x2800040 (has no name): ()  36x16+99+0  +182+181
           0x280003f (has no name): ()  99x16+0+0  +83+181
        0x280000a (has no name): ()  1103x495+0+0  +83+181
[/spoiler] И для сравнения - QtCreator с открытым диалогом опций: [spoiler]
igor:~/projects/weston% xwininfo -tree -name "QtCreator"

xwininfo: Window id: 0x2e0009f "QtCreator"

  Root window id: 0x1d3 (the root window) (has no name)
  Parent window id: 0x1d3 (the root window) (has no name)
     1 child:
     0x2e000a1 (has no name): ()  1x1+-1+-1  +240+83
[/spoiler]

Сечешь фишку? Qt создает только одно окно и рисует в него весь свой контент, а Xовые приложения используют примитивы Xlib и рисуют окошки на каждый чих.