Skip to content

Simple themeing format for customizing XTerm, UXTerm, RXVT, and URXVT from one file.

License

Notifications You must be signed in to change notification settings

emctague/xtheme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xtheme - An XTerm/UXTerm/RXVT/URXVT themeing tool
gh: emctague/xtheme

Generates .Xresources and .Xdefaults based on a simpler theme configuration
file format than the standard XRDB one. Made specifically for themeing.


Usage: xtheme <file>

Dependencies:
All you need is gcc on a linux system.

Building:
$ make

Installing:
# make install



Why?

Because I've gotten tired of searching for the options I want for my XResources
file - the names tend to be a bit weird, they're long and repetitive, and for
some reason various sources of documentation seem to disagree on what options
are available to use. To solve this problem, I wrote my own, simpler format
that includes only themeing-related options that a sane person would actually
want to use. I also documented each option clearly below.

Frankly, if you're comfortable editing your regular .Xresources file and don't
plan on changing it often, you probably shouldn't bother with this. I made it
for myself, to fix a problem I have personally,  and figured I'd share it.



Writing a Theme:

A theme/config file consists of lines containing a property, along with any
other information that particular property requires. See `example.xth` for an
example configuration.

There are three types of options that can be set:

 - Flags
   These options are simply listed on a line, and they enable or disable a
   certain feature. No value is given for this sort of option.

 - Values
   These options have a specific value that should come after them on the
   same line, separated by a space.

 - Lists
   These options are given on a line on their own, followed by a certain number
   of lines, each containing a single value for the list.

Please note:

 - Colors must be in hex (#xxxxxx) or basic name (red, green, blue, etc.) format.

 - Any lines that aren't valid config options will be silently ignored, so you
   don't need any particular formatting to make a comment.

 - Indentation of a line will probably result in xtheme failing to recognize the option.

Options:

 - color fg (Value)
   Sets the foreground color to the one specified.

 - color bg (Value)
   Sets the background color to the one specified.

 - color cursor (Value)
   Sets the cursor color to the one specified.

 - color bold (Value)
   Sets the bold color to the one specified. This will also tell XTerm to use
   colored text for "bold" instead of actual bold text.

 - color italic (Value)
   Sets the italic color to the one specified. This will also tell XTerm to use
   colored text for "italic" instead of actual italic text.

 - color underline (Value)
   Sets the underline color to the one specified. This will also tell XTerm to
   use colored text for "underline" instead of actual underlined text.

 - colors (List)
   Sets all 16 terminal colors (color0 to color15). These colors must be
   specified in proper order on the following lines. 16 lines of color values
   must follow.

 - font face (Value)
   Sets the font to the one whose name is specified.

 - font size (Value)
   Sets the font's size, in points, to the value specified.

 - padding (Value)
   Sets the padding around the outer edges of the terminal, in pixels, to the
   value specified

 - use scrollbar (Value)
   Set to true to enable the scrollbar, or false to disable. This isn't a
   flag because the default can be a bit more inconsistent, so we need the
   ability to turn it off or on.

 - cursor blink (Flag)
   Makes the cursor blink.

 - use clipboard (Flag)
   Enables using Ctrl+Shift+V and Ctrl+Shift+C to copy and paste.



Copyright / Licensing:

Source Code, associated/accompanying project files, documentation, and binaries
resulting from the compilation of source code are Copyright 2018 Ethan McTague.

Source code, associated/accompanying project files, documentation, and binaries
resulting from the compilation of source code licensed under the BSD 2-Clause
License, see accompanying "COPYING" file for license terms.

About

Simple themeing format for customizing XTerm, UXTerm, RXVT, and URXVT from one file.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published