Skip to content

Instantly share code, notes, and snippets.

@Sellyme
Last active January 25, 2026 07:39
Show Gist options
  • Select an option

  • Save Sellyme/3b32a5219f81e99009b4c7a759dc1aaf to your computer and use it in GitHub Desktop.

Select an option

Save Sellyme/3b32a5219f81e99009b4c7a759dc1aaf to your computer and use it in GitHub Desktop.
Stylesheet to be used with a custom Discord client (e.g., Vesktop) in conjunction with Disblock Origin to remove ads
/**
* @name Discord Fixer
* @author Sellyme
* @description Lots of minor UI tweaks to make Discord more tolerable
* @version 1.3.1
* @changelog 1.3.1 - fix bot tags being stripped in some cases
* @changelog 1.3 - Update stylings to use class* selectors for better update resiliency
* @changelog 1.3 - Merged some styling, removed others now covered by in-app settings/Disblock
* @changelog 1.3 - Add new target for bookmark upsell
* @changelog 1.2 - fix "Original Poster" tag in threads being replaced with "BOT"
* @changelog 1.1 - remove Nitro nag on server icon hover, fix bug with Server Goals filter
*/
/* HEADER */
/* Hide completely redundant header bar */
/*div[class*="base"][data-fullscreen="false"] > div[class*="bar"] > div[class*="leading"] + div[class*="title"] {
display: none;
}*/
.visual-refresh {
--custom-app-top-bar-height: 0px;
}
/* Hide Checkpoint and Help icons */
div[aria-label='Checkpoint'] {
display: none;
}
div[aria-label='Help'] {
display: none;
}
/* SERVER LIST */
/* Hide Discover tab */
/* DEPRECATED - DisBlock Origin now handles this
div[class*="listItem":has([data-list-item-id="guildsnav___guild-discover-button"]) {
display:none;
} /*
/* Hide "Community Server" boost nag */
[class*="flowerStarContainer"] {
display: none;
}
/* All my other server list tweaks are for Horizontal Server List and not included here */
/* CHANNEL/DM LIST */
/* Hide server boost goals and chiplet */
[class*="containerWithMargin"]:has(div[class*=progressContainer]) { /*containerWithMargin-0d0f9*/
display: none;
}
ul[aria-label='Channels'] > li:has(div[aria-label='Server Boosts']) {
/* "Server Boosts" entry below channels/members list */
display: none;
}
/* Hide Quest advertisement in Direct Messages pane */
[class*="privateChannels"] > div > ul > [class*="wrapper"]:has([data-list-item-id*='quests']) {
display: none;
}
/* CHAT WINDOWS */
/* Remove username gradients (works both in chat and userlist) */
/* unfortunately there's no way to restore the original role colour,
so this just replaces the entire gradients with the start colour */
[class*='usernameGradient'] {
background-image: linear-gradient(to right, var(--custom-gradient-color-1), var(--custom-gradient-color-1));
animation: none;
}
[class*='usernameGlow'] {
display: none;
}
/* Hide "Super Reactions" button */
div[aria-label*='Super Reaction'] {
display: none;
}
/* Hide "Bookmark message" upsell */
#message-save-for-later-upsell, #message-actions-save-for-later-upsell {
display: none;
}
/* CHATBOX */
/* remove obnoxiously large chatbox margins */
/* TODO - BROKEN */
/*:root {
--custom-chat-input-margin-bottom: 5px; !important
}*/
/* TODO: shrink top/bottom padding on text entry area in chatbox*/
/* Hide Nitro gift nags in message box, as well as sticker/emoji/game icons
:not() avoids hiding the + button for attaching files/creating polls/etc */
[class*="channelTextArea"] > div > div > div >
div[class*="button"]:not([class*="attach"]) {
display: none;
}
/* USER LIST */
/* Remove clan tags */
[class*="chipletContainerInner"], [class*="clanTag"] {
display: none !important;
}
/* Hide avatars and bylines */
[class*="membersWrap"] [class*="avatar"], /* avatar */
[class*="membersWrap"] [class*="subText"] /* byline */ {
display:none;
}
[class*="membersWrap"] { /* fix padding after avatar/byline patch */
padding-left: 8px;
padding-top: 8px;
}
/* Condense user list a bit now that it doesn't have avatars/bylines */
.visual-refresh.density-compact {
--custom-member-list-width: 200px;
}
/* Replace "APP" tags with "BOT" */
/* TODO - this replaces Discord's "OFFICIAL" with BOT too, leaving lots of blank space
either trimming the container or not replacing that specific case would be preferred */
[class*="botTag"]:not([class*="TagOP"]) > [class*="botText"] {
visibility: hidden;
}
[class*="botTag"]:not([class*="TagOP"]) > [class*="botText"]:after {
content: "BOT";
visibility: visible;
display: block;
position: absolute;
top: 0px;
left: 1px;
}
/* Hide verified tick on bots */
[class*="botTagVerified"] {
display: none;
}
/* Hide Nitro icon */
[class*="nameAndDecorators"] > span:not([class*="botTag"]) /* hides in userlist */ {
display: none;
}
/* Hide nameplate backgrounds */
/* do these still exist?
._4bbc6dc06e75ad52-container {
background: none !important;
}*/
/* USER PANELS */
/* User badges are mostly advertisements, but "originally known as" is useful
As they are hard to isolate, they are left alone */
/* Remove full-panel animations and effects */
/* Seems to be already handled by another rule/setting?
._0137000bc80ab6ea-profileEffects {
display: none;
} */
/* Remove avatar decorations */
/* Seems to be already handled by another rule/setting?
._44b0c28be7879b7b-avatarDecoration {
display: none;
} */
/* Remove banners (both static and video) */
[class*="user-profile-popout"] [class*="banner"] {
background: none !important;
}
/* SETTINGS MODAL */
/* Hide payment/nitro/boosting settings */
ul[aria-label="Payment Settings"] {
display: none
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment