I don’t care about your monologue, just show me the filters!
The Process
I got tired of Youtube constantly recommending me videos I have seen before. With the exception of music videos, I will very rarely want to watch something twice, and in those cases I will probably go looking for it.
Since I use uBlock Origin for an adblocker, I should be able to add my own custom filters to hide Youtube recommendations that show a progress bar—assuming they didn’t bake that into the thumbnail.
I turns out they didn’t. This hides all recommendations with a progress bar on the homepage.
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(yt-thumbnail-bottom-overlay-view-model)
This is fine, but perhaps a bit draconian, Sometimes I will start a video, decide “eh, not now” and leave the tab in the background to rot away and be forgotten about. Those videos I would like to still show up from time to time.
Luckily for me, Youtube handily provides the watched percentage, so this will hide all recommendations I completely finished watching:
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])
Except that much of the time I’m going to close a video before the it actually completely finishes. Now I would like to be able to have a filter that applied whenever the progress bar width was over 90%, but CSS selectors only work on text, not numbers. So, that means I have to do it the hard way:
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 95%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 96%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 97%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 98%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 99%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])
Yeah, I changed it to 95%.
This doesn’t affect the recommendations after/alongside a video, that is similar:
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 95%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 96%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 97%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 98%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 99%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])
This will not hide search results, watch history, subscriptions or playlists.
My Final Filters
! No previously watched videos on the home page with any progress
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(yt-thumbnail-bottom-overlay-view-model)
! No finished videos recommended on another video
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 90%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 91%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 92%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 93%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 94%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 95%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 96%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 97%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 98%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 99%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])
The Downsides
These filters hide all videos regardless of contents, so if you want to get music video recommendations or periodic reminders of older videos you like—this may not be for you.
Prior to this, I often used Youtube for music recommendations, I’m going to try Youtube Music instead (where these filters do no apply).
Sometimes, hovering over a video will autoplay it, and sometimes Youtube counts this as progress. It would be annoying if stopped showing a video that I accidentally left my mouse over for a bit. I’ll have to see if this happens a noticeable amount.
There’s no way to hide one of the recommendations that appear when a video ends, since they provide no progress bar.
After a long enough period of time Youtube stops showing progress bars on watched videos, so after a year or so somethings you’ve seen will probably start showing back up.
Just The Filters
You’ll want to pick and choose what lines you want, ‘cause you read the explanation, right?
! Hide everything with a progress bar on the homepage
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(yt-thumbnail-bottom-overlay-view-model)
! Hide homepage recommendations based on watched precentage
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 1%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 2%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 3%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 4%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 5%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 6%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 7%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 8%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 9%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 10%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 11%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 12%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 13%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 14%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 15%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 16%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 17%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 18%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 19%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 20%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 21%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 22%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 23%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 24%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 25%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 26%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 27%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 28%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 29%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 30%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 31%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 32%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 33%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 34%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 35%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 36%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 37%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 38%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 39%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 40%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 41%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 42%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 43%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 44%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 45%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 46%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 47%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 48%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 49%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 50%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 51%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 52%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 53%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 54%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 55%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 56%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 57%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 58%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 59%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 60%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 61%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 62%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 63%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 64%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 65%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 66%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 67%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 68%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 69%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 70%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 71%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 72%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 73%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 74%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 75%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 76%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 77%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 78%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 79%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 80%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 81%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 82%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 83%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 84%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 85%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 86%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 87%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 88%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 89%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 90%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 91%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 92%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 93%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 94%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 95%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 96%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 97%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 98%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 99%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])
! Hide video companion recommendations based on watched percentage
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 1%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 2%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 3%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 4%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 5%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 6%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 7%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 8%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 9%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 10%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 11%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 12%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 13%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 14%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 15%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 16%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 17%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 18%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 19%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 20%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 21%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 22%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 23%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 24%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 25%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 26%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 27%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 28%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 29%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 30%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 31%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 32%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 33%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 34%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 35%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 36%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 37%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 38%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 39%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 40%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 41%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 42%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 43%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 44%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 45%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 46%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 47%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 48%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 49%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 50%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 51%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 52%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 53%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 54%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 55%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 56%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 57%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 58%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 59%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 60%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 61%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 62%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 63%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 64%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 65%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 66%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 67%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 68%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 69%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 70%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 71%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 72%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 73%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 74%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 75%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 76%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 77%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 78%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 79%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 80%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 81%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 82%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 83%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 84%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 85%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 86%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 87%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 88%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 89%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 90%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 91%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 92%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 93%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 94%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 95%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 96%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 97%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 98%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 99%"])
www.youtube.com##yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])
Bonus (hides Youtube Music subscriptions banner):
music.youtube.com##ytmusic-mealbar-promo-renderer
Though sometimes it doesn’t seem to work ¯\_(ツ)_/¯