Replace Widget.Icon with Label to fix stuttering icons.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { connectedControls } from "./connectedControls.js";
|
||||
import { getBluetoothIcon } from "../utils.js";
|
||||
|
||||
const devices = (bluetooth, self) => {
|
||||
return self.hook(bluetooth, () => {
|
||||
@@ -81,13 +82,14 @@ const devices = (bluetooth, self) => {
|
||||
hpack: "start",
|
||||
class_name: "menu-button-container",
|
||||
children: [
|
||||
Widget.Icon({
|
||||
vpack: "center",
|
||||
Widget.Label({
|
||||
vpack: "start",
|
||||
class_name: `menu-button-icon bluetooth ${conDevNames.includes(device.address) ? "active" : ""}`,
|
||||
icon: `${device["icon-name"]}-symbolic`,
|
||||
label: getBluetoothIcon(`${device["icon-name"]}-symbolic`),
|
||||
}),
|
||||
Widget.Box({
|
||||
vertical: true,
|
||||
vpack: "center",
|
||||
children: [
|
||||
Widget.Label({
|
||||
vpack: "center",
|
||||
|
||||
@@ -14,7 +14,7 @@ const label = (bluetooth) => {
|
||||
children: [
|
||||
Widget.Label({
|
||||
class_name: "menu-label",
|
||||
vpack: "start",
|
||||
vpack: "center",
|
||||
hpack: "start",
|
||||
label: "Bluetooth",
|
||||
}),
|
||||
|
||||
31
modules/menus/bluetooth/utils.js
Normal file
31
modules/menus/bluetooth/utils.js
Normal file
@@ -0,0 +1,31 @@
|
||||
const getBluetoothIcon = (iconName) => {
|
||||
const deviceIconMap = [
|
||||
["^audio-card*", ""],
|
||||
["^audio-headphones*", ""],
|
||||
["^audio-headset*", ""],
|
||||
["^audio-input*", ""],
|
||||
["^audio-speakers*", ""],
|
||||
["^bluetooth*", ""],
|
||||
["^camera*", ""],
|
||||
["^computer*", ""],
|
||||
["^input-gaming*", ""],
|
||||
["^input-keyboard*", ""],
|
||||
["^input-mouse*", ""],
|
||||
["^input-tablet*", ""],
|
||||
["^media*", ""],
|
||||
["^modem*", ""],
|
||||
["^network*", ""],
|
||||
["^phone*", ""],
|
||||
["^printer*", ""],
|
||||
["^scanner*", ""],
|
||||
["^video-camera*", ""],
|
||||
];
|
||||
|
||||
const foundMatch = deviceIconMap.find((icon) =>
|
||||
RegExp(icon[0]).test(iconName.toLowerCase()),
|
||||
);
|
||||
|
||||
return foundMatch ? foundMatch[1] : "";
|
||||
};
|
||||
|
||||
export { getBluetoothIcon };
|
||||
@@ -26,6 +26,7 @@ const renderWAPs = (self, network, staging, connecting) => {
|
||||
failed: "Connection Failed",
|
||||
};
|
||||
self.hook(network, () => {
|
||||
console.log(JSON.stringify(network, null, 2));
|
||||
Utils.merge(
|
||||
[staging.bind("value"), connecting.bind("value")],
|
||||
() => {
|
||||
|
||||
Reference in New Issue
Block a user