1
0
mirror of https://github.com/gryf/wicd.git synced 2025-12-29 01:42:33 +01:00

Experimental: Apply changes involving setup.py

* Added setup.py from trunk
 * Updated various information files (AUTHORS, README, etc)
 * Update the Wicd icon
 * Move stuff around to match trunk's layout
This commit is contained in:
compwiz18
2008-08-23 20:14:43 +00:00
parent 2261b25101
commit 0844386017
91 changed files with 2945 additions and 1793 deletions

88
README
View File

@@ -1,59 +1,63 @@
THEORY OF OPERATION:
Wicd is designed to give the user as much control over the behavior of network connections
as possible. Every network, both wired and wireless, has its own profile, with its own
configuration options and connection behavior. Wicd will try to automatically connect
only to the networks the user specifies it should try, with a preference first to a wired
network, then to wireless.
Wicd is designed to give the user as much control over behavior of network
connections as possible. Every network, both wired and wireless, has its
own profile with its own configuration options and connection behavior.
Wicd will try to automatically connect only to networks the user specifies
it should try, with a preference first to a wired network, then to wireless.
For wired connections, users have several options for determining what network settings to
use. Wicd allows creation of an unlimited amount of wired profiles, which each have
their own unique settings. The user can choose to automatically connect to a selected
default profile, choose a profile from a pop-up window every time wicd connects, or
have wicd automatically choose the last profile used to manually connect.
For wired connections, users have many options for determining what network
settings to use. Wicd allows creation of an unlimited number of wired
profiles, each of which has its own unique settings. The user can choose to
automatically connect to a selected default profile, choose a profile from a
pop-up window every time wicd connects, or have wicd automatically choose the
last profile used to manually connect.
For wireless networks, users can select any number of wireless networks to automatically
connect to, from which wicd will choose the one with the highest signal strength to try
to connect.
For wireless connections, users can select any number of wireless networks
to automatically connect; wicd will choose the one with the highest signal
strength to try to connect.
If the user chooses, wicd will try to automatically reconnect when wicd detects a
connection is lost. If the last known connection state is wired, wicd will try
to first reconnect to the wired network, and if it is not available, will try
any available wireless networks with automatic connection enabled. If the last
known connection state is wireless, wicd will first try to reconnect to the
last network it was connected to (even if it not set to automatically connect
to that network normally), and should that fail will try both a wired connection
and any available wireless networks set to automatically connect.
If the user chooses, wicd will try to automatically reconnect when it detects
that a connection is lost. If the last known connection state is wired, wicd
will first try to reconnect to the wired network, and if it is not available,
wicd will try any available wireless networks which have automatic connection
enabled. If the last known connection state is wireless, wicd will first try
to reconnect to the previously connected network (even if that network does
not have automatic connection enabled), and should that fail, it will try both
a wired connection and any available wireless networks which have automatic
connection enabled.
Wicd uses built-in linux wireless-tools, such as ifconfig and iwconfig, to
get and configure network info. There is some flexibility in its use of DHCP,
providing support for dhclient, dhcpcd, and pump. Wicd uses wpa_supplicant
to handle all wireless encryption settings, and uses a template-based system
to create the configuration files wpa_supplicant uses. These templates can
be editted and new templates can be created and imported into wicd by the user,
allowing connection to networks with uncommon encryption settings.
to create the configuration files used by wpa_supplicant. These templates
can be edited, and new templates can be created by the user and imported into
wicd, allowing connection to networks with uncommon encryption settings.
STRUCTURE:
There are two major parts to wicd; the daemon, which runs at the root level, and the
user-interface, which runs at the user level. The two parts run as separate processes,
and make use of D-Bus to communicate.
Wicd has two major parts: the daemon, which runs with root privileges; and the
user interface, which runs with normal user privileges. The two parts run as
separate processes and make use of D-Bus to communicate.
The daemon is responsible for making and configuring connections, reading/writing
configuration files and logs, and monitoring the connection status. The daemon's job
is split between two processes, daemon.py and monitor.py. All the connection status
monitoring, as well as the auto-reconnection logic, takes place in monitor.py.
Everthing else is done by daemon.py.
The daemon is responsible for making and configuring connections, reading and
writing configuration files and logs, and monitoring the connection status.
The daemon's job is split between two processes: daemon.py and monitor.py.
All the connection status monitoring, as well as the auto-reconnection logic,
takes place in monitor.py. Everthing else is done by wicd-daemon.py.
The user-interface (stored in wicd.py), made up of a tray icon, main GUI window, and its child dialogs,
gets configuration and network information from the daemon by either querying it, using
the methods in the daemon's dbus interface, or by receiving signals emitted from the daemon
over D-Bus. Any configuration changes made in the UI are passed back to the daemon, which
actually applies the changes and writes them to configuration files.
The user interface (stored in wicd-client.py), which is made up of a tray
icon, a main GUI window, and its child dialogs, gets configuration and network
info from the daemon either by querying it using the methods in the daemon's
dbus interface or by receiving signals emitted from the daemon over D-Bus.
Any configuration changes made in the user interface are passed back to the
daemon, which actually applies the changes and writes them to configuration
files.
Since the user interface just queries for connection and configuration info
from the daemon, it is possible to run wicd without the GUI at all. Also,
the daemon is started by wicd's init script during system startup (before any
user logs in), making it possible to use wicd with "headless" machines.
Since the GUI just queries for connection and configuration information from the daemon
it is possible to run wicd without the GUI at all. Additionally, the daemon is started by
wicd's init script as soon as Linux loads, and before any user logs in, making it possible to
use with "headless" machines.