mytunes-pro 1.7.4__tar.gz → 1.7.6__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mytunes-pro
3
- Version: 1.7.4
3
+ Version: 1.7.6
4
4
  Summary: A lightweight, keyboard-centric terminal player for streaming YouTube music.
5
5
  Author-email: loxo <loxo5432@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/postgresql-co-kr/mytunes
@@ -19,7 +19,7 @@ Dynamic: license-file
19
19
 
20
20
  # 🎵 MyTunes Pro (Korean)
21
21
 
22
- **현대적인 CLI 유튜브 뮤직 플레이어 (v1.7.4)**
22
+ **현대적인 CLI 유튜브 뮤직 플레이어 (v1.7.6)**
23
23
  터미널 환경에서 **YouTube 음악을 검색하여 듣는** 가볍고 빠른 키보드 중심의 플레이어입니다.
24
24
  한국어 입력 환경에서도 **숫자 키(1~5)**를 통해 지연 없는 쾌적한 조작이 가능합니다.
25
25
 
@@ -208,7 +208,7 @@ Windows 환경에서 한글 검색이 안 되거나 설치가 어려운 분들
208
208
 
209
209
  # 🎵 MyTunes Pro (English)
210
210
 
211
- **Modern CLI YouTube Music Player (v1.7.4)**
211
+ **Modern CLI YouTube Music Player (v1.7.6)**
212
212
  A lightweight, keyboard-centric terminal player for streaming YouTube music.
213
213
 
214
214
  ---
@@ -296,7 +296,18 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
296
296
 
297
297
  ## 🔄 Changelog
298
298
 
299
- ### v1.7.4 (Latest)
299
+ ### v1.7.6 (Latest)
300
+
301
+ - **Isolated Browser Profile**: Guaranteed window sizing for the Live Station (F8) on Windows/WSL by forcing an isolated browser profile using the Windows `%TEMP%` directory.
302
+ - **WSL Path Translation**: Implemented automatic Windows temp path resolution in WSL to enable session persistence and profile isolation.
303
+
304
+ ### v1.7.5
305
+
306
+ - **WSL Integration**: Fully optimized browser launch from WSL by utilizing `cmd.exe` to trigger native Windows browsers.
307
+ - **F7 Windows Resolve**: Fixed an issue where YouTube (F7) wouldn't open in WSL environments.
308
+ - **F8 App Mode (WSL/Win)**: Enhanced flags to ensure "App Mode" (no address bar) works consistently even when launched from WSL.
309
+
310
+ ### v1.7.4
300
311
 
301
312
  - **Windows UI Refinement**: Forced Chrome "App Mode" on Windows by reordering flags and disabling extensions/default-apps to ensure a clean popup without an address bar.
302
313
  - **Improved Isolation**: Switched to higher-frequency session rotation for Live Station (F8) to guarantee window size and position persistence fixes.
@@ -1,6 +1,6 @@
1
1
  # 🎵 MyTunes Pro (Korean)
2
2
 
3
- **현대적인 CLI 유튜브 뮤직 플레이어 (v1.7.4)**
3
+ **현대적인 CLI 유튜브 뮤직 플레이어 (v1.7.6)**
4
4
  터미널 환경에서 **YouTube 음악을 검색하여 듣는** 가볍고 빠른 키보드 중심의 플레이어입니다.
5
5
  한국어 입력 환경에서도 **숫자 키(1~5)**를 통해 지연 없는 쾌적한 조작이 가능합니다.
6
6
 
@@ -189,7 +189,7 @@ Windows 환경에서 한글 검색이 안 되거나 설치가 어려운 분들
189
189
 
190
190
  # 🎵 MyTunes Pro (English)
191
191
 
192
- **Modern CLI YouTube Music Player (v1.7.4)**
192
+ **Modern CLI YouTube Music Player (v1.7.6)**
193
193
  A lightweight, keyboard-centric terminal player for streaming YouTube music.
194
194
 
195
195
  ---
@@ -277,7 +277,18 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
277
277
 
278
278
  ## 🔄 Changelog
279
279
 
280
- ### v1.7.4 (Latest)
280
+ ### v1.7.6 (Latest)
281
+
282
+ - **Isolated Browser Profile**: Guaranteed window sizing for the Live Station (F8) on Windows/WSL by forcing an isolated browser profile using the Windows `%TEMP%` directory.
283
+ - **WSL Path Translation**: Implemented automatic Windows temp path resolution in WSL to enable session persistence and profile isolation.
284
+
285
+ ### v1.7.5
286
+
287
+ - **WSL Integration**: Fully optimized browser launch from WSL by utilizing `cmd.exe` to trigger native Windows browsers.
288
+ - **F7 Windows Resolve**: Fixed an issue where YouTube (F7) wouldn't open in WSL environments.
289
+ - **F8 App Mode (WSL/Win)**: Enhanced flags to ensure "App Mode" (no address bar) works consistently even when launched from WSL.
290
+
291
+ ### v1.7.4
281
292
 
282
293
  - **Windows UI Refinement**: Forced Chrome "App Mode" on Windows by reordering flags and disabling extensions/default-apps to ensure a clean popup without an address bar.
283
294
  - **Improved Isolation**: Switched to higher-frequency session rotation for Live Station (F8) to guarantee window size and position persistence fixes.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mytunes-pro"
7
- version = "1.7.4"
7
+ version = "1.7.6"
8
8
  authors = [
9
9
  { name = "loxo", email = "loxo5432@gmail.com" },
10
10
  ]
@@ -35,7 +35,7 @@ MPV_SOCKET = "/tmp/mpv_socket"
35
35
  LOG_FILE = "/tmp/mytunes_mpv.log"
36
36
  PID_FILE = "/tmp/mytunes_mpv.pid"
37
37
  APP_NAME = "MyTunes Pro"
38
- APP_VERSION = "1.7.4"
38
+ APP_VERSION = "1.7.6"
39
39
 
40
40
  # === [Strings & Localization] ===
