---
hastr: true
layout: project
title: Netctl GUI
short: netctl-gui
hasgui: true
hasdocs: true
developers:
    - Evgeniy Alelseev
license: GPLv3
links:
    - Page on <a href="http://linux.softpedia.com/get/System/Networking/Netctl-GUI-103383.shtml" title="Softpedia">Softpedia</a>
    - Page on <a href="http://kde-apps.org/content/show.php?content=164490" title="kde-apps">kde-apps.org</a>
    - <a href="https://aur.archlinux.org/pkgbase/netctl-gui/" title="AUR">AUR package</a>
---
<!-- info block -->
<h2><a href="#info" class="anchor" name="info"><span class="octicon octicon-link"></span></a>Information</h2>
<p>Graphical interface for <code>netctl</code> (several scripts for work with network connection in Archlinux). It is written on <code>CPP</code> using <code>Qt4</code> library. Now it may work with profiles and may create new profiles. Also it may create a connection to WiFi. Moreover, it provides a Qt library for interaction with netctl and widget and DataEngine for KDE.</p>

<p><b>NOTE:</b> <a href="https://github.com/arcan1s/netctl-gui/issues/3" title="Ticket">LOOKING FOR TRANSLATORS!</a></p>

{% highlight bash %}
$ netctl-gui --help
Usage:
netctl-gui [ --about ] [ --netctl-auto ] [ --settings ]
           [ -e ESSID | --essid ESSID ] [ -o PROFILE | --open PROFILE ]
           [ -s PROFILE | --select PROFILE ]
           [ -c FILE | --config FILE ] [ -d | --debug ] [ --default ]
           [ --set-opts OPTIONS ] [ -t NUM | --tab NUM ]
           [ -v | --version ] [ -i | --info ] [ -h | --help]

Parametrs:
Open window:
                   --about               - show about window
                   --netctl-auto         - show netctl-auto window
                   --settings            - show settings window
Functions:
   -e ESSID        --essid ESSID         - select ESSID ESSID
   -o PROFILE      --open PROFILE        - open profile PROFILE
   -s PROFILE      --select PROFILE      - select profile PROFILE
Additional flags:
   -c FILE         --config FILE
                                         - read configuration from this file
   -d              --debug               - print debug information
                   --default             - start with default settings
                   --set-opts OPTIONS
                                         - set options for this run, comma separated
   -t 1            --tab 1               - open a tab with number 1
Show messages:
   -v           --version                - show version and exit
   -i           --info                   - show build information and exit
   -h           --help                   - show this help and exit
{% endhighlight %}

<h3><a href="#devel" class="anchor" name="devel"><span class="octicon octicon-link"></span></a>Developers and contributors</h3>
<ul>
  {% for devel in page.developers %}
    <li>{{ devel }}</li>
  {% endfor %}
</ul>

<h3><a href="#license" class="anchor" name="license"><span class="octicon octicon-link"></span></a>License</h3>
<ul>
  <li>{{ page.license }}</li>
</ul>

<h3><a href="#changelog" class="anchor" name="changelog"><span class="octicon octicon-link"></span></a>Changelog</h3>
<p><a href="https://github.com/arcan1s/netctl-gui/blob/master/CHANGELOG" title="GitHub">CHANGELOG</a></p>
<!-- end of info block -->

<!-- install block -->
<h2><a href="#install" class="anchor" name="install"><span class="octicon octicon-link"></span></a>Installation</h2>

<h3><a href="#instruction" class="anchor" name="instruction"><span class="octicon octicon-link"></span></a>Instruction</h3>
<ul>
  <li><p>Download an <a href="https://github.com/arcan1s/netctl-gui/releases" title="GitHub">archive</a> with latest version of source files.</p></li>
  <li><p>Extract it and install the application:</p>
<p>If you want install it into <code>/</code>, you should run as root following commands:</p>

{% highlight bash %}
cd /path/to/extracted/archive
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../
make
sudo make install
{% endhighlight %}

<p>Available cmake flags are:</p>
  <ul>
    <li><code>-DBUILD_DATAENGINE:BOOL=0</code> - do not build DataEngine;</li>
    <li><code>-DBUILD_DOCS:BOOL=0</code> - do not build developer documentation;</li>
    <li><code>-DBUILD_GUI:BOOL=0</code> - do not build GUI;</li>
    <li><code>-DBUILD_LIBRARY:BOOL=0</code> - do not build library;</li>
    <li><code>-DBUILD_PLASMOID:BOOL=0</code> - do not build Plasmoid;</li>
    <li><code>-DUSE_QT5:BOOL=0</code> - use Qt4 instead of Qt5 for GUI.</li>
  </ul>
  </li>
</ul>

<h3><a href="#dependencies" class="anchor" name="dependencies"><span class="octicon octicon-link"></span></a>Dependencies</h3>
<p>I want note that all were tested on latest version of dependencies.</p>
<ul>
  <li>netctl</li>
  <li>qt5-base <i>(if Qt5 is used)</i> <b>or</b> qt4 <i>(if Qt4 is used)</i></li>
  <li>automoc4 <i>(make)</i></li>
  <li>cmake <i>(make)</i></li>
  <li>qt5-tools <i>(make, if Qt5 is used)</i></li>
  <li>kdebase-workspace <i>(optional, widget)</i></li>
  <li>sudo <i>(optional, sudo support)</i></li>
  <li>wpa_supplicant <i>(optional, WiFi support)</i></li>
</ul>
<!-- end of install block -->

<!-- howto block -->
<h2><a href="#howto" class="anchor" name="howto"><span class="octicon octicon-link"></span></a>How to use</h2>
<p>Just run application <code>netctl-gui</code>. If it is needed (and if you use KDE), you may add widget <code>netctl</code>, which provides by the application.</p>
<!-- end of howto block -->

<!-- config block -->
<h2><a href="#config" class="anchor" name="config"><span class="octicon octicon-link"></span></a>Configuration</h2>
<p>It is recommended to use graphical interface for widget and DataEngine configuration. All settings of GUI are stored in <code>$HOME/.config/netctl-gui.conf</code>. It is highly recommended to edit it from graphical interface. </p>
<!-- end of config block -->

<!-- gui block -->
<h2><a href="#gui" class="anchor" name="gui"><span class="octicon octicon-link"></span></a>Graphical user interface</h2>
<p>Graphical interface provides by <code>netctl-gui</code> application.</p>

<h3><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Screenshots</h3>
<div class="thumbnails">
  {% assign scrdesc = "DataEngine" %}
  {% assign scrname = "netctl-gui_dataengine" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Widget" %}
  {% assign scrname = "netctl-gui_plasmoid" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Widget settings window" %}
  {% assign scrname = "netctl-gui_plasmoid_conf_01" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Widget settings window" %}
  {% assign scrname = "netctl-gui_plasmoid_conf_02" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Widget settings window" %}
  {% assign scrname = "netctl-gui_plasmoid_conf_03" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Main window" %}
  {% assign scrname = "netctl-gui_main" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Profile window" %}
  {% assign scrname = "netctl-gui_profile" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "WiFi window" %}
  {% assign scrname = "netctl-gui_wifi" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "About window" %}
  {% assign scrname = "netctl-gui_about" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "netctl-auto window" %}
  {% assign scrname = "netctl-gui_netctl-auto" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Settings window" %}
  {% assign scrname = "netctl-gui_settings" %}
  {% include prj_scr.html %}
</div>
<!-- end of gui block -->
