GTK 3.96, GTK 4 ನ ಪ್ರಾಯೋಗಿಕ ಬಿಡುಗಡೆ, ಪ್ರಕಟಿಸಲಾಗಿದೆ

10 ತಿಂಗಳ ನಂತರ ಹಿಂದಿನದು ಪರೀಕ್ಷಾ ಬಿಡುಗಡೆ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ GTK 3.96, GTK 4 ರ ಮುಂಬರುವ ಸ್ಥಿರ ಬಿಡುಗಡೆಯ ಹೊಸ ಪ್ರಾಯೋಗಿಕ ಬಿಡುಗಡೆ. GTK 4 ಶಾಖೆಯನ್ನು ಹೊಸ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯ ಭಾಗವಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತಿದೆ, ಇದು ಅಪ್ಲಿಕೇಶನ್ ಡೆವಲಪರ್‌ಗಳಿಗೆ ಸ್ಥಿರ ಮತ್ತು ಬೆಂಬಲಿತ API ಅನ್ನು ಹಲವಾರು ವರ್ಷಗಳವರೆಗೆ ಒದಗಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ, ಅದನ್ನು ಭಯವಿಲ್ಲದೆ ಬಳಸಬಹುದು ಮುಂದಿನ GTK ಶಾಖೆಯಲ್ಲಿ API ಬದಲಾವಣೆಯ ಕಾರಣದಿಂದ ಪ್ರತಿ ಆರು ತಿಂಗಳಿಗೊಮ್ಮೆ ಅರ್ಜಿಯನ್ನು ಪುನಃ ಬರೆಯಬೇಕಾಗುತ್ತದೆ. GTK 4 ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಥಿರಗೊಳಿಸುವವರೆಗೆ, ಬಳಕೆದಾರರಿಗೆ ನೀಡಲಾಗುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಶಾಖೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನಿರ್ಮಿಸುವುದನ್ನು ಮುಂದುವರಿಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ GTK 3.24.

