如何从wifi菜单栏图标隐藏或删除无用的网络名称


17

我有些讨厌的邻居认为,在他们的SSID中使用令人反感的字词很有趣。

我想至少从wifi菜单栏图标中删除这些SSID。如果更容易,则可以将它们完全隐藏/从OS中删除(菜单图标和系统偏好设置)。

我是OS X的新手,所以我什至不知道从哪里开始。

我更喜欢内置解决方案(阅读:免费),但价格低于$ 10.00的解决方案也可以。


当我只需要在4个不同的无线网络(而不是20个)中选择时,我也希望此列表保持可读性。
2015年

感谢您的加油,@ GrahamPerrin。我仍在寻找答案。
Sam Ax


我更新了我的答案
markhunte

请参阅我对答案的密码评论。我仍在努力寻找解决方法
markhunte 2015年

Answers:


4

您可以在Applescript菜单中放置类似此Applescript的内容,并使用它列出您的首选网络,选择并连接到它。

set the getList to paragraphs of (do shell script "networksetup -listpreferredwirelessnetworks en0")


    set title to item 1 of getList
    set wifi_list to items 2 thru -1 of getList

   set the chosen_newtwork to choose from list the wifi_list with prompt "Choose a " & title without multiple selections allowed

    if the chosen_newtwork is false then return

    do shell script "networksetup -setairportnetwork en0  " & (chosen_newtwork as string)

在此处输入图片说明

(我不能说这是完美的,因为我发现它有时并不总是想要连接,但是我不确定这是否只是我的路由器/ WiFi)


更新。

使用上面相同的想法,您还可以创建禁止的坏ssid列表。

并过滤它们。

主要命令是使用机场框架命令而不是networksvice命令,因此速度稍慢。但是扫描可用的网络,而不只是您的首选。

    set bannedList to {"BTWifi-X"}
    set wifi_list to {}
    set the getList to paragraphs of (do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s |awk '{print  $1}'")

    set title to item 1 of getList
repeat with i from 2 to number of items in getList
        set this_item to item i of getList
        if this_item is not in bannedList then
            if this_item is not in wifi_list then -- stops duplicates from original list
                copy this_item to end of wifi_list
            end if
        end if
    end repeat

    set the chosen_newtwork to choose from list the wifi_list with prompt "Choose a " & title without multiple selections allowed

    if the chosen_newtwork is false then return

    do shell script "networksetup -setairportnetwork en0  " & (chosen_newtwork as string)

1
这似乎是一个完全合理的解决方案。我明天会尝试,如果可行,请接受您的回答。
Sam Ax

我在10.9.5中尝试过,但效果有限。它扫描并显示所有网络的列表,请我选择一个。那它想出了它无法连接吗?到我的网络。“无法加入网络火箭。错误:-3905超时错误”,然后它保持断开连接状态,直到我停止脚本为止。
Ruskes 2015年

@buscar类似于我在10.10.x上获得的内容,但确实获得了一些连接。该代码是进行连接的标准代码。但我会看看我是否错过了一项选择
markhunte

@Buscar发现了问题。如果您连接到没有密码的wifi,就没有问题。但是,如果需要的话,您需要将密码添加到命令`networksetup -setairportnetwork en0'myNet''my password'`的末尾。我还没有任何简单的方法来获取密码而不必输入管理员密码。
markhunte 2015年

0

我不确定是否可以直接从该列表中过滤SSID。但是,有两种方法可以从栏中隐藏Wifi图标。

单击图标->“打开网络偏好设置”->该窗口的底部是一个复选框。“在菜单栏中显示Wifi状态”。

另一种选择是使用诸如Bartender之类的应用程序。它虽然花钱,但可以让您隐藏/重新排列顶部栏。

如果您只是想对孩子隐藏对话框,那么这两个选项就足够了。


1
我非常感谢这些建议!但是,我不想删除整个图标,而只删除有问题的菜单项。图标菜单对我来说非常有用。.但是我讨厌看到“ GO F *** YOURSELF!”。每次我点击它。
Sam Ax

2
因为我的工作经常需要我切换网络。
Sam Ax

0

也许最好的选择是创建一个Automator / AppleScript来加入必须在其间进行跳转的每个网络。

您可以为经常使用的网络创建自己的应用程序或服务,并在其他位置需要加入Wifi时使用“系统偏好设置”窗格。

根据您的脚本编写能力,您可以使用一种具有某些逻辑的工作流/脚本,以根据当前连接的网络在网络之间进行切换。


对于不同的问题,此答案可能会有所帮助,但不能回答此问题的实质。这里的本质是希望隐藏或删除网络名称
Graham Perrin

1
我了解您的立场,但不同意;我认为请求者的目的是避免看到令人反感的SSID。尽管这可能无法100%地完成,但可以大大减少问题。
willWorkForCookies 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.