Skip to content

Commit 45a3118

Browse files
authored
Merge pull request #9 from tokyob0t/main
Added examples for python and lua to the docs 🤓
2 parents e9f9de6 + 4d5c7a7 commit 45a3118

File tree

12 files changed

+205
-53
lines changed

12 files changed

+205
-53
lines changed

docs/libraries/apps.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,17 +70,35 @@ const apps = new Apps.Apps({
7070
includeExecutable: true,
7171
})
7272

73-
print(apps.fuzzy_query("spotify")
74-
.map(app => app.name)
75-
.join("\n"))
73+
for (const app of apps.fuzzy_query("spotify")) {
74+
print(app.name)
75+
}
7676
```
7777

7878
```py [<i class="devicon-python-plain"></i> Python]
79-
# Not yet documented, contributions are appreciated
79+
from gi.repository import AstalApps as Apps
80+
81+
apps = Apps.Apps(
82+
include_entry=True,
83+
include_executable=True,
84+
)
85+
86+
for app in apps.fuzzy_query("obsidian"):
87+
print(app.get_name())
88+
8089
```
8190

8291
```lua [<i class="devicon-lua-plain"></i> Lua]
83-
-- Not yet documented, contributions are appreciated
92+
local Apps = require("lgi").require("AstalApps")
93+
94+
local apps = Apps.Apps({
95+
include_entry = true,
96+
include_executable = true,
97+
})
98+
99+
for _, app in ipairs(apps:fuzzy_query("lutris")) do
100+
print(app.name)
101+
end
84102
```
85103

86104
```vala [<i class="devicon-vala-plain"></i> Vala]

docs/libraries/auth.md

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,22 +73,42 @@ astal-auth --password my-password
7373
:::code-group
7474

7575
```js [<i class="devicon-javascript-plain"></i> JavaScript]
76-
import Auth from "gi://AstalAuth";
77-
import Gio from "gi://Gio";
78-
79-
Gio._promisify(Auth.Pam, "authenticate");
80-
81-
await Auth.Pam.authenticate("password")
82-
.then(_ => print("authentication sucessful"))
83-
.catch(logError);
76+
import Auth from "gi://AstalAuth"
77+
78+
Auth.Pam.authenticate("password", (_, task) => {
79+
try {
80+
AstalAuth.Pam.authenticate_finish(task)
81+
print("authentication sucessful")
82+
} catch (error) {
83+
print(error)
84+
}
85+
})
8486
```
8587

8688
```py [<i class="devicon-python-plain"></i> Python]
87-
# Not yet documented
89+
from gi.repository import AstalAuth as Auth
90+
91+
def callback(_, task) -> None:
92+
try:
93+
Auth.Pam.authenticate_finish(task)
94+
print("success")
95+
except Exception as e:
96+
print(e)
97+
98+
Auth.Pam.authenticate("password", callback)
8899
```
89100

90101
```lua [<i class="devicon-lua-plain"></i> Lua]
91-
-- Not yet documented
102+
local Auth = require("lgi").require("AstalAuth")
103+
104+
Auth.Pam.authenticate("password", function(_, task)
105+
local status, err = Auth.Pam.authenticate_finish(task)
106+
if err ~= nil then
107+
print(err)
108+
else
109+
print("success")
110+
end
111+
end)
92112
```
93113

94114
```vala [<i class="devicon-vala-plain"></i> Vala]

docs/libraries/battery.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,19 +67,27 @@ astal-battery --help
6767
:::code-group
6868

6969
```js [<i class="devicon-javascript-plain"></i> JavaScript]
70-
import Battery from "gi://AstalBattery";
70+
import Battery from "gi://AstalBattery"
7171

7272
const battery = Battery.get_default()
7373

74-
console.log(battery.percentage)
74+
print(battery.percentage)
7575
```
7676

7777
```py [<i class="devicon-python-plain"></i> Python]
78-
# Not yet documented
78+
from gi.repository import AstalBattery as Battery
79+
80+
battery = Battery.get_default()
81+
82+
print(battery.get_percentage())
7983
```
8084

8185
```lua [<i class="devicon-lua-plain"></i> Lua]
82-
-- Not yet documented
86+
local Battery = require("lgi").require("AstalBattery")
87+
88+
local battery = Battery.get_default()
89+
90+
print(battery.percentage)
8391
```
8492

8593
```vala [<i class="devicon-vala-plain"></i> Vala]

docs/libraries/bluetooth.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,19 +69,32 @@ bluetoothctl --help
6969
:::code-group
7070

7171
```js [<i class="devicon-javascript-plain"></i> JavaScript]
72-
import Bluetooth from "gi://AstalBluetooth";
72+
import Bluetooth from "gi://AstalBluetooth"
7373

7474
const bluetooth = Bluetooth.get_default()
7575

76-
console.log(bluetooth.get_devices().map(d => d.name))
76+
for (const device of bluetooth.get_devices()) {
77+
print(device.name)
78+
}
7779
```
7880

7981
```py [<i class="devicon-python-plain"></i> Python]
80-
# Not yet documented
82+
from gi.repository import AstalBluetooth as Bluetooth
83+
84+
bluetooth = Bluetooth.get_default()
85+
86+
for device in bluetooth.get_devices():
87+
print(device.get_name())
8188
```
8289

8390
```lua [<i class="devicon-lua-plain"></i> Lua]
84-
-- Not yet documented
91+
local Bluetooth = require("lgi").require("AstalBluetooth")
92+
93+
local bluetooth = Bluetooth.get_default()
94+
95+
for _, d in ipairs(bluetooth.devices) do
96+
print(d.name)
97+
end
8598
```
8699

87100
```vala [<i class="devicon-vala-plain"></i> Vala]

docs/libraries/hyprland.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,19 +62,32 @@ astal-hyprland # starts monitoring
6262
:::code-group
6363

6464
```js [<i class="devicon-javascript-plain"></i> JavaScript]
65-
import Hyprland from "gi://AstalHyprland";
65+
import Hyprland from "gi://AstalHyprland"
6666

6767
const hyprland = Hyprland.get_default()
6868

69-
console.log(hyprland.get_clients().map(c => c.title))
69+
for (const client of hyprland.get_clients()) {
70+
print(client.title)
71+
}
7072
```
7173

7274
```py [<i class="devicon-python-plain"></i> Python]
73-
# Not yet documented
75+
from gi.repository import AstalHyprland as Hyprland
76+
77+
hyprland = Hyprland.get_default()
78+
79+
for client in hyprland.get_clients():
80+
print(client.get_title())
7481
```
7582

7683
```lua [<i class="devicon-lua-plain"></i> Lua]
77-
-- Not yet documented
84+
local Hyprland = require("lgi").require("AstalHyprland")
85+
86+
local hyprland = Hyprland.get_default()
87+
88+
for _, c in ipairs(hyprland.clients) do
89+
print(c.title)
90+
end
7891
```
7992

8093
```vala [<i class="devicon-vala-plain"></i> Vala]

docs/libraries/mpris.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,31 @@ astal-mpris --help
6666
:::code-group
6767

6868
```js [<i class="devicon-javascript-plain"></i> JavaScript]
69-
import Mpris from "gi://AstalMpris";
69+
import Mpris from "gi://AstalMpris"
7070

7171
const spotify = Mpris.Player.new("spotify")
7272

7373
if (spotify.available)
74-
console.log(spotify.title)
74+
print(spotify.title)
7575
```
7676

7777
```py [<i class="devicon-python-plain"></i> Python]
78-
# Not yet documented
78+
from gi.repository import AstalMpris as Mpris
79+
80+
spotify = Mpris.Player.new("spotify")
81+
82+
if spotify.get_available():
83+
print(spotify.get_title())
7984
```
8085

8186
```lua [<i class="devicon-lua-plain"></i> Lua]
82-
-- Not yet documented
87+
local Mpris = require("lgi").require("AstalMpris")
88+
89+
local Mpris = Mpris.Player.new("spotify")
90+
91+
if spotify.available then
92+
print(spotify.title)
93+
end
8394
```
8495

8596
```vala [<i class="devicon-vala-plain"></i> Vala]

docs/libraries/network.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,19 +64,27 @@ nmcli --help
6464
:::code-group
6565

6666
```js [<i class="devicon-javascript-plain"></i> JavaScript]
67-
import Network from "gi://AstalNetwork";
67+
import Network from "gi://AstalNetwork"
6868

6969
const network = Network.get_default()
7070

71-
console.log(network.wifi.ssid)
71+
print(network.wifi.ssid)
7272
```
7373

7474
```py [<i class="devicon-python-plain"></i> Python]
75-
# Not yet documented
75+
from gi.repository import AstalNetwork as Network
76+
77+
network = Network.get_default()
78+
79+
print(network.get_wifi().get_ssid())
7680
```
7781

7882
```lua [<i class="devicon-lua-plain"></i> Lua]
79-
-- Not yet documented
83+
local Network = require("lgi").require("AstalNetwork")
84+
85+
local network = Network.get_default()
86+
87+
print(network.wifi.ssid)
8088
```
8189

8290
```vala [<i class="devicon-vala-plain"></i> Vala]

docs/libraries/notifd.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,22 +66,37 @@ astal-notifd --help
6666
:::code-group
6767

6868
```js [<i class="devicon-javascript-plain"></i> JavaScript]
69-
import Notifd from "gi://AstalNotifd";
69+
import Notifd from "gi://AstalNotifd"
7070

7171
const notifd = Notifd.get_default()
7272

7373
notifd.connect("notified", (_, id) => {
7474
const n = notifd.get_notification(id)
75-
console.log(n.summary, n.body)
75+
print(n.summary, n.body)
7676
})
7777
```
7878

7979
```py [<i class="devicon-python-plain"></i> Python]
80-
# Not yet documented
80+
from gi.repository import AstalNotifd as Notifd
81+
82+
notifd = Notifd.get_default()
83+
84+
def on_notified(_, id):
85+
n = notifd.get_notification(id)
86+
print(n.get_body(), n.get_body())
87+
88+
notifd.connect("notified", on_notified)
8189
```
8290

8391
```lua [<i class="devicon-lua-plain"></i> Lua]
84-
-- Not yet documented
92+
local Notifd = require("lgi").require("AstalNotifd")
93+
94+
local notifd = Notifd.get_default()
95+
96+
notifd.on_notified = function(_, id)
97+
local n = notifd.get_notification(id)
98+
print(n.body, n.summary)
99+
end
85100
```
86101

87102
```vala [<i class="devicon-vala-plain"></i> Vala]

docs/libraries/powerprofiles.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,19 +67,27 @@ astal-power-profiles --help
6767
:::code-group
6868

6969
```js [<i class="devicon-javascript-plain"></i> JavaScript]
70-
import PowerProfiles from "gi://AstalPowerProfiles";
70+
import PowerProfiles from "gi://AstalPowerProfiles"
7171

7272
const powerprofiles = PowerProfiles.get_default()
7373

74-
console.log(powerprofiles.activeProfile)
74+
print(powerprofiles.activeProfile)
7575
```
7676

7777
```py [<i class="devicon-python-plain"></i> Python]
78-
# Not yet documented
78+
from gi.repository import AstalPowerProfiles as PowerProfiles
79+
80+
powerprofiles = PowerProfiles.get_default()
81+
82+
print(powerprofiles.get_active_profile())
7983
```
8084

8185
```lua [<i class="devicon-lua-plain"></i> Lua]
82-
-- Not yet documented
86+
local PowerProfiles = require("lgi").require("AstalPowerProfiles")
87+
88+
local powerprofiles = PowerProfiles.get_default()
89+
90+
print(powerprofiles.active_profile)
8391
```
8492

8593
```vala [<i class="devicon-vala-plain"></i> Vala]

docs/libraries/river.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,32 @@ astal-river --help
6262
:::code-group
6363

6464
```js [<i class="devicon-javascript-plain"></i> JavaScript]
65-
// Not yet documented
65+
import River from "gi://AstalRiver"
66+
67+
const river = River.get_default()
68+
69+
for (const output of river.get_outputs()) {
70+
print(output.name)
71+
}
6672
```
6773

6874
```py [<i class="devicon-python-plain"></i> Python]
69-
# Not yet documented
75+
from gi.repository import AstalRiver as River
76+
77+
river = River.get_default()
78+
79+
for output in river.get_outputs():
80+
print(output.get_name())
7081
```
7182

7283
```lua [<i class="devicon-lua-plain"></i> Lua]
73-
-- Not yet documented
84+
local River = require("lgi").require("AstalRiver")
85+
86+
local river = River.River.get_default()
87+
88+
for _, o in ipairs(river.outputs) do
89+
print(o.name)
90+
end
7491
```
7592

7693
```vala [<i class="devicon-vala-plain"></i> Vala]

0 commit comments

Comments
 (0)