import Gtk from "gi://Gtk"; import AstalNetwork from "gi://AstalNetwork"; import AstalBluetooth from "gi://AstalBluetooth"; import { exec } from "gi://GLib"; let quickActionsMenu; // Toggle WiFi connection function toggleWiFi() { const network = AstalNetwork.get_default(); const wifi = network.get_wifi()!; const state = wifi.get_state(); if (state === AstalNetwork.WifiState.DISCONNECTED) { wifi.connect(); } else { wifi.disconnect(); } } // Toggle Bluetooth power state function toggleBluetooth() { const bluetooth = AstalBluetooth.get_default(); const adapter = bluetooth.get_adapter(); const powered = adapter?.get_powered(); adapter?.set_powered(!powered); } // Adjust volume or microphone (opens pavucontrol) function adjustVolume() { exec("pavucontrol"); } function adjustMic() { exec("pavucontrol"); } // Power menu function showPowerMenu() { exec("power-menu"); } // Show WiFi network picker function pickWiFi() { const wifi = AstalNetwork.get_default().get_wifi(); wifi.show_picker(); } // Show Bluetooth device picker function pickBluetooth() { const bluetooth = AstalBluetooth.get_default(); bluetooth.show_picker(); } // Create menu using JSX function createQuickActionsMenu() { quickActionsMenu = (
); return quickActionsMenu; } // Export the function export { createQuickActionsMenu };