[{"data":1,"prerenderedAt":216},["ShallowReactive",2],{"\u002Fprojects\u002Fpynes":3},{"id":4,"title":5,"body":6,"description":203,"extension":204,"icon":205,"license":206,"meta":207,"navigation":208,"path":209,"repo":210,"seo":211,"stem":212,"version":213,"website":214,"__hash__":215},"projects\u002Fprojects\u002Fpynes.md","Pynes",{"type":7,"value":8,"toc":197},"minimark",[9,13,16,24,29,48,55,59,62,66,69,142,145,170,181,185,193],[10,11,12],"p",{},"Mines for lines :)",[10,14,15],{},"Pynes is my take on the classic minesweeper game, made for the Linux desktop.\nIt's written in Python with GTK 4 and Libadwaita (through PyGObject, the Python\nbindings for GTK), so it fits in with the rest of your GNOME apps.",[10,17,18],{},[19,20],"img",{"alt":21,"src":22,"width":23},"The Pynes game window","\u002Fimages\u002Fpynes\u002Fapp.png",560,[25,26,28],"h2",{"id":27},"what-can-you-do-in-it","What can you do in it?",[30,31,32,36,39,42,45],"ul",{},[33,34,35],"li",{},"Play on the usual board sizes: 8x8, 16x16, and 24x16.",[33,37,38],{},"Set your own board size and how much of it is mines.",[33,40,41],{},"Pick your own colors for the text and each kind of tile.",[33,43,44],{},"Turn the animations on or off.",[33,46,47],{},"Keep track of your best times on the leaderboard.",[10,49,50],{},[19,51],{"alt":52,"src":53,"width":54},"The Pynes preferences window","\u002Fimages\u002Fpynes\u002Fpref.png",420,[25,56,58],{"id":57},"how-did-it-start","How did it start?",[10,60,61],{},"I first pushed Pynes in April 2022, and it has been rewritten a few times since\nthen. The latest round split the game handler into a separate state and engine,\nwhich made the game logic a lot easier to follow.",[25,63,65],{"id":64},"how-do-i-install-it","How do I install it?",[10,67,68],{},"For now, you build it from source with Meson. You'll need Python 3.10 or higher,\nGTK 4, Libadwaita, and PyGObject installed first.",[70,71,76],"pre",{"className":72,"code":73,"language":74,"meta":75,"style":75},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","git clone https:\u002F\u002Fgithub.com\u002Fastraldev\u002Fpynes\ncd pynes\nmeson setup builddir\nmeson compile -C builddir\nmeson install -C builddir\n","bash","",[77,78,79,95,105,117,130],"code",{"__ignoreMap":75},[80,81,84,88,92],"span",{"class":82,"line":83},"line",1,[80,85,87],{"class":86},"sBMFI","git",[80,89,91],{"class":90},"sfazB"," clone",[80,93,94],{"class":90}," https:\u002F\u002Fgithub.com\u002Fastraldev\u002Fpynes\n",[80,96,98,102],{"class":82,"line":97},2,[80,99,101],{"class":100},"s2Zo4","cd",[80,103,104],{"class":90}," pynes\n",[80,106,108,111,114],{"class":82,"line":107},3,[80,109,110],{"class":86},"meson",[80,112,113],{"class":90}," setup",[80,115,116],{"class":90}," builddir\n",[80,118,120,122,125,128],{"class":82,"line":119},4,[80,121,110],{"class":86},[80,123,124],{"class":90}," compile",[80,126,127],{"class":90}," -C",[80,129,116],{"class":90},[80,131,133,135,138,140],{"class":82,"line":132},5,[80,134,110],{"class":86},[80,136,137],{"class":90}," install",[80,139,127],{"class":90},[80,141,116],{"class":90},[10,143,144],{},"Or build it as a Flatpak, if you have the GNOME SDK installed:",[70,146,148],{"className":72,"code":147,"language":74,"meta":75,"style":75},"flatpak-builder --force-clean --user --install build-dir src\u002Fbuild-aux\u002Fflatpak\u002Forg.astralco.pynes.json\n",[77,149,150],{"__ignoreMap":75},[80,151,152,155,158,161,164,167],{"class":82,"line":83},[80,153,154],{"class":86},"flatpak-builder",[80,156,157],{"class":90}," --force-clean",[80,159,160],{"class":90}," --user",[80,162,163],{"class":90}," --install",[80,165,166],{"class":90}," build-dir",[80,168,169],{"class":90}," src\u002Fbuild-aux\u002Fflatpak\u002Forg.astralco.pynes.json\n",[10,171,172,173,180],{},"The full steps, including uninstalling, are in\n",[174,175,179],"a",{"href":176,"rel":177},"https:\u002F\u002Fgithub.com\u002Fastraldev\u002Fpynes\u002Fblob\u002Fmaster\u002FBUILD.md",[178],"nofollow","BUILD.md",".",[25,182,184],{"id":183},"found-a-bug","Found a bug?",[10,186,187,192],{},[174,188,191],{"href":189,"rel":190},"https:\u002F\u002Fgithub.com\u002Fastraldev\u002Fpynes\u002Fissues\u002Fnew",[178],"Open an issue"," on GitHub, any\nhelp is welcome. Pynes is licensed under GPL v3.",[194,195,196],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":75,"searchDepth":97,"depth":97,"links":198},[199,200,201,202],{"id":27,"depth":97,"text":28},{"id":57,"depth":97,"text":58},{"id":64,"depth":97,"text":65},{"id":183,"depth":97,"text":184},"A classic minesweeper game for Linux, built with Python, GTK 4, and Libadwaita.","md","\u002Fimages\u002Fpynes.svg","GPL-3.0",{},true,"\u002Fprojects\u002Fpynes","https:\u002F\u002Fgithub.com\u002Fastraldev\u002Fpynes",{"title":5,"description":203},"projects\u002Fpynes","3.2.0",null,"SkCiSICp1Uu8oSh8boROz_ZeRm7c6WxJurWAMDhuX4Y",1789778980835]