[AGS] Bar: Done (WiFi still missing, will be added at some later point)
This commit is contained in:
		
							
								
								
									
										74
									
								
								config/astal/components/QuickActions/QuickActions.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								config/astal/components/QuickActions/QuickActions.tsx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| import { Gtk } from "astal/gtk4"; | ||||
| import Power from "./modules/Power"; | ||||
| import Audio from "./modules/Audio/Audio"; | ||||
| import Bluetooth from "./modules/Bluetooth/Bluetooth"; | ||||
| import Brightness from "./modules/Brightness/Brightness"; | ||||
| import Player from "./modules/Player/Player"; | ||||
| import { BatteryBox } from "./modules/Battery"; | ||||
| import { exec } from "astal"; | ||||
| import Network from "./modules/Networking/Network"; | ||||
|  | ||||
| const QuickActions = () => { | ||||
|     const popover = new Gtk.Popover({ cssClasses: ["quick-actions-wrapper"] }); | ||||
|     popover.set_child(renderQuickActions()); | ||||
|     return popover; | ||||
| }; | ||||
|  | ||||
| const renderQuickActions = () => { | ||||
|     const user = exec("/bin/sh -c whoami"); | ||||
|     const profile = exec("/bin/fish -c get-profile-picture"); | ||||
|     const cwd = exec("pwd"); | ||||
|     const um = Power.UserMenu(); | ||||
|  | ||||
|     return ( | ||||
|         <box visible cssClasses={["quick-actions", "popover-box"]} vertical> | ||||
|             <centerbox | ||||
|                 startWidget={ | ||||
|                     <button | ||||
|                         onClicked={() => um.popup()} | ||||
|                         cssClasses={["stealthy-button"]} | ||||
|                         child={ | ||||
|                             <box> | ||||
|                                 {um} | ||||
|                                 <Gtk.Frame | ||||
|                                     cssClasses={["avatar-icon"]} | ||||
|                                     child={ | ||||
|                                         <image | ||||
|                                             file={ | ||||
|                                                 profile !== "" | ||||
|                                                     ? profile | ||||
|                                                     : cwd + | ||||
|                                                       "/no-avatar-icon.jpg" | ||||
|                                             } | ||||
|                                         ></image> | ||||
|                                     } | ||||
|                                 ></Gtk.Frame> | ||||
|                                 <label label={user}></label> | ||||
|                             </box> | ||||
|                         } | ||||
|                     ></button> | ||||
|                 } | ||||
|                 endWidget={ | ||||
|                     <box> | ||||
|                         <BatteryBox></BatteryBox> | ||||
|                         <Power.Power></Power.Power> | ||||
|                     </box> | ||||
|                 } | ||||
|             ></centerbox> | ||||
|             <Gtk.Separator marginTop={10} marginBottom={20}></Gtk.Separator> | ||||
|             <box> | ||||
|                 <Bluetooth.BluetoothModule></Bluetooth.BluetoothModule> | ||||
|                 <Network.Network></Network.Network> | ||||
|             </box> | ||||
|             <Gtk.Separator marginTop={10} marginBottom={10}></Gtk.Separator> | ||||
|             <Brightness.BrightnessModule></Brightness.BrightnessModule> | ||||
|             <Audio.AudioModule></Audio.AudioModule> | ||||
|             <Player.PlayerModule></Player.PlayerModule> | ||||
|         </box> | ||||
|     ); | ||||
| }; | ||||
|  | ||||
| // TODO: Expose additional functions to be usable through CLI | ||||
| export default { | ||||
|     QuickActions, | ||||
| }; | ||||
		Reference in New Issue
	
	Block a user