listpick 0.1.14.9__py3-none-any.whl → 0.1.14.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of listpick might be problematic. Click here for more details.

listpick/listpick_app.py CHANGED
@@ -1370,7 +1370,6 @@ class Picker:
1370
1370
  "cancel_is_back": True,
1371
1371
  "number_columns": False,
1372
1372
  "reset_colours": False,
1373
- "cell_cursor": False,
1374
1373
  }
1375
1374
  while True:
1376
1375
  h, w = stdscr.getmaxyx()
@@ -1390,7 +1389,7 @@ class Picker:
1390
1389
  if s:
1391
1390
  return {x: options[x] for x in s}, o, f
1392
1391
  return {}, "", f
1393
-
1392
+
1394
1393
 
1395
1394
 
1396
1395
  def notification(self, stdscr: curses.window, message: str="", title:str="Notification", colours_end: int=0, duration:int=4) -> None:
@@ -1401,12 +1400,7 @@ class Picker:
1401
1400
  message_width = notification_width-5
1402
1401
 
1403
1402
  if not message: message = "!!"
1404
- if type(message) == type(""):
1405
- mw = message_width
1406
- submenu_items = [[message[i*mw:(i+1)*mw]] for i in range(len(message)//mw+1)]
1407
- elif type(message) != type([]):
1408
- submenu_items = [[" !!"]]
1409
-
1403
+ submenu_items = [" "+message[i*message_width:(i+1)*message_width] for i in range(len(message)//message_width+1)]
1410
1404
 
1411
1405
  notification_remap_keys = {
1412
1406
  curses.KEY_RESIZE: curses.KEY_F5,
@@ -1416,12 +1410,6 @@ class Picker:
1416
1410
  h, w = stdscr.getmaxyx()
1417
1411
 
1418
1412
  submenu_win = curses.newwin(notification_height, notification_width, 3, w - (notification_width+4))
1419
- # submenu_win = self.stdscr.subwin(notification_height, notification_width, 3, w - (notification_width+4))
1420
- def update_after_resize():
1421
- h, w = self.stdscr.getmaxyx()
1422
- submenu_win.mvwin(3, w - (notification_width+4))
1423
- self.draw_screen(self.indexed_items, self.highlights)
1424
-
1425
1413
  notification_data = {
1426
1414
  "items": submenu_items,
1427
1415
  "title": title,
@@ -1438,19 +1426,9 @@ class Picker:
1438
1426
  "cancel_is_back": True,
1439
1427
  "reset_colours": False,
1440
1428
 
1441
- "loaded_files": [],
1442
- "loaded_file_states": [],
1443
- "loaded_file": "",
1444
- "loaded_file_index": 0,
1445
- "cell_cursor": False,
1446
- # "redraw_screen_accessory": lambda : self.draw_screen(self.indexed_items, self.highlights),
1447
- "redraw_screen_accessory": update_after_resize,
1448
- "get_new_data": False,
1449
- # "key_remappings": notification_remap_keys,
1450
1429
  }
1451
1430
  OptionPicker = Picker(submenu_win, **notification_data)
1452
1431
  s, o, f = OptionPicker.run()
1453
- os.system(f"notify-send resizing")
1454
1432
 
1455
1433
  if o != "refresh": break
1456
1434
  submenu_win.clear()
@@ -1459,7 +1437,6 @@ class Picker:
1459
1437
  stdscr.clear()
1460
1438
  stdscr.refresh()
1461
1439
  self.draw_screen(self.indexed_items, self.highlights)
1462
-
1463
1440
  # set_colours(colours=get_colours(0))
1464
1441
 
1465
1442
  def toggle_column_visibility(self, col_index:int) -> None:
@@ -2248,6 +2225,13 @@ class Picker:
2248
2225
  # Open tty to accept input
2249
2226
  tty_fd = open_tty()
2250
2227
 
2228
+ h, w = self.stdscr.getmaxyx()
2229
+ def terminal_resized(old_w, old_h) -> bool:
2230
+ w, h = os.get_terminal_size()
2231
+ if old_h != h or old_w != w: return True
2232
+ else: return False
2233
+
2234
+ COLS, LINES = os.get_terminal_size()
2251
2235
  # Main loop
2252
2236
  while True:
2253
2237
  # key = self.stdscr.getch()
@@ -2255,7 +2239,14 @@ class Picker:
2255
2239
  key = get_char(tty_fd, timeout=0.2)
2256
2240
  if key != -1:
2257
2241
  self.logger.info(f"key={key}")
2242
+
2243
+ self.term_resize_event = terminal_resized(COLS, LINES)
2244
+ COLS, LINES = os.get_terminal_size()
2245
+ if self.term_resize_event:
2246
+ key = curses.KEY_RESIZE
2247
+
2258
2248
  h, w = self.stdscr.getmaxyx()
2249
+
2259
2250
  if key in self.disabled_keys: continue
2260
2251
  clear_screen=True
2261
2252
 
@@ -3110,7 +3101,7 @@ class Picker:
3110
3101
  self.logger.info(f"key_function opts_select")
3111
3102
  s, o, f = self.choose_option(self.stdscr, self.options_list)
3112
3103
  if self.user_opts.strip(): self.user_opts += " "
3113
- self.user_opts += " ".join([x for x in s.values()])
3104
+ self.user_opts += " ".join([x[0] for x in s.values()])
3114
3105
  elif self.check_key("notification_toggle", key, self.keys_dict):
3115
3106
  self.logger.info(f"key_function notification_toggle")
3116
3107
  self.notification(self.stdscr, colours_end=self.colours_end)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: listpick
3
- Version: 0.1.14.9
3
+ Version: 0.1.14.10
4
4
  Summary: Listpick is a powerful TUI data tool for creating TUI apps or viewing/comparing tabulated data.
5
5
  Home-page: https://github.com/grimandgreedy/listpick
6
6
  Author: Grim
@@ -1,6 +1,6 @@
1
1
  listpick/__init__.py,sha256=ExXc97-bibodH--wlwpQivl0zCNR5D1hvpvrf7OBofU,154
2
2
  listpick/__main__.py,sha256=wkCjDdqw093W27yWwnlC3nG_sMRKaIad7hHHWy0RBgY,193
3
- listpick/listpick_app.py,sha256=9urXL8NUghj8tdbUCLxCa48nrgzeW4B41lv0_b_LRAw,187823
3
+ listpick/listpick_app.py,sha256=SL9lgTIoTYHi3fcs01HFKBoCnxEUMHPkZHxW_nuCFxI,187280
4
4
  listpick/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  listpick/ui/build_help.py,sha256=8QtsRosIE2IMagRc_remzmwSWpCurFgLenLL7w1ly94,8949
6
6
  listpick/ui/footer.py,sha256=ZM5OWCxOZqy5RG6tFTe1ipvu9PRu6Gh3JCA8KXBR_Wc,15004
@@ -25,9 +25,9 @@ listpick/utils/sorting.py,sha256=WZZiVlVA3Zkcpwji3U5SNFlQ14zVEk3cZJtQirBkecQ,532
25
25
  listpick/utils/table_to_list_of_lists.py,sha256=XBj7eGBDF15BRME-swnoXyOfZWxXCxrXp0pzsBfcJ5g,12224
26
26
  listpick/utils/user_input.py,sha256=oyJZPAwA7UGAclPhdPL44tKnPIVNHWhX-tZEnCdBKC0,4318
27
27
  listpick/utils/utils.py,sha256=McOl9uT3jh7l4TIWeSd8ZGjK_e7r0YZF0Gl20yI6fl0,13873
28
- listpick-0.1.14.9.dist-info/licenses/LICENSE.txt,sha256=2mP-MRHJptADDNE9VInMNg1tE-C6Qv93Z4CCQKrpg9w,1061
29
- listpick-0.1.14.9.dist-info/METADATA,sha256=kgR_E4Y4IFLqmrx8nDzgLOvHqW41BPWYuAv_BX8j0bU,8090
30
- listpick-0.1.14.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
- listpick-0.1.14.9.dist-info/entry_points.txt,sha256=-QCf_BKIkUz35Y9nkYpjZWs2Qg0KfRna2PAs5DnF6BE,43
32
- listpick-0.1.14.9.dist-info/top_level.txt,sha256=5mtsGEz86rz3qQDe0D463gGjAfSp6A3EWg4J4AGYr-Q,9
33
- listpick-0.1.14.9.dist-info/RECORD,,
28
+ listpick-0.1.14.10.dist-info/licenses/LICENSE.txt,sha256=2mP-MRHJptADDNE9VInMNg1tE-C6Qv93Z4CCQKrpg9w,1061
29
+ listpick-0.1.14.10.dist-info/METADATA,sha256=JBhvFd-3BZN7u_19PRPeNos_bXLzEdpAwp5tbUH0_Q8,8091
30
+ listpick-0.1.14.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
+ listpick-0.1.14.10.dist-info/entry_points.txt,sha256=-QCf_BKIkUz35Y9nkYpjZWs2Qg0KfRna2PAs5DnF6BE,43
32
+ listpick-0.1.14.10.dist-info/top_level.txt,sha256=5mtsGEz86rz3qQDe0D463gGjAfSp6A3EWg4J4AGYr-Q,9
33
+ listpick-0.1.14.10.dist-info/RECORD,,