puppylinux-woof-CE / woof-CE

woof - the Puppy builder
GNU General Public License v2.0
391 stars 281 forks source link

Connectwizard upgrade for Connman and other network managers #4297

Closed rserwin1 closed 3 months ago

rserwin1 commented 3 months ago

Connectwizard (& family), network_default_connect and networkdisconnect are upgraded to manage switching among legacy (SNS, Network Wizard & Frisbee), ConnMan and PeasyWiFi network managers and their network monitor tray icons.

To accomplish this, it renames the "connman-gtk" script file to "connman-gtk.sh" and sets a connman-gtk symlink to the wrapper. For peasywifi, it replaces the "peasywifi" symlink with a peasywifi symlink to the wrapper. To manage network monitors, it uses an autostart symlink to the appropriate monitor ".desktop" file. Existing autostart files for the monitors will result in display of dual monitor icons, so should be removed from distros.

Note that the "default connect" option is provided by only the legacy network monitor, so is not offered by connectwizard if the active network manager is ConnMan or PeasyWiFi. However, if it is set to ConnMan or PeasyWiFi and a "connect" icon exists on the Desktop, clicking that icon will start those managers (and their monitors) even if the active manager is different. The "Internet Connection Wizard" Setup menu item will always start connectwizard.

PeasyWiFi support changed to be consistent with ConnMan support and because the newest versions reorganized the starting and stopping scripts. Only versions 4.8.1 and later are supported.

The scripts were analyzed with the "shellcheck" tool, which resulted in minor code changes to avoid unsuspected command interpretations. Also, some changes reflect changes made to the short-lived Easy OS versions, when appropriate (BK).

rserwin1 commented 3 months ago

Change log:

rc.network-stop:

rc.network_connman:

Connect/AppRun:

connectwizard:

connectwizard_2nd:

connectwizard_exec:

connectwizard_switcher:

connectwizard_wrapper:

network_default_connect:

networkdisconnect: