A widget for the Awesome Window Manager to monitor the network with Connman
Go to file
Stefano Mazzucco a254bfe596 Improve documentation about installing the widget
- remove section about installing from source: this requires some juggling and
  symlinking, so I will leave it to people who *really* want to do it
- explain how to export the local luarocks path when installint locally with luarocks
2017-07-16 13:14:46 +01:00
.gitignore Initial commit 2016-10-06 21:53:24 +01:00
LICENSE Release version 0.1.1: add explicit license 2016-10-06 22:05:09 +01:00
README.md Improve documentation about installing the widget 2017-07-16 13:14:46 +01:00
connman_widget-0.1.3-1.rockspec Release version 0.1.3 2016-10-21 23:23:48 +01:00
connman_widget-0.1.4-1.rockspec Use connman_dbus 0.2.x backend and update tooltip 2017-06-05 15:43:55 +01:00
connman_widget-0.1.5-1.rockspec Add rockspec for version 0.1.5 2017-06-15 15:54:01 +01:00
connman_widget-devel-1.rockspec Use connman_dbus 0.2.x backend and update tooltip 2017-06-05 15:43:55 +01:00
connman_widget.lua Check that the services array is not nil before indexing it 2017-06-14 22:35:16 +01:00

README.md

A widget for the Awesome Window Manager to monitor the network with Connman

This widget uses the connman_dbus library.

Requirements

In addition to the requirements listed in the rockspec file, you will need the Awesome Window Manager and Connman (for more information about this, see the connman_dbus documentation).

Installation

Probably, the easiest way to install this widget is to use luarocks:

luarocks install connman_widget

You can use the --local option if you don't want or can't install it system-wide

This will ensure that all its dependencies are installed.

Note that if you install with --local you will have to make sure that the LUA_PATH environment variable includes the local luarocks path. This can be achieved by evaling the command luarocks path --bin before Awesome is started.

For example, if you start Awesome from the Linux console (e.g. xinit awesome) and you use zsh, you can add the following lines to your ~/.zprofile:

if (( $+commands[luarocks] )); then
    eval `luarocks path --bin`
fi

If you use bash, you can add the following lines to your ~/.bash_profile:

if [[ -n "`which luarocks 2>/dev/null`" ]]; then
    eval `luarocks path --bin`
fi

If you use an X Display Manager you will need to do what explained above in your ~/.xprofile or ~/.xinitrc. See the documentation of your display manager of choice for more information.

Configuration

The widget displays network icons that are searched in the folders defined in the table beautiful.connman_icon_theme_dirs with extensions defined in the table beautiful.connman_icon_extensions. The default is to look into "/usr/share/icons/Adwaita/scalable/devices/" and "/usr/share/icons/Adwaita/scalable/status/"for icons whose extension is "svg". Note that the directory paths must end with a slash and that the extensions must not contain a dot. The icons are searched using Awesome's awful.util.geticonpath function.

Depending on your network devices, you may need some or all of the icons whose name starts with network-.

You can specify a GUI client to be launched when the widget is right-clicked. This can be done by changing the gui_client field of the widget. A list of Desktop clients is also available on the Arch wiki.

Mouse controls

When the widget is focused:

  • Right button: launches GUI client (defined by the gui_client field)

Tooltip

The tooltip shows the currently connected network, its status and - if applicable - the signal strength.

Usage

Add the following to your ~/.config/awesome/rc.lua:

Require the module:

-- require *after* `beautiful.init` or the theme will be inconsistent!
local connman = require("connman_widget")
-- set the GUI client.
connman.gui_client = "wicd"

Add the widget to your layout:

  • Awesome 4.x
-- Add widgets to the wibox
s.mywibox:setup {

  -- more setup

  { -- Right widgets
    layout = wibox.layout.fixed.horizontal,
    wibox.widget.systray(),
    connman, -- <- connman widget
    mytextclock,
    s.mylayoutbox,
  },
}
  • Awesome 3.x
right_layout:add(connman)

Limitations

Currently, only wired (ethernet) and WiFi connections are supported.