import i3ipc
import sys
from itertools import zip_longest, count

i3 = i3ipc.Connection()

workspaces = sorted(int(w.name.split(":")[0]) for w in i3.get_workspaces())
for i, workspace in zip_longest(count(1), workspaces):
    print(i, workspace, file=sys.stderr)
    if i != workspace:
        print(i)
        break
else:
    print("no free workspace found", file=sys.stderr)
    sys.exit(1)