Skip to content

Instantly share code, notes, and snippets.

@flexiondotorg
Last active September 20, 2020 19:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save flexiondotorg/dfdf9d0bcf93a477005d6c7f6e1c103e to your computer and use it in GitHub Desktop.
Save flexiondotorg/dfdf9d0bcf93a477005d6c7f6e1c103e to your computer and use it in GitHub Desktop.
Migrate Ubuntu Indicators to Ayatana Indicators

Migrate to Webcamoid

  • Update seeds
  • Update and upload ubuntu-mate-meta

Migrate to Ayatana Indicators

  • Sync mate-indicators-applet from Debian unstable
  • Modify Ubuntu MATE seeds to include ayatana-indicators-* and artica-greeter
  • Update and upload ubuntu-mate-meta
  • Update gschema overrides in ubuntu-mate-settings
  • Remove references to Ubuntu indicators in ubuntu-mate-settings
  • Add symlinks for ayatana-indicator-notifications to ubuntu-mate-artwork
  • Update upstream MATE Optimus to use Ayatana Indicators.
  • Update mate-tweak to be Ayatana Indicators aware

The indicators

  • ayatana-indicator-application
  • ayatana-indicator-datetime
  • ayatana-indicator-notifications
  • ayatana-indicator-power
  • ayatana-indicator-session
  • ayatana-indicator-sound

What's missing?

  • ayatana-indicator-messages
  • There is not currently a configuration UI for Artica Greeter.
  • Arctica Greeter uses a built-in A11y indicator which will be replace by ayatana-a11y-indicator in the future.

MATE Desktop 1.24.1 SRU

