vappman 2.1.3__tar.gz → 2.1.5__tar.gz

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.
Files changed (24) hide show
  1. {vappman-2.1.3 → vappman-2.1.5}/PKG-INFO +2 -2
  2. {vappman-2.1.3 → vappman-2.1.5}/pyproject.toml +2 -2
  3. {vappman-2.1.3 → vappman-2.1.5}/vappman/Prerequisites.py +2 -1
  4. {vappman-2.1.3 → vappman-2.1.5}/vappman/VappmanListCache.py +2 -0
  5. {vappman-2.1.3 → vappman-2.1.5}/vappman/main.py +6 -0
  6. {vappman-2.1.3 → vappman-2.1.5}/.gitignore +0 -0
  7. {vappman-2.1.3 → vappman-2.1.5}/LICENSE +0 -0
  8. {vappman-2.1.3 → vappman-2.1.5}/README.md +0 -0
  9. {vappman-2.1.3 → vappman-2.1.5}/images/screen-2024-06-23-v0.7.mkv +0 -0
  10. {vappman-2.1.3 → vappman-2.1.5}/images/vappman-2025-12-28.12-48.gif +0 -0
  11. {vappman-2.1.3 → vappman-2.1.5}/images/vappman-with-filter.png +0 -0
  12. {vappman-2.1.3 → vappman-2.1.5}/runner +0 -0
  13. {vappman-2.1.3 → vappman-2.1.5}/tests/example_init_order.py +0 -0
  14. {vappman-2.1.3 → vappman-2.1.5}/tests/test_abut.py +0 -0
  15. {vappman-2.1.3 → vappman-2.1.5}/tests/test_init_order.py +0 -0
  16. {vappman-2.1.3 → vappman-2.1.5}/tests/test_scope_subtraction.py +0 -0
  17. {vappman-2.1.3 → vappman-2.1.5}/tests/test_scoped_keys.py +0 -0
  18. {vappman-2.1.3 → vappman-2.1.5}/tests/test_scoped_keys_unit.py +0 -0
  19. {vappman-2.1.3 → vappman-2.1.5}/vappman/AppimageDoctor.py +0 -0
  20. {vappman-2.1.3 → vappman-2.1.5}/vappman/AppmanLauncher.py +0 -0
  21. {vappman-2.1.3 → vappman-2.1.5}/vappman/AppmanVars.py +0 -0
  22. {vappman-2.1.3 → vappman-2.1.5}/vappman/CommandRunner.py +0 -0
  23. {vappman-2.1.3 → vappman-2.1.5}/vappman/PersistentState.py +0 -0
  24. {vappman-2.1.3 → vappman-2.1.5}/vappman/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vappman
3
- Version: 2.1.3
3
+ Version: 2.1.5
4
4
  Summary: A visual wrapper for appman
5
5
  Keywords: app,installer,manager,appimages
6
6
  Author-email: Joe Defen <joedef@google.com>
@@ -10,7 +10,7 @@ Classifier: Programming Language :: Python :: 3
10
10
  Classifier: License :: OSI Approved :: MIT License
11
11
  Classifier: Operating System :: POSIX :: Linux
12
12
  License-File: LICENSE
13
- Requires-Dist: console-window == 1.3.2
13
+ Requires-Dist: console-window == 1.4.3
14
14
  Project-URL: Bug Tracker, https://github.com/joedefen/vappman/issues
15
15
  Project-URL: Homepage, https://github.com/joedefen/vappman
16
16
 
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
4
4
 
5
5
  [project]
6
6
  name = "vappman"
7
- version = "2.1.3"
7
+ version = "2.1.5"
8
8
  description = "A visual wrapper for appman"
9
9
  authors = [
10
10
  { name = "Joe Defen", email = "joedef@google.com" }
@@ -19,7 +19,7 @@ classifiers = [
19
19
  "Operating System :: POSIX :: Linux"
20
20
  ]
21
21
  dependencies = [
22
- 'console-window == 1.3.2',
22
+ 'console-window == 1.4.3',
23
23
  ]
24
24
 
25
25
  [project.urls]
@@ -250,7 +250,8 @@ class Prerequisites:
250
250
 
251
251
  # After successful installation, exit so user can restart vappman
252
252
  print('\n✅ Installation complete!')
253
- print('\nPlease restart vappman to begin using it.')
253
+ print('\n⚠️ Run "appman -h" or "am -h" and answer setup questions.')
254
+ print('\n⚠️ ONLY after init, restart vappman to begin using it.')
254
255
  sys.exit(0)
255
256
 
256
257
  if optional_install_failed:
@@ -198,7 +198,9 @@ class AppCacheManager:
198
198
  if not os.path.exists(self.list_file):
199
199
  # print("[Cache] No file found. Fetching initial list...")
200
200
  self.refresh_background()
201
+ print('Fetching initial app list [IF STUCK, press ENTER several times]...')
201
202
  while self.runner.is_running(): time.sleep(0.1)
203
+ print('... got initial app list ... continuing up ...')
202
204
  self._parse_now()
203
205
  else:
204
206
  self._parse_now()
@@ -650,6 +650,12 @@ class Vappman(Prerequisites):
650
650
  # Key was handled by search bar, skip normal processing
651
651
  pass
652
652
  else:
653
+ # If search bar is active but didn't handle the key (e.g., up/down arrows),
654
+ # close the search first (accept current text) before normal processing
655
+ if self.search_bar._active:
656
+ self.search_bar._active = False
657
+ self._on_search_accept(self.search_bar._text)
658
+
653
659
  # Normal mode - let OptionSpinner process the key
654
660
  self.spin.do_key(key, win)
655
661
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes