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

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

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

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

    GTK 3.96, GTK 4 рдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░рд┐рд▓реАрдЬ, рдкреНрд░рдХрд╛рд╢рд┐рдд
  • рдереНрд░реАрдбреА рд░реВрдкрд╛рдиреНрддрд░рдг рдХреНрд╖рдорддрд╛рд╣рд░реВрд▓рд╛рдИ рдПрдЙрдЯрд╛ рд╕реНрддрд░рдорд╛ рд▓реНрдпрд╛рдЗрдПрдХреЛ рдЫ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдШреБрдореНрдиреЗ рдШрди рдЬрд╕реНрддрд╛ рдПрдирд┐рдореЗрд╕рди рдкреНрд░рднрд╛рд╡рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ;

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

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

DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрднрд░рд╣рд░реВ рднрдПрдХрд╛ рд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рднрд░рдкрд░реНрджреЛ рд╣реЛрд╕реНрдЯрд┐рдЩ рдЦрд░рд┐рдж рдЧрд░реНрдиреБрд╣реЛрд╕реН ЁЯФе DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрднрд░рд╣рд░реВ рд╕рд╣рд┐рддрдХреЛ рднрд░рдкрд░реНрджреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдЩ рдХрд┐рдиреНрдиреБрд╣реЛрд╕реН | ProHoster