import { bind } from "astal";
import AstalBattery from "gi://AstalBattery";
import AstalBluetooth from "gi://AstalBluetooth";
import AstalNetwork from "gi://AstalNetwork"
import AstalWp from "gi://AstalWp";
import Brightness from "../../util/brightness";
import { Gtk } from "astal/gtk4";
import QuickActions from "../QuickActions/QuickActions";
const STATE = AstalNetwork.DeviceState;
const QuickView = () => {
const quickActions = QuickActions.QuickActions();
return
}
const NetworkWidget = () => {
const network = AstalNetwork.get_default();
return
{
if ( state === AstalNetwork.State.CONNECTING ) {
return 'chronometer-reset-symbolic';
} else if ( state === AstalNetwork.State.CONNECTED_LOCAL || state === AstalNetwork.State.CONNECTED_SITE || state === AstalNetwork.State.CONNECTED_GLOBAL ) {
return 'network-wired-activated-symbolic';
} else {
return 'paint-unknown-symbolic';
}
} )} cssClasses={[ 'network-widget', 'quick-view-symbol' ]} visible={bind( network.wifi, 'state' ).as( state => state !== STATE.ACTIVATED )}>
{
if ( state === STATE.ACTIVATED ) {
return network.wifi.iconName
} else {
return '';
}
} )} cssClasses={[ 'network-widget', 'quick-view-symbol' ]} visible={bind( network.wifi, 'state' ).as( state => state === STATE.ACTIVATED )}>
}
const BluetoothWidget = () => {
const bluetooth = AstalBluetooth.get_default();
const enabled = bind( bluetooth.adapter, "powered" );
const connected = bind( bluetooth, "isConnected" );
// For each connected BT device, render status
return
e )}>
c )}>
!c )}>
!e )}>
{bind( bluetooth, 'devices' ).as( devices => {
return devices.map( device => {
return c )}>
icon )}>
} );
} )}
}
const BatteryWidget = () => {
const battery = AstalBattery.get_default();
if ( battery.get_is_present() ) {
return icon )} cssClasses={[ 'quick-view-symbol' ]}>
} else {
return
}
// Else, no battery available -> Don't show the widget
}
const BrightnessWidget = () => {
const brightness = Brightness.get_default();
const screen_brightness = bind( brightness, "screen" );
return
}
const Audio = () => {
const wireplumber = AstalWp.get_default();
if ( wireplumber ) {
return
icon )} cssClasses={[ 'quick-view-symbol' ]}>
icon )} cssClasses={[ 'quick-view-symbol' ]}>
} else {
print( '[ WirePlumber ] Could not connect, Audio support in bar will be missing' );
return ;
}
}
// cssClasses={[ 'quick-view-symbol' ]}
export default {
QuickView
}