Skip to content

Instantly share code, notes, and snippets.

@sct
Created November 9, 2012 21:04
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save sct/4048226 to your computer and use it in GitHub Desktop.
Save sct/4048226 to your computer and use it in GitHub Desktop.
dark monokai quassel
/**
* ____ _ ___ ___ _ _
* | _ \ | | | \/ | | | (_)
* | | \ |__ _ _ __| | __ | . . | ___ _ __ ___ | | __ __ _ _
* | | | | _` | '__| |/ / | |\/| |/ _ \| '_ \ / _ \| |/ // _` | |
* | |_/ /(_| | | | < | | | | (_) | | | | (_) | <| (_| | |
* |____/\__,_|_| |_|\_\ \_| |_/\___/|_| |_|\___/|_|\_\\__,_|_|
*
* 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: #e90d7f; }
ChatLine::sender#plain[sender="01"] { foreground: #8e55e9; }
ChatLine::sender#plain[sender="02"] { foreground: #b30e0e; }
ChatLine::sender#plain[sender="03"] { foreground: #17b339; }
ChatLine::sender#plain[sender="04"] { foreground: #58afb3; }
ChatLine::sender#plain[sender="05"] { foreground: #9d54b3; }
ChatLine::sender#plain[sender="06"] { foreground: #b39775; }
ChatLine::sender#plain[sender="07"] { foreground: #3176b3; }
ChatLine::sender#plain[sender="08"] { foreground: #e90d7f; }
ChatLine::sender#plain[sender="09"] { foreground: #8e55e9; }
ChatLine::sender#plain[sender="0a"] { foreground: #b30e0e; }
ChatLine::sender#plain[sender="0b"] { foreground: #17b339; }
ChatLine::sender#plain[sender="0c"] { foreground: #58afb3; }
ChatLine::sender#plain[sender="0d"] { foreground: #9d54b3; }
ChatLine::sender#plain[sender="0e"] { foreground: #b39775; }
ChatLine::sender#plain[sender="0f"] { foreground: #3176b3; }
/*
** 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