ಮುಖ್ಯ ಬದಲಾವಣೆಗಳನ್ನು GTK 3.96 ರಲ್ಲಿ:

  • API ನಲ್ಲಿ ಜಿಎಸ್ಕೆ (GTK ಸೀನ್ ಕಿಟ್), ಇದು OpenGL ಮತ್ತು Vulkan ಮೂಲಕ ಗ್ರಾಫಿಕ್ ದೃಶ್ಯಗಳ ರೆಂಡರಿಂಗ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ, ದೋಷಗಳ ಮೇಲೆ ಕೆಲಸ ಮಾಡಲಾಗಿದೆ, ಇದು ಹೊಸ ಡೀಬಗ್ ಮಾಡುವ ಸಾಧನ gtk4-node-editor ಗೆ ಧನ್ಯವಾದಗಳು ಗುರುತಿಸಲು ಸುಲಭವಾಗಿದೆ, ಇದು ನಿಮಗೆ ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ಪ್ರದರ್ಶಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ರೆಂಡರಿಂಗ್ ನೋಡ್ ಅನ್ನು ಧಾರಾವಾಹಿ ರೂಪದಲ್ಲಿ (ಇನ್ಸ್ಪೆಕ್ಷನ್ ಮೋಡ್ GTK ಇನ್ಸ್ಪೆಕ್ಟರ್ನಲ್ಲಿ ಉಳಿಸಬಹುದು), ಮತ್ತು ವಿಭಿನ್ನ ಬ್ಯಾಕೆಂಡ್ಗಳನ್ನು ಬಳಸುವಾಗ ರೆಂಡರಿಂಗ್ ಫಲಿತಾಂಶಗಳನ್ನು ಹೋಲಿಕೆ ಮಾಡಿ;

    GTK 3.96, GTK 4 ನ ಪ್ರಾಯೋಗಿಕ ಬಿಡುಗಡೆ, ಪ್ರಕಟಿಸಲಾಗಿದೆ

  • ತಿರುಗುವ ಘನದಂತಹ ಅನಿಮೇಷನ್ ಪರಿಣಾಮಗಳನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಮಟ್ಟಕ್ಕೆ 3D ರೂಪಾಂತರ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ತರಲಾಗಿದೆ;

    GTK 3.96, GTK 4 ನ ಪ್ರಾಯೋಗಿಕ ಬಿಡುಗಡೆ, ಪ್ರಕಟಿಸಲಾಗಿದೆ

  • ಸಂಪೂರ್ಣವಾಗಿ ಪುನಃ ಬರೆಯಲಾಗಿದೆ ವೆಬ್ ಬ್ರೌಸರ್ ವಿಂಡೋದಲ್ಲಿ GTK ಲೈಬ್ರರಿ ಔಟ್‌ಪುಟ್ ಅನ್ನು ನಿರೂಪಿಸಲು ಬ್ರಾಡ್‌ವೇ GDK ಬ್ಯಾಕೆಂಡ್ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಹಳೆಯ ಬ್ರಾಡ್‌ವೇ ಅನುಷ್ಠಾನವು GTK 4 ರಲ್ಲಿ ಪ್ರಸ್ತಾಪಿಸಲಾದ ರೆಂಡರಿಂಗ್ ವಿಧಾನಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ (ಬಫರ್‌ಗೆ ಔಟ್‌ಪುಟ್ ಬದಲಿಗೆ, ಇದು ಈಗ ರೆಂಡರ್ ನೋಡ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ಮಾದರಿಯನ್ನು ಬಳಸುತ್ತದೆ, ಅಲ್ಲಿ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಉನ್ನತ ಮಟ್ಟದ ಕಾರ್ಯಾಚರಣೆಗಳ ಮರದ ರೂಪದಲ್ಲಿ ಸಂಯೋಜಿಸಲಾಗಿದೆ, ಓಪನ್‌ಜಿಎಲ್ ಮತ್ತು ವಲ್ಕನ್ ಬಳಸಿ ಜಿಪಿಯು ಮೂಲಕ ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ).
    ಹೊಸ ಬ್ರಾಡ್‌ವೇ ಆಯ್ಕೆಯು ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ರೆಂಡರಿಂಗ್ ಮಾಡಲು CSS ಶೈಲಿಗಳೊಂದಿಗೆ DOM ನೋಡ್‌ಗಳಾಗಿ ರೆಂಡರ್ ನೋಡ್‌ಗಳನ್ನು ಪರಿವರ್ತಿಸುತ್ತದೆ. ಪ್ರತಿ ಹೊಸ ಪರದೆಯ ಸ್ಥಿತಿಯನ್ನು ಹಿಂದಿನ ಸ್ಥಿತಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ DOM ಟ್ರೀಯಲ್ಲಿನ ಬದಲಾವಣೆಯಾಗಿ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ, ಇದು ರಿಮೋಟ್ ಕ್ಲೈಂಟ್‌ಗೆ ರವಾನೆಯಾಗುವ ಡೇಟಾದ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. 3D ರೂಪಾಂತರಗಳು ಮತ್ತು ಗ್ರಾಫಿಕ್ ಪರಿಣಾಮಗಳನ್ನು CSS ರೂಪಾಂತರ ಆಸ್ತಿಯ ಮೂಲಕ ಅಳವಡಿಸಲಾಗಿದೆ;

  • GDK ವೇಲ್ಯಾಂಡ್ ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಗಮನದಲ್ಲಿಟ್ಟುಕೊಂಡು ವಿನ್ಯಾಸಗೊಳಿಸಿದ API ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ ಮತ್ತು X11-ಆಧಾರಿತ API ಗಳನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸಿ ಅಥವಾ ಅವುಗಳನ್ನು ಪ್ರತ್ಯೇಕ X11 ಬ್ಯಾಕೆಂಡ್‌ಗೆ ಸರಿಸಿ. ಮಕ್ಕಳ ಮೇಲ್ಮೈಗಳು ಮತ್ತು ಜಾಗತಿಕ ನಿರ್ದೇಶಾಂಕಗಳ ಬಳಕೆಯಿಂದ ದೂರ ಸರಿಯುವ ಕೆಲಸದಲ್ಲಿ ಪ್ರಗತಿ ಇದೆ. GDK ಯಿಂದ GDK_SURFACE_SUBSURFACE ಗೆ ಬೆಂಬಲವನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ;
  • ಪ್ರಸ್ತಾವಿತ ಪ್ರತ್ಯೇಕ GdkDrag ಮತ್ತು GdkDrop ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಡ್ರ್ಯಾಗ್-ಅಂಡ್-ಡ್ರಾಪ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸುವುದರೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದ ಕೋಡ್‌ನ ರಿಫ್ಯಾಕ್ಟರಿಂಗ್ ಮುಂದುವರೆಯಿತು;
  • ಈವೆಂಟ್ ನಿರ್ವಹಣೆಯನ್ನು ಸರಳಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಈಗ ಇನ್‌ಪುಟ್‌ಗಾಗಿ ಮಾತ್ರ ಬಳಸಲಾಗುತ್ತದೆ. ಉಳಿದ ಈವೆಂಟ್‌ಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಸಿಗ್ನಲ್‌ಗಳೊಂದಿಗೆ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಔಟ್‌ಪುಟ್ ಈವೆಂಟ್‌ಗಳ ಬದಲಿಗೆ, “GdkSurface::ರೆಂಡರ್” ಸಿಗ್ನಲ್ ಅನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಕಾನ್ಫಿಗರೇಶನ್ ಈವೆಂಟ್‌ಗಳ ಬದಲಿಗೆ - “GdkSurface::ಗಾತ್ರ-ಬದಲಾಯಿಸಲಾಗಿದೆ”, ಈವೆಂಟ್‌ಗಳನ್ನು ಮ್ಯಾಪಿಂಗ್ ಮಾಡುವ ಬದಲು - “GdkSurface: :ಮ್ಯಾಪ್ಡ್", ಬದಲಿಗೆ gdk_event_handler_set() - "GdkSurface::event";
  • Wayland ಗಾಗಿ GDK ಬ್ಯಾಕೆಂಡ್ GtkSettings ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಪೋರ್ಟಲ್ ಇಂಟರ್ಫೇಸ್‌ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಿದೆ. ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು, ಪಠ್ಯ-ಇನ್‌ಪುಟ್-ಅಸ್ಥಿರ-v3 ಪ್ರೋಟೋಕಾಲ್ ವಿಸ್ತರಣೆಗೆ ಬೆಂಬಲವನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ;
  • ವಿಜೆಟ್‌ಗಳ ಅಭಿವೃದ್ಧಿಗಾಗಿ, ಗೋಚರ ಪ್ರದೇಶದ ವಿನ್ಯಾಸವನ್ನು ಅವಲಂಬಿಸಿ ಅಂಶಗಳ ವಿನ್ಯಾಸವನ್ನು ನಿಯಂತ್ರಿಸುವ ವ್ಯವಸ್ಥೆಯ ಅನುಷ್ಠಾನದೊಂದಿಗೆ ಹೊಸ GtkLayoutManager ವಸ್ತುವನ್ನು ಪರಿಚಯಿಸಲಾಗಿದೆ. GtkLayoutManager GtkBox ಮತ್ತು GtkGrid ನಂತಹ GTK ಕಂಟೈನರ್‌ಗಳಲ್ಲಿ ಮಕ್ಕಳ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಹಲವಾರು ಸಿದ್ದವಾಗಿರುವ ಲೇಔಟ್ ಮ್ಯಾನೇಜರ್‌ಗಳನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ: ಒಂದು ಚೈಲ್ಡ್ ಎಲಿಮೆಂಟ್‌ನೊಂದಿಗೆ ಸರಳ ಕಂಟೈನರ್‌ಗಳಿಗಾಗಿ GtkBinLayout, ರೇಖೀಯವಾಗಿ ಜೋಡಿಸಲಾದ ಚೈಲ್ಡ್ ಎಲಿಮೆಂಟ್‌ಗಳಿಗಾಗಿ GtkBoxLayout, ಗ್ರಿಡ್‌ಗೆ ಮಕ್ಕಳ ಅಂಶಗಳನ್ನು ಜೋಡಿಸಲು GtkGridLayout, ಚೈಲ್ಡ್ ಎಲಿಮೆಂಟ್‌ಗಳ ಅನಿಯಂತ್ರಿತ ಸ್ಥಾನಕ್ಕಾಗಿ GtkFixedLayout, ಟ್ರಾನ್ಸ್‌ಲ್ಯಾಟೇಟ್-ಆಧಾರಿತ ಗಾತ್ರದ ಸಾಂಪ್ರದಾಯಿಕ ಅಂಶಗಳಿಗೆ GtkCustomLay ನಿರ್ವಾಹಕರು;
  • ಮಕ್ಕಳ ಅಂಶಗಳ ಪುಟ ಪ್ರದರ್ಶನಕ್ಕಾಗಿ ಸಾರ್ವಜನಿಕವಾಗಿ ಪ್ರವೇಶಿಸಬಹುದಾದ ವಸ್ತುಗಳನ್ನು GtkAssistant, GtkStack ಮತ್ತು GtkNotebook ವಿಜೆಟ್‌ಗಳಿಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಈ ವಿಜೆಟ್‌ಗಳ ಲೇಔಟ್-ಸಂಬಂಧಿತವಲ್ಲದ ಮಕ್ಕಳ ಗುಣಲಕ್ಷಣಗಳನ್ನು ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಎಲ್ಲಾ ಮಕ್ಕಳ ಗುಣಲಕ್ಷಣಗಳನ್ನು ನಿಯಮಿತ ಗುಣಲಕ್ಷಣಗಳು, ಲೇಔಟ್ ಗುಣಲಕ್ಷಣಗಳು ಅಥವಾ ಪುಟದ ವಸ್ತುಗಳಿಗೆ ಸರಿಸಲಾಗಿದೆಯಾದ್ದರಿಂದ, ಮಕ್ಕಳ ಗುಣಲಕ್ಷಣಗಳಿಗೆ ಬೆಂಬಲವನ್ನು GtkContainer ನಿಂದ ಸಂಪೂರ್ಣವಾಗಿ ತೆಗೆದುಹಾಕಲಾಗಿದೆ;
  • ಕೋರ್ GtkEntry ಕಾರ್ಯವನ್ನು ಹೊಸ GtkText ವಿಜೆಟ್‌ಗೆ ಸರಿಸಲಾಗಿದೆ, ಇದು ವರ್ಧಿತ GtkEditable ಎಡಿಟಿಂಗ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಎಲ್ಲಾ ಡೇಟಾ ಇನ್‌ಪುಟ್ ಉಪವರ್ಗಗಳನ್ನು ಹೊಸ GtkText ವಿಜೆಟ್‌ನ ಆಧಾರದ ಮೇಲೆ GtkEditable ಅಳವಡಿಕೆಗಳಾಗಿ ರೀಮೇಕ್ ಮಾಡಲಾಗಿದೆ;
  • ಪಾಸ್‌ವರ್ಡ್ ನಮೂದು ಫಾರ್ಮ್‌ಗಳಿಗಾಗಿ ಹೊಸ GtkPasswordEntry ವಿಜೆಟ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • CSS ಅಥವಾ gtk_widget_allocate ಆರ್ಗ್ಯುಮೆಂಟ್ ಮೂಲಕ GskTransform ಗೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ರೇಖೀಯ ರೂಪಾಂತರ ವಿಧಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಚೈಲ್ಡ್ ಎಲಿಮೆಂಟ್‌ಗಳನ್ನು ಪರಿವರ್ತಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು GtkWidgets ಸೇರಿಸಿದೆ. GtkFixed ವಿಜೆಟ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಈಗಾಗಲೇ ಅನ್ವಯಿಸಲಾಗಿದೆ;
  • ಹೊಸ ಪಟ್ಟಿ ಉತ್ಪಾದನೆಯ ಮಾದರಿಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel ಮತ್ತು GtkSingleSelection. ಭವಿಷ್ಯದಲ್ಲಿ ನಾವು GtkListView ಗೆ ಪಟ್ಟಿ ಮಾದರಿಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲು ಯೋಜಿಸುತ್ತೇವೆ;
  • GtkBuilder ಐಡೆಂಟಿಫೈಯರ್ ಮೂಲಕ ಲಿಂಕ್‌ಗಳನ್ನು ಬಳಸುವ ಬದಲು ಆಬ್ಜೆಕ್ಟ್ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಸ್ಥಳೀಯವಾಗಿ (ಇನ್‌ಲೈನ್) ಹೊಂದಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಿದೆ;
  • GTK 4 ರಿಂದ GTK 3 ಗೆ UI ಫೈಲ್‌ಗಳನ್ನು ಪರಿವರ್ತಿಸಲು gtk4-builder-tool ಗೆ ಆಜ್ಞೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • ಪ್ರಮುಖ ಥೀಮ್‌ಗಳು, ಕೋಷ್ಟಕ ಮೆನುಗಳು ಮತ್ತು ಕಾಂಬೊ ಬಾಕ್ಸ್‌ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ. GtkInvisible ವಿಜೆಟ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ.

    ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