Π‘ΠΏΡΡΡΡ 10 ΠΌΠ΅ΡΡΡΠ΅Π² Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ°
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅
- Π API
GSK (GTK Scene Kit), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅ΠΌ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π½ ΡΠ΅ΡΠ΅Π· OpenGL ΠΈ Vulkan, ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ, Π²ΡΡΠ²Π»ΡΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π»ΠΎ ΠΏΡΠΎΡΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠΌΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΌΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ gtk4-node-editor, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ·Π΅Π» ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π² ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ (ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΠ½ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ GTK inspector), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±ΡΠΊΠ΅Π½Π΄ΠΎΠ²; - ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ 3D-ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄ΠΎΠ²Π΅Π΄Π΅Π½Ρ Π΄ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉΡΡ ΠΊΡΠ±;
- ΠΠΎΠ»Π½ΠΎΡΡΡΡ
ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ GDK-Π±ΡΠΊΠ΅Π½Π΄ Broadway, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠ²ΠΎΠ΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GTK Π² ΠΎΠΊΠ½Π΅ web-Π±ΡΠ°ΡΠ·Π΅ΡΠ°. Π‘ΡΠ°ΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Broadway Π½Π΅ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π»Π°ΡΡ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π² GTK 4 ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π² Π±ΡΡΠ΅Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ·Π»ΠΎΠ² ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (render nodes), ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½ΡΠ΅ΡΡΡ Π² ΡΠΎΡΠΌΠ΅ Π΄Π΅ΡΠ΅Π²Π° Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ GPU ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ OpenGL ΠΈ Vulkan).
ΠΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Broadway ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ·Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π² DOM-ΡΠ·Π»Ρ ΡΠΎ ΡΡΠΈΠ»ΡΠΌΠΈ CSS Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. ΠΠ°ΠΆΠ΄ΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ DOM-Π΄Π΅ΡΠ΅Π²Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ . 3D-ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· CSS-ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ transform; - Π GDK ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ API, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Ρ ΠΎΠ³Π»ΡΠ΄ΠΊΠΎΠΉ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland, ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΊΠΈ API, Π·Π°Π²ΡΠ·Π°Π½Π½ΡΡ Π½Π° X11, ΠΈΠ»ΠΈ ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π±ΡΠΊΠ΅Π½Π΄ X11. ΠΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΡ ΠΎΠ΄Ρ ΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ. ΠΠ· GDK ΡΠ΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GDK_SURFACE_SUBSURFACE;
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΊΠΎΠ΄Π°, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Drag-and-Drop, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ GdkDrag ΠΈ GdkDrop;
- Π£ΠΏΡΠΎΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΡΠΈΠ³Π½Π°Π» «GdkSurface::render», Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ — «GdkSurface::size-changed», Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ — «GdkSurface::mapped», Π²ΠΌΠ΅ΡΡΠΎ gdk_event_handler_set() — «GdkSurface::event»;
- Π GDK-Π±ΡΠΊΠ΅Π½Π΄ Π΄Π»Ρ Wayland Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° portal-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ GtkSettings. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π²Π²ΠΎΠ΄Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° text-input-unstable-v3;
- ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ GtkLayoutManager Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅Π½Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. GtkLayoutManager ΠΏΡΠΈΡΡΠ» Π½Π° ΡΠΌΠ΅Π½Ρ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ GTK, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ GtkBox ΠΈ GtkGrid. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΠΎΡΠΎΠ²ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ: GtkBinLayout Π΄Π»Ρ ΠΏΡΠΎΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Ρ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, GtkBoxLayout Π΄Π»Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π²ΡΡΠΎΠ²Π½Π΅Π½Π½ΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², GtkGridLayout Π΄Π»Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΠ΅ΡΠΊΠ΅, GtkFixedLayout Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², GtkCustomLayout Π΄Π»Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² size_allocate;
- Π Π²ΠΈΠ΄ΠΆΠ΅ΡΡ GtkAssistant, GtkStack ΠΈ GtkNotebook Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Ρ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΎΠΉ (Layout) Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄Π°Π½Π½ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ². Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ Π² ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Ρ Π² ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΈΠ· GtkContainer ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²;
- ΠΠ°Π·ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ GtkEntry ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π° Π² Π½ΠΎΠ²ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ GtkText, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ GtkEditable. ΠΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°Π½Ρ Π² ΡΠΎΡΠΌΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ GtkEditable Π½Π° Π±Π°Π·Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° GtkText;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ GtkPasswordEntry Π΄Π»Ρ ΡΠΎΡΠΌ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ;
- Π GtkWidgets Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· CSS ΠΈΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ gtk_widget_allocate Π² GskTransform. Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° Π² Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ GtkFixed;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ²: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel ΠΈ GtkSingleSelection. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡΠΏΠΈΡΠΊΠΎΠ² Π² GtkListView;
- Π GtkBuilder Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎ ΠΌΠ΅ΡΡΡ (inline), Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ;
- Π gtk4-builder-tool Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ UI-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· GTK 3 Π² GTK 4;
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΡΠ΅ΠΌ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ (key theme), Π²ΠΊΠ»Π°Π΄ΠΎΡΠ½ΡΡ
ΠΌΠ΅Π½Ρ (tabular menu) ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π±Π»ΠΎΠΊΠΎΠ² (combo box). Π£Π΄Π°Π»ΡΠ½ Π²ΠΈΠ΄ΠΆΠ΅Ρ GtkInvisible.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru