Skip to content

Commit 249fe1a

Browse files
Merge pull request #1049 from theymightbetim/calendar-keys
feat: add keybindings to calendar widget
2 parents 22455ec + 456cbd8 commit 249fe1a

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

bumblebee_status/modules/contrib/calendar.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,20 @@ def close_window():
103103
cal.place(x=0, y=10, width=300, height=200)
104104

105105
def key_listener(event):
106+
selected_date = cal.selection_get()
107+
if event.keysym in ("Left", "h"):
108+
cal.selection_set(selected_date - datetime.timedelta(days=1))
109+
if event.keysym in ("Right", "l"):
110+
cal.selection_set(selected_date + datetime.timedelta(days=1))
111+
if event.keysym in ("Up", "k"):
112+
cal.selection_set(selected_date - datetime.timedelta(weeks=1))
113+
if event.keysym in ("Down", "j"):
114+
cal.selection_set(selected_date + datetime.timedelta(weeks=1))
106115
if event.keysym == "Escape":
107116
close_window()
108117
if event.keysym == "Return":
109118
import subprocess
110119

111-
selected_date = cal.selection_get()
112120
browser_path = self.parameter("browserpath", "/usr/bin/firefox")
113121
url = f"https://calendar.google.com/calendar/u/0/r/day/{selected_date.strftime('%Y/%m/%d')}"
114122
subprocess.Popen([browser_path, url], stdout=subprocess.DEVNULL)

0 commit comments

Comments
 (0)