www.viniciocoletti.it > Il Cubo > Projects > VILOG

Vinicio Coletti site


Designed and written by IK0WRB
Version 1.6 distributed on December 6, 2021
Quick update to version 1.6.1, distributed on January 2, 2022

Questa pagina IN ITALIANO

Participating to the Vilog project

Vilog is multilingual.
I wrote the program in English and now I added the translation to Italian, but I wish to add some other languages.
I could add myself some languages, but it takes some time to translate hundreds of text strings... All time that could be used for coding!
So, if you are a native speaker of a language different from English and Italian, please contact me by mail, the one you can read at the bottom of this page.
Of course your name and callsign will be inserted in the program documentation.
Translating is easy: you will receive a plain text file, that you must edit with an editor able to use the UTF-8 encoding. In the file there are many couples of rows. On the first there is a sentence in English and on the second you must write the translation to your language.


Vilog is a log program designed by a radio amateur, me, to be used by all radio amateurs that use Linux as their main operating system.
The program has been developed under Lubuntu 16.04 LTS 64 bit, with the C++ language and the wxWidgets libraries.
Vilog has its own log file format, which is a text file that you can also modify with any standard text editor. It can import data in the Adif, Cabrillo, Fastlog 3.4, WSJTX log and Vilog formats.
It can export to Adif, Cabrillo, Fastlog 3.4 text and Vilog formats, as well as a short format Adif, specifically designed for the upload to LoTW.
Of course you can edit any single QSO and there is a powerful filter function that will quickly select only some QSOs, following the criteria you establish.
About awards, it supports DXCC, WAZ, WAS, VUCC and WAIP (the latter is an Italian award) and you can modify the list of entities, except for WAZ and WAS, which are reasonably stable. Every DXCC entity uses a single regular expression to parse the callsign and attribute the entity code to a specific callsign.
If you wanto to modify the DXCC entity list, please read before how to use regular expressions.
The attribution of the DXCC entity and the WAZ zone is automatic and almost perfect, but you can always change it manually.
You can also read the "QSL" file you get from LoTW (usually lotwreport.adi), so that the award lists and grids will take into account the LoTW confirmations.
Also, you can read the DXCC_QSLs_.....adi file you can get from LoTW, to import all the entity/band/modes already granted in DXCC. This is used in some useful tools of the program.
You can see in several tables the awards status on the whole or for specific entities and one of the tools gets in real time the messages just received by WSJT-X, showing only the callsigns that are new entity/band/mode for you!
You should insert the default location for the QSOs of your log, but you can also define many secondary "places", defined by a label, QTH, used callsign and locator. Each QSO can be assigned to a place, so you can then select just the QSO made in one place, for example for a specific upload to LoTW.
There is also a contest mode, with a fast insertion of QSO and with automatic date, time, band and frequency (the latter two for now only for some Kenwood rigs).
You can also print on paper the whole log of part of it, seeing bewfore the print preview.


The following screenshots will show how the program looks like. Please note that the actual appearance depends on the distribution, window manager and theme you are using. This pictures were taken on Lubuntu 18.04 with LXDE and the Orang theme.
Let's begin with the main screen, showing all QSOs. With the menu, or with keyboard shortcuts, you can move to the first row, the last row, a specific row number or a specific date.

This is the Log menu

This is the import screen. There are several formats available and some options. You can also import only the QSO of a certain date range and you can load this as a new log or appending the QSOs to the current log. Using the Vilog format and the append option you can for example easily join different logs.
If you select "Auto format", the program will try to establish itself which is the format of the file you selected. If a supported format is not found, the import will not start and you will be informed.

Now to the export screen, where of course you can select the format and possibily append to the output. There is no date selection, because if you have the filter enabled, only the filtered QSOs are exported. So simply filter a date range, then export. This way you can export only the QSO of a single band or of a DXCC entity, or made from a specific QTH, etc.
If you enable the automatic LoTW file names, the program (that remembers the last file exported this way), will not ask you a file name but will generate one automatically. For example, if the last file was exported to ~/Documents/mylotw_057.adi it will now export to ~/Documents/mylotw_058.adi. For this to work, you must save manually the first time, to a file name ending with underscore and 3 digits, plus the .adi extension.

This is the QSO menu. It also appears if you right-click the mouse on the QSOs list.

