221 lines
6.4 KiB
Markdown
221 lines
6.4 KiB
Markdown
# Useful things in newer versions
|
|
|
|
## Windows
|
|
### Windows 7
|
|
http://channel9.msdn.com/blogs/pdc2008/pc43
|
|
|
|
TODO look up PDC 2008 talk "new shell user interface"
|
|
|
|
- new animation and text engine
|
|
- ribbon control (didn't this have some additional license?)
|
|
- LVITEM.piColFmt
|
|
|
|
### Windows 8
|
|
|
|
### Windows 8.1
|
|
|
|
### Windows 10
|
|
|
|
## GTK+
|
|
TODO what ships with Ubuntu Quantal (12.10)?
|
|
|
|
### GTK+ 3.10
|
|
ships with: **Ubuntu Trusty (14.04 LTS)**
|
|
<br>GLib version: 2.40
|
|
|
|
minimum versions (see `configure.ac` for the relevant tagged 3.x.0 versions):
|
|
- GLib: 2.37.5
|
|
- ATK: 2.7.5
|
|
- cairo: 1.12.0
|
|
- pango: 1.32.4
|
|
- gdk-pixbuf: 2.27.1
|
|
|
|
features:
|
|
- tab character stops in GtkEntry
|
|
- GtkHeaderBar
|
|
- intended for titlebar overrides; GtkInfoBar is what I keep thinking GtkHeaderBar is
|
|
- **GtkListBox**
|
|
- GtkRevealer for smooth animations of disclosure triangles
|
|
- GtkSearchBar for custom search popups
|
|
- **GtkStack and GtkStackSwitcher**
|
|
- titlebar overrides (seems to be the hot new thing)
|
|
|
|
### GTK+ 3.12
|
|
ships with: Ubuntu Utopic (14.10)
|
|
<br>GLib version: 2.42
|
|
|
|
minimum versions:
|
|
- GLib: 2.39.5
|
|
- ATK: 2.7.5
|
|
- cairo: 1.12.0
|
|
- pango: 1.32.4
|
|
- gdk-pixbuf: 2.27.1
|
|
|
|
features:
|
|
- GtkActionBar (basically like the bottom-of-the-window toolbars in Mac programs)
|
|
- gtk_get_locale_direction(), for internationalization
|
|
- more control over GtkHeaderBar
|
|
- **GtkPopover**
|
|
- GtkPopovers on GtkMenuButtons
|
|
- GtkStack signaling
|
|
- **gtk_tree_path_new_from_indicesv()** (for when we add Table if we have trees too)
|
|
|
|
### GTK+ 3.14
|
|
ships with: **Debian Jessie**, Ubuntu Vivid (15.04)
|
|
<br>GLib version: Debian: 2.42, Ubuntu: 2.44
|
|
|
|
minimum versions:
|
|
- GLib: 2.41.2
|
|
- ATK: 2.12.0
|
|
- cairo: 1.12.0
|
|
- pango: 1.36.7
|
|
- gdk-pixbuf: 2.30.0
|
|
|
|
features:
|
|
- gestures
|
|
- better GtkListbox selection handling
|
|
- more style classes (TODO also prior?)
|
|
- delayed switch changes on GtkSwitch
|
|
|
|
### GTK+ 3.16
|
|
ships with: Ubuntu Wily (15.10)
|
|
<br>GLib version: 2.46
|
|
|
|
minimum versions:
|
|
- GLib: 2.43.4
|
|
- ATK: 2.15.1
|
|
- cairo: 1.14.0
|
|
- pango: 1.36.7
|
|
- gdk-pixbuf: 2.30.0
|
|
|
|
features:
|
|
- gtk_clipboard_get_default() (???)
|
|
- **GtkGLArea**
|
|
- proper xalign and yalign for GtkLabel; should get rid of runtime deprecation warnings
|
|
- better control of GtkListBox model-based creation (probably not relevant but)
|
|
- GtkModelButton (for GActions; probably not relevant?)
|
|
- wide handles on GtkPaned
|
|
- GtkPopoverMenu
|
|
- IPP paper names in GtkPaperSize (TODO will this be important for printing?)
|
|
- multiple matches in GtkSearchEntry (TODO evaluate priority)
|
|
- **GtkStackSidebar**
|
|
- GTK_STYLE_CLASS_LABEL, GTK_STYLE_CLASS_MONOSPACE, GTK_STYLE_CLASS_STATUSBAR, GTK_STYLE_CLASS_TOUCH_SELECTION, GTK_STYLE_CLASS_WIDE (TODO figure out which of these are useful)
|
|
- GtkTextView: extend-selection
|
|
- GtkTextView: font fallbacks
|
|
|
|
### GTK+ 3.18
|
|
ships with: TODO
|
|
|
|
minimum versions:
|
|
- GLib: 2.45.8 (min_required 2.44 max_allowed 2.46 ?)
|
|
- ATK: 2.15.1
|
|
- cairo: 1.14.0
|
|
- pango: 1.37.3
|
|
- gdk-pixbuf: 2.30.0
|
|
|
|
features:
|
|
- TODO
|
|
|
|
### GTK+ 3.20
|
|
ships with: TODO
|
|
|
|
minimum versions (TODO double-check these):
|
|
- GLib: 2.45.8 (min_required 2.44 max_allowed 2.46 ?)
|
|
- ATK: 2.15.1
|
|
- cairo: 1.14.0
|
|
- pango: 1.37.3
|
|
- gdk-pixbuf: 2.30.0
|
|
|
|
features:
|
|
- TODO
|
|
|
|
### GTK+ 3.22
|
|
ships with: TODO
|
|
|
|
minimum versions:
|
|
- GLib: 2.49.4 (min_required 2.48 max_allowed 2.50 ?)
|
|
- ATK: 2.15.1
|
|
- cairo: 1.14.0
|
|
- pango: 1.37.3
|
|
- gdk-pixbuf: 2.30.0
|
|
|
|
features:
|
|
- TODO
|
|
|
|
### GTK+ 3.24
|
|
ships with: TODO
|
|
|
|
minimum versions:
|
|
- GLib: 2.49.4 (min_required 2.48 max_allowed 2.50 ?)
|
|
- ATK: 2.15.1
|
|
- cairo: 1.14.0
|
|
- pango: 1.41.0
|
|
- gdk-pixbuf: 2.30.0
|
|
|
|
features:
|
|
- TODO
|
|
|
|
### TODO greater versions
|
|
ships with: TODO
|
|
|
|
minimum versions:
|
|
- GLib: TODO (min_required TODO max_allowed TODO ?)
|
|
- ATK: TODO
|
|
- cairo: TODO
|
|
- pango: TODO
|
|
- gdk-pixbuf: TODO
|
|
|
|
features:
|
|
- TODO
|
|
|
|
## Cocoa
|
|
### Mac OS X 10.8
|
|
|
|
- Foundation ([full details](https://developer.apple.com/library/mac/releasenotes/Foundation/RN-FoundationOlderNotes/#//apple_ref/doc/uid/TP40008080-TRANSLATED_CHAPTER_965-TRANSLATED_DEST_999B))
|
|
- NSDateComponents supports leap months
|
|
- NSNumberFormatter and NSDateFormatter default to 10.4 behavior by default (need to explicitly do this on 10.7)
|
|
- **NSUserNotification and NSUserNotificationCenter for Growl-style notifications**
|
|
- better linguistic triggers for Spanish and Italian
|
|
- NSByteCountFormatter
|
|
- AppKit ([full details](https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKitOlderNotes/#X10_8Notes))
|
|
- view-based NSTableView/NSOutlineView have expansion tooltips
|
|
- NSScrollView magnification
|
|
- Quick Look events; TODO see if they conflict with keyboard handling in Area
|
|
- NSPageController (maybe useful?)
|
|
- not useful for package UI, but may be useful for a new library (probably not by me): NSSharingService
|
|
- NSOpenPanel and NSSavePanel are now longer NSPanels or NSWindows in sandboxed applications; this may be an issue should anyone dare to enable sandboxing on a program that uses package ui
|
|
- NSTextAlternatives
|
|
- -[NSOpenGLContext setFullScreen] now ineffective
|
|
- +[NSColor underPageBackgroundColor]
|
|
|
|
### Mac OS X 10.9
|
|
|
|
- Foundation ([full details](https://developer.apple.com/library/mac/releasenotes/Foundation/RN-Foundation/))
|
|
- system-provided progress reporting/cancellation support
|
|
- NSURLComponents
|
|
- **NSCalendar, NSDateFormatter, and NSNumberFormatter are now thread-safe**
|
|
- various NSCalendar and NSDateComponents improvements
|
|
- AppKit ([full details](https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKit/))
|
|
- sheet handling is now block-based, queued, and in NSWindow; the delegate-based NSApplication API will still exist, except without the queue
|
|
- similar changes to NSAlert
|
|
- **return value changes to NSAlert**
|
|
- window visibility APIs (occlusion)
|
|
- NSApplicationActivationPolicyAccessory
|
|
- fullscreen toolbar behavior changes
|
|
- status items for multiple menu bars
|
|
- better NSSharingService support
|
|
- a special accelerated scrolling mode, Responsive Scrolling; won't matter for us since I plan to support the scroll wheel and it won't
|
|
- NSScrollView live scrolling notifications
|
|
- NSScrollView floating (anchored/non-scrolling) subviews
|
|
- better multimonitor support
|
|
- better key-value observing for NSOpenPanel/NSSavePanel (might want to look this up to see if we can override some other juicy details... TODO)
|
|
- better accessory view key-view handling in NSOpenPanel/NSSavePanel
|
|
- NSAppearance
|
|
- **-[NSTableView moveRowAtIndex:toIndex:] bug regarding first responders fixed**
|
|
- view-specific RTL overrides
|
|
|
|
### Mac OS X 10.10
|
|
|
|
### Mac OS X 10.11
|
|
* **NSLayoutGuide**
|