GTK 3.96, GTK 4 рдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░рд┐рд▓реАрдЬ, рдкреНрд░рдХрд╛рд╢рд┐рдд

10 рдорд╣рд┐рдирд╛ рдкрдЫрд┐ рд╡рд┐рдЧрддрдХреЛ рдкрд░реАрдХреНрд╖рдг рд░рд┐рд▓реАрдЬ рдкреНрд░рд╕реНрддреБрдд GTK 3.96, GTK 4 рдХреЛ рдЖрдЧрд╛рдореА рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ рдХреЛ рдПрдХ рдирдпрд╛рдБ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░рд┐рд▓реАрдЬред GTK 4 рд╢рд╛рдЦрд╛ рдПрдХ рдирдпрд╛рдБ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ рднрд╛рдЧ рдХреЛ рд░реВрдк рдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрд┐ рдПрдХ рд╕реНрдерд┐рд░ рд░ рд╕рдорд░реНрдерд┐рдд рдПрдкреАрдЖрдИ рд╕рдВрдЧ рдзреЗрд░реИ рд╡рд░реНрд╖ рдХреЛ рд▓рд╛рдЧреА рдЖрд╡реЗрджрди рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реБ рд▓рд╛рдИ рдкреНрд░рджрд╛рди рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫ рдЬреБрди рдбрд░ рдмрд┐рдирд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЕрд░реНрдХреЛ GTK рд╢рд╛рдЦрд╛рдорд╛ API рдкрд░рд┐рд╡рд░реНрддрдирдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЫ рдорд╣рд┐рдирд╛рдорд╛ рдЖрд╡реЗрджрди рдкреБрди: рд▓реЗрдЦреНрдиреБрдкрд░реНрдЫред GTK 4 рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕реНрдерд┐рд░ рдирднрдПрд╕рдореНрдо, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд╢рд╛рдЦрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдирд┐рд░реНрдорд╛рдг рдЧрд░рд┐рд░рд╣рди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдиреНрдЫред GTK 3.24.

рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН GTK 3.96 рдорд╛:

  • API рдорд╛ GSK (GTK Scene Kit), рдЬрд╕рд▓реЗ OpenGL рд░ Vulkan рдорд╛рд░реНрдлрдд рдЧреНрд░рд╛рдлрд┐рдХ рджреГрд╢реНрдпрд╣рд░реВрдХреЛ рд░реЗрдиреНрдбрд░рд┐рдЩ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рддреНрд░реБрдЯрд┐рд╣рд░реВрдорд╛ рдХрд╛рдо рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬреБрди рдирдпрд╛рдБ рдбрд┐рдмрдЧрд┐рдЩ рдЙрдкрдХрд░рдг gtk4-node-editor рд▓рд╛рдИ рдзрдиреНрдпрд╡рд╛рдж рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рднрдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд▓реЛрдб рдЧрд░реНрди рд░ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд░реЗрдиреНрдбрд░рд┐рдЩ рдиреЛрдбрд▓рд╛рдИ рдХреНрд░рдордмрджреНрдз рдврд╛рдБрдЪрд╛рдорд╛ (рдирд┐рд░реАрдХреНрд╖рдг рдореЛрдб GTK рдЗрдиреНрд╕реНрдкреЗрдХреНрдЯрд░рдорд╛ рдмрдЪрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ), рд░ рд╡рд┐рднрд┐рдиреНрди рдмреНрдпрд╛рдХрдЗрдиреНрдбрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рд░реЗрдиреНрдбрд░рд┐рдЩ рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рдкрдирд┐ рддреБрд▓рдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН;

    GTK 3.96, GTK 4 рдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░рд┐рд▓реАрдЬ, рдкреНрд░рдХрд╛рд╢рд┐рдд

  • 3D рд░реВрдкрд╛рдиреНрддрд░рдг рдХреНрд╖рдорддрд╛рд╣рд░реВ рдПрдХ рд╕реНрддрд░рдорд╛ рд▓реНрдпрд╛рдЗрдПрдХреЛ рдЫ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдПрдирд┐рдореЗрд╕рди рдкреНрд░рднрд╛рд╡рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЬрд╕реНрддреИ рдШреБрдорд╛рдЙрдиреЗ рдШрди;

    GTK 3.96, GTK 4 рдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░рд┐рд▓реАрдЬ, рдкреНрд░рдХрд╛рд╢рд┐рдд

  • рдкреВрд░реНрдгрддрдпрд╛ рдкреБрди: рд▓реЗрдЦрд┐рдПрдХреЛ рдмреНрд░реЛрдбрд╡реЗ GDK рдмреНрдпрд╛рдХрдЗрдиреНрдб рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд░ рд╡рд┐рдиреНрдбреЛрдорд╛ GTK рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдЙрдЯрдкреБрдЯ рд░реЗрдиреНрдбрд░ рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛред рдкреБрд░рд╛рдиреЛ рдмреНрд░реЛрдбрд╡реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди GTK 4 рдорд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд░реЗрдиреНрдбрд░рд┐рдЩ рд╡рд┐рдзрд┐рд╣рд░реВрдорд╛ рдлрд┐рдЯ рднрдПрди (рдмрдлрд░рдорд╛ рдЖрдЙрдЯрдкреБрдЯрдХреЛ рд╕рдЯреНрдЯрд╛, рдпрд╕рд▓реЗ рдЕрдм рд░реЗрдиреНрдбрд░ рдиреЛрдбрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдореЛрдбреЗрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЬрд╣рд╛рдБ рдЖрдЙрдЯрдкреБрдЯ рдЙрдЪреНрдЪ-рд╕реНрддрд░ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд░реВрдЦрдХреЛ рд░реВрдкрдорд╛ рдмрдирд╛рдЗрдПрдХреЛ рдЫ, рдУрдкрдирдЬреАрдПрд▓ рд░ рд╡рд▓реНрдХрди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ GPU рджреНрд╡рд╛рд░рд╛ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдПрдХреЛ)ред
    рдирдпрд╛рдБ рдмреНрд░реЛрдбрд╡реЗ рд╡рд┐рдХрд▓реНрдкрд▓реЗ рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рд░реЗрдиреНрдбрд░ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ CSS рд╢реИрд▓реАрд╣рд░реВрд╕рдБрдЧ рд░реЗрдиреНрдбрд░ рдиреЛрдбрд╣рд░реВрд▓рд╛рдИ DOM рдиреЛрдбрд╣рд░реВрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрджрдЫред рдкреНрд░рддреНрдпреЗрдХ рдирдпрд╛рдБ рд╕реНрдХреНрд░рд┐рди рдЕрд╡рд╕реНрдерд╛рд▓рд╛рдИ рдЕрдШрд┐рд▓реНрд▓реЛ рдЕрд╡рд╕реНрдерд╛рдХреЛ рд╕рд╛рдкреЗрдХреНрд╖ DOM рд░реВрдЦрдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рдЯрд╛рдврд╛рдХреЛ рдХреНрд▓рд╛рдЗрдиреНрдЯрдорд╛ рдкрдард╛рдЗрдиреЗ рдбреЗрдЯрд╛рдХреЛ рдЖрдХрд╛рд░ рдШрдЯрд╛рдЙрдБрдЫред 3D рд░реВрдкрд╛рдиреНрддрд░рдг рд░ рдЧреНрд░рд╛рдлрд┐рдХ рдкреНрд░рднрд╛рд╡рд╣рд░реВ CSS рд░реВрдкрд╛рдиреНрддрд░рдг рдЧреБрдг рдорд╛рд░реНрдлрдд рд▓рд╛рдЧреВ рдЧрд░рд┐рдиреНрдЫ;

  • GDK рд▓реЗ Wayland рдкреНрд░реЛрдЯреЛрдХрд▓рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреЗрд░ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХрд╛ API рд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдЫ, рд░ X11-рдЖрдзрд╛рд░рд┐рдд APIs рд╕рдлрд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╡рд╛ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЫреБрдЯреНрдЯреИ X11 рдмреНрдпрд╛рдХрдЗрдиреНрдбрдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реНред рдЪрд╛рдЗрд▓реНрдб рд╕рддрд╣рд╣рд░реВ рд░ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд╕рдордиреНрд╡рдпрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрдмрд╛рдЯ рдЯрд╛рдврд╛ рдЬрд╛рди рдХрд╛рд░реНрдпрдорд╛ рдкреНрд░рдЧрддрд┐ рднрдЗрд░рд╣реЗрдХреЛ рдЫред GDK_SURFACE_SUBSURFACE рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди GDK рдмрд╛рдЯ рд╣рдЯрд╛рдЗрдпреЛ;
  • рдбреНрд░реНрдпрд╛рдЧ-рдПрдиреНрдб-рдбреНрд░рдк рдЕрдкрд░реЗрд╕рдирд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд╕рдореНрдмрдиреНрдзрд┐рдд рдХреЛрдбрдХреЛ рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдЩ рдЬрд╛рд░реА рд░рд╛рдЦрд┐рдпреЛ, рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЫреБрдЯреНрдЯреИ GdkDrag рд░ GdkDrop рд╡рд╕реНрддреБрд╣рд░реВ рд╕рд╣рд┐рдд;
  • рдШрдЯрдирд╛ рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдЩ рд╕рд░рд▓реАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдЕрдм рдЗрдирдкреБрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдмрд╛рдБрдХреА рдШрдЯрдирд╛рд╣рд░реВрд▓рд╛рдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдЩреНрдХреЗрддрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░рд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЖрдЙрдЯрдкреБрдЯ рдШрдЯрдирд╛рд╣рд░реВрдХреЛ рд╕рдЯреНрдЯрд╛, рд╕рдЩреНрдХреЗрдд "GdkSurface::render" рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдШрдЯрдирд╛рд╣рд░реВрдХреЛ рд╕рдЯреНрдЯрд╛ - "GdkSurface:: рд╕рд╛рдЗрдЬ-рдкрд░рд┐рд╡рд░реНрддрд┐рдд", рдШрдЯрдирд╛рд╣рд░реВ рдореНрдпрд╛рдкрд┐рдЩрдХреЛ рд╕рдЯреНрдЯрд╛ - "GdkSurface: :mapped", gdk_event_handler_set() рдХреЛ рд╕рдЯреНрдЯрд╛ - "GdkSurface::event";
  • Wayland рдХреЛ рд▓рд╛рдЧрд┐ GDK рдмреНрдпрд╛рдХрдЗрдиреНрдбрд▓реЗ GtkSettings рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рдкреЛрд░реНрдЯрд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкреЗрдХреЛ рдЫред рдЗрдирдкреБрдЯ рд╡рд┐рдзрд┐рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди, рдкрд╛рда-рдЗрдирдкреБрдЯ-рдЕрдирд╕реНрдЯреЗрдмрд▓-v3 рдкреНрд░реЛрдЯреЛрдХрд▓ рд╡рд┐рд╕реНрддрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫ;
  • рд╡рд┐рдЬреЗрдЯрд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐, рджреГрд╢реНрдп рдХреНрд╖реЗрддреНрд░рдХреЛ рд▓реЗрдЖрдЙрдЯрдХреЛ рдЖрдзрд╛рд░рдорд╛ рддрддреНрд╡рд╣рд░реВрдХреЛ рд▓реЗрдЖрдЙрдЯ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рд╛рде рдирдпрд╛рдБ GtkLayoutManager рд╡рд╕реНрддреБ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдЫред GtkLayoutManager рд▓реЗ GTK рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдЬрд╕реНрддреИ GtkBox рд░ GtkGrid рдорд╛ рдмрд╛рд▓ рдЧреБрдгрд╣рд░реВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрджрдЫред рдзреЗрд░реИ рддрдпрд╛рд░ рд▓реЗрдЖрдЙрдЯ рдкреНрд░рдмрдиреНрдзрдХрд╣рд░реВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЫрдиреН: рдПрдХ рдЪрд╛рдЗрд▓реНрдб рдПрд▓рд┐рдореЗрдиреНрдЯ рднрдПрдХрд╛ рд╕рд╛рдзрд╛рд░рдг рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ GtkBinLayout, рд░реИрдЦрд┐рдХ рд░реВрдкрдорд╛ рдкрдЩреНрдХреНрддрд┐рдмрджреНрдз рдмрд╛рд▓ рддрддреНрд╡рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ GtkBoxLayout, рдмрд╛рд▓ рддрддреНрд╡рд╣рд░реВрд▓рд╛рдИ рдЧреНрд░рд┐рдбрдорд╛ рдкрдЩреНрдХреНрддрд┐рдмрджреНрдз рдЧрд░реНрди GtkGridLayout, рдмрд╛рд▓ рддрддреНрд╡рд╣рд░реВрдХреЛ рдордирдорд╛рдиреА рд╕реНрдерд┐рддрд┐рдХреЛ рд▓рд╛рдЧрд┐ GtkFixedLayout, рдкрд░рдореНрдкрд░рд╛рдЧрдд рддрддреНрд╡рд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд GtkBoxLayout_Layout_Layout рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ;
  • рдмрд╛рд▓ рддрддреНрд╡рд╣рд░реВрдХреЛ рдкреГрд╖реНрда рдкреНрд░рджрд░реНрд╢рдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдкрдорд╛ рдкрд╣реБрдБрдЪрдпреЛрдЧреНрдп рд╡рд╕реНрддреБрд╣рд░реВ GtkAssistant, GtkStack рд░ GtkNotebook рд╡рд┐рдЬреЗрдЯрд╣рд░реВрдорд╛ рдердкрд┐рдПрдХрд╛ рдЫрдиреН, рдЬрд╕рдорд╛ рдпреА рд╡рд┐рдЬреЗрдЯрд╣рд░реВрдХреЛ рдЧреИрд░-рд▓реЗрдЖрдЙрдЯ-рд╕рдореНрдмрдиреНрдзрд┐рдд рдЪрд╛рдЗрд▓реНрдб рдЧреБрдгрд╣рд░реВ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреНред рд╕рдмреИ рдЕрд╡рд╕реНрдерд┐рдд рдЪрд╛рдЗрд▓реНрдб рдЧреБрдгрд╣рд░реВ рдирд┐рдпрдорд┐рдд рдЧреБрдгрд╣рд░реВ, рд▓реЗрдЖрдЙрдЯ рдЧреБрдгрд╣рд░реВрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рднрдПрдХреЛ рд╡рд╛ рдкреГрд╖реНрда рд╡рд╕реНрддреБрд╣рд░реВрдорд╛ рд╕рд╛рд░рд┐рдПрдХреЛ рд╣реБрдирд╛рд▓реЗ, рдмрд╛рд▓ рдЧреБрдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдкреВрд░реНрдг рд░реВрдкрдорд╛ GtkContainer рдмрд╛рдЯ рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫ;
  • рдХреЛрд░ GtkEntry рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рд▓рд╛рдИ рдирдпрд╛рдБ GtkText рд╡рд┐рдЬреЗрдЯрдорд╛ рд╕рд╛рд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдорд╛ рдкрд░рд┐рд╖реНрдХреГрдд GtkEditable рд╕рдореНрдкрд╛рджрди рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкрдирд┐ рд╕рдорд╛рд╡реЗрд╢ рдЫред рд╕рдмреИ рдЕрд╡рд╕реНрдерд┐рдд рдбрд╛рдЯрд╛ рдЗрдирдкреБрдЯ рдЙрдкрд╡рд░реНрдЧрд╣рд░реВ рдирдпрд╛рдБ GtkText рд╡рд┐рдЬреЗрдЯрдорд╛ рдЖрдзрд╛рд░рд┐рдд GtkEditable рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд░реВрдкрдорд╛ рдкреБрди: рдирд┐рд░реНрдорд╛рдг рдЧрд░рд┐рдПрдХреЛ рдЫ;
  • рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдлрд╛рд░рдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ GtkPasswordEntry рд╡рд┐рдЬреЗрдЯ рдердкрд┐рдпреЛ;
  • GtkWidgets рд▓реЗ CSS рд╡рд╛ gtk_widget_allocate рддрд░реНрдХ GskTransform рдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░реЗрдЦреАрдп рд░реВрдкрд╛рдиреНрддрд░рдг рд╡рд┐рдзрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмрд╛рд▓ рддрддреНрд╡рд╣рд░реВрд▓рд╛рдИ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкреЗрдХреЛ рдЫред GtkFixed рд╡рд┐рдЬреЗрдЯрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ;
  • рдирдпрд╛рдБ рд╕реВрдЪреА рдЬреЗрдиреЗрд░реЗрд╢рди рдореЛрдбреЗрд▓рд╣рд░реВ рдердкрд┐рдПрдХрд╛ рдЫрдиреН: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel рд░ GtkSingleSelectionред рднрд╡рд┐рд╖реНрдпрдорд╛ рд╣рд╛рдореА GtkListView рдорд╛ рд╕реВрдЪреА рдореЛрдбреЗрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкреНрдиреЗ рдпреЛрдЬрдирд╛ рдЧрд░реНрдЫреМрдВ;
  • GtkBuilder рд▓реЗ рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЩреНрдХрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ (рдЗрдирд▓рд╛рдЗрди) рд╡рд╕реНрддреБ рдЧреБрдгрд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкреЗрдХреЛ рдЫ;
  • UI рдлрд╛рдЗрд▓рд╣рд░реВрд▓рд╛рдИ GTK 4 рдмрд╛рдЯ GTK 3 рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди gtk4-builder-tool рдорд╛ рдЖрджреЗрд╢ рдердкрд┐рдпреЛ;
  • рдореБрдЦреНрдп рд╡рд┐рд╖рдпрд╡рд╕реНрддреБрд╣рд░реВ, рддрд╛рд▓рд┐рдХрд╛ рдореЗрдиреБрд╣рд░реВ, рд░ рдХрдореНрдмреЛ рдмрдХреНрд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдмрдиреНрдж рдЧрд░рд┐рдПрдХреЛ рдЫред GtkInvisible рд╡рд┐рдЬреЗрдЯ рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫред

    рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди