23 December 2010

HOTKEY_MIMIC_SCROLL_* with GTK+ 2.91.7

GTK+ 2.91.7 enables XI2 by default.
However, XI2 does not work with XSendEvent currently.

If you want to use HOTKEY_MIMIC_SCROLL_UP or HOTKEY_MIMIC_SCROLL_DOWN with GTK+ 2.91.7,
please add "gdk_disable_multidevice();" without the quote before "gtk_init(&argc, &argv);".

I will fix this problem in next release, of course. :-)

[WORKAROUND] build failure with GTK+ 2.91.7

Prepared for GTK+ 3.0, the latest release of GTK+ 2.9x has changed its soname.

Some compilers do not accept "-Wl,--as-needed" or similar options, so I use a minimal set of linking options, which can not find new soname automatically.

If you want to build current evilvte with GTK+ 2.91.7, please set your LDLIBS environment variable.

For example:
export LDLIBS=`pkg-config --libs vte-2.90`

Thus everything will be fine.

20 December 2010

evilvte 0.4.8~pre2 released

Changelog:
0.4.8~pre2
 * Initial support for vte_terminal_search_*
   The feature of VTE is still quite buggy.
   Please see: https://bugzilla.gnome.org/627886
 * Support underscore in LABEL_* to indicate
   mnemonic of menu item
 * Drop MATCH_STRING_EXEC which was deprecated
   since 0.4.7~pre1
 * Hide DEFAULT_EMULATION_TYPE,
   TAB_BORDER_HORIZONTAL and TAB_BORDER_VERTICAL
 * Provide a clearsigned SHA1SUMS using
   DSA key ID E98D6159
 * Make everything GTK+ 2.91.6 compatible

 * How to report bug, request feature,
   or submit patch for evilvte

20 November 2010

evilvte 0.4.8~pre1 released

Changelog:
0.4.8~pre1
 * Status bar and scrollbar can be hidden initially
   and be toggled on later
 * Better behavior for *_TOGGLE_TABBAR with
   TABBAR_AUTOHIDE enabled
 * Sync window state with window manager
 * Fix some cross-platform issues
   Thanks to Aragon Gouveia
   <aragon AT phat DOT za DOT net>
 * Initial support for new VTE resizing behavior
   If you are using GTK+ version >= 2.91.1 and
   VTE version >= 0.27.1, the window size of
   evilvte is not always correct currently.
 * Make everything GTK+ 2.91.4 compatible

 * How to report bug, request feature,
   or submit patch for evilvte

13 November 2010

Start evilvte in power user mode?



Anonymous said...
> How to start evilvte in SUDO mode ?
> I use tinycore console program and 'sudo evilvte'.
> That works fine. But, if I add the same commandline to the tinycore menu,,, it does not work ???

Try this one:
evilvte -e sudo bash

sudo needs user to input password in the terminal, so basically it can not be used in menu system.
Some menu system can call programs within a terminal, but calling evilvte in evilvte is quite stupid. :-)

I have not checked tinycore menu system, maybe they has better solutions then 'evilvte -e sudo bash'.

20 October 2010

One week without internet

Update: I will be online next week. Thanks to Megi. :-)

I may have no stable internet access next week.

If you leave comments here, or mail something to me,

I can not reply you before 31 October. :-(

I hope I will be back sooner.

evilvte 0.4.7.1 released

Changelog:
0.4.7.1
 * Fix a segfault bug of HOTKEY_MIMIC_SCROLL_UP and
   HOTKEY_MIMIC_SCROLL_DOWN

 * How to report bug, request feature,
   or submit patch for evilvte

18 October 2010

Official mirror hosted at Google

Click to go to official evilvte homepage (mirror).

I also put a mirror download link for latest evilvte tarball at the top right of this blog.

17 October 2010

[WORKAROUND] DNS of evilvte host temporarily down

Update: calno.com has been moved to a new web hosting, so the IP is changed. :-)

evilvte is hosted on calno.com, but the DNS data is temporarily corrupted.

The workaround is adding IP data to your /etc/hosts:

???.???.???.??? www.calno.com

And everything will be fine.

06 October 2010

evilvte 0.4.7 released

Changelog:
0.4.7
 * Better compatibility with WM_CLASS
   - Accept environment variable RESOURCE_NAME
   - You may use --name and --class command line
     option to set WM_CLASS, both are provided
     by GTK+
   - Note that -title and -T no longer changes
     WM_CLASS
   - Thanks to Zveroy <zveroy AT gmail DOT com> and
               Tetralet <tetralet AT gmail DOT com>
 * Accept environment variable PKG_CONFIG_PATH
   Thanks to letoh
 * Support -g +X+Y command line option to assign
   initial window geometry
 * Prevent tab labels getting focus
 * Make everything GTK+ 2.91.0 compatible

 * Changelog of 0.4.7~pre1 to 0.4.7~pre5

 * How to report bug, request feature,
   or submit patch for evilvte

25 September 2010

Setting VTE inner-border


Update: the trick only work for
        GTK+ verson <= 2.91.5
Default inner-border of VTE is 1 pixel.

If you prefer smaller inner-border,
you may paste those below to your
$HOME/.gtkrc-2.0:

style "a" {
  VteTerminal::inner-border = { 0, 0, 0, 0 }
}
widget "*" style "a"

This is the only one method I know to set
inner-border of VTE.

06 September 2010

evilvte 0.4.7~pre5 released

Changelog:
0.4.7~pre5
 * Support -fn command line option to assign
   font and font size
 * Better compatibility with configure options

 * How to report bug, request feature,
   or submit patch for evilvte

05 August 2010

evilvte 0.4.7~pre4 released

Changelog:
0.4.7~pre4
 * Support HOTKEY_MIMIC_SCROLL_*
   Thanks to qotsa
 * New configure option: --with-gtk=2.0|3.0
 * Rename make target installstrip to install-strip

 * How to report bug, request feature,
   or submit patch for evilvte

11 July 2010

Re: evilvte compiling error