This is the QSO edit screen. As you can see there are many fields available. The continent, DXCC entity and WAZ zone were selected automatically by the program, when editing this QSO. There is also a menu function to do this processing on the whole log, particularly useful when you are migrating your log from another program.
You can also change the entity manually and if you save and open again, also the WAZ will be updated. If you change the callsign, also continent, DXCC and WAZ will be changed immediately. If there are many choices for the WAZ zone, all the relevant zones will be available for selection in the drop down box.
For USA, Alaska and Hawaii, you can choose also the WAS state and for Italy and Sardinia you can choose the Italian province. In some cases, this selection is done automatically.

This is the filter screen. You can set many conditions, pratically on every QSO field, and they are all ANDed together, resulting in a very powerful tool. Note that here dates and times are not coupled, so that for example you may select all QSO you made during the night. Or you can select a geographical zone writing one locator or two locators for the zone limits! Processing time is very short.

This is the Tools menu. As you can see, there is a rich set of tools to use on your log.

Here you can see the DXCC entities list. You can change every field, double clicking on it and editing on site.
Please do study Regular Expressions before changing them! A "not valid" entity is a deleted one.

Here you can see the edit page of some expressions that let the program select automatically the WAZ zone for a specific callsign worked. If the expressions begin with "C=" they are applied to the callsign, while if they begin with "U=" they are applied to the US State.
They are processed top to down, only for the entity concerned. Apparently this works very well, so you will know in a second which is the WAZ zone for an Asiatic Russia callsign, for example.
You can change every field here too, double clicking on it and editing on site.

Here is the editing page for the WAIP Italian award.
It is simply the list of the Italian provinces, with their code and date range of validity, if any.

This is the Awards page, available for DXCC, WAZ, WAS and WAIP.
You can see the confirmations you have for each entity, in all modes and bands.

Here you can see the grids screen, where you can see in what bands/modes you have worked a single DXCC entity or WAZ zone or WAS state.
The single letter means

  • w: worked (so no QSL)
  • s: sent direct/bureau (but not received)
  • u: uploaded to LoTW (but not yet confirmed)
  • R: received direct/bureau
  • C: confirmed in LoTW
  • G: already granted in DXCC (only in Mixed/Total)
You can select the entity in the drop down box or writing the initial part of a callsign in the "Callsign" field.

This is the WSJT-X monitor.
For this to work, launch WSJT-X and select "Save decoded" in the upper "Save" menu.
When you do so, WSJT-X will append all decoded QSOs to a text file, which is read by Vilog.
You can decide to see all QSOs, which is advisable for the first tries or to monitor the band.
The interesting part is that callsigns that are new for our log (for the DXCC entity, band or mode) will be highlighted.
If you uncheck the "See all" checkbox, you will see only the highlighted QSOs (the orange one in this real sample).


  • Versions 1.0 to 1.2 were used only by the author, during the development of the program.
  • Version 1.3 has been the first distributed version
  • Version 1.4
    • Vilog is now distributed as a standard Debian package (.deb)
    • Added "places", transmitting locations you can assign to each QSO
    • When adding a new QSO you are informed if it is a new DXCC entity / band / mode
    • New tool to read all QSO decoded by WSJT-X, showing all of them or only those new for entity/band/mode
    • Now locators are supported up to 8 characters
    • Added several error messages when adding/editing a QSO
    • Added a short manual page you can show from a terminal, with the command: man vilog
    • The main window title now shows the name of the loaded log
    • Configuration file and logs are now stored in standard directories
    • Added an internal changelog
  • Version 1.4.1
    • Fixed a bug introduced with version 1.4, that erased the specific frequency of a QSO when editing it (not while adding it)
    • Made reading logs a bit faster
  • Version 1.4.2
    • Fixed a bug in saving Adif imported files containing EME o other specific propagation modes
    • Added a function to delete all duplicated QSOs
  • Version 1.5
    • Development platform changed to wxWidgets, translating about 7k rows of code...
    • Many parts of the code rewritten to be more efficient and clear
    • Splash screen eliminated and changed to a log loading progress indicator
    • New optional "short" format for vlg logs, long and short formats are both recognized automatically
    • Added functions for selecting all QSOs, or none
    • New function to read DXCC award grants, then stored in the log and used by several functions
    • Corrected some bugs and made a better handling of the whole award/qsl stuff
    • New option to write logs in short format (about 25% gain in disk space for logs)
    • Added many controls and error messages, to make more robust many functions
    • Changed the error output of all functions to a scrollable summarizing window
    • Added explanation on some functions, expecially about LoTW
    • Added correct UTF8 handling of country names and QSO notes
    • Less critical handling of timing in WSJT-X monitor function
    • Main window starts with a size equal to a quarter of your screen and goes up to a 4K screen
    • When changing the size of the main window, character size should also change
  • Version 1.5.1
    • Development moved back to Lubuntu 16.04, for better compatibility with old versions
    • Added function to filter the selected QSOs
    • Added a time tolerance option, when deleting duplicate QSOs
    • Corrected some bugs here and there
  • Version 1.6
    • Vilog becomes multilingual, currently supported languages are English and Italian
    • Distributed now also as .tgz for many Linux distributions
    • New Contest Mode, to easily enter QSOs during a contest
    • Automatic frequency and band gathering in Contest Mode o when adding a QSO, for now only for some Kenwood rigs
    • Contest score, during the contest of after its end, for now only for CQ WW
    • New print function, with print preview
    • Added support for the VUCC award, in Awards and Grids
    • Added 2m band in DXCC, in Awards
    • Added two bands: THz and Light
    • Granted flag becomes editable in Edit QSO
    • Fixed bug in reading lotwreport.adi and added time tolerance
    • Discovered that there are errors in granted files from LoTW, added time tolerance
    • Made better the Cabrillo export header and some other dialogs
    • Fixed some bugs
  • Version 1.6.1
    • Fixed a bug in Filter, about WAS and WAIP awards
    • Fixed a bug in Awards, about WAIP


This program will work only on Linux 64 bit and is distributed as a Debian package (.deb) and as a tar-gzipped file (.tgz).
It has been tested on 4 Linux distributions: Lubuntu 16.04, Lubuntu 18.04, Ubuntu 20.04, with the LXDE and Gnome window managers (all with .deb package) and Fedora 35 with Gnome (with .tgz file). It should work on any Debian, Ubuntu, Mint and similar distributions, as well as many other Linux systems.
If you want to help, try installing on your distribution and report the missing libraries (those giving not found in the command: ldd /usr/local/bin/vilog).

Step by step install of Vilog on Debian/Ubuntu/Mint and similar

  1. Download from the bottom of this page the program package, in this case named vilog_1.6.deb
    and remember the folder where you saved it.
  2. Open a terminal with Ctrl-Alt-T or from the main menu and go to the folder where you downloaded the package and give this command, as a normal user, not root
    sudo dpkg -i vilog_1.6.deb
  3. When the command is completed, give immediately the following command, still as a normal user
    before executing the program for the first time.
    Note: Vilog finds automatically the language you are using, but if you want to force Vilog to work in English or Italian, execute: initvilog en or initivilog it
  4. Now you are done!

Step by step install of Vilog on Red Hat/Fedora/CentOS and many others

  1. Download from the bottom of this page the program package, in this case named vilog_1.6.tgz
    and remember the folder where you saved it.
  2. Open a terminal with Ctrl-Alt-T or from the main menu, go to the folder where you downloaded the package and give this command, as a normal user, not root
    sudo tar -C /usr -xvzf vilog_1.6.tgz
  3. When the command is completed, give immediately the following command, still as a normal user
    before executing the program for the first time.
    Note: Vilog finds automatically the language you are using, but if you want to force Vilog to work in English or Italian, execute: initvilog en or initivilog it
  4. Now you are done!

Executing the program

To execute the program, you should find it on your desktop and also in the main menu, under "Accessories", "Education" and possibly "HamRadio" or "Others".
You can also open a terminal with Ctr-Alt-T (or from the menu) and give the command vilog
or vilog en or vilog it, if you want to temporarily use a specific language.

Distribution policy

Please note that Vilog is freeware, but not open source.
This means that you can freely download, install and distribute the program, provided no money is asked and no modifications are made.
The program is always run under your complete responsability and the author will never be responsible for any problems that may happen on your computer.
If you really like the program and want to show how you are grateful, you may send a donation via PayPal (see Help/About inside the program).
To contact me for any problems about Vilog, write to
Future versions of Vilog can be downloaded from this page.

TargetArch.FileLength Output of md5sum -b filename
Linux Debian/Ubuntu/Mint and similar64 bitvilog_1.6.deb5,962,412
Linux Red Hat/Fedora/CentOS and many64 bitvilog_1.6.tgz8,138,359
Quick update from v1.6 to v1.6.1
Install with: sudo tar -C /usr/local -xvzf vilog16_161.tgz
64 bitvilog16_161.tgz480,092