imdb-terminal 1.3.0 → 2.0.1

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -2
  3. data/bin/imdb +15 -2
  4. metadata +14 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d814b0c158e9b0dc4e11670de9abd9650558ab146d47382d9b7fa4e0ca05c336
4
- data.tar.gz: cf3b4b5fb79289936b4f284cd48ee691ccede5c86476807a3c229234d430df09
3
+ metadata.gz: a835730544b1acf9055d609a37a5727aecb9754878be3ccf1b873502b72fd771
4
+ data.tar.gz: 6a9bc9712e20f70d2eceb8169dc32d81263a0a65cf2418815a3774a05399aeda
5
5
  SHA512:
6
- metadata.gz: 8d009074d8b863c6d69355c841cf68ac69283a0e13849452b0f9b861df636437b0958becac04ae1efa72b43af2dbaab329e657768e91e71450878a2cd2840525
7
- data.tar.gz: 846addf3e87942df18ca7672ef82ebb87a1dbfd0c8919a92c276297ef68431b92f0a1f3e21288f647f008e35e41adc523fc068ca895c253291a1d8cf6f408c06
6
+ metadata.gz: cf5bc22eb1a504498cb0a0843066b32c6fd0aaae995894f01616a27cebc3daac6c1c2bc996f28b7178c53a68dc9993f1dd1b4850118ea84fb42ebc2678b670f8
7
+ data.tar.gz: 51ae69f5e824dd50157bb2f770d8536ffb9121957166fb61710d281d09c6041f794b5b41a520b2d6c7aa56359592974ff7e098c5315cd4e8510411086a0bd2a5
data/README.md CHANGED
@@ -41,11 +41,13 @@ The screenshot gives you an overview of the layout of the panes:
41
41
  gem install imdb-terminal
42
42
  ```
43
43
 
44
- ### Dependencies
44
+ ### Dependencies (Linux/macOS)
45
45
  - **w3mimgdisplay** (for poster display): `sudo apt install w3m-img`
46
46
  - **ImageMagick** (for poster processing): `sudo apt install imagemagick`
47
47
  - **xdotool** (for image redraw on workspace switch): `sudo apt install xdotool`
48
48
 
49
+ **Windows**: All core functionality works on Windows, but poster display is not available due to terminal limitations.
50
+
49
51
  ### Quick Start
50
52
  ```bash
51
53
  git clone <repository>
@@ -138,8 +140,9 @@ In the Genres pane:
138
140
  ### Common Issues
139
141
 
140
142
  **No posters displayed:**
141
- - Ensure w3m-img is installed: `sudo apt install w3m-img`
143
+ - **Linux/macOS**: Ensure w3m-img is installed: `sudo apt install w3m-img`
142
144
  - Check terminal supports images (works best in terminals like urxvt, kitty, iTerm2)
145
+ - **Windows**: Poster display is not supported due to terminal limitations
143
146
 
144
147
  **Posters disappear after workspace switch:**
145
148
  - Ensure xdotool is installed: `sudo apt install xdotool`
data/bin/imdb CHANGED
@@ -14,7 +14,7 @@
14
14
  # for any damages resulting from its use. Further, I am under no
15
15
  # obligation to maintain or extend this software. It is provided
16
16
  # on an 'as is' basis without any expressed or implied warranty.
17
- # Version: 1.3.0: Added image redraw functionality for i3 workspace switching
17
+ # Version: 2.0.0: Breaking change - requires rcurses 6.0.0+ with explicit init
18
18
 
19
19
  # REQUIRES AND CONSTANTS {{{1
20
20
  require 'io/console'
@@ -37,12 +37,18 @@ include Rcurses
37
37
  include Rcurses::Cursor
38
38
  include Rcurses::Input
39
39
 
40
+ # Initialize rcurses (required for rcurses 6.0.0+)
41
+ Rcurses.init!
42
+
40
43
  Thread.report_on_exception = false
41
44
  CONFIG_FILE = File.join(Dir.home, '.imdb.yml')
42
45
  DATA_DIR = File.join(Dir.home, '.imdb', 'data')
43
46
  CACHE_MUTEX = Mutex.new
44
47
  MAX_FETCH_RETRIES = 3
45
48
 
49
+ # Platform detection
50
+ WINDOWS = Gem.win_platform?
51
+
46
52
  # MAIN CLASS {{{1
