OpenIntelWireless / HeliPort

Intel Wi-Fi Client for itlwm
https://OpenIntelWireless.github.io/HeliPort
BSD 3-Clause "New" or "Revised" License
1.09k stars 122 forks source link

[Feature Request] Do not change menu items while the cursor is inside #153

Closed igorkulman closed 3 years ago

igorkulman commented 4 years ago

Is your feature request related to a problem? Please describe. The menu now refreshes on a fixed timer. When I want to connect to a network and the refresh takes place the menu item under the cursor changes and I click wrong item (network).

Describe the solution you'd like Do not refresh menu items while the cursor is inside the open app menu. Just when the cursor is outside of the menu. The changes coming in while the cursor is inside the menu can be queued and then when cursor leaves the menu just the last change is applied.

Describe alternatives you've considered Being faster when clicking but it is a timing issue.

ErrorErrorError commented 4 years ago

Well if the items aren't refreshed when you have the menu open then the items would always show that they are available even if you are out of range. List fetching is done from itlwm and retains those fetches as cache

igorkulman commented 4 years ago

Refreshing when menu open would be OK when the cursor is outside it, on the icon in menu bar or totally outside. My thinking is that you click the icon, the menu opens, you wait for the network you want to connect to appear and then move the cursor to click it. At that point you want the item not to move so you hit it.

Goshin commented 4 years ago

I think we can simply do an early return in the network list updating if the cursor is over the network list section of the menu, so it will not be affected if the cursor is over other function items like "Turn off WiFi" etc.