[Request] Option to remove “share” “remix” “thanks” etc under the video player #404
Labels
No labels
YTLite
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Creepso/YTLitePlus#404
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Is there an existing issue for this?
Do you use YouTube Premium?
❌ No, I don't use YouTube Premium
My feature request
The ability to remove the buttons under the video player, I believe it was an option in some of the builds from last year but it went away at some point

Additional context
No response
I’ve looked into removing it in the past, and it is tricky. I may work on it some time in the future.
@bhackel I'd love to hear a bit more about what makes things like this difficult or easy, could you elaborate a bit? The whole concept of modified YouTube IPAs are kind of black magic to most of us who use it
Sure thing. I am hoping to make a tweak development guide in the near future, so this can be a good starting point.
Let’s say that I wanted to hide this play button. Using FLEX (which you can enable in YTLitePlus settings), we can select the element to inspect it further.
The next step after finding the class name of the object (YTPlaybackButton) is to find a specific characteristic of this object that makes it unique. This is because when we are hooking this class, we only want to hide the button in this specific case, but not other cases. We can see other cases by using FLEX - Menu - Heap Objects - search for YTPlaybackButton.
Let’s check what the other YTPlaybackButton object is for.
As you can see here, it is used for the minibar. We do not want to hide the minibar play button, so we need to find a unique characteristic of the player’s playback button object that we can use to filter it.
Going back to our YTPlaybackButton object, a generally good technique for the first step in uniqueness is checking the accessibilityIdentifier property. This is something that all objects have, and if it is set by the YouTube developers properly, then it is a unique identifier for this specific object.
We can see here that it does indeed have an accessibilityIdentifier.
Another property that all objects have is hidden. We can use this to hide an object easily.
Then we can write our hook like this:
The layoutSubviews method is an easy method to hook because it is called any time that a view, like this button, changes state in any way.
One of the things I struggled with early on was the syntax of objective-c. It isn’t like Python, Java, Javascript, C, C++ or any other language that I have seen before. ChatGPT was a big help in understanding how to write in the language early on. I will try translating it into Python and Java since these are languages that I think are closest to it
——————————————————
Next, let’s say we wanted to remove the buttons under the player. We can use FLEX to figure out what class types they are.
Now we can check for a unique identifier like before
Let’s say we did the same thing as before and hid this element. The result would look like this
This is not a desirable effect. There is an empty space between the buttons. Therefore, we would need to do something more complicated to block the element from being added at all, rather than hiding the element after it has been added.
I won’t get into the details now, but that is the general idea.
@bhackel wow, you're the man! Thanks for explaining in such depth, that's super helpful!
Yes, want this feature so much!