Port Extensions to GNOME Shell 46
Metadata
TIP
There were no relevant changes to metadata.json
in GNOME 46.
Extension
TIP
There were no relevant changes to extension.js
in GNOME 46.
GNOME Shell
appDisplay
ui/appDisplay.js/FolderIcon
now uses overview-tile app-folder
style class instead of app-well-app app-folder
.
And the edit icon for ui/appDisplay.js/AppFolderDialog
folder name entry now uses icon-button
style class instead of edit-folder-button
.
Also app-well-app
style class renamed to overview-tile
and app-well-app-running-dot
renamed to app-grid-running-dot
for ui/appDisplay.js/AppIcon
.
Calendar
ui/calendar.js/Calendar
uses calendar-day-heading
instead of calendar-day calendar-day-heading
style class for weekday labels.
CtrlAtlTab
ui/ctrlAltTab.js/CtrlAltTabManager
uses shell-focus-windows-symbolic
icon instead of focus-windows-symbolic
.
WorldClocksSection
ui/dateMenu.js/WorldClocksSection
's header now uses no-world-clocks
style class name when no world clocks have been set by the user.
WeatherSection
ui/dateMenu.js/WeatherSection
now uses no-location
style class name when the weather location can not be retrieved.
MessagesIndicator
ui/dateMenu.js/MessagesIndicator
now uses messages-indicator
style class name.
Message
Since the message list has been changed on GNOME Shell 46, ui/messageList.js/Message
has new header (ui/messageList.js/MessageHeader
) and time label (ui/messageList.js/TimeLabel
).
Also ui/messageList.js/Message
has datetime
getter and setter for the time label.
The message box under message header has message-box
style class name.
MessageTray
ui/messageTray.js/NotificationPolicy
has new static newForApp()
method that can create a new policy for the app.
ui/messageTray.js/Notification
has new iconName
getter and setter.
The new ui/messageTray.js/getSystemSource()
allows you to get a system notification source that Main.notify()
and most Shell notifications use.
PopupMenu
ui/popupMenu.js/Ornament
enum added new NO_DOT
to have less ambiguous symbols for radio options. This ornament will use ornament-dot-checked-symbolic
and ornament-dot-unchecked-symbolic
icons.
ui/popupMenu.js/Switch
is using switch-on-symbolic
and switch-off-symbolic
icons for on and off.
Screenshot
Since session mode can disallow the screencast (sessionMode.allowScreencast
), ui/screenshot.js/UIMode
enum added new SCREENSHOT_ONLY
.
Also, ui/screenshot.js/ScreenshotUI
has new screenshot-taken
and closed
signals.
New Keybindings
New keybindings added in ui/windowManager/WindowManager
since GNOME Shell 46 using new key bindings for opening a new instance of pinned applications (Super + Ctrl + Number
).
BackgroundAppMenuItem
close icon
The style class for background app menu item close button changed from close-button
to icon-button
.
Keyboard Model Configuration Support
Since keyboard model configuration support has been added (xkb-model
), ui/status/keyboard.js/InputSourceSystemSettings
has new getter and setter for keyboardModel
and emitting keyboard-model-changed
when the keyboard mode is getting changed.
ExtensionState
misc/extensionUtils.js/ExtensionState
enum renamed some of the states:
Old | New |
---|---|
ENABLED | ACTIVE |
DISABLED | INACTIVE |
DISABLING | DEACTIVATING |
ENABLING | ACTIVATING |
St.Bin
Expand Properties
St.Bin
and all sub classes like Button
, QuickSettingsItem
, ... now only expand according to its expand properties (x-expand
and y-expand
), not when the alignment is set to Clutter.ActorAlign.FILL
.
St.Button
St.Button
label now defaults to plain text not Pango markup.
Clutter.cairo
Hellpers
GNOME Shell 46 dropped Clutter.cairo
helpers. If you are using Clutter.cairo_set_source_color()
in St.DrawingArea
, cairo.Context
can use setSourceColor()
instead (cr.setSourceColor()
).
Meta.Barrier.display
Meta.Barrier.display
is now deprecated. To get the backend barrier you can use global.backend
which returns Meta.Barrier.backend
.
Shell.BlurEffect
The sigma
in Shell.BlurEffect
should be replaced by radius
. Since the sigma value is radius / 2.0
, the radius
value will be sigma * 2.0
.
GJS
Clutter.Container
Clutter.Container
was removed. To feature test you can do:
if (Clutter.Container === undefined) {
console.log('No Clutter Container');
}
Clutter.Container.add_actor()
and Clutter.Container.remove_actor()
are deprecated and you should use Clutter.Actor.add_child()
and Clutter.Actor.remove_child()
instead.
So, instead of actor-added
and actor-removed
signals you can use child-added
and child-removed
.
Gio.UnixInputStream
Gio.UnixInputStream
is moved to GioUnix and you should use GioUnix.InputStream
instead.