47
53
  class IMDBApp
48
54
  # INITIALIZATION {{{1
@@ -1317,7 +1323,11 @@ class IMDBApp
1317
1323
  help_text << " • Use genre filters to find specific types of content\n".fg(230)
1318
1324
  help_text << " • Dump list removes items from main view permanently\n".fg(230)
1319
1325
  help_text << " • TMDb provides streaming provider information\n".fg(230)
1320
- help_text << " • Posters are displayed in the terminal using w3mimgdisplay\n".fg(230)
1326
+ unless WINDOWS
1327
+ help_text << " • Posters are displayed in the terminal using w3mimgdisplay\n".fg(230)
1328
+ else
1329
+ help_text << " • Poster display not available on Windows\n".fg(230)
1330
+ end
1321
1331
 
1322
1332
  help_text
1323
1333
  end
@@ -1800,6 +1810,8 @@ class IMDBApp
1800
1810
  end
1801
1811
 
1802
1812
  def show_poster(tconst) #{{{2
1813
+ return if WINDOWS # Skip image display on Windows for now
1814
+
1803
1815
  w3m = "/usr/lib/w3m/w3mimgdisplay"
1804
1816
  return unless File.executable?(w3m)
1805
1817
  cache = cache_dir
@@ -1845,6 +1857,7 @@ class IMDBApp
1845
1857
  end
1846
1858
 
1847
1859
  def check_image_redraw #{{{2
1860
+ return if WINDOWS # Skip image redraw on Windows
1848
1861
  # Only check if we have an image currently displayed
1849
1862
  return unless @current_image && File.exist?(@current_image)
1850
1863
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imdb-terminal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-07-05 00:00:00.000000000 Z
11
+ date: 2025-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rcurses
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.8'
19
+ version: '6.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '4.8'
26
+ version: '6.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -70,9 +70,8 @@ description: 'Discover and manage movies and TV series from IMDb''s Top 250 list
70
70
  Features smart search with preview mode, advanced filtering by rating/year/genre,
71
71
  streaming information via TMDb, wish lists, and terminal poster display. Enhanced
72
72
  with jump-to-existing items, duplicate management, and robust data handling. Version
73
- 1.1: A full rewrite using rcurses - with lots of new functionality. 1.2: Added jump-to
74
- for searched&scraped items. 1.3.0: Added image redraw functionality for i3 workspace
75
- switching.'
73
+ 2.0.1: Added Windows support - all core functionality works on Windows with graceful
74
+ handling of platform-specific features.'
76
75
  email: g@isene.com
77
76
  executables:
78
77
  - imdb
@@ -88,21 +87,14 @@ metadata:
88
87
  source_code_uri: https://github.com/isene/imdb
89
88
  homepage_uri: https://isene.com/
90
89
  documentation_uri: https://github.com/isene/imdb#readme
91
- post_install_message: |
92
- IMDb Terminal Browser installed successfully!
93
-
94
- To get started:
95
- 1. Run: imdb
96
- 2. On first run, the app will scrape IMDb Top 250 lists
97
- 3. Optional: Get a free TMDb API key for streaming info
98
- 4. Press '?' for help once running
99
-
100
- External dependencies for full functionality:
101
- - w3m-img (for poster display): sudo apt install w3m-img
102
- - imagemagick (for poster processing): sudo apt install imagemagick
103
- - xdotool (for image redraw on workspace switch): sudo apt install xdotool
104
-
105
- Enjoy discovering your next favorite movie! :-)
90
+ post_install_message: "✓ IMDb Terminal Browser installed successfully!\n\nTo get started:\n1.
91
+ Run: imdb\n2. On first run, the app will scrape IMDb Top 250 lists\n3. Optional:
92
+ Get a free TMDb API key for streaming info\n4. Press '?' for help once running\n\nExternal
93
+ dependencies for full functionality (Linux/macOS only):\n- w3m-img (for poster display):
94
+ sudo apt install w3m-img\n- imagemagick (for poster processing): sudo apt install
95
+ imagemagick\n- xdotool (for image redraw on workspace switch): sudo apt install
96
+ xdotool\n\nNote: Poster display is not available on Windows, but all other \nfunctionality
97
+ works normally.\n\nEnjoy discovering your next favorite movie! :-)\n"
106
98
  rdoc_options: []
107
99
  require_paths:
108
100
  - "."