Looks like a cool script. I am learning different TUI tools now and willing to migrate some from GUI. This one gives me trouble. I probably did something wrong. When I press m then P - nothing happens. Supposedly, there should be preferences. And the program didn’t ask me on the first run to configure anything.
When I search a video with s - I get in a preview window: zsh:11: command not found: draw_preview
Strange… It still displays the same zsh error and the preferences are not displayed. I even tried to execute the program using bash magic-tape.sh while in bash
I tried on a machine where only bash is installed, and the search window is blank, yt-dlp gives an error that flashes and I can’t read quickly, no preferences appear, again it flashes some text but I cannot read it. Also, the location for the folder is not relative, it has to be in ~/git/magic-tape otherwise it will give you multiple errors.
Yeah, I followed the instructions, created necessary folders. yt-dlp is not the latest version, but the latest from Debian bookworm repositories (2023.03.04). yt-dlp works perfectly to download and convert videos with ffmpeg.
When I try to browse trending yt-dlp says:
<pre style="background-color:#ffffff;">
<span style="color:#323232;">yt-dlp: error: playlist end "0" must be must be greater than or equal to playlist start "1"
</span>
I don’t have zsh errors on Debian where only bash is installed, after searching for a video I got a blank screen with the only option:
You can open the P option by either double-clicking on it with the mouse, or entering capital P with the keyboard. You can get to select the P option through the misc menu.
Do you get any error messages when doing so?
Have you installed all the dependencies of the script (rofi in particular)?
I did not have rofi installed on my headless machine, from the description I understand it is a GUI application. After installing it I still could not get the Preferences menu to appear. Nothing happens when I press P, or more specifically there is a quick flash of something and it comes back to the m submenu
I finally got to my main workstation with GUI, pulled the latest code, installed rofi there and it works now, I sill could not to get previews to show because of the draw_preview: command not found error. But I don’t think rofi can run on a headless machine:
<pre style="background-color:#ffffff;">
<span style="color:#323232;">rofi
</span><span style="color:#323232;">(process:1456958): X11Helper-WARNING **: 10:52:55.600: Failed to open display: (null)
</span><span style="color:#323232;">(process:1456958): Rofi-WARNING **: 10:52:55.600: Connection has error
</span>
I think that apart from not installing the dependencies, both problems that you have faced in your machine (zsh-bash conflict, headless machine) are beyond the scope of this script and need to be examined individually.
At the end of the day, one could easily substitute rofi with fzf itself in the script, they do more or less the same job. I am not certain rofi is your main obstacle here.
I tried to substitute rofi with fzf in vim, and when I try Preferences - it says 😕 Selection canceled…
My main goal was to use this program on my server which has no GUI and I can access it from anywhere. For example, I successfully use newsboat and neomutt remotely. When I saw TUI, I thought I could use that too headless, but you may wanna put a disclaimer that the script requires a GUI application rofi.
Anyways, thanks for the project, I will keep an eye on it if it keeps developing, great idea! While troubleshooting this program I came across ytfzf that also supposedly supports subscriptions and seems like can work headlessly
Don’t get mad, I’ve read. It’s a little unusual for me to see amongst 6 CLI dependencies on GUI one. But even installing a GUI application on a headless machine won’t do any good
The directory structure of the program has been updated. Instead of keeping everything in ~git/magic-tape/, now various files and directories are kept in various places.This way,
the magic-tape.sh is in ~/.local/bin/
the magic-tape cache files are all in ~/.cache/magic-tape/
the configuration text file will be created in ~/.config/magic-tape/
The action selection can be either with rofi, or fzf (if the user wants to go full TUI).This can be configured during the P option of the misc menu.
So if you want to go full tui, you can avoid rofi and go full fzf.
Actual git still worked. I was able to git pullI also figured out a way to launch the script using bash - needed to export $SHELL - the only way it worked. I could not update yt-dlp to the latest version - the latest I could install is 2023.06.22 from the side PPA repo. Official Ubuntu repo provides 2023.03 and pip breaks my system with compatibility issues that I don’t have desire to troubleshoot. I could try in the future downloading their binary but I don’t like when stuff doesn’t auto-update. The preferences worked this time and I was able to save them.
yt-dlp gives me an error every time I try to browse either Trending or do a search. I have a TV with a cross and 1 option to Abort Selection.
I have a question: is the script dependent on having browser cookies? Because I don’t have any of the browsers installed on a headless machine. ANd I think that is what yt-dlp wasn’t happy about…
<pre style="background-color:#ffffff;">
<span style="color:#323232;">Downloading /feed/trending ...
</span><span style="color:#323232;">Traceback (most recent call last) :
</span><span style="color:#323232;">File "/usr/bin/yt-dlp", line 33, in <module>
</span><span style="color:#323232;">sys. , 'console_scripts'
</span><span style="color:#323232;">' yt—dtp'
</span><span style="color:#323232;">Fite py", tine 1008, in main
</span><span style="color:#323232;">File "/usr/lib/python3/dist-packages/yt_dlp/_init_.py", tine 962, in _real_main
</span><span style="color:#323232;">with YoutubeDL(ydl_opts) as ydl:
</span><span style="color:#323232;">AAAAAAAAAAAAAAAAAAA
</span><span style="color:#323232;">File "/usr/tib/python3/dist—packages/yt_dlp/YoutubeDL.py", tine 762, in _ init
</span><span style="color:#323232;">self. _ setup_opener()
</span><span style="color:#323232;">File "/usr/Iib/python3/dist—packages/yt_dIp/YoutubeDL.py", tine 3929, in _ setup_opener
</span><span style="color:#323232;">self. cookiejar = load_cookies(opts_cookiefile, opts_cookiesfrombrowser, self)
</span><span style="color:#323232;">File "/usr/lib/python3/dist-packages/yt_dtp/cookies.py", line 106, in load_cookies
</span><span style="color:#323232;">extract_cookies_from_browser(browser_name, profile, YDLLogger(ydI), keyring=keyring, container=container))
</span><span style="color:#323232;">File "/usr/lib/python3/dist-packages/yt_dlp/cookies.py", line 123, in extract_cookies_from_browser
</span><span style="color:#323232;">return _extract_firefox_cookies(profile, container, logger)
</span><span style="color:#323232;">File py", tine 148, in _extract_firefox_cookies
</span><span style="color:#323232;">raise FileNotFoundError(f' could not find Firefox cookies database in {search_root}')
</span><span style="color:#323232;">FiteNotFoundError: could not find Firefox cookies database in /home/user/. mozitta/firefox
</span><span style="color:#323232;">Completed /feed/trendinq.
</span>
Unfortunately, (or fortunately for me) I have not used YouTube in a traditional way in a very long time. I use FreeTube, Piped, Invidious, NewPipe, VueTube depending on the platform I currently am. And that is why I don’t have any cookies for it. I don’t really care for liking or commenting the videos as just watching them. All the above mentioned programs support own “offline” subscription lists, and most have interest-based profiles which you cannot achieve with a traditional YouTube account.
But yeah, sadly this not for me in its current form, I will join whoever added a comment here earlier about waiting for support of json - based subscription lists - that is, of course, if you decide to go that route, or at least as bare minimum if you could remove the cookie requirement and have “anonymous search and view” functionality. I believe many of us here on Lemmy that are concerned about privacy will greatly appreciate that. YouTube itself, mpv, and yt-dlp don’t really need cookies to watch a video.
I was considering being full “offline”, it is perfectly doable, working with yt xml requests.
The downside is that this process (so far for me) takes longer, gives less info, and mostly, although there is no image support there, is done better by terminal rss feeders like newsboat.
You cannot do everything at the same time. I may revisit this approach in the feature and put up something else.
That said, Fedora Legal has determined that if we collect any personally-identifiable data, the entire metrics system must be opt-in. Since we are only interested in opt-out metrics due to the low value of opt-in metrics, we must accordingly never collect any personally-identifiable data.
Looks like this statement contradicts with their goal.
On Endless OS, applications use a D-Bus API (via a small C library, eos-metrics) to record metrics events locally on the device. This API is implemented by a system-wide service, named eos-metrics-event-recorder or eos-event-recorder-daemon (no, I don’t know why it has two different names either), which buffers those events in memory, and periodically submits them anonymously to a server, Azafea, which ingests them into a PostgreSQL database (after a short layover in a Redis queue). If the computer is offline – often the case for Endless OS systems! – events are persisted to a size-limited ring buffer on disk, and submitted when the computer is online.
I had a script in termux that used exiftool to rename and organize photos and then rsync them to my backup. That was on an older phone. I need to do that again!
For me it was Enlightenment DR16 (discontinued). you could make themes with shaped borders (transparent regions, buttons and titles anywhere, even overlapping into the window a bit), have it remember window positions, change border style for a window (e.g. drawer, so it can be collapsed sideways) and it would not steal focus. it had really good effects and features. I miss it a lot in Wayland. Check the web for some screenshots, if you want to be inspired.
linux
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.