> Hi, the first time I compile evilvte is OK, and it works fine.
> Then I want to adjust some settings, and I cannot compile it.
> ============================================================
> rm -f src/custom.h src/evilvte.h src/evilvte.o
> cc -march=x86-64 -mtune=generic -O2 -pipe  -pthread
> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
> -I/usr/include/pango-1.0 -I/usr/include/gtk-2.0
> -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo
> -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0
> -I/usr/include/pixman-1 -I/usr/include/freetype2
> -I/usr/include/libpng14     -c -o src/evilvte.o src/evilvte.c
> cp src/config.h src/custom.h
> sh src/process.sh src/evilvte
> make[1]: warning: jobserver unavailable: using -j1.
>   Add `+' to parent make rule.
> cc -Wl,--hash-style=gnu -Wl,--as-needed src/evilvte.o
> -L/usr/local/lib -lgdk-x11-2.0 -lglib-2.0 -lgobject-2.0
> -lgtk-x11-2.0 -lvte -o src/evilvte
> cc: src/evilvte.o: No such file or directory
> make: *** [evilvte] Error 1
>     Aborting...
> ============================================================
> Solved with reboot.....
> hope this be fixed soon
There are (at least?) three reasons why this might be so:

1) The parent make didn't realize that the child process it was
invoking was actually a "make" program. In this case, it won't
allow the child to connect to the jobserver. This is typically
because the command to invoke the child uses "make" or similar
rather than the correct $(MAKE). See the docs on the "+" token to
understand the algorithm GNU make uses to determine if the child is
a sub-make or not.

Adding the "+" to the invocation in the parent will fix this; hence
the message you got.

2) You have changed your SHELL to use csh or tcsh. These shells are
fundamentally broken and cannot coexist with the jobserver. You
will need to use a different SHELL, preferable a Bourne-compatible
one (sh, ksh, bash, zsh).

3) There is something about the LSF implementation of GNU make that
breaks this: note that for the jobserver to work correctly each
sub-make _MUST_ be a direct fork/exec of its parent. Running them
on remote systems, invoking them from servers, etc. will not work.

I think it is caused by build system of your OS, which should use
$(MAKE) instead of make (or something else).

I suggest you to use the default build system provided by evilvte:
1. go to directory of evilvte
2. make clean ; make

evilvte only need the binary itself, so you may copy the newly built
evilvte to $PATH.

For example:
cp src/evilvte /usr/bin/evilvte

05 July 2010

evilvte 0.4.7~pre3 released

Changelog:
0.4.7~pre3
 * Support vte_terminal_fork_command_full (VTE >= 0.25.1)
 * Support all positive integer font size
 * Drop gdk-pixbuf dependency because it is a standalone
   library now.
   It was only used for an VTE 0.24.0 bug. VTE 0.24.1 and
   later ones had fixed that bug.
 * Code clean up

 * How to report bug, request feature,
   or submit patch for evilvte

02 July 2010

Re: I would just like to report that...

Below is a comment for Flash white bug?

Tslil said...
> I would just like to report that I am having the same issue with evilvte (0.4.7 pre2) under an
> unrelated wm (called subtle wm, written in ruby), running on a differenet machine with no
> hardware or software in common save vte and evilvte. Still cant seem to figure it out.
>
> Hiato

To Tslil:

If you are saying the "flash white" issue,
I think it is libvte's problem.

05 June 2010

evilvte 0.4.7~pre2 released

Changelog:
0.4.7~pre2
 * Support BELL_URGENT, aka WM_URGENT hint
   Thanks to L29Ah
 * Make everything GTK+ 2.90.0 compatible
 * Sync gpl-2.0.txt with
   http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt

 * How to report bug, request feature,
   or submit patch for evilvte

03 June 2010

Will there be WM_URGENT support in the nearest future?

L29Ah wrote:
> So, will there be WM_URGENT support in evilvte in the nearest future?

It is still in my TODO list, but I have no schedule about it.
I would say, it will not happen in the NEAREST future.

Patches are very welcome. :-P

05 May 2010

How to report bug, request feature, or submit patch for evilvte

Official issue tracker now hosted at github:
https://github.com/caleb-/evilvte/issues

I hope users could choose to report bug anonymously, so I did not use issue trackers that needs login.

However, as evilvte have more and more users, an issue tracker is necessary.

There are 3 ways to report bug currently:
1. leave a comment here (at http://evilvte.blogspot.com)
2. mail to "caleb AT calno DOT com"
3. use the github issue tracker (need a github account)

Once you leave a "comment for bug" here, I will forward it to github, and paste the URL below your comment.

You can still discuss it here, or just go to github.

If you have a big patch file, please mail to me or use online pastebin service.

If you know an issue tracker that does not need users login, please tell me. :-)

Flash white bug?

guest
1subject: Flash white bug?
3 days ago
It would seem that on evilvte 0.4.6, switching between instances causes them to flash white memntarily under the ratpoison wm. This does not happen when switching between, eg, firefox and evilvt. What could be causing this? 
guest
2subject:
3 days ago
My most sincere apologies, this seems to be a problem with all vte based terms (or, at least sakura, termit and evilvte) under ratpoison x86_64. So, I think I will have io take this up with the libvte guys and or the ratpioson devs. Either way, thanks for making such a great term, and I hope you keep on developing it. (Please excuse the typos :)
 Hiato

evilvte 0.4.7~pre1 released

Changelog:
0.4.7~pre1

 The "Thanks to Aragon!" Release

 * Rename MATCH_STRING_EXEC to MATCH_STRING_L
   MATCH_STRING_EXEC in old conffile will be mapped to MATCH_STRING_L
 * Provide MATCH_STRING_M
   You may middle-click an URL to open it without menu
 * Fix two MATCH_STRING_* bugs
 * Fix two WINDOW_TITLE_DYNAMIC bugs
 * Fix a cross-platform issue

bug: WINDOW_TITLE_DYNAMIC disables window icon

aragonjoined: 2010-04-13
posted: 5
promoted:
bookmarked: 
1subject: bug: WINDOW_TITLE_DYNAMIC disables window icon
2010-04-18
  
Hi,
If WINDOW_TITLE_DYNAMIC is enabled it prevents a window icon from being set.  Patch attached.

Regards,
Aragon
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
2subject: bug: WINDOW_TITLE_DYNAMIC disables window icon
2010-04-19
  
Thank you!
I will recheck gtk_window_set_icon_name() and vte_terminal_get_icon_title().
WINDOW_TITLE_DYNAMIC is an option I rarely use. :-P
edited: 1
aragonjoined: 2010-04-13
posted: 5
promoted:
bookmarked: 
3subject:
9 days ago
  
Hey,
I've fixed another bug with WINDOW_TITLE_DYNAMIC.  When switching tabs the window title wasn't getting updated in switch_page().  That function wasn't updating current_tab and term globals.  It was just setting the title to the old tab's title.  I've also been experiencing occasional core dumps when closing tabs, and I think it might be this causing them.
I've attached a patch of all my work (including the MATCH_STRING_EXEC stuff).  I hope that's ok.

Thanks,
Aragon
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
4subject:
9 days ago
  
Thank you!
I plan to merge your works and release next tarball before May, 6th. :-) 

bug: MATCH_STRING_EXEC prevents text selection

aragonjoined: 2010-04-13
posted: 5
promoted:
bookmarked: 
1subject: bug: MATCH_STRING_EXEC prevents text selection
2010-04-18
  
Hi,
I noticed a bug with the new MATCH_STRING_EXEC option.  When enabled it makes it impossible to select text with the mouse.  Not sure how to fix it.

Regards,
Aragon
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
2subject: bug: MATCH_STRING_EXEC prevents text selection
2010-04-19
  
It is the feature of libvte.
There is no convenient way to fix it.
Maybe you can #define MENU_MATCH_STRING_EXEC and right-click to choose "Copy" the matched string. :-)
aragonjoined: 2010-04-13
posted: 5
promoted:
bookmarked: 
3subject:
2010-04-21
  
Hey.  I believe I have the fix for this.  I've also fixed another bug I discovered.  First the other bug:
URIs with "&" in them get cut off just before the "&".  Modified the system() string to enclose the URI in single quotes and it works.  Patch attached.
For the original bug, looks like the return of menu_popup() just needs to be tweaked.  If VTE reports no matched URI on a button press, return FALSE (instead of TRUE).  You'll see this in my patch.
My patch also changes the URI click button to 2 (middle click).  This is a better idea IMHO, and it's how at least one other VTE based term does things.
Hope you like. :)
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
4subject:
2010-04-22
  
Ah. I see.
I misunderstood your original problem. :-P
Thank you for the patch. I will merge them.
However, I am busy recently. Next release will not be in this month.

evilvte 0.4.6 released

calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
1subject: evilvte 0.4.6 released
2010-04-06
  
Changelog:
0.4.6
 * Apply a workaround for VTE 0.24.0 vte_terminal_set_background_image_file()
   bug

0.4.6~pre6
 * Support CURSOR_SHAPE
 * New BACKSPACE_KEY and DELETE_KEY option: ERASE_TTY
 * Make everything GSEAL_ENABLE compatible
   Further information: http://live.gnome.org/GnomeGoals/UseGseal
 * Simplify Makefile and configure

0.4.6~pre5
 * Saturation can be adjusted by holding Ctrl and scrolling mouse up or down.
   Define both MOUSE_CTRL_SATURATION and HOTKEY to TRUE to use this function.
   If CTRL_ALT is TRUE, you have to hold Ctrl and Alt while scrolling.
 * Remove close button border in some specific themes
   Thanks to Tetralet

0.4.6~pre4
 * Support MATCH_STRING_EXEC
   You may click an URL to open it without menu
 * Fix an Arch Linux bug.
   When TAB_LABEL is not defined, move mouse cursor to tabbar will make evilvte
   crash.
   Fix this by defining TAB_LABEL when Arch Linux is detected.
   Thanks to Ethan.
 * Remove evilvte.xpm

0.4.6~pre3
 * Respect CC
   Switch auto-detect-SUSE from gcc to ld
 * Support gnome-default-applications
 * Support "make uninstall"
 * VTE_FIXED color style will be disabled if VTE version >= 0.17.1
 * Do not define SHOW_WINDOW_BORDER automatically

0.4.6~pre2
 * Support -d command line option to run as a dock
 * Support WINDOW_TITLE_DYNAMIC for xterm escape sequences, Thanks to IllvilJa
 * Support personal configuration file other than src/config.h. For example:
   "make distclean ; ./configure --config=/dev/null ; make strip"
 * Drop useless option SHOW_WINDOW_TITLE and LABEL_DIALOG_SATURATION

0.4.6~pre1
 * Support PROGRAM_ICON so users can put their own icons at $HOME
 * Respect CFLAGS and OPTFLAGS
 * Drop obsolete option "Select_all" in MENU_CUSTOM
   Please use "Select all" instead
 * Auto-detect GNU gold linker to avoid unnecessary libraries linking
 * Improve coloring of showvte and configure script
 * Improve man page description. Thanks to editors of http://freshmeat.net.
 * Drop environment variable EVILVTE=min
aragonjoined: 2010-04-13
posted: 5
promoted:
bookmarked: 
3subject:
2010-04-13
  
Thank you for another nice evilvte release!
 A while ago I took over maintainership of the FreeBSD port.  I needed to patch some of your code to make it build correctly on FreeBSD, and I've attached the patch here for you to consider including in your source.
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
4subject:
2010-04-14
  
aragon
I needed to patch some of your code to make it build correctly on FreeBSD, and I've attached the patch here for you to consider including in your source.
Thank you!
I will include it in next release. :-) 

Pseudo Transparence with Awesome

guest
1subject: Pseudo Transparence with Awesome
2010-02-18
  
Hello, I like the Idea of evilvte.

Works pretty good so far beside the Pseudo Transparence, even if I build it with "#define BACKGROUND_TRANSPARENT TRUE".
Aterm, Eterm, rxvt and so on can use Pseudo Transparence.

Tried  0.4.6~pre4, 0.4.5 (FreeBSD Ports) and Window Manager is Awesome (http://awesome.naquadah.org/) which should support it.

Greetings
Tobi 
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
2subject: Pseudo Transparence with Awesome
2010-02-19
  
guest
Works pretty good so far beside the Pseudo Transparence, even if I build it with "#define BACKGROUND_TRANSPARENT TRUE".Aterm, Eterm, rxvt and so on can use Pseudo Transparence.
Tried  0.4.6~pre4, 0.4.5 (FreeBSD Ports) and Window Manager is Awesome (http://awesome.naquadah.org/) which should support it.

0.4.6~pre4 works fine with icewm + "#define BACKGROUND_TRANSPARENT TRUE". (see the screenshot below)
As far as I know, X has at least two different ways to set its background, and evilvte only use the default function provided by libvte.
I will check awesome later to see if it can use pseudo-transparency with libvte. :-)
 

[mail archive] One question about evilvte

calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
1subject: [mail archive] One question about evilvte
2009-12-28
  
Dear Wen-Yen Chuang,

Thanks for this excellent terminal! I will tell friends about how good it is.

One question is that I found the following line in config file:
#define MOUSE_CTRL_SATURATION  TRUE  /* Scroll left or right to adjust it  */

How do I suppose to use this feature? What do you mean by "scroll left
or right"?

I'm able to addjust saturation with hot keys but I'd like to use my
mouse to do this.

Best wishes!

*****
edited: 1
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
2subject:
2009-12-28
  
On 12/25/09 16:48, ***** wrote:
> > One question is that I found the following line in config file:
> > #define MOUSE_CTRL_SATURATION  TRUE  /* Scroll left or right to adjust it  */
Some mouse wheels supports scroll left/right (tilt left/right).
The feature only works on those mouses.
(You may see the attached mouse picture.)

You may also do:
#define MENU_CUSTOM "Adjust saturation"
to evoke a saturation dialog via right-click menu
(with mouse, of course). :-)

Kind regards
 Wen-Yen Chuang (caleb)
edited: 1 
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
3subject:
2009-12-28
  
Hi!
 
Thanks for the reply!
But isn't scrolling up and down more common? I remember when I use compiz, the saturation can be adjusted by holding the ctrl key while scrolling up and down.
 
I will have to modify the source if you don't like it. My mouse and most of them doesn't support scrolling left and right.
 
Thanks again for the terminal!
 
*****
On Sat, Dec 26, 2009 at 8:27 AM, Wen-Yen Chuang wrote:

    > On 12/25/09 16:48, ***** wrote:
    > > One question is that I found the following line in config file:
    > > #define MOUSE_CTRL_SATURATION  TRUE  /* Scroll left or right to adjust it  */
    > 
    > Some mouse wheels supports scroll left/right (tilt left/right).
    > The feature only works on those mouses.
    > (You may see the attached mouse picture.)
    > 
    > You may also do:
    > #define MENU_CUSTOM "Adjust saturation"
    > to evoke a saturation dialog via right-click menu
    > (with mouse, of course). :-)
    > 
    > Kind regards
    >  Wen-Yen Chuang (caleb)
edited: 1
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
4subject:
2009-12-28
  
On 12/26/09 11:42, ***** wrote:
> > But isn't scrolling up and down more common? I remember when I use
> > compiz, the saturation can be adjusted by holding the ctrl key while
> > scrolling up and down.
I will put this to my TODO list.
But I can not guarantee when will I write the function. :-P
Patches or other feature requests are very welcome.

Kind regards
 Wen-Yen Chuang (caleb)

open ~/Documents as default?

swyearjoined: 2007-10-04
posted: 50
promoted: 1
bookmarked: 0
1subject: open ~/Documents as default?
2009-12-04
  
I want to use ~/ as my default target when I open a terminal,
But evilvte will open  ~/Documents for me
how can I change this
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
2subject: open ~/Documents as default?
2009-12-05
  
evilvte starts at where you call it.
For example:
~$ evilvte & will get an evilvte starts at ~/
I think you run evilvte under ~/Documents so it starts from ~/Documents.
If you want to force evilvte *always* start from ~/ ,
you can define DEFAULT_DIRECTORY. :-)

[demo] Color schemes

calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
1subject: [demo] Color schemes
2009-09-30
  
Default color of libvte
 <- evilvte 0.4.4~pre9 and later, #define COLOR_STYLE VTE_FIXED
 <- evilvte 0.4.3, do nothing but only use the default color scheme of libvte

#define COLOR_STYLE LINUX


#define COLOR_STYLE RXVT


#define COLOR_STYLE TANGO


#define COLOR_STYLE XTERM
edited: 5      
guest
2subject:
2008-12-05
  
of course, the one option I didn't mess with!  I've switched to Linux color style and now I can see my dark grays again :)  Thanks, evilvte will be deployed :)
guest
3subject:
2009-09-29
  
What about giving us the option of customizing  each of those 16 colors?  Not to cause total psychadelic confusion (ok, that's actually an option for those so inclined), but to finetune certain ANSI colors so you better can distinguish them in certain combinations of background/forground color.
[I'm one of those who compile a customized instance of evilvte for each and every host I'm going to connect to, each with it's own combination of background, foreground and cursor colors... and a matching custom icon too.  I'll probably never switch back to gnome-terminal again... ;-)]
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
4subject:
2009-09-30
  
guest
What about giving us the option of customizing  each of those 16 colors?
It is in my TODO list but with a lower priority. :-P
I think it will not be in 0.4.5 unless someone provide a patch for it.
guest
5subject:
2009-11-18
  
Actually, this is in a way already implemented.  At least if "any" additions to the config.h file is fair game Wink.
This is how I did it for a terminal with white background, black foreground and red cursor:
-----8<----------8<----------8<----------8<----------8<----------8<----------8<-----
#define COLOR_STYLE  USERCOLOR /* Options: VTE_FIXED, LINUX, RXVT, TANGO, XTERM     */
/* Use value 'USERCOLOR' for COLORSTYLE to let evilvte use the below
 * custom color palette named 'color_usercolor' 
 */
#define USERCOLOR color_usercolor 
const GdkColor color_usercolor[16] =
{
    {0, 0x3333, 0x3333, 0x3333 }, // black (true black)
    {0, 0x9999, 0x0000, 0x0000 }, // red
    {0, 0x0000, 0x8000, 0x0000 }, // green
    {0, 0x8000, 0x8000, 0x0000 }, // yellow
    {0, 0x0000, 0x0000, 0xffff }, // blue
    {0, 0x8000, 0x0000, 0x8000 }, // magenta
    {0, 0x0000, 0x8000, 0x8000 }, // cyan
    {0, 0x9999, 0x9999, 0x9999 }, // "dark" white (actually, light grey)
    {0, 0x6666, 0x6666, 0x6666 }, // "pale" black (actually, dark grey)
    {0, 0xe666, 0x0000, 0x0000 }, // bright red
    {0, 0x0000, 0xe666, 0x0000 }, // bright green
    {0, 0xe666, 0xe666, 0x0000 }, // bright yellow
    {0, 0x4ccc, 0x4ccc, 0xffff }, // bright blue
    {0, 0xffff, 0x0000, 0xffff }, // bright magenta
    {0, 0x0000, 0xffff, 0xffff }, // bright cyan
    {0, 0xe666, 0xe666, 0xe666 }  // white (true white)
};

-----8<----------8<----------8<----------8<----------8<----------8<----------8<-----
Voila! The custom color scheme is implemented without touching anything else than the config.h file!  Two things worth pointing out:
The COLOR_STYLE option must be set to something unique (in my case: USERCOLOR), and then there must be an option defined with that specific name and it must be defined with the C variable holding the palette (in my case, the option will be named USERCOLOR and the palette is called color_usercolor).  Finally, the actual palette structure must be included.
Second thing to remark: my intent with this specific palette is to ensure that all colors are at least different from foreground, background and color.  This means that black color is not fully black (so if you print default foreground color over a "black" background, you will actually be able to faintly see the written text) and that explicitly white text is not fully white (meaning that white text will be distinguishable as a very pale grey text against the white).  Finally, bright red is made a bit darker than the cursor.
 It is possible to add a commented out version of the above structure to the config.h file that comes with evilvte.  Sure, it is perhaps not the most user friendly configuration text to edit (and it is inconsistent with the way to specify options for background, foreground etc) but it will provide a crude hint for powerusers how to tweak the palette.  Perhaps an explicit note in that commented out block of code should be included that states that this solution in the future will be replaced with something more human friendly.
"More human friendly" means that a user sets "COLOR_STYLE" to XTERM and then only specifies the few colors he/she wants to alter by specifying COLOR_0 #191919 to change black to 'nearly black' and specifying COLOR_11 #ff9900 to make bright yellow actually look orange and then not worry about specifying any more colors.  Well, ideas, ideas, ideas...
/IllvilJa
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
6subject:
2009-11-19
  
guest
Voila! The custom color scheme is implemented without touching anything else than the config.h file!
Thank you for the patch.
However, I want to keep config.h more "end-user friendly", so I will not 100% apply this patch.
Althouth build-time configuration is impossible to be really "end-user friendly", I do know some evilvte users never learned C or other programming languages.
I am planning 0.4.6~pre1 but it may not include all your recent feature requests. :-P
I have put them to my TODO list.
(Well, my TODO list is so long that I think I will never write them all before evilvte 2.0.0.) 
guest
7subject:
2009-11-25
  
Great news that you will create a more end-user-friendly configuration solution (even if I'm quite pleased with the absurd power hacking the config.h file gives you)
For such a config solution (which I assume will be some config file which is read by the evilvte executable at runtime), please add support early on using one single executable to use multiple profiles.  One (very) simple way to accomplish that is to have a flag
 --config-file=particular_config.cfg
which controls where to get the run time configuration.
That way, I can have one config file per connection I have.  So for one host, I get one specific set of colors and icons... for another host... oh, I'm repeating myself, I've already told this story so many times already.
PS. Regarding color schemes... I'm enjoying in one of my connections a color scheme where I've adjusted any "colliding" colors so they actually can be told apart.  So, even if I use yellow as the foreground color for that specific connection, the explicit yellow color is made slightly orange, making it possible to see what text is "default" and what text is intentionally yellow.  Same for any explicit black color vs the defaul black BG of the terminal, by making the explicit black color actually dark grey I can tell any black text apart from the black background!
Simply put, evilvte is WIN!
Keep up the good work!
/IllvilJa
PS. All I need now is some sort of automated script which take as input any wanted foreground, background, cursor, dim and bold color values and then outputs an adjusted color scheme which makes all the 5 + 16 colors distinct (and still ensure that sensible combinations like dark blue on white is clearly readable and dark white on white is at least possible to read with some effort...)
calebjoined: 2007-09-22
posted: 570
promoted: 108
bookmarked: 84
8subject:
2009-11-26
  

guest
For such a config solution (which I assume will be some config file which is read by the evilvte executable at runtime)

"runtime configuration" will not be implemented any time soon. :-P
"build-time configuration with different conffile" is supported since 0.4.6~pre2.