41
41
  STRINGS = {
@@ -749,6 +749,9 @@ class MyTunesApp:
749
749
  subprocess.Popen(["open", url], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
750
750
  elif sys.platform == 'win32':
751
751
  os.startfile(url)
752
+ elif self.is_wsl():
753
+ # In WSL, call the Windows shell to open the URL in Windows browser
754
+ subprocess.Popen(["cmd.exe", "/c", "start", url.replace("&", "^&")], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
752
755
  else:
753
756
  webbrowser.open(url)
754
757
  self.status_msg = "🌐 Opening YouTube in Browser..."
@@ -796,7 +799,7 @@ class MyTunesApp:
796
799
  launched = True; break
797
800
  except: pass
798
801
 
799
- # 2. Windows
802
+ # 2. Windows Native
800
803
  elif sys.platform == 'win32':
801
804
  win_paths = [
802
805
  os.path.join(os.environ.get('PROGRAMFILES', 'C:\\Program Files'), 'Google\\Chrome\\Application\\chrome.exe'),
@@ -807,7 +810,7 @@ class MyTunesApp:
807
810
  os.path.join(os.environ.get('PROGRAMFILES', 'C:\\Program Files'), 'Microsoft\\Edge\\Application\\msedge.exe'),
808
811
  ]
809
812
  # Windows specific order: --app MUST be early for some Chrome versions to ignore toolbars
810
- win_flags = flags + ["--new-window"] # Add back new-window at the end for Windows specifically if needed
813
+ win_flags = flags + ["--new-window"]
811
814
  for p in win_paths:
812
815
  if os.path.exists(p):
813
816
  try:
@@ -816,7 +819,38 @@ class MyTunesApp:
816
819
  launched = True; break
817
820
  except: pass
818
821
 
819
- # 3. Linux (shutil.which)
822
+ # 3. WSL (Run Windows Chrome via cmd.exe)
823
+ elif self.is_wsl():
824
+ try:
825
+ # Get Windows TEMP path to use for isolated profile
826
+ win_temp = subprocess.check_output(["cmd.exe", "/c", "echo %TEMP%"], text=True).strip()
827
+ # Ensure path is Windows-style and has our unique folder
828
+ w_profile = os.path.join(win_temp, f"mytunes_v176_{int(time.time() / 10)}")
829
+
830
+ # Construct wsl_flags: order matters, --app and --window-size first
831
+ # Using double quotes for Windows and carefully escaping for cmd.exe
832
+ wsl_args = [
833
+ f'--app="{live_url}"',
834
+ '--window-size=712,800',
835
+ '--window-position=100,100',
836
+ f'--user-data-dir="{w_profile}"',
837
+ '--new-window',
838
+ '--no-first-run',
839
+ '--disable-extensions'
840
+ ]
841
+
842
+ # Use cmd.exe /c start chrome ...
843
+ cmd = f"start chrome {' '.join(wsl_args)}"
844
+ subprocess.Popen(["cmd.exe", "/c", cmd], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
845
+ launched = True
846
+ except:
847
+ # Fallback to general start if chrome command or temp resolution fails
848
+ try:
849
+ subprocess.Popen(["cmd.exe", "/c", "start", live_url], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
850
+ launched = True
851
+ except: pass
852
+
853
+ # 4. Native Linux
820
854
  else:
821
855
  for b in ['google-chrome', 'google-chrome-stable', 'brave-browser', 'chromium-browser', 'chromium']:
822
856
  p = shutil.which(b)
@@ -890,11 +924,16 @@ class MyTunesApp:
890
924
  return res
891
925
 
892
926
  def is_remote(self):
893
- """Check if running in a remote SSH session (excluding WSL)."""
894
- # WSL is technically "local" enough to open browsers
895
- if 'WSL_DISTRO_NAME' in os.environ or 'WSL_INTEROP' in os.environ:
927
+ return 'SSH_CONNECTION' in os.environ or 'SSH_CLIENT' in os.environ
928
+
929
+ def is_wsl(self):
930
+ try:
931
+ if sys.platform != 'linux': return False
932
+ if os.path.exists('/proc/version'):
933
+ with open('/proc/version', 'r') as f:
934
+ return 'microsoft' in f.read().lower()
896
935
  return False
897
- return os.environ.get('SSH_CLIENT') or os.environ.get('SSH_TTY')
936
+ except: return False
898
937
 
899
938
  def show_copy_dialog(self, title, url):
900
939
  """Show a dialog with the URL for manual copying in remote sessions."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mytunes-pro
3
- Version: 1.7.4
3
+ Version: 1.7.6
4
4
  Summary: A lightweight, keyboard-centric terminal player for streaming YouTube music.
5
5
  Author-email: loxo <loxo5432@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/postgresql-co-kr/mytunes
@@ -19,7 +19,7 @@ Dynamic: license-file
19
19
 
20
20
  # 🎵 MyTunes Pro (Korean)
21
21
 
22
- **현대적인 CLI 유튜브 뮤직 플레이어 (v1.7.4)**
22
+ **현대적인 CLI 유튜브 뮤직 플레이어 (v1.7.6)**
23
23
  터미널 환경에서 **YouTube 음악을 검색하여 듣는** 가볍고 빠른 키보드 중심의 플레이어입니다.
24
24
  한국어 입력 환경에서도 **숫자 키(1~5)**를 통해 지연 없는 쾌적한 조작이 가능합니다.
25
25
 
@@ -208,7 +208,7 @@ Windows 환경에서 한글 검색이 안 되거나 설치가 어려운 분들
208
208
 
209
209
  # 🎵 MyTunes Pro (English)
210
210
 
211
- **Modern CLI YouTube Music Player (v1.7.4)**
211
+ **Modern CLI YouTube Music Player (v1.7.6)**
212
212
  A lightweight, keyboard-centric terminal player for streaming YouTube music.
213
213
 
214
214
  ---
@@ -296,7 +296,18 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
296
296
 
297
297
  ## 🔄 Changelog
298
298
 
299
- ### v1.7.4 (Latest)
299
+ ### v1.7.6 (Latest)
300
+
301
+ - **Isolated Browser Profile**: Guaranteed window sizing for the Live Station (F8) on Windows/WSL by forcing an isolated browser profile using the Windows `%TEMP%` directory.
302
+ - **WSL Path Translation**: Implemented automatic Windows temp path resolution in WSL to enable session persistence and profile isolation.
303
+
304
+ ### v1.7.5
305
+
306
+ - **WSL Integration**: Fully optimized browser launch from WSL by utilizing `cmd.exe` to trigger native Windows browsers.
307
+ - **F7 Windows Resolve**: Fixed an issue where YouTube (F7) wouldn't open in WSL environments.
308
+ - **F8 App Mode (WSL/Win)**: Enhanced flags to ensure "App Mode" (no address bar) works consistently even when launched from WSL.
309
+
310
+ ### v1.7.4
300
311
 
301
312
  - **Windows UI Refinement**: Forced Chrome "App Mode" on Windows by reordering flags and disabling extensions/default-apps to ensure a clean popup without an address bar.
302
313
  - **Improved Isolation**: Switched to higher-frequency session rotation for Live Station (F8) to guarantee window size and position persistence fixes.
File without changes
File without changes