Closed FrzMtrsprt closed 8 months ago
主界面的代理选单同样可以使用上述改进,相关讨论见 #236
不改变代理的选择如何处理?
没太明白这个不改变代理的作用是什么,是让clashN切换到当前系统代理的端口,还是什么也不做呢?
不改变代理是很有用的功能
两个选项都不选中就是不改变代理。不在每次重启时强制改变系统代理状态,而是让代理选单实时反应系统代理的状态,可能比目前的方案更直观易用一些。在看到 wiki 之前,我一直以为清除代理和设置代理只会在点击选单时起作用,不知道重启时也会设置/清除代理,所以就忽略了不改变代理这个选项。
两个选项都不选中就是不改变代理 这个特点隐藏的更深了。
大部分用户现在都知道选中第二个或者说颜色变成红色是设置好了代理,暂时不想改变此行为
不改变菜单内容的话,至少可以修复一下再次点击系统代理却无法恢复系统代理的问题。
方案 1:将“清除系统代理”从选单中独立出来看作单独的按钮(位置不改变),无法被勾选,点击一次就清除一次代理(这样可以保证clashN重启时不会把其他应用的代理清掉);每次打开菜单时检测一次系统代理,若与clashN代理不符,自动切换到“不改变系统代理”;剩下三项的行为不改变 方案 2:将Menu的事件触发条件改成每个MenuItem的MenuItem.Click事件,只要点击,即使是重复点击已选项,也再次执行触发事件(设置一次代理或清除一次代理)
方案 1 也可以从根本上解决选单状态无法反映系统代理状态的问题,而方案 2 仍需要让用户自己猜测系统代理的状态
希望“当前链接”的标题栏可以筛选项目和升降序排列 @2dust
目前 ClashN 托盘菜单中的代理选单的行为
示例场景
改善方案
示意图
此问题在v2rayN中也有出现,可以考虑将此方案也用到v2rayN上。