Browse Source

Curses

pull/109/merge
Jure Šorn 1 year ago
parent
commit
9bb753cb13
3 changed files with 8 additions and 8 deletions
  1. 4
      README.md
  2. 8
      index.html
  3. 4
      parse.js

4
README.md

@ -2429,7 +2429,7 @@ from curses import A_REVERSE, KEY_DOWN, KEY_UP, KEY_LEFT, KEY_RIGHT, KEY_ENTER
def main(screen):
ch, first, selected, paths = 0, 0, 0, os.listdir()
while ch not in [ord('q'), curses.ascii.ESC]:
while ch != curses.ascii.ESC:
height, width = screen.getmaxyx()
screen.erase()
for y, filename in enumerate(paths[first : first+height]):
@ -2439,7 +2439,7 @@ def main(screen):
selected += (ch == KEY_DOWN) - (ch == KEY_UP)
selected = max(0, min(len(paths)-1, selected))
first += (selected >= first + height) - (selected < first)
if ch in [KEY_LEFT, KEY_RIGHT, KEY_ENTER, 10, 13]:
if ch in [KEY_LEFT, KEY_RIGHT, KEY_ENTER, ord('\n'), ord('\r')]:
new_dir = '..' if ch == KEY_LEFT else paths[selected]
if os.path.isdir(new_dir):
os.chdir(new_dir)

8
index.html

@ -54,7 +54,7 @@
<body>
<header>
<aside>March 30, 2023</aside>
<aside>March 31, 2023</aside>
<a href="https://gto76.github.io" rel="author">Jure Šorn</a>
</header>
@ -1991,7 +1991,7 @@ print(table)
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">main</span><span class="hljs-params">(screen)</span>:</span>
ch, first, selected, paths = <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, os.listdir()
<span class="hljs-keyword">while</span> ch <span class="hljs-keyword">not</span> <span class="hljs-keyword">in</span> [ord(<span class="hljs-string">'q'</span>), curses.ascii.ESC]:
<span class="hljs-keyword">while</span> ch != curses.ascii.ESC:
height, width = screen.getmaxyx()
screen.erase()
<span class="hljs-keyword">for</span> y, filename <span class="hljs-keyword">in</span> enumerate(paths[first : first+height]):
@ -2001,7 +2001,7 @@ print(table)
selected += (ch == KEY_DOWN) - (ch == KEY_UP)
selected = max(<span class="hljs-number">0</span>, min(len(paths)-<span class="hljs-number">1</span>, selected))
first += (selected &gt;= first + height) - (selected &lt; first)
<span class="hljs-keyword">if</span> ch <span class="hljs-keyword">in</span> [KEY_LEFT, KEY_RIGHT, KEY_ENTER, <span class="hljs-number">10</span>, <span class="hljs-number">13</span>]:
<span class="hljs-keyword">if</span> ch <span class="hljs-keyword">in</span> [KEY_LEFT, KEY_RIGHT, KEY_ENTER, ord(<span class="hljs-string">'\n'</span>), ord(<span class="hljs-string">'\r'</span>)]:
new_dir = <span class="hljs-string">'..'</span> <span class="hljs-keyword">if</span> ch == KEY_LEFT <span class="hljs-keyword">else</span> paths[selected]
<span class="hljs-keyword">if</span> os.path.isdir(new_dir):
os.chdir(new_dir)
@ -2935,7 +2935,7 @@ $ pyinstaller script.py --add-data '&lt;path&gt;:.' <span class="hljs-comment">
<footer>
<aside>March 30, 2023</aside>
<aside>March 31, 2023</aside>
<a href="https://gto76.github.io" rel="author">Jure Šorn</a>
</footer>

4
parse.js

@ -167,7 +167,7 @@ const CURSES =
'\n' +
'<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">main</span><span class="hljs-params">(screen)</span>:</span>\n' +
' ch, first, selected, paths = <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, os.listdir()\n' +
' <span class="hljs-keyword">while</span> ch <span class="hljs-keyword">not</span> <span class="hljs-keyword">in</span> [ord(<span class="hljs-string">\'q\'</span>), curses.ascii.ESC]:\n' +
' <span class="hljs-keyword">while</span> ch != curses.ascii.ESC:\n' +
' height, width = screen.getmaxyx()\n' +
' screen.erase()\n' +
' <span class="hljs-keyword">for</span> y, filename <span class="hljs-keyword">in</span> enumerate(paths[first : first+height]):\n' +
@ -177,7 +177,7 @@ const CURSES =
' selected += (ch == KEY_DOWN) - (ch == KEY_UP)\n' +
' selected = max(<span class="hljs-number">0</span>, min(len(paths)-<span class="hljs-number">1</span>, selected))\n' +
' first += (selected &gt;= first + height) - (selected &lt; first)\n' +
' <span class="hljs-keyword">if</span> ch <span class="hljs-keyword">in</span> [KEY_LEFT, KEY_RIGHT, KEY_ENTER, <span class="hljs-number">10</span>, <span class="hljs-number">13</span>]:\n' +
' <span class="hljs-keyword">if</span> ch <span class="hljs-keyword">in</span> [KEY_LEFT, KEY_RIGHT, KEY_ENTER, ord(<span class="hljs-string">\'\\n\'</span>), ord(<span class="hljs-string">\'\\r\'</span>)]:\n' +
' new_dir = <span class="hljs-string">\'..\'</span> <span class="hljs-keyword">if</span> ch == KEY_LEFT <span class="hljs-keyword">else</span> paths[selected]\n' +
' <span class="hljs-keyword">if</span> os.path.isdir(new_dir):\n' +
' os.chdir(new_dir)\n' +

Loading…
Cancel
Save