Package                     Status          Bugs                                Notes
mate-common                 Focal Ready     (LP: #1891891)                      Upload proposed
mate-desktop                Focal Ready     (LP: #1891891)                      Upload proposed
libmatekbd                  Focal Ready     (LP: #1891891)                      Upload proposed
libmatemixer                Focal Ready     (LP: #1891891)                      Upload proposed
libmateweather              Focal Ready     (LP: #1891891)                      Upload proposed
marco                       Focal Ready     (LP: #1891891, #1871716, #1761876)  Upload proposed
mate-settings-daemon        Focal Ready     (LP: #1891891)                      Upload proposed
mate-session-manager        Focal Ready     (LP: #1891891)                      Upload proposed
mate-menus                  Focal Ready     (LP: #1891891, #1877782)            Upload proposed
mate-panel                  Focal Ready     (LP: #1891891, #1877782, 1793465)   Upload proposed
mate-notification-daemon    Focal Ready     (LP: #1891891, #1709053)            Upload proposed
mate-control-center         Focal Ready     (LP: #1891891)                      Upload proposed
mate-screensaver
mate-applets                Focal Ready     (LP: #1891891, #1877782, #1529827)  Upload proposed
mate-calc                   Focal Ready     (LP: #1891891)                      Upload proposed
mate-media                  Focal Ready     (LP: #1891891)                      Upload proposed
mate-power-manager          Focal Ready     (LP: #1891891)                      Upload proposed
mate-system-monitor
caja-extensions             Focal Ready     (LP: #1891891, #1864432)            Upload proposed
engrampa                    Focal Ready     (LP: #1891891)                      Upload proposed
eom                         Focal Ready     (LP: #1891891)                      Upload proposed
mate-sensors-applet         Focal Ready     (LP: #1891891. #1794348)            Upload proposed
mate-terminal               Focal Ready     (LP: #1891891, #1880715)            Upload proposed
#!/usr/bin/env bash
if [ $(id -u) -ne 0 ]; then
echo "ERROR! This script must be run as root."
exit 1
fi
CODENAME=$(lsb_release -cs)
if [ "${CODENAME}" != "groovy" ]; then
echo "ERROR! This script is only supported on Ubuntu 20.10 (Groovy)."
exit 1
fi
# This PPA includes:
# * mate-indicator-applet from Debain sid, patched to support Ayatana indicators
# * ayatana-indicator-sound which is not yet available in Debian/Ubuntu
# * ayatana-indicator-notifcations with recent upstream features ported over
apt-add-repository -y ppa:flexiondotorg/playpark
apt -y install arctica-greeter
# FIXME:
# * arctica-greeter recommends numix theme/icon and a bunch of fonts
# * Do not install `arctica-greeter-guest-session` since it pulls in `openbox`
apt -y remove --autoremove slick-greeter lightdm-settings
# Remove Ubuntu Indicators
apt -y remove --autoremove \
indicator-application \
indicator-datetime \
indicator-messages \
indicator-notifications \
indicator-power \
indicator-session \
indicator-sound
rm -v /usr/share/mate/autostart/indicator-application.desktop
rm -v /usr/share/mate/autostart/indicator-datetime.desktop
rm -v /usr/share/mate/autostart/indicator-messages.desktop
rm -v /usr/share/mate/autostart/indicator-power.desktop
rm -v /usr/share/mate/autostart/indicator-session.desktop
rm -v /usr/share/mate/autostart/indicator-sound.desktop
# Install Ayatana Indicators
apt -y install \
ayatana-indicator-application \
ayatana-indicator-datetime \
ayatana-indicator-notifications \
ayatana-indicator-power \
ayatana-indicator-printers \
ayatana-indicator-session \
ayatana-indicator-sound
apt -y update
apt -y upgrade
apt -y autoremove
# Create new defaults of artica-greeter
#FIXME: The a11y indicator doesn't get displayed.
cat <<'EOM' > /usr/share/glib-2.0/schemas/99_ubuntu-mate.gschema.override
[org.ArcticaProject.arctica-greeter]
background='/usr/share/backgrounds/ubuntu-mate-common/Green-Wall-Logo.png'
background-color='#3C3B37'
draw-grid=false
draw-user-backgrounds=false
enable-hidpi='auto'
font-name='Ubuntu 11'
icon-theme-name='Ambiant-MATE'
high-contrast=false
show-hostname=true
indicators=['ug-accessibility', 'org.ayatana.indicator.keyboard', 'org.ayatana.indicator.session', 'org.ayatana.indicator.datetime', 'org.ayatana.indicator.power', 'org.ayatana.indicator.sound', 'ayatana-application']
logo=''
only-on-monitor='auto'
onscreen-keyboard=false
play-ready-sound=true
screen-reader=false
show-hostname=true
theme-name='Ambiant-MATE'
togglebox-button-bgcolor='#87A556'
togglebox-font-fgcolor='#A0A0A0'
xft-antialias=true
xft-dpi=96
xft-hintstyle='hintslight'
xft-rgba='rgb'
[org.ayatana.indicator.datetime]
alarm-default-sound='/usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga'
calendar-default-sound='/usr/share/sounds/Yaru/stereo/message.oga'
[org.ayatana.indicator.session]
suppress-restart-menuitem=true
[org.ayatana.indicator.notifications]
filter-list=['Spotify', 'NetworkManager', 'MATE Tweak']
EOM
glib-compile-schemas /usr/share/glib-2.0/schemas
# Copy notification indicator icons
# FIXME: despite overriding these icons, the themed icons are not being used.
cp -av /usr/share/icons/Ambiant-MATE/status/22/indicator-notification-read-dnd.svg /usr/share/icons/Ambiant-MATE/status/22/ayatana-indicator-notification-read-dnd.svg
cp -av /usr/share/icons/Ambiant-MATE/status/22/indicator-notification-read.svg /usr/share/icons/Ambiant-MATE/status/22/ayatana-indicator-notification-read.svg
cp -av /usr/share/icons/Ambiant-MATE/status/22/indicator-notification-unread-dnd.svg /usr/share/icons/Ambiant-MATE/status/22/ayatana-indicator-notification-unread-dnd.svg
cp -av /usr/share/icons/Ambiant-MATE/status/22/indicator-notification-unread.svg /usr/share/icons/Ambiant-MATE/status/22/ayatana-indicator-notification-unread.svg
gtk-update-icon-cache /usr/share/icons/Ambiant-MATE/
cp -av /usr/share/icons/Radiant-MATE/status/22/indicator-notification-read-dnd.svg /usr/share/icons/Radiant-MATE/status/22/ayatana-indicator-notification-read-dnd.svg
cp -av /usr/share/icons/Radiant-MATE/status/22/indicator-notification-read.svg /usr/share/icons/Radiant-MATE/status/22/ayatana-indicator-notification-read.svg
cp -av /usr/share/icons/Radiant-MATE/status/22/indicator-notification-unread-dnd.svg /usr/share/icons/Radiant-MATE/status/22/ayatana-indicator-notification-unread-dnd.svg
cp -av /usr/share/icons/Radiant-MATE/status/22/indicator-notification-unread.svg /usr/share/icons/Radiant-MATE/status/22/ayatana-indicator-notification-unread.svg
gtk-update-icon-cache /usr/share/icons/Radiant-MATE/
# FIXME: mate-tweak need to become ayatana-indicator-aware
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment