#!/usr/bin/python3 games = [ ("all", "Stardew Valley"), ("ic", "steam_app_.*", "tile", "max"), ("all", "ffxiv*", "sf"), ("all", "Hollow Knight"), ("all", "HELLDIVERS*"), ("all", "CS", "tile", "max"), ("title", "Warhammer 40.000: Darktide", "tile", "max") ] def main(): f = open("config/games.conf", "w") conf: str = "# Auto generated window rules for Games\n\n" for game in games: if type(game) is not tuple: continue name = game[1] match game[0]: case "ic": selector = f"match:initial_class \"{name}\"" case "title": selector = f"match:title \"{name}\"" case "class": selector = f"match:class \"{name}\"" case "all": selector = f"match:title \"{name}\", match:class \"{name}\"" case s: print(f"Could not find selector for \"{s}\"") continue for setting in game[2::]: match setting: case "sf": conf += f"windowrule = stay_focused on, {selector}\n" case "tile": conf += f"windowrule = tile on, {selector}\n" case "max": conf += f"windowrule = maximize on, {selector}\n" case s: print(f"Could not find setting \"{s}\"") conf += f"""windowrule = fullscreen on, {selector} windowrule = monitor DP-3, {selector} windowrule = allows_input on, {selector}\n """ f.write(conf) f.close() if __name__ == "__main__": main()