diff --git a/qml.qrc b/qml.qrc
index a192518..61c8169 100644
--- a/qml.qrc
+++ b/qml.qrc
@@ -103,5 +103,6 @@
         qml/IconButton.qml
         images/dark/down.svg
         images/light/down.svg
+        qml/SystemTray.qml
     
 
diff --git a/qml/CardItem.qml b/qml/CardItem.qml
index 196b537..f02f615 100644
--- a/qml/CardItem.qml
+++ b/qml/CardItem.qml
@@ -100,6 +100,8 @@ Item {
             asynchronous: true
             Layout.alignment: Qt.AlignHCenter
             Layout.topMargin: FishUI.Units.largeSpacing
+            antialiasing: true
+            smooth: true
 
 //            ColorOverlay {
 //                anchors.fill: _image
diff --git a/qml/ControlCenter.qml b/qml/ControlCenter.qml
index 175245e..074f831 100644
--- a/qml/ControlCenter.qml
+++ b/qml/ControlCenter.qml
@@ -140,6 +140,8 @@ ControlCenterDialog {
                     Layout.preferredWidth: iconSize
                     sourceSize: String(source) === "image://icontheme/default-user" ? Qt.size(iconSize, iconSize) : undefined
                     source: currentUser.iconFileName ? "file:///" + currentUser.iconFileName : "image://icontheme/default-user"
+                    antialiasing: true
+                    smooth: false
 
                     layer.enabled: true
                     layer.effect: OpacityMask {
@@ -380,6 +382,8 @@ ControlCenterDialog {
                         source: "qrc:/images/" + (FishUI.Theme.darkMode ? "dark/" : "light/") + battery.iconSource
                         asynchronous: true
                         Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
+                        antialiasing: true
+                        smooth: false
                     }
 
                     Label {
diff --git a/qml/IconButton.qml b/qml/IconButton.qml
index c93178f..1ba185d 100644
--- a/qml/IconButton.qml
+++ b/qml/IconButton.qml
@@ -72,5 +72,7 @@ Item {
         sourceSize.height: height
         source: control.source
         asynchronous: true
+        antialiasing: true
+        smooth: false
     }
 }
diff --git a/qml/SystemTray.qml b/qml/SystemTray.qml
new file mode 100644
index 0000000..7565870
--- /dev/null
+++ b/qml/SystemTray.qml
@@ -0,0 +1,55 @@
+import QtQuick 2.12
+import QtQuick.Layouts 1.12
+import QtQuick.Controls 2.12
+
+import Cutefish.StatusBar 1.0
+import FishUI 1.0 as FishUI
+
+ListView {
+    id: trayView
+
+    orientation: Qt.Horizontal
+    layoutDirection: Qt.RightToLeft
+    interactive: false
+    spacing: FishUI.Units.smallSpacing / 2
+    clip: true
+
+    property real itemWidth: rootItem.iconSize + FishUI.Units.largeSpacing
+
+    Layout.fillHeight: true
+    Layout.preferredWidth: (itemWidth + (count - 1) * FishUI.Units.smallSpacing) * count
+
+    model: SystemTrayModel {
+        id: trayModel
+    }
+
+    delegate: StandardItem {
+        property bool darkMode: rootItem.darkMode
+
+        width: trayView.itemWidth
+        height: ListView.view.height
+        animationEnabled: true
+
+        onDarkModeChanged: updateTimer.restart()
+
+        Timer {
+            id: updateTimer
+            interval: 10
+            onTriggered: iconItem.updateIcon()
+        }
+
+        FishUI.IconItem {
+            id: iconItem
+            anchors.centerIn: parent
+            width: rootItem.iconSize
+            height: width
+            source: model.iconName ? model.iconName : model.icon
+            antialiasing: true
+            smooth: false
+        }
+
+        onClicked: trayModel.leftButtonClick(model.id)
+        onRightClicked: trayModel.rightButtonClick(model.id)
+        popupText: model.toolTip ? model.toolTip : model.title
+    }
+}
diff --git a/qml/main.qml b/qml/main.qml
index c743c07..da4acb5 100644
--- a/qml/main.qml
+++ b/qml/main.qml
@@ -102,6 +102,8 @@ Item {
                                         rootItem.iconSize)
                     source: acticity.icon ? "image://icontheme/" + acticity.icon : ""
                     visible: status === Image.Ready
+                    antialiasing: true
+                    smooth: false
                 }
 
                 Label {
@@ -251,6 +253,8 @@ Item {
                     width: rootItem.iconSize
                     height: width
                     source: model.iconName ? model.iconName : model.icon
+                    antialiasing: true
+                    smooth: false
                 }
 
                 onClicked: trayModel.leftButtonClick(model.id)
@@ -270,6 +274,12 @@ Item {
             onClicked: toggleDialog()
             onRightClicked: toggleDialog()
 
+            Behavior on Layout.preferredWidth {
+                NumberAnimation {
+                    duration: 100
+                }
+            }
+
             function toggleDialog() {
                 if (controlCenter.visible)
                     controlCenter.close()
@@ -298,6 +308,8 @@ Item {
                     sourceSize: Qt.size(width, height)
                     asynchronous: true
                     Layout.alignment: Qt.AlignCenter
+                    antialiasing: true
+                    smooth: false
                 }
 
                 Image {
@@ -312,6 +324,8 @@ Item {
                              enabledConnections.wirelessEnabled &&
                              activeConnection.wirelessName &&
                              wirelessIcon.status === Image.Ready
+                    antialiasing: true
+                    smooth: false
                 }
 
                 // Battery Item
@@ -325,6 +339,8 @@ Item {
                         sourceSize: Qt.size(width, height)
                         source: "qrc:/images/" + (rootItem.darkMode ? "dark/" : "light/") + battery.iconSource
                         Layout.alignment: Qt.AlignCenter
+                        antialiasing: true
+                        smooth: false
                     }
 
                     Label {