-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
8540 lines (7230 loc) · 296 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Overview of Changes in GTK 3.98.5
=================================
* Introduce new list widgets and supporting infrastructure.
The main APIs are:
- GtkListView
- GtkGridView
- GtkColumnView and GtkColumnViewColumn
- GtkDropDown
- GtkListItemFactory and implementations
- GtkExpression
- GtkFilter and subclasses, and GtkFilterListModel
- GtkSorter and subclasses, and GtkSortListModel
- GtkSelectionModel and subclasses
- GtkTreeListModel, GtkTreeExpander and GtkTreeListRowSorter
* GtkFileChooser:
- Add a tracker3-based search engine implementation
- Rate-limit updates from the trash monitor
* GtkWindow:
- Redo the css node setup. There is now a single 'window' node
- Fix rounded corners on tiled windows
* GtkApplication:
- Drop app menu support. Menubar support is still there
* GtkFixed:
- Change coordinate APIs to take doubles
* GtkOverlay:
- Make GtkOverlayLayout public
* GtkTooltips:
- Fix line wrapping of tooltips
* Shortcuts:
- Fix mnemonic cycling
- Fix using '0' as a mnemonic
* Menus:
- Differentiate keypad keys in accelerators
* GtkIMContext:
- Add gtk_im_context_filter_key to allow event reinjection
* Themes:
- Adwaita: Limit the scope of backdrop
* Accessibility:
- Clean up and reorganize the code to prepare for the
dropping of ATK
* GDK:
- Drop unused enum and struct definitions from headers
- Make keymap translation API public again. Still needed
- Frameclock: Always use compositor refresh rate info
- Frameclock: Use quadratic correction for frame time jitter
- Frameclock: Ensure monotonicity
- Frameclock: Track resason for paint
- X11: Improve sync when the Nvidia driver is used
* GSK:
- GL renderer: Fix blurred outset shadows
- GL renderer: handle nested transform nodes properly
- GL renderer: Optimize clip handling
* gtk-demo:
- Improve the Drag-and-Drop demo with proper drag icons
- Don't show the main window if --run is given
- Add demos for list widgets and GtkDropDrown
* Documentation:
- Convert freestanding sections to markdown
- Drop the glossary
- Expand and improve the migration guide
* Build:
- We require pandoc now, for building the documentation
- Require Pango 1.45
* Translation updates:
Polish
Romanian
Slovenian
Turkish
Ukrainian
Overview of Changes in GTK 3.98.4
=================================
* Themes
- Refine menu styling
- Tweak visible focus behavior
- HighConstrast: Add public colors
- HighContrast: Fix scale borders
* CSS:
- Drop the nonstandard -gtk-icon-theme property
- Add a system_setting_changed vfunc to propagate global changes
* Untangle titlebars from windows:
- Add a GtkWindowControls widget
- Add a GtkWindowHandle widget
- Add actions for window menu items
- Remove app menu fallback from GtkHeaderBar
- Remove title and subtitle properties from GtkHeaderBar,
rename custom-title to title-widget
* GtkWidget
- Add a focusable property
* GtkPopover:
- Fix (re-)positioning issues
* GtkStack:
- Drop the homogeneous property
- Add a use-underline property to stack pages
* GtkScale:
- Make area around the trough clickable
* GtkScrolledWindow:
- Fix kinetic scrolling
* GtkTreeView:
- Break reference cycles in unroot
* Drop GtkBin and GtkContainer. All existing GtkBin subclasses
have grown a child property with setter and getter. All
existing GtkContainer subclasses have grown widget-specific
remove (and in some cases, add) functions. <child> in ui
files continues to work as before
* Replace gtk_widget_destroy by gtk_window_destroy
* Drop the ::size-allocate signal. Use a GtkWidgetPaintable
if you need to be informed about changes to a widgets
content or size
* Remove gtk_dialog_run
* GDK:
- Wayland: Provide a builtin cursor of last resort
- Change the monitor api to use a GListModel
* GSK:
- Don't include renderer-specific headers automatically
- GL: Fix nested rounded clips
* Introspection:
- Assorted annotation fixes
* Inspector:
- Preview media resources
- Show media backend information
* gtk4-widget-factory:
- Add GtkVideo
- Add text styles
- Add a print dialog
- Add a password entry
- Improve toolbar styling
- Revamp transition effects
* gtk4-demo:
- Replace some demos
* Translation updates:
Chinese (Taiwan)
Esperanto
Japanese
Romanian
Spanish
Ukrainian
Overview of Changes in GTK 3.98.3
=================================
* GtkEntry:
- Support setting attributes in ui files
* GtkScaleButton:
- Don't derive from GtkButton
* GtkAboutDialog:
- Support more common licenses
* GtkEmojiChooser:
- Improve keyboard navigation
* GtkLabel:
- Remove pattern API
* GtkAspectFrame:
- Modernize and simplify
* Chooser buttons:
- Make dialogs modal by default
* Various widgets:
- Replace shadow-type and relief properties by
a simpler has-frame
* CSS:
- Use :focus-visible instead of :focus(visible)
- Add support for :focus-within
* Focus handling
- Fix crossing event generation
- Fix focus handling in various widgets
- Change :can-focus to be recursive
- Fix GtkWindow:is-active setting
* Scrolling
- gtk_container_set_focus_[hv]adjustment has been removed
- gtk_viewport_set_scroll_to_focus has been added
* Accessibility:
- Add a cursor-aspect-ratio setting
- Set focus-related states properly
* Themes:
- Use blue focus outlines more
- Numerous minor improvements
* Wayland:
- Fix .Compose file loading
- Support popup repositioning
- Fix problems with autohide popovers
* GDK:
- Remove GdkKeymap from public API, replaced by
GdkDevice properties
- Add full keyboard translation state to key events
- Simplify modifier support, drop GdkModifierIntent
- Move key event matching to GDK
- Add GdkSurface::enter/leave-monitor signals
- Turn GskEvent into a derivable type, and make
it introspectable
* GSK:
- Turn GskRenderNode into a derivable type, and make
it introspectable
- Fall back to cairo if compiling shaders fails
* Translation updates:
- Japanese
- Lithuanian
- Turkish
Overview of Changes in GTK 3.98.2
=================================
* Introduce GtkShortcutController, and replace key bindings,
mnemonics and accelerators by GtkShortcut
* Derive the HighContrast theme from Adwaita
* GtkMenuButton: Add a use-underline property
* GtkTreeView: Fix cell editing
* Add gdk_toplevel_inhibit_system_shortcuts
* gtk-demo: Fix issues in multiple demos
* Translation updates:
Polish
Overview of Changes in GTK 3.98.1
=================================
* GtkFileChooser:
- Remove filename/uri api
- Drop extra-widget
- Remove overwrite confirmation
- Remove show-hidden property
- Remove local-only property
- Remove GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
- The portal file chooser supports selecting folders
* GtkSpinner:
- Rename active property to spinning
* GtkRevealer:
- Fix size allocation at small scales
* GtkPopover:
- Drop :relative-to, it is always the :parent now
* GtkWindow:
- Drop window-type, it is always a regular toplevel
* GtkWidget:
- Drop expand property
- Drop margin property
- Drop gtk_grab_add, gtk_device_grab_add
* GtkTextView:
- Support overlines in GtkTextTag
- Support visible spaces in GtkTextTag
- Support hyphenation control in GtkTextTag
* Split GtkEventControllerFocus from GtkEventControllerKey
* DND:
- Fix local DND to avoid serialization
- Add new content provider constructors
- Split GtkDropTargetAsync and GtkDropTarget
- Group DND events into event sequences
- Propagate DND events like motion events
- Introduce GtkDropControllerMotion
- Remove GtkSelectionData
* Performance:
- Clean up profiler marks
- Share GL programs between renderers
* GDK:
- Drop gdk_surface_new_temp
- Make GdkEvent an immutable boxed type, not an object
- Remove GdkAtom and property- and selection-related apis
- Introduce GdkPopup and GdkToplevel interfaces
- Implement them in backend-specific surface subtypes
- Rename gdk_surface_input_shape_combine_region to
gdk_surface_set_input_region
- Drop X11-only concepts such as sticky or keep-below
* OS X: Fix OpenGL extension detection
* Broadway: implement scaling
* Translation updates:
Dutch
Japanese
Persian
Overview of Changes in GTK 3.98.0
=================================
While this release gets significantly closer to what we aim for in GTK 4,
there are still a few big items outstanding that we are currently working
on:
- Event controllers for keyboard shortcuts
- Movable popovers
- Row-recycling list and grid views
- Revamped accessibility infrastructure
- Animation API
We will do further 3.98.x snapshots as these land.
*****************
* The DND refactoring has been completed. The GTK API for DND has been turned
into event controllers: GtkDragSource and GtkDropTarget. Support for file
transfers via file transfer portal has been added for both DND and the clipboard.
* Child surfaces have been removed. GDK only supports toplevel and popup surfaces
now. The client-side window implementation has been removed too. On the GTK side,
the GtkNative interface has been introduced for widgets that have their own
surface. This cleanup is not 100% complete yet.
* Global positions and related apis such as gdk_surface_move are no longer available.
* A constraint-based layout manager has been added.
* Many classes have been made explicitly non-subclassable, and the widget hierarchy
has been simplified, by making widgets derive directly from GtkWidget instead of
a container.
* Menu-related changes:
- GtkMenu, GtkMenuBar and related classes have been removed. They are being replaced
by GMenu and popover-based variants. Popover menus can now do traditional, nested
menus, and model buttons show accelerators.
- Context menus are no longer created with ::populate-popup signals, but use menu
models and actions.
- Widget actions can be created in class_init, with gtk_widget_class_install_action.
- GtkToolbar has been removed as well.
* Text-related changed:
- Text cursor blinking has been made smooth.
- GtkTextView is caching rendernodes for the visible text range now, improving the
scrolling performance of text.
- Add a simple undo stack for text edits has been added.
* The native Win32 filechooser backend supports choices.
* GtkTreeView renders tree and grid lines with textures.
* GtkEmojiChooser has been made public.
* GtkGestureMultiPress has been renamed to GtkGestureClick.
* GtkWidget has api to handle style classes: gtk_widget_add_style_class.
This is the first step towards moving away from GtkStyleContext.
* X11-specific changes:
- XI2 is now mandatory
- The xim input method has been removed
* Wayland-specific changes:
- The loading of cursor themes has been improved to load cursors on demand,
and no longer relies on libwayland-cursor.
* The GL renderer is now sharing icon and glyph caches for all surfaces,
and has better support for blurring and shadow rendering.
* Performance-related changes:
- GTK provides profiling information for Sysprof when launched with GTK_TRACE=1.
- Css computation has been optimized
- Css lookups are using a Bloom filter
- Icon loading IO has been moved to a thread
Overview of Changes in GTK+ 3.96.0
==================================
* DND has been refactored. There are now separate GdkDrag and GdkDrop
objects. This work is still incomplete
* The GDK_SURFACE_SUBSURFACE surface type has been removed.
* Use of child surfaces has been greatly reduced. This work is still
incomplete
* The use of global coordinates in GDK apis has been reduced. This
work is still incomplete
* Events have been simplified and are used just for input
- expose events have been replaced by a GdkSurface::render signal
- configure events have been replaced by a GdkSurface::size-changed signal
- map events have been replaced by a GdkSurface::mapped property
- gdk_event_handler_set has been replaced by a GdkSurface::event signal
- key events no longer contain a string
- events on unmapped widgets are ignored
* Warping the pointer is no longer supported
* The Wayland backend now uses the Settings portal for GtkSettings
* The Wayland input module uses the text-input-unstable-v3 protocol
* The Broadway backend has been rewritten to work well with GSK
* The color chooser has a color picker
* GtkApplication tracks screensaver state and has a ::query-end signal
* The file chooser portal backend supports file filters
* A number of list models have been introduced, for internal use
and as public api:
- GtkMapListModel
- GtkSliceListModel
- GtkSortListModel
- GtkSelectionModel
- GtkSingleSelection
* Support for tabular menus and combo boxes has been dropped
* Key themes are no longer supported
* GtkInvisible has been dropped
* A GtkRoot interface has been added that is currently implemented
just by GtkWindow. This work is incomplete
* GtkWidgets can transform their children using projective linear
transformations. This functionality is available in CSS and
as GskTransform argument to gtk_widget_allocate. GtkFixed is
a container that exposes this functionality. For examples of this,
see the swing transition of GtkRevealer, the rotate transitions
of GtkStack or the Fixed Layout example in gtk-demo.
* GtkEntry functionality has been moved into a new GtkText widget,
the GtkEditable interface has been expanded, and new a new
GtkPasswordEntry widget has been introduced.
* Focus handling has been rewritten, and focus-change event
generation has been unified with crossing events.
* All demos and settings schemas have been renamed to avoid collisions
with GTK3.
* GtkWidget can now use a GtkLayoutManager for size allocation.
Layout managers can optionally use layout children holding layout
properties. A number of layout managers are available:
- GtkBinLayout
- GtkBoxLayout
- GtkGridLayout
- GtkFixedLayout
- GtkCustomLayout
More layout manager implementations will appear in the future.
* GtkAssistant, GtkStack and GtkNotebook now have publicly
accessible page objects for their children. The page objects
are also exposed via a list model.
* GtkContainer no longer supports child properties. All existing
child properties have been removed, converted to regular properties,
moved to layout properties or moved to child meta objects.
* GtkListBox has gained a ::show-separators property that gets
translated into a CSS style class.
* A number of X11-specific GtkWindow and GdkSurface apis have been
removed or changed to backend APIs.
* GtkBuilder can specify object-valued properties inline.
* The gtk4-builder-tool simplify command has gained a --3to4 option
to convert GTK3 ui files to GTK4.
* The inspector can show child meta objects and layout properties.
Overview of Changes in GTK+ 3.94.0
==================================
* GdkPaintable is a new, powerful abstraction for drawable content.
gtk4-demo has a new "Paint" demo to show some of its capabilities.
* There is support for displaying media, with
GtkVideo
GtkMediaFile
GtkMediaStream
GtkMediaControls
* GtkFontChooser now supports OpenType font variations and features.
* The Ctrl-Shift-E support in the simple IM context has been replaced
by an optional completion popup for Emoji alpha codes. This can be
enabled with the GtkEntry::enable-emoji-completion property.
* Wayland has an input method based on the text protocol now
* Input methods, print backends and media backends have been converted
to GIOModules and extension points, and support for generic loadable
modules has been dropped. Platform im modules are always included.
* GdkWindow has been renamed to GdkSurface.
* Applications can now create their own GtkSnapshot objects for
intermediate rendering.
* Widget event signals have been replaced by event controllers,
and some new event controllers have been introduced for this:
GtkEventControllerMotion
GtkEventControllerKey
GtkGestureStylus
* Event controllers can now be created in .ui files.
* Invalidation tracking has been changed, only gtk_widget_queue_draw is left.
* Observing widget contents and size is now done by using the
GtkWidgetPaintable object instead of connecting to widget signals.
* The GtkWidget::draw signal has been removed, widgets need
to implement GtkWidget::snapshot.
* GdkTexture now has GdkMemoryTexture and GdkGLTexture subclasses.
* The Vulkan support in GDK can now use a particular device that is
specified by the GDK_VULKAN_DEVICE environment variable. use
GDK_VULKAN_DEVICE=list to see them all.
* GTK+ Inspector
- has logging support, and the logging settings have been cleaned up
- has an fps overlay
* Removed APIs and features:
Individual event signals such as ::proximity-in-event
The ::draw signal
threading support
non-platform IM modules
papi and test print backends
GtkPlacesSidebar
GtkRecentChooser
GtkToolPalette
GdkStatus
gtk_true, gtk_false
gtk_widget_show_now
gtk_widget_draw
gtk_render_icon_surface
* Incomplete transitions:
The ::event signal is not still there, but it will be removed
The DND apis are not finalized yet
* Translation updates:
Croatian
Esperanto
Estonian
French
Friulian
Icelandic
Latvian
Polish
Russian
Scottish Gaelic
Spanish
Overview of Changes in GTK+ 3.93.0
==================================
Major changes:
* GdkScreen has been removed. All screen-related APIs have equivalents
in GdkDisplay. This affects APIs in both GDK and GTK, for example,
the GtkWidget::screen-changed signal has been replaced by a new
::display-changed signal. As part of this change, there is no longer
a GdkWindow representing the root window. The X11 backend has APIs
to get X screens and root windows.
* GdkVisual has been removed.
* GdkDeviceManager has been replaced by GdkSeat.
* Clipboard handling has been moved from GTK to GDK, and has been
modernized to provide an extensible, asynchronous, stream-based API.
This affects APIs in both GDK and GTK. GdkSelection has been replaced
by GdkContentFormats, GdkContentProvider, GdkContentSerializer and
GdkContentDeserializer. Selection-related events and APIs have
been removed.
This conversion is complete for copy-paste, the drag-and-drop APIs
are still in flux.
* The GdkCursor API has been modernized. We no longer have the
GdkCursorType enumeration. Instead, can be created from names
or from GdkTextures. In GTK, we now have gtk_widget_set_cursor().
* Settings and window-state changes have been converted from events
to signals on GdkDisplay and GdkWindow, respectively.
* GdkEvent has been converted to an opaque GObject.
* The GL renderer in GSK has been substantially completed, and is now
on par with the Vulkan renderer.
* The use of GdkPixbuf in APIs has been reduced, and the GskTexture
object has been moved to GDK as GdkTexture, to take its place. This
change affects both GDK and GTK, for example the GtkAboutDialog::logo
property now accepts a GdkTexture. As part of these changes,
support for GdkPixbufAnimation has been dropped.
* The handling of icon sizes has been changed. The GtkIconSize
enumeration allows selection normal or large icons now, and the
actual icon size is determined by the theme, using the -gtk-icon-size
CSS property. Among other things, this allows animating icon size changes.
Smaller changes:
* Build system:
- Meson can now be used to build GTK+ on Windows
- We install print backends again
- libepoxy 1.4 is required
- libcloudproviders 0.2.5 is required
* GDK:
- gdk_keymap_get_for_display has been renamed to gdk_display_get_keymap
- We are no longer reading the GDK_DPI_SCALE environment variable
- The GdkX11Display::xevent signal has been added (to eventually replace event filters)
- gdk_pango_context_get_for_screen and gdk_pango_context_get have been dropped
- Default-display wrappers like gdk_set_double_click_time, gdk_beep, gdk_flush or
gdk_notify_startup_complete have been dropped
- gdk_display_set_program_class has been moved to the X11 backend
- The gdk_error_trap_push/pop APIs have been dropped, the X11 backend still has them
* Wayland:
- The Wayland backend now implements the KDE server-side decoration protocol
* Broadway:
- Broadway has been ported to GSK
- Only Unix domain sockets are supported now (we are passing fds to upload textures)
* GSK:
- We use cached textures for icons now
- We also use cached textures for symbolic icons, and recolor using a shader
- The glyph cache supports hi-dpi
- Some render node APIs have been tweaked: cairo, text, transform nodes
- GskRenderer::scale-factor and GskRenderer::viewport have been dropped
- gsk_render_node_set_scaling_filters has been dropped
* GTK:
- A new event controller, GtkEventControllerMotion, is intended to replace
most remaining uses of ::motion-notify-event
- New APIS: gtk_widget_contains and gtk_widget_pick
- gtk_widget_get_content_size has been replaced by gtk_widget_get_width/height
- The GtkWidget:parent-set signal has been dropped
- GtkHeaderBar::show-close-button has been renamed to ::show-title-buttons
- GtkFontButton::font-name has been replaced by GtkFontChooser::font
- The GtkTextTag::event signal has been dropped
- The text buffer serialization API has been removed
- We longer install 'semi-private' headers like gtktextlayout.h or gtktextdisplay.h
- gtk_application_is_inhibited has been dropped
* Theming:
- Focus rendering has been changed. Outlines are always rendered now, and
we set the :focus and :focus(visible) pseudo-classes on elements to allow
the theme control over where to render focus rectangles
- The font-feature-settings CSS property is supported
- The -gtk-icon-size custom CSS property allows theme control of icon sizes
* Emoji:
- We support Ctrl-. and Ctrl-; to pop up the Emoji chooser
- The Emoji chooser is also available in GtkTextView
- We avoid overly wide fallback rendering with some EmojiOne fonts
* GtkInspector:
- The inspector shows more render node details
- The UI has been slightly reorganized
* Bugs fixed:
668590 Need to check result of g_bus_get()
773299 Ensure GTK+-4.x builds and works on Windows (MSVC in particular)
775279 early calls to libepoxy cause all gtk3 programs to abort when ther...
777072 window shrinks when restored from maximized
779009 Missing property-change::accessible-description events when the to...
779862 Deprecate/rename gtk_header_bar_set_show_close_button() et. al.
783995 Monitor API inconsistencies across X11 & Wayland
784314 entry completion regression on wayland
785176 Add an item for favorite files in the GtkPlacesSidebar
785210 meson: Support build on Windows (using Visual Studio at least)
786123 GtkPlacesSidebar: Add support for libcloudproviders
787089 win32: GtkWindow of type GTK_WINDOW_POPUP/GDK_WINDOW_TEMP leaks me...
787128 Re-add FUSE network mounts in local-only mode
787142 Avoid assertion failed warnings from pango_layout_get_cursor_pos()...
787665 gdk_frame_clock_get_frame_time is irregular and causing stuttering
788841 Fix gtk_actionable_set_detailed_action_name API inconsistency
788898 Inspector: Default paned split position/ratio between tree and pro...
789054 Firefox crashes @gdk_window_begin_move_drag() on WM without _NET_W...
789134 gtk3-icon-browser: the copy button is not centred on the dialog
789149 GtkGestureZoom leaks the list of sequences while calculating the d...
789160 Add Windows compatible emoji shortcuts
789163 Fitzpatrick modifier selection requires lifting mouse button
789198 gdk: add accessor for GdkEventOwnerChange::reason
789213 Two Windows with GLAreas go horribly wrong
789327 appchooserwidget: Don't limit application list unconditionally
789357 Regression in 3.22.23: GDK_WINDOW_STATE_TILED flag is never set
789678 [GtkAboutDialog] GTK_LICENSE_AGPL_3_0 does not work
789733 Adwaita/HC: Fix entry.flat not being flat
789777 Resolving undefined reference to gdk_get_default_root_window
789870 gtk+4, GtkWindow: Several bugs when icon became a cairo_surface_t
790029 GtkTextView: Support gtk 3.22.19's emoji chooser
790031 GtkClipboardClearFunc is not being called
790171 gtk+4, GtkCssImageIconTheme: Don't unref a NULL pointer
790201 Settings in ~/.config/gtk-3.0/settings.ini ignored with GDK_BACKEN...
790287 gtk+4, GtkWindow: icon_from_list() does not scale down large icons
790489 broadway: Add missing dependency to build
790920 Add GdkSeat convenience API
790963 Thread safety issue in gtk_application_impl_dbus_startup
791062 Fix mapping window with complete xdg-foreign state
791176 GtkFileChooser: gtk4 defaults local_only to FALSE so docs need to ...
791281 Backport size allocation optimization from master to 3.22
791363 Shadow vertical offset is wrong when scaling is > 2
791549 gtklistbox: Crash on page-up on GtkListBox
791650 Do not warn about missing colord systemd service unit
791926 Cannot build gtk4 with documentation enabled
791927 Using '#!/usr/bin/perl' in scripts is not portable
* Updated translations:
Arabic
Czech
Polish
Russian
Serbian
Overview of Changes in GTK+ 3.92.1, 重庆市
==========================================
The bulk of the preparation for this release was done during
and after the fantastic GNOME.Asia Summit 2017 in Chongqing, China.
* Drop autotools support. Meson 0.42.1 is now required
* Implement most of CSS3 font-variant
* Add an Emoji chooser to GtkEntry
* Add new input hints for Emoji input
* Remaining widgets have been ported to GtkSnapshot
* GtkLabel and GtkEntry have been ported to use GSK
* Add a way for GtkOverlay to blur behind children. This is has a
demo in gtk4-demo
* Add support for native file choosers on older OS X versions
* Add support for libcloudproviders in GtkPlacesSidebar
* Non-windowed widgets are now allowed to have a size of 0x0
* Allow tiled windows to be resized. Under wayland, this uses version 2
of the gtk-shell protocol. Under X, it uses the _GTK_EDGE_CONSTRAINTS
property
* Input handling changes
- GdkEvent has new accessors for fields
- Traditional event signals (eg ::key-press-event) are now emitted from
an event controller
- Most widgets inside gtk have stopped using traditional event signals
- GDK_SEAT_CAPABILITY_ALL_POINTING now includes touch events
* Scrollbars allow middle-click to jump to a position again
* GSK changes:
- Add gsk_text_node_new
- Add a glyph cache for the Vulkan backend
- Add gsk_blur_node_new
- Add gsk_cross_fade_node_new
- Implement blur for Vulkan
- Implement repeat nodes for Vulkan
- Add gsk_blend_mode_new
- the vulkan backend now uses multiple render passes, avoiding many
fallbacks to cairo rendering
- The profiling output for vulkan is now more useful, showing how many
pixels of fallback rendering and intermediate textures we consume
* Inspector:
- The recorder shows more useful information about render nodes
- The general tab shows gsk and vulkan information
* Removed apis
- gdk_window_new_input
- gtk_widget_set_redraw_on_alloc
- gtk_widget_get_{border,content,margin}_allocation
- gtk_container_propagate_draw
- deprecated CSS properties and syntaxes
* Bugs fixed:
639931 gtk_application_add_window() docs should mention window destruction
644248 stylecontext: add a raised style class
705640 GtkWindow incorrectly requires a default screen
766909 Tooltip of the eject button is a bit confusing - or just missing
773299 Ensure GTK+-4.x builds and works on Windows (MSVC in particular)
775074 GtkScrolledWindow does not disconnect all GtkAdjustment signal handl...
775126 memory leak in gdk_wayland_window_ensure_cairo_surface
778382 gtk_css_static_style_get_default doesn't check for a null setting
778811 Enter submenus when activating their parent item
780750 Shift + click in GtkEntry doesn't select
780758 flowbox: bind_model passes wrong reference to create_widget_func in...
781757 gdk_seat_grab() not working for touchscreen events
782981 meson fixes
783649 negative content width warning in GtkLevelbar
783669 Allow resizing tiled windows
784016 Crash in gnome-terminal due to calling a GdkDisplayClass vfunc on a...
784421 Tooltips: Fix docs/theming for custom tooltip windows
785210 meson: Support build on Windows (using Visual Studio at least)
785306 FileChooserNativeQuartz: two fixes
785736 textview: fix bug on DnD displaced limits of selection
786144 GtkInfoBar Example - Wrong at developer.gnome.org (looks like typo/...
786209 X11: GtkPopover positioning doesn't "avoid" CSD window shadows
786400 "Art pen" named "Grip pen" in the Gnome Control Center
786469 gdkwindow: Avoid re-setting the opaque region if it doesn't change
786485 Image upload broken on vulkan
786492 Incorrect scaling factor with Vulkan on Wayland
786553 Wrong example number in Gtk Tutorial
786613 Adwaita: provide a generic sidebar icon and label styling
786673 Wayland: Crash in GtkEntryCompletion
786885 Add explanatory tooltip to emoji icon
786931 rnc/rng files specify "class" as mandatory for objects, but the par...
786932 Let the "type-func" override the object's "class" attribute when ge...
786938 Emoji picker wrongly opens when clicking on primary icon too
786940 ::icon-pressed handler stays connected when setting :show-emoji-ico...
786956 EmojiChooser: Fix theming on Adwaita:dark, HighContrast, etc.
786960 Emoji chooser: don't show 'insert Emoji' item in emoji chooser cont...
786964 Emoji Chooser: Can't scroll clicking on the scroll bar
786966 Emoji chooser: unnecessary spacing b/w some rows in search result
787021 GtkFlowBox: the orthogonal orientation always requests the most siz...
787103 gtk3-widget-factory crashes on exit after inserting an emote on page3
787172 EmojiChooser: Improve selection of section buttons
787279 EmojiChooser: Hovered emoji become impossible to see in HighContras...
787302 gtk+-3.22.20/gtk/gtkmountoperation-x11.c:669:sanity check after use ?
787303 gtk+-3.22.20/gtk/gtknotebook.c: 2 * redundant conditions ?
787410 entry: fix memory leak
787416 build: Improve subproject support for builds
787444 The color-selection dialog which is opened by a GtkColorButton shou...
787531 The tick button is not/barely visible on light colors with Dark theme
787600 PlacesSidebar/SidebarRow: CloudProvider singleton/accounts are neve...
787757 Focus outline easily disappears around color chooser swatches
788230 Bump GLib version to 2.53.7
788458 (style) Array index 'i' is used before limits check.
701296 gtkfixed accepts toplevel windows into its children list after gtk_...
728452 gtk_tree_view_column_create_button creates button which is leaked
763517 Selected then unselected Label in ListBox gets wrong colour until h...
786794 Print dialogue has a printer called "printer"
787669 Middle mouse click on scrollbar is ignored
787866 Untranslated key labels in the Keyboard panel of Settings
788534 cairo-node-serialization: Adjust bytes when width bytes != stride
788573 HighContrast: titlebar separator is too wide and joined to buttons,...
788614 Trying to reuse a TreeViewColumn causes criticals and a segfault (e...
788787 gtktextview: Add a missing g_assert_not_reached() for switch defaul...
788905 GtkRange horizontal scrolling causes movement in the wrong direction
* Translation updates:
Basque
Brazilian Portuguese
Catalan
Chinese (Taiwan)
Croatian
Czech
Danish
French
Friulian
Galician
German
Hungarian
Indonesian
Italian
Kazakh
Korean
Latvian
Lithuanian
Malayalam
Nepali
Persian
Polish
Romanian
Russian
Serbian
Serbian Latin
Slovak
Slovenian
Spanish
Swedish
Turkish
Overview of Changes in GTK+ 3.91.2
==================================
* All widgets are drawing CSS backgrounds and borders
* All gadgets have been replaced by widgets
* GtkSpinButton no longer derives from GtkEntry
* GtkScrollbar no longer derives from GtkRange
* GtkAccelLabel no longer derives from GtkLabel
* All remaining style properties have been removed
* A new 'widget bowl' demo has been added in gtk4-demo
* GtkEventBox has been removed. It is no longer needed
* Add support for entering emoji by name using Ctrl-Shift-e
* Wayland:
- Support Wacom tablet wheel scrolling
- Support the shortcut inhibitor protocol
* Bugs fixed:
776903 Label with hyperlinks cannot be opened with touch on wayland
776909 gtk_adjustment_clamp_page: Conditional jump or move depends on unin...
777333 In a GNOME Wayland session, gnome-terminal windows cannot be moved ...
777515 gtk3-icon-browser doesn't list document-edit-symbolic icon
778188 TE crashes on multiple repeated BELL chars
780938 No icon tooltip shown in GtkEntry
781246 Return value of gtk_widget_get_parent_window should be marked (nullable)
783343 wayland: RFC - add shortcut inhibitor support
783906 gtk_accelerator_get_label broken
784016 Crash in gnome-terminal due to calling a GdkDisplayClass vfunc on a ...
784624 process-stop-symbolic hardcoded as app menu fallback
785280 GtkCenterBox: No G_BEGIN_DECLS and G_END_DECLS in gtkcenterbox.h
785318 GtkActionBar: g_object_class_install_properties() is not called
785375 Cursors for Wacom tablets are not always updated correctly under Wayland
785423 Missing nullable annotation for gtk_bin_get_child
785672 Entry: Setting icon tooltip to empty disables tooltip on whole widget
785793 gsk_color_matrix_node_draw leaking cairo_pattern_t
* Translation updates:
Croatian
Czech
Friulian
Indonesian
Punjabi
Slovenian
Spanish
Overview of Changes in GTK+ 3.91.1
==================================
* Redo event delivery and focus handling and grabs, and stop using
subwindows for widgets. API changes due to this include:
- a new GtkWidget::pick vfunc