-
-
Save clopez/5249084 to your computer and use it in GitHub Desktop.
Amazing stylesheet for Quassel IRC Client
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* ____ _ ___ ___ _ _ | |
* | _ \ | | | \/ | | | (_) | |
* | | \ |__ _ _ __| | __ | . . | ___ _ __ ___ | | __ __ _ _ | |
* | | | | _` | '__| |/ / | |\/| |/ _ \| '_ \ / _ \| |/ // _` | | | |
* | |_/ /(_| | | | < | | | | (_) | | | | (_) | <| (_| | | | |
* |____/\__,_|_| |_|\_\ \_| |_/\___/|_| |_|\___/|_|\_\\__,_|_| | |
* | |
* Quassel Theme | |
* | |
* Author: Chris H (Zren) | |
*/ | |
/** | |
* Notes | |
* | |
This theme was origionally designed for the Plastique theme. (Settings > Configure Quassel (F7) > Interface > Client Style) | |
*/ | |
/* | |
* Helpful Links | |
* | |
QT: | |
http://qt-project.org/doc/qt-4.8/stylesheet-syntax.html | |
http://doc.qt.nokia.com/4.7-snapshot/stylesheet-examples.html | |
Other QSS: | |
http://sprunge.us/iZGB | |
*/ | |
/* | |
Note: | |
Quassel stylesheets also support Palette { role: color; } for setting the system palette. See the QPalette docs for available roles, and convert them into qss-style attributes, so ButtonText would become button-text or see qssparser.cpp In fact, qssparser.cpp is the authorative source for Quassel's qss syntax that contains all the extensions over standard Qt qss syntax. | |
See: | |
http://qt-project.org/doc/qt-4.8/qpalette.html#ColorRole-enum | |
http://bugs.quassel-irc.org/projects/quassel-irc/repository/revisions/master/entry/src/uisupport/qssparser.cpp | |
*/ | |
Palette { | |
/* Window colors */ | |
window: #2b2b2b; | |
background: #212121; | |
foreground: #ffffff; | |
base: #131313;//21221b | |
alternate-base: #42403B; | |
tooltip-base: #440000; | |
tooltip-text: #0000ff;// | |
/* The following attributes should be done in a scale */ | |
light: #444444; // Tab Borders, Scrollbar handle grips, Titled Panel border (Settings) | |
midlight: #333333; // ? | |
button: #292929; // Menu BG, Scrollbar and Button base. | |
mid: #252525; // Titled Panel border (Settings) | |
dark: #202020; // TreeView [-] and ... color (Also various borders in Windows Client Style) | |
shadow: #1d1d1d; // ? | |
/* Text colors */ | |
text: white; | |
button-text: #B6B3AB; | |
//highlight: #00ff00; | |
//highlight-text: #000000; | |
/* Link colors */ | |
link: #539FA3; | |
link-visited: #845B90; | |
/* Color of the marker line in the chat view. BG Node that is overlayed on the first new ChatLine. */ | |
// 0 -> 0.1 (sharp line), 0.1 -> 0.5 (Pale glow) | |
marker-line: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ff0000, stop: 0.1 #ff0000, stop: 0.1 rgba(255,0,0,64), stop: 0.5 transparent); | |
} | |
/* | |
** Base Object Colors | |
*/ | |
/* Tables */ | |
// QTreeView#settingsTree -> Tree in the Settings popup. | |
QTreeView, QTableView { | |
alternate-background-color: rgba(0,0,0, 64); | |
// background-color: palette(shadow); | |
border: 0px; | |
} | |
// QTreeView::item { color: #debc85; } | |
// QTreeView::item:selected { color: #00004b; } | |
// QTreeView#settingsTree { background: #131313; } | |
/* Scrollbar */ | |
/* From Quassel Wiki: http://sprunge.us/iZGB */ | |
QScrollBar { | |
//background: transparent; | |
background: palette(base); | |
margin: 0; | |
} | |
QScrollBar:hover { | |
/* Optional: Subtle accent of scrolling area on hover */ | |
background: #161616; /* base +2 */ | |
} | |
QScrollBar:vertical { | |
width: 8px; | |
} | |
QScrollBar:horizontal { | |
height: 8px; | |
} | |
QScrollBar::handle { | |
padding: 0; | |
margin: 2px; | |
border-radius: 2px; | |
border: 2px solid palette(midlight); | |
background: palette(midlight); | |
} | |
QScrollBar::handle:vertical { | |
min-height: 20px; | |
min-width: 0px; | |
} | |
QScrollBar::handle:horizontal { | |
min-width: 20px; | |
min-height: 0px; | |
} | |
QScrollBar::handle:hover { | |
border-color: palette(light); | |
background: palette(light); | |
} | |
QScrollBar::handle:pressed { | |
background: palette(highlight); | |
border-color: palette(highlight); | |
} | |
QScrollBar::add-line , QScrollBar::sub-line { | |
height: 0px; | |
border: 0px; | |
} | |
QScrollBar::up-arrow, QScrollBar::down-arrow { | |
border: 0px; | |
width: 0px; | |
height: 0px; | |
} | |
QScrollBar::add-page, QScrollBar::sub-page { | |
background: none; | |
} | |
/* Input Box */ | |
MultiLineEdit { | |
//background: palette(base); | |
//color: palette(foreground); | |
} | |
/* Widgets */ | |
/* http://doc.qt.nokia.com/4.7-snapshot/qdockwidget.html */ | |
//QMainWindow, | |
QMainWindow QAbstractScrollArea { | |
//border: 0; // Remove borders. | |
border: 1px solid palette(shadow); | |
} | |
QMainWindow { | |
//background: palette(mid); // Main window trim | |
} | |
/* Splitter */ | |
/* The splits between QDockWidgets and QMainWindow is a different element. */ | |
QSplitter::handle:horizontal:hover, | |
QMainWindow::separator:vertical:hover { | |
background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 palette(window), stop: 0.5 palette(light), stop: 1 palette(window)); | |
} | |
QSplitter::handle:vertical:hover, | |
QMainWindow::separator:horizontal:hover { | |
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 palette(window), stop: 0.5 palette(light), stop: 1 palette(window)); | |
} | |
/* Menu Bar */ | |
QMenu { | |
margin: 10px; // A bit of nice padding around menu items. | |
} | |
/* ToolTip */ | |
/* Note: You cannot create transparent sections in the popup box without a mask set. Thus the black edges outside the rounded borders. */ | |
QToolTip { | |
border: 2px solid green; | |
border-radius: 6px; | |
background: black; | |
color: #ffffff; | |
} | |
/* Tabs */ | |
/* | |
The palette is designed for the selected one to be darker. So we need to change it. Decided to do a simple line. | |
tab:bottom and tab:top reverse y1 and y2 on the linear gradients. | |
Tab Shadow: #444444 (light) | |
Tab Hover: #666 | |
Tab Selected: palette(highlight) | |
*/ | |
//QTabWidget{} | |
//QTabWidget::pane {} | |
QTabWidget::tab-bar { | |
alignment: center; | |
} | |
QTabBar::tab { | |
min-width: 30px; | |
height: 20px; | |
} | |
QTabBar::tab:bottom:selected { | |
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 palette(highlight), stop: 0.2 palette(highlight), stop: 0.2 transparent); | |
} | |
QTabBar::tab:top:selected { | |
background: qlineargradient(x1: 0, y1: 1, x2: 0, y2: 0, stop: 0 palette(highlight), stop: 0.2 palette(highlight), stop: 0.2 transparent); | |
} | |
QTabBar::tab:!selected { | |
color: #888; | |
} | |
QTabBar::tab:bottom:!selected { | |
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 palette(light), stop: 0.2 palette(light), stop: 0.2 transparent); | |
} | |
QTabBar::tab:top:!selected { | |
background: qlineargradient(x1: 0, y1: 1, x2: 0, y2: 0, stop: 0 palette(light), stop: 0.2 palette(light), stop: 0.2 transparent); | |
} | |
QTabBar::tab:!selected:hover { | |
color: #aaa; | |
} | |
QTabBar::tab:bottom:!selected:hover { | |
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #666, stop: 0.2 #666, stop: 0.2 transparent); | |
} | |
QTabBar::tab:top:!selected:hover { | |
background: qlineargradient(x1: 0, y1: 1, x2: 0, y2: 0, stop: 0 #666, stop: 0.2 #666, stop: 0.2 transparent); | |
} | |
/* | |
** Quassel CSS | |
*/ | |
/* Main Chat Background Override */ | |
ChatView { | |
background: palette(base); | |
} | |
/* Font */ | |
// Will not override if doubled up eg: "ChatLine, MultiLineEdit {}" | |
/** | |
* Don't bold or style MultiLineEdit text in any way otherwise you will be | |
* prone to get weird behaviour in submitting from the Input box. | |
* It will randomly bold your input if you do. | |
*/ | |
/* Optional: Change color of bold text when regular text is already bold to make it more distinct. */ | |
ChatLine#plain[format="bold"] { | |
color: yellow; | |
} | |
/* Topic Box */ | |
StyledLabel#topicLabel { background: palette(base); } | |
/* Buffer / Channel List */ | |
ChatListItem { foreground: #888888; } | |
ChatListItem[state="inactive"] { foreground: #555555; } | |
ChatListItem[state="channel-event"] { foreground: #888888; } | |
ChatListItem[state="unread-message"] { foreground: #85A83F; } | |
ChatListItem[state="highlighted"] { foreground: #FFAA00; } | |
ChatListItem[type="network", state="unread-message"] {foreground: #999999; } | |
/* Nick List */ | |
NickListItem[type="category"] { foreground: #debc85; } | |
NickListItem[type="user"] { foreground: #cccccc; } | |
NickListItem[type="user", state="away"] { foreground: #666666; } | |
/* Chatbox Line Formatting */ | |
ChatLine[label="highlight"] { | |
foreground: #FFFFF8; | |
background: #9D550F; | |
} | |
ChatLine::timestamp { } | |
ChatLine#plain { foreground: #F8F8F2; } | |
ChatLine#notice { foreground: #A6E22E; } | |
ChatLine#action { foreground: #F92672; font-weight: bold; font-style: italic; } | |
ChatLine#nick { foreground: #75715E; } | |
ChatLine#mode { foreground: #75715E; font-weight: bold; } | |
ChatLine#join { foreground: #75715E; } | |
ChatLine#part { foreground: #75715E; } | |
ChatLine#quit { foreground: #75715E; } | |
ChatLine#kick { foreground: #75715E; } | |
ChatLine#kill { foreground: #75715E; } | |
ChatLine#server { foreground: #A6E22E; } | |
ChatLine#info { foreground: #A6E22E; } | |
ChatLine#error { foreground: #FD971F; } | |
ChatLine#daychange { foreground: #A6E22E; } | |
ChatLine#topic { foreground: #FD971F; } | |
//ChatLine#netsplit { foreground: #996633; } // Old | |
ChatLine#netsplit-join { foreground: #996633; } | |
ChatLine#netsplit-quit { foreground: #996633; } | |
ChatLine::timestamp { | |
foreground: #707C70; | |
// Resets the timestemp font during #action and other possible formatting. | |
font-style: normal; | |
font-weight: normal; | |
} | |
ChatLine::url { | |
foreground: palette(link); | |
//font-style: underline; // Uncomment if you always want an underline on links. | |
} | |
/* Sender Colors */ | |
ChatLine::sender#plain[sender="self"] { foreground: #00FF00; } | |
/* Uncomment this is you want all senders the same color: */ | |
// ChatLine::sender#plain { foreground: #2828B9; } | |
ChatLine::sender#plain[sender="00"] { foreground: #A6BDD7; } | |
ChatLine::sender#plain[sender="01"] { foreground: #803E75; } | |
ChatLine::sender#plain[sender="02"] { foreground: #FF6800; } | |
ChatLine::sender#plain[sender="03"] { foreground: #800000; } | |
ChatLine::sender#plain[sender="04"] { foreground: #55FFFF; } | |
ChatLine::sender#plain[sender="05"] { foreground: #063811; } | |
ChatLine::sender#plain[sender="06"] { foreground: #00538A; } | |
ChatLine::sender#plain[sender="07"] { foreground: #53377A; } | |
ChatLine::sender#plain[sender="08"] { foreground: #93AA00; } | |
ChatLine::sender#plain[sender="09"] { foreground: #0000FF; } | |
ChatLine::sender#plain[sender="0a"] { foreground: #FF0000; } | |
ChatLine::sender#plain[sender="0b"] { foreground: #FF8E00; } | |
ChatLine::sender#plain[sender="0c"] { foreground: #FFFF00; } | |
ChatLine::sender#plain[sender="0d"] { foreground: #FF00FF; } | |
ChatLine::sender#plain[sender="0e"] { foreground: #FF8080; } | |
ChatLine::sender#plain[sender="0f"] { foreground: #808080; } | |
/* | |
** mIRC formats | |
*/ | |
ChatLine[format="bold"] { font-weight: bold;} | |
ChatLine[format="italic"] { font-style: italic; } | |
ChatLine[format="underline"] { font-style: underline; } | |
/* Make black text appear lighter as our theme has a dark background. */ | |
ChatLine[fg-color="01"] { foreground: #444; } | |
ChatLine[bg-color="01"] { background: #444; } | |
/* A list of all the colors for easy convienience */ | |
/* | |
ChatLine[fg-color="00"] { foreground: white; } | |
ChatLine[bg-color="00"] { background: white; } | |
ChatLine[fg-color="01"] { foreground: black; } | |
ChatLine[bg-color="01"] { background: black; } | |
ChatLine[fg-color="02"] { foreground: navy; } | |
ChatLine[bg-color="02"] { background: navy; } | |
ChatLine[fg-color="03"] { foreground: green; } | |
ChatLine[bg-color="03"] { background: green; } | |
ChatLine[fg-color="04"] { foreground: red; } | |
ChatLine[bg-color="04"] { background: red; } | |
ChatLine[fg-color="05"] { foreground: darkred; } | |
ChatLine[bg-color="05"] { background: darkred; } | |
ChatLine[fg-color="06"] { foreground: purple; } | |
ChatLine[bg-color="06"] { background: purple; } | |
ChatLine[fg-color="07"] { foreground: orange; } | |
ChatLine[bg-color="07"] { background: orange; } | |
ChatLine[fg-color="08"] { foreground: yellow; } | |
ChatLine[bg-color="08"] { background: yellow; } | |
ChatLine[fg-color="09"] { foreground: lightgreen; } | |
ChatLine[bg-color="09"] { background: lightgreen; } | |
ChatLine[fg-color="0a"] { foreground: teal; } | |
ChatLine[bg-color="0a"] { background: teal; } | |
ChatLine[fg-color="0b"] { foreground: lightcyan; } | |
ChatLine[bg-color="0b"] { background: lightcyan; } | |
ChatLine[fg-color="0c"] { foreground: blue; } | |
ChatLine[bg-color="0c"] { background: blue; } | |
ChatLine[fg-color="0d"] { foreground: pink; } | |
ChatLine[bg-color="0d"] { background: pink; } | |
ChatLine[fg-color="0e"] { foreground: gray; } | |
ChatLine[bg-color="0e"] { background: gray; } | |
ChatLine[fg-color="0f"] { foreground: lightgray; } | |
ChatLine[bg-color="0f"] { background: lightgray; } | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment