Files
zoitechat/docs/appearance.rst

5.4 KiB

<?xml version="1.0" encoding="utf-8" ?> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <style type="text/css"> /* :Author: David Goodger (goodger@python.org) :Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. */ /* used to remove borders from tables and images */ .borderless, table.borderless td, table.borderless th { border: 0 } table.borderless td, table.borderless th { /* Override padding for "table.docutils td" with "! important". The right padding separates the table cells. */ padding: 0 0.5em 0 0 ! important } .first { /* Override more specific margin styles with "! important". */ margin-top: 0 ! important } .last, .with-subtitle { margin-bottom: 0 ! important } .hidden { display: none } .subscript { vertical-align: sub; font-size: smaller } .superscript { vertical-align: super; font-size: smaller } a.toc-backref { text-decoration: none ; color: black } blockquote.epigraph { margin: 2em 5em ; } dl.docutils dd { margin-bottom: 0.5em } object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { overflow: hidden; } /* Uncomment (and remove this text!) to get bold-faced definition list terms dl.docutils dt { font-weight: bold } */ div.abstract { margin: 2em 5em } div.abstract p.topic-title { font-weight: bold ; text-align: center } div.admonition, div.attention, div.caution, div.danger, div.error, div.hint, div.important, div.note, div.tip, div.warning { margin: 2em ; border: medium outset ; padding: 1em } div.admonition p.admonition-title, div.hint p.admonition-title, div.important p.admonition-title, div.note p.admonition-title, div.tip p.admonition-title { font-weight: bold ; font-family: sans-serif } div.attention p.admonition-title, div.caution p.admonition-title, div.danger p.admonition-title, div.error p.admonition-title, div.warning p.admonition-title, .code .error { color: red ; font-weight: bold ; font-family: sans-serif } /* Uncomment (and remove this text!) to get reduced vertical space in compound paragraphs. div.compound .compound-first, div.compound .compound-middle { margin-bottom: 0.5em } div.compound .compound-last, div.compound .compound-middle { margin-top: 0.5em } */ div.dedication { margin: 2em 5em ; text-align: center ; font-style: italic } div.dedication p.topic-title { font-weight: bold ; font-style: normal } div.figure { margin-left: 2em ; margin-right: 2em } div.footer, div.header { clear: both; font-size: smaller } div.line-block { display: block ; margin-top: 1em ; margin-bottom: 1em } div.line-block div.line-block { margin-top: 0 ; margin-bottom: 0 ; margin-left: 1.5em } div.sidebar { margin: 0 0 0.5em 1em ; border: medium outset ; padding: 1em ; background-color: #ffffee ; width: 40% ; float: right ; clear: right } div.sidebar p.rubric { font-family: sans-serif ; font-size: medium } div.system-messages { margin: 5em } div.system-messages h1 { color: red } div.system-message { border: medium outset ; padding: 1em } div.system-message p.system-message-title { color: red ; font-weight: bold } div.topic { margin: 2em } h1.section-subtitle, h2.section-subtitle, h3.section-subtitle, h4.section-subtitle, h5.section-subtitle, h6.section-subtitle { margin-top: 0.4em } h1.title { text-align: center } h2.subtitle { text-align: center } hr.docutils { width: 75% } img.align-left, .figure.align-left, object.align-left, table.align-left { clear: left ; float: left ; margin-right: 1em } img.align-right, .figure.align-right, object.align-right, table.align-right { clear: right ; float: right ; margin-left: 1em } img.align-center, .figure.align-center, object.align-center { display: block; margin-left: auto; margin-right: auto; } table.align-center { margin-left: auto; margin-right: auto; } .align-left { text-align: left } .align-center { clear: both ; text-align: center } .align-right { text-align: right } /* reset inner alignment in figures */ div.align-right { text-align: inherit } /* div.align-center * { */ /* text-align: left } */ .align-top { vertical-align: top } .align-middle { vertical-align: middle } .align-bottom { vertical-align: bottom } ol.simple, ul.simple { margin-bottom: 1em } ol.arabic { list-style: decimal } ol.loweralpha { list-style: lower-alpha } ol.upperalpha { list-style: upper-alpha } ol.lowerroman { list-style: lower-roman } ol.upperroman { list-style: upper-roman } p.attribution { text-align: right ; margin-left: 50% } p.caption { font-style: italic } p.credits { font-style: italic ; font-size: smaller } p.label { white-space: nowrap } p.rubric { font-weight: bold ; font-size: larger ; color: maroon ; text-align: center } p.sidebar-title { font-family: sans-serif ; font-weight: bold ; font-size: larger } p.sidebar-subtitle { font-family: sans-serif ; font-weight: bold } p.topic-title { font-weight: bold } pre.address { margin-bottom: 0 ; margin-top: 0 ; font: inherit } pre.literal-block, pre.doctest-block, pre.math, pre.code { margin-left: 2em ; margin-right: 2em } pre.code .ln { color: grey; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } pre.code .literal.string, code .literal.string { color: #0C5404 } pre.code .name.builtin, code .name.builtin { color: #352B84 } pre.code .deleted, code .deleted { background-color: #DEB0A1} pre.code .inserted, code .inserted { background-color: #A3D289} span.classifier { font-family: sans-serif ; font-style: oblique } span.classifier-delimiter { font-family: sans-serif ; font-weight: bold } span.interpreted { font-family: sans-serif } span.option { white-space: nowrap } span.pre { white-space: pre } span.problematic { color: red } span.section-subtitle { /* font-size relative to parent (h1..h6 element) */ font-size: 80% } table.citation { border-left: solid 1px gray; margin-left: 1px } table.docinfo { margin: 2em 4em } table.docutils { margin-top: 0.5em ; margin-bottom: 0.5em } table.footnote { border-left: solid 1px black; margin-left: 1px } table.docutils td, table.docutils th, table.docinfo td, table.docinfo th { padding-left: 0.5em ; padding-right: 0.5em ; vertical-align: top } table.docutils th.field-name, table.docinfo th.docinfo-name { font-weight: bold ; text-align: left ; white-space: nowrap ; padding-left: 0 } /* "booktabs" style (no vertical lines) */ table.docutils.booktabs { border: 0px; border-top: 2px solid; border-bottom: 2px solid; border-collapse: collapse; } table.docutils.booktabs * { border: 0px; } table.docutils.booktabs th { border-bottom: thin solid; text-align: left; } h1 tt.docutils, h2 tt.docutils, h3 tt.docutils, h4 tt.docutils, h5 tt.docutils, h6 tt.docutils { font-size: 100% } ul.auto-toc { list-style-type: none } </style> </head>

Appearance

Theming

Gtk Theme

Starting with version 2.18.0, ZoiteChat uses GTK 3. Theming is handled differently than it was in 2.17.x, HexChat, or X-Chat 2.

On Unix, the default is your system GTK theme. You can change the theme ZoiteChat uses in :menuselection:`Settings --> Preferences --> Appearance --> GTK3 theme`. Themes can be imported here too, which will only be available for ZoiteChat. Themes installed via your system package manager or desktop environment control panel will also be available for ZoiteChat, as well as the rest of your GTK3 applications.

System Message: ERROR/3 (<stdin>, line 12); backlink

Unknown interpreted text role "menuselection".

On Windows, the default theme is Redstone which is bundled with the ZoiteChat installer. In :menuselection:`Settings --> Preferences --> Appearance --> GTK3 theme`, you can import other themes as well, just like on Unix.

System Message: ERROR/3 (<stdin>, line 15); backlink

Unknown interpreted text role "menuselection".

On both platforms, the theme selection drop down will show (user) for themes installed through ZoiteChat and (system) for system themes.

GTK 3 themes can be found on openDesktop and other places like github. Any theme should work as long as it supports GTK 3.20 or higher.

Colors

Colors are defined in :menuselection:`Settings --> Preferences --> Appearance --> Manage all client colors`. Text Colors set the palette for events to use. The rest like background color directly affect parts of the UI.

System Message: ERROR/3 (<stdin>, line 24); backlink

Unknown interpreted text role "menuselection".

mIRC colors (00-15) are what you refer to when sending colored text over IRC for others to see and vice versa, because of this they should somewhat follow a set of standards so clients can agree 04 is red.

Local colors (16-31) can be changed to anything you wish, for instance to use in text events. However, ZoiteChat also supports the later 99 colors standard so if you change the 16-31 colors it may conflict with that.

HexChat and X-Chat 2 supported color scheme "themes" as :file:`.hct` files, which are ZIP archives. Some of them are available from HexChat Themes, and you may have managed them with the discontinued Theme Manager.

System Message: ERROR/3 (<stdin>, line 30); backlink

Unknown interpreted text role "file".

If you want to use a HexChat/X-Chat theme, open the :file:`.hct` file in an application like 7-Zip or Ark and extract :file:`colors.conf`. Then go to :menuselection:`Settings --> Preferences --> Appearance --> Import colors.conf colors` to import it. If the archive includes :file:`pevents.conf`, that can go in your config folder but may not work the same way it did in HexChat.

System Message: ERROR/3 (<stdin>, line 32); backlink

Unknown interpreted text role "file".

System Message: ERROR/3 (<stdin>, line 32); backlink

Unknown interpreted text role "file".

System Message: ERROR/3 (<stdin>, line 32); backlink

Unknown interpreted text role "menuselection".

System Message: ERROR/3 (<stdin>, line 32); backlink

Unknown interpreted text role "file".

Text Events

Text events control the look of every event you see. They can be customized in :menuselection:`Settings --> Text Events` using these codes to format it:

System Message: ERROR/3 (<stdin>, line 38); backlink

Unknown interpreted text role "menuselection".
  • %C<fg>,<bg> Color code (e.g. %C02,00 is blue on grey)
  • %R Reverse color
  • %U Underlined text
  • %B Bold text
  • %I Italic text (2.10.0+)
  • %H Hide text
  • %O Normal text
  • %% Escaped %
  • $t Text separator (tab character)
  • $aXXX Ascii value
  • $<num> Event information

Note

Always hit enter after editing a field.

Icons

ZoiteChat comes with built in icons for the tray, user list, and channel tree (which can be disabled in Preferences). You can use custom icons by placing png icons (16x16 recommended) in an :file:`icons` subdir, which may need to be created, within your config folder. The icons must be named exactly as follows including file extensions:

System Message: ERROR/3 (<stdin>, line 59); backlink

Unknown interpreted text role "file".
  • User List
    • ulist_netop.png
    • ulist_founder.png
    • ulist_owner.png
    • ulist_op.png
    • ulist_halfop.png
    • ulist_voice.png
  • Channel Tree
    • tree_channel.png
    • tree_dialog.png
    • tree_server.png
    • tree_util.png
  • Tray Icon
    • tray_normal.png
    • tray_fileoffer.png
    • tray_highlight.png
    • tray_message.png
    • zoitechat.png

Buttons, Menus, and Popups

Userlist Popup

Popups are shown when you right click on a nickname, either in the userlist or in the main chat itself. These can be edited in :menuselection:`Settings --> Userlist Popup`

System Message: ERROR/3 (<stdin>, line 93); backlink

Unknown interpreted text role "menuselection".

The Name column can take either just the name of the entry, SUB/ENDSUB for submenus, SEP for separators, and TOGGLE for toggleable options. Prefix a character with _ for keyboard shortcuts (e.g. N_ame will bind a).

The Command column can take any command with text formatted using the same codes as text events and on top of that they also have their own codes:

  • %a all selected nicks
  • %c current channel
  • %h selected nick's hostname
  • %m machine info
  • %n your nickname
  • %s selected nickname
  • %t time/date
  • %u selected nick's account

The gui_ulist_doubleclick setting can run a command using these codes when double-clicking a nick in the userlist.

Userlist Buttons

Buttons are shown below the userlist, can be edited in :menuselection:`Settings --> Userlist Buttons`, and take the same syntax as Userlist Popups.

System Message: ERROR/3 (<stdin>, line 114); backlink

Unknown interpreted text role "menuselection".

Usermenu

In order to add custom entries to your menu you need to first enable the usermenu with the command :command:`/set gui_usermenu on` which may require a restart. Once this is enabled you can go to :menuselection:`Usermenu --> Edit this Menu` to add any command you would like. For menu entries it supports the same syntax as Userlist Popups.

System Message: ERROR/3 (<stdin>, line 119); backlink

Unknown interpreted text role "command".

System Message: ERROR/3 (<stdin>, line 119); backlink

Unknown interpreted text role "menuselection".
</html>