diff --git a/widget/Bar.scss b/widget/Bar.scss index 5651a14..03149ab 100644 --- a/widget/Bar.scss +++ b/widget/Bar.scss @@ -1,4 +1,5 @@ -@use "./widget/modules/modules.scss"; +@use "./modules/modules.scss"; +@use "./menus/menus.scss"; window.Bar { background: transparent; diff --git a/widget/Bar.tsx b/widget/Bar.tsx index 7b3d82d..dd81658 100644 --- a/widget/Bar.tsx +++ b/widget/Bar.tsx @@ -1,6 +1,5 @@ import { App, Astal, Gtk, Gdk } from "astal/gtk3"; import { - PowerMenu, Cpu, BatteryLevel, Ram, @@ -9,18 +8,15 @@ import { // FocusedClient, Time, SysTray, - Media, LauncherButton, PowerMenuButton, MediaPlayerButton, Volume, } from "./modules/export"; -// import Wp from "gi://AstalWp"; -// import { bind } from "astal"; +import { BatteryMenu, MediaMenu, PowerMenu } from "./menus/menus"; export default function Bar(gdkmonitor: Gdk.Monitor) { const { TOP, LEFT, RIGHT } = Astal.WindowAnchor; - // const speaker = Wp.get_default()?.audio.defaultSpeaker!; return ( <> - + + ); } diff --git a/widget/menus/BatteryMenu/BatteryMenu.scss b/widget/menus/BatteryMenu/BatteryMenu.scss new file mode 100644 index 0000000..1820853 --- /dev/null +++ b/widget/menus/BatteryMenu/BatteryMenu.scss @@ -0,0 +1,38 @@ +.Batterymenu { + background-color: transparent; + padding: 10px; + box { + margin: 5px; + } + + .BatteryMainBox { + background-color: black; + border-radius: 25px; + padding: 10px; + } + + icon { + font-size: 25px; + padding: 0 2px; + } + + .BatteryTopTitle { + font-weight: bold; + font-size: 15px; + padding: 0 2px; + } + + .BatteryInfoTable { + padding: 10px; + background-color: rgb(55, 55, 55); + border-radius: 25px; + min-width: 300px; + label { + font-size: 15px; + } + + label.BatteryInfoTableRowTitle { + color: rgb(170, 170, 170); + } + } +} diff --git a/widget/menus/BatteryMenu/BatteryMenu.tsx b/widget/menus/BatteryMenu/BatteryMenu.tsx new file mode 100644 index 0000000..d71f41c --- /dev/null +++ b/widget/menus/BatteryMenu/BatteryMenu.tsx @@ -0,0 +1,93 @@ +import { Astal, App, Gtk } from "astal/gtk3"; +import Battery from "gi://AstalBattery"; +import { bind } from "astal"; + +const BatteryMenu = () => { + const { TOP, RIGHT } = Astal.WindowAnchor; + const { START, END } = Gtk.Align; + const bat = Battery.get_default(); + console.log( + bat.charging, + bat.capacity, + bat.energyFull, + bat.energy_full_design, + ); + return ( + + + + + + + + + + + + + + + + + + + + + + ); +}; + +export default BatteryMenu; diff --git a/widget/modules/Media/Media.scss b/widget/menus/MediaMenu/MediaMenu.scss similarity index 100% rename from widget/modules/Media/Media.scss rename to widget/menus/MediaMenu/MediaMenu.scss diff --git a/widget/modules/Media/Media.tsx b/widget/menus/MediaMenu/MediaMenu.tsx similarity index 99% rename from widget/modules/Media/Media.tsx rename to widget/menus/MediaMenu/MediaMenu.tsx index 8599edc..7b26c06 100644 --- a/widget/modules/Media/Media.tsx +++ b/widget/menus/MediaMenu/MediaMenu.tsx @@ -10,7 +10,7 @@ function lengthStr(length: number) { return `${min}:${sec0}${sec}`; } -export default function Media() { +export default function MediaMenu() { const { TOP, RIGHT } = Astal.WindowAnchor; const mpris = Mpris.get_default(); diff --git a/widget/menus/Powermenu/PowerMenu.scss b/widget/menus/Powermenu/PowerMenu.scss new file mode 100644 index 0000000..42f4769 --- /dev/null +++ b/widget/menus/Powermenu/PowerMenu.scss @@ -0,0 +1,22 @@ +window.Powermenu { + margin: 5px; + background-color: transparent; + box { + margin: 5px; + background-color: black; + border-radius: 25px; + button { + all: unset; + margin: 2px; + padding: 5px 15px 5px 13px; + background-color: black; + border-radius: 25px; + transition: 300ms; + background-color: rgb(70, 70, 70); + + &:hover { + background-color: gray; + } + } + } +} diff --git a/widget/menus/Powermenu/PowerMenu.tsx b/widget/menus/Powermenu/PowerMenu.tsx new file mode 100644 index 0000000..2370f81 --- /dev/null +++ b/widget/menus/Powermenu/PowerMenu.tsx @@ -0,0 +1,26 @@ +import { Astal, App } from "astal/gtk3"; + +export default function PowerMenu() { + const { TOP, RIGHT } = Astal.WindowAnchor + const powermenulist = [ + {action: "/home/tola/.config/ags/scripts/powermenu lock", label: ""}, + {action: "/home/tola/.config/ags/scripts/powermenu suspend", label: ""}, + {action: "/home/tola/.config/ags/scripts/powermenu logout", label: ""}, + {action: "/home/tola/.config/ags/scripts/powermenu reboot", label: ""}, + {action: "/home/tola/.config/ags/scripts/powermenu poweroff", label: ""} + ] + + return + + {powermenulist.map(data => ( + + ))} + + +} \ No newline at end of file diff --git a/widget/menus/menus.scss b/widget/menus/menus.scss new file mode 100644 index 0000000..c99f598 --- /dev/null +++ b/widget/menus/menus.scss @@ -0,0 +1,3 @@ +@use "./BatteryMenu/BatteryMenu.scss"; +@use "./MediaMenu/MediaMenu.scss"; +@use "./Powermenu/PowerMenu.scss"; diff --git a/widget/menus/menus.ts b/widget/menus/menus.ts new file mode 100644 index 0000000..bfc7e92 --- /dev/null +++ b/widget/menus/menus.ts @@ -0,0 +1,5 @@ +import BatteryMenu from "./BatteryMenu/BatteryMenu"; +import MediaMenu from "./MediaMenu/MediaMenu"; +import PowerMenu from "./Powermenu/PowerMenu"; + +export { BatteryMenu, MediaMenu, PowerMenu }; diff --git a/widget/modules/Battery/Battery.scss b/widget/modules/Battery/Battery.scss index de096c0..8b16713 100644 --- a/widget/modules/Battery/Battery.scss +++ b/widget/modules/Battery/Battery.scss @@ -1,12 +1,16 @@ .Battery { - background-color: rgb(70, 70, 70); - border-radius: 25px; - border: 3pt solid black; - padding: 0 5px; - icon { - margin: 0 5px; - } - label { - margin: 0 5px 0 0; - } + background-color: rgb(70, 70, 70); + border-radius: 25px; + border: 3pt solid black; + padding: 0 5px; + transition: 300ms; + &:hover { + background-color: gray; + } + icon { + margin: 0 5px; + } + label { + margin: 0 5px 0 0; + } } diff --git a/widget/modules/Battery/Battery.tsx b/widget/modules/Battery/Battery.tsx index f393a9a..e2326e1 100644 --- a/widget/modules/Battery/Battery.tsx +++ b/widget/modules/Battery/Battery.tsx @@ -1,15 +1,26 @@ -import { bind } from "astal" -import Battery from "gi://AstalBattery" +import { bind } from "astal"; +import Battery from "gi://AstalBattery"; +import { close_all_menus } from "../../utils/windows"; +import { App } from "astal/gtk3"; export default function BatteryLevel() { - const bat = Battery.get_default() - console.log(bat.charging, bat.capacity, bat.energyFull, bat.energy_full_design) + const bat = Battery.get_default(); - return + return ( + + ); +} diff --git a/widget/modules/export.ts b/widget/modules/export.ts index 18d8e35..e4575a8 100644 --- a/widget/modules/export.ts +++ b/widget/modules/export.ts @@ -1,13 +1,11 @@ import BatteryLevel from "./Battery/Battery"; import Cpu from "./Cpu/Cpu"; import FocusedClient from "./FocusedClient/FocusedClient"; -import PowerMenu from "./Powermenu/PowerMenu"; import Ram from "./Ram/Ram"; import Storage from "./Storage/Storage"; import SysTray from "./SysTray/SysTray"; import Time from "./Time/Time"; import Workspaces from "./Workspaces/Workspaces"; -import Media from "./Media/Media"; import LauncherButton from "./LauncherButton"; import PowerMenuButton from "./PowerMenuButton"; import MediaPlayerButton from "./MediaPlayerButton"; @@ -17,13 +15,11 @@ export { BatteryLevel, Cpu, FocusedClient, - PowerMenu, Ram, Storage, SysTray, Time, Workspaces, - Media, LauncherButton, PowerMenuButton, MediaPlayerButton, diff --git a/widget/modules/modules.scss b/widget/modules/modules.scss index c46ef0e..aa9f98c 100644 --- a/widget/modules/modules.scss +++ b/widget/modules/modules.scss @@ -1,5 +1,3 @@ -@use "./Media/Media.scss"; -@use "./Powermenu/PowerMenu.scss"; @use "./Cpu/Cpu.scss"; @use "./Ram/Ram.scss"; @use "./Time/Time.scss"; @@ -8,4 +6,4 @@ @use "./Workspaces/Workspaces.scss"; @use "./FocusedClient/FocusedClient.scss"; @use "./Volume/Volume.scss"; -@use "./Battery/Battery.scss" +@use "./Battery/Battery.scss";