pwr-Solaar / Solaar

Linux device manager for Logitech devices
https://pwr-solaar.github.io/Solaar
GNU General Public License v2.0
5.18k stars 397 forks source link

Unable to see/scroll to bottom of UI with a lot of options and a small screen #1724

Closed SlySven closed 1 year ago

SlySven commented 1 year ago

Information

``` Solaar version 1.1.4 Unifying Receiver Device path : /dev/hidraw0 USB id : 046d:C52B Serial : 17B09D54 Firmware : 12.10.B0032 Bootloader : 02.15 Other : AA.AA Has 4 paired device(s) out of a maximum of 6. Notifications: wireless, software present (0x000900) Device activity counters: 2=135, 3=153 1: Wireless Mouse M175 Device path : /dev/hidraw1 WPID : 4008 Codename : M175 Kind : mouse Protocol : HID++ 2.0 Polling rate : 8 ms (125Hz) Serial number: 1523B10B The power switch is located on the base. Battery: unknown (device is offline). 2: Wireless Keyboard K360 Device path : /dev/hidraw2 WPID : 4004 Codename : K360 Kind : keyboard Protocol : HID++ 2.0 Polling rate : 20 ms (50Hz) Serial number: 334AC01A Model ID: 000000000000 Unit ID: 00000000 Firmware: RQK 36.00.B0007 The power switch is located on the top case. Supports 12 HID++ 2.0 features: 0: ROOT {0000} 1: FEATURE SET {0001} 2: DEVICE FW VERSION {0003} Firmware: Firmware RQK 36.00.B0007 4004 Unit ID: 00000000 Model ID: 000000000000 Transport IDs: {} 3: DEVICE NAME {0005} Name: Wireless Keyboard K360 Kind: keyboard 4: BATTERY STATUS {1000} Battery: 70%, discharging, next level 20%. 5: unknown:1820 {1820} hidden 6: REPROG CONTROLS {1B00} 7: WIRELESS DEVICE STATUS {1D4B} 8: REMAINING PAIRING {1DF0} hidden Remaining Pairings: 55 9: unknown:1DF3 {1DF3} hidden 10: FN INVERSION {40A0} Swap Fx function (saved): False Swap Fx function : False 11: ENCRYPTION {4100} Battery: 70%, discharging, next level 20%. 3: Wireless Mouse MX Master Device path : /dev/hidraw3 WPID : 4071 Codename : MX Master Kind : mouse Protocol : HID++ 4.5 Polling rate : 8 ms (125Hz) Serial number: D3596818 Model ID: B01E40710000 Unit ID: 9803B76B Bootloader: BOT 56.10.B0005 Firmware: MPM 12.10.B0005 Firmware: MPM 12.10.B0005 Other: The power switch is located on the base. Supports 31 HID++ 2.0 features: 0: ROOT {0000} 1: FEATURE SET {0001} 2: DEVICE FW VERSION {0003} Firmware: Bootloader BOT 56.10.B0005 40717622661101 Firmware: Firmware MPM 12.10.B0005 B01E7622661101 Firmware: Firmware MPM 12.10.B0005 40717622661101 Firmware: Other Unit ID: 9803B76B Model ID: B01E40710000 Transport IDs: {'btleid': 'B01E', 'wpid': '4071'} 3: DEVICE NAME {0005} Name: Wireless Mouse MX Master Kind: mouse 4: WIRELESS DEVICE STATUS {1D4B} 5: RESET {0020} 6: CRYPTO ID {0021} 7: BATTERY STATUS {1000} Battery: N/A, recharging, next level 0%. 8: CONFIG DEVICE PROPS {1806} internal, hidden 9: CHANGE HOST {1814} Change Host : 2:rachel 10: REPROG CONTROLS V4 {1B04} DPI Sliding Adjustment (saved): Off DPI Sliding Adjustment : Off Mouse Gestures (saved): Off Mouse Gestures : Off Key/Button Actions (saved): {Left Button:Left Click, Right Button:Right Click, Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Forward Button, Mouse Gesture Button:Gesture Button Navigation, Smart Shift:Smart Shift} Key/Button Actions : {Left Button:Left Click, Right Button:Right Click, Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Forward Button, Mouse Gesture Button:Gesture Button Navigation, Smart Shift:Smart Shift} Key/Button Diversion (saved): {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, Mouse Gesture Button:Regular, Smart Shift:Regular} Key/Button Diversion : {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, Mouse Gesture Button:Regular, Smart Shift:Regular} 11: ADJUSTABLE DPI {2201} Sensitivity (DPI) (saved): 1000 Sensitivity (DPI) : 1000 12: VERTICAL SCROLLING {2100} Roller type: 3G Ratchet per turn: 24 Scroll lines: 0 13: SMART SHIFT {2110} Scroll Wheel Rachet (saved): 10 Scroll Wheel Rachet : 10 14: HIRES WHEEL {2121} Multiplier: 8 Has invert: Normal wheel motion Has ratchet switch: Normal wheel mode High resolution mode HID notification Scroll Wheel Direction (saved): False Scroll Wheel Direction : False Scroll Wheel Resolution (saved): True Scroll Wheel Resolution : True Scroll Wheel Diversion (saved): False Scroll Wheel Diversion : False 15: GESTURE 2 {6501} Gestures (saved): {45: True, 46: True} Gestures : {46: True, 45: True} Gestures Diversion (saved): {46: False} Gestures Diversion : {46: False} 16: DFUCONTROL SIGNED {00C2} 17: unknown:1813 {1813} internal, hidden 18: unknown:1830 {1830} internal, hidden 19: unknown:1890 {1890} internal, hidden 20: unknown:1891 {1891} internal, hidden 21: unknown:18A1 {18A1} internal, hidden 22: unknown:18C0 {18C0} internal, hidden 23: unknown:1DF3 {1DF3} internal, hidden 24: unknown:1E00 {1E00} hidden 25: unknown:1EB0 {1EB0} internal, hidden 26: unknown:1803 {1803} internal, hidden 27: unknown:1861 {1861} internal, hidden 28: unknown:9001 {9001} internal, hidden 29: unknown:9200 {9200} internal, hidden 30: unknown:9202 {9202} internal, hidden Has 8 reprogrammable keys: 0: Left Button , default: Left Click => Left Click mse, pos:0, group:1, group mask:g1 reporting: default 1: Right Button , default: Right Click => Right Click mse, pos:0, group:1, group mask:g1 reporting: default 2: Middle Button , default: Mouse Middle Button => Mouse Middle Button mse, reprogrammable, divertable, raw XY, pos:0, group:3, group mask:g1,g2,g3 reporting: default 3: Back Button , default: Mouse Back Button => Mouse Back Button mse, reprogrammable, divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: default 4: Forward Button , default: Mouse Forward Button => Mouse Forward Button mse, reprogrammable, divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: default 5: Mouse Gesture Button , default: Gesture Button Navigation => Gesture Button Navigation mse, reprogrammable, divertable, raw XY, pos:0, group:3, group mask:g1,g2,g3 reporting: default 6: Smart Shift , default: Smart Shift => Smart Shift mse, reprogrammable, divertable, raw XY, pos:0, group:3, group mask:g1,g2,g3 reporting: default 7: Virtual Gesture Button , default: Virtual Gesture Button => Virtual Gesture Button divertable, virtual, raw XY, force raw XY, pos:0, group:4, group mask:empty reporting: default Has 2 gesture(s), 0 param(s) and 4 spec(s): Thumbwheel Enabled( 0): True Diverted:( 0) False NaturalScrolling Enabled( 1): True Diverted:(None) None period unit Spec ( 3): 800 DVI field width Spec ( 1): 8 field widths Spec ( 2): 8 resolution Spec ( 4): 2048 Battery: N/A, recharging, next level 0%. 4: Performance Mouse MX Device path : /dev/hidraw4 WPID : 101A Codename : Performance MX Kind : mouse Protocol : HID++ 1.0 Polling rate : 8 ms (125Hz) Serial number: B65347AA The power switch is located on the base. Battery: unknown (device is offline). ```
``` - 1.1.4 - {_NAME: Performance Mouse MX, _serial: B65347AA, _wpid: 101A, dpi: '143', side-scroll: true, smooth-scroll: true} - _NAME: Wireless Keyboard K360 _absent: [hi-res-scroll, lowres-scroll-mode, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, smart-shift, thumb-scroll-invert, thumb-scroll -mode, onboard_profiles, report_rate, pointer_speed, dpi, dpi-sliding, speed-change, mouse-gestures, backlight, backlight-timed, reprogrammable-keys, persistent- remappable-keys, divert-keys, disable-keyboard-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, multiplatform, change-host, gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer] _modelId: '000000000000' _serial: 334AC01A _unitId: '00000000' _wpid: '4004' fn-swap: false - {_NAME: Wireless Mouse M175, _serial: 1523B10B, _wpid: '4008'} - {_NAME: M585/M590, _serial: 51B3C62E, _wpid: 406B} - _NAME: Wireless Mouse MX Master _absent: [hi-res-scroll, lowres-scroll-mode, thumb-scroll-invert, thumb-scroll-mode, onboard_profiles, report_rate, pointer_speed, speed-change, backlight, backlight-timed, fn-swap, persistent-remappable-keys, disable-keyboard-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, multiplatfo rm, gesture2-params, sidetone, equalizer] _modelId: B01E40710000 _sensitive: {hires-smooth-resolution: true, smart-shift: true} _serial: D3596818 _unitId: 9803B76B _wpid: '4071' change-host: null divert-keys: {82: 0, 83: 0, 86: 0, 195: 0, 196: 0} dpi: 1000 dpi-sliding: 0 gesture2-divert: {46: false} gesture2-gestures: {45: true, 46: true} hires-scroll-mode: false hires-smooth-invert: false hires-smooth-resolution: true mouse-gestures: 0 reprogrammable-keys: {80: 80, 81: 81, 82: 82, 83: 83, 86: 86, 195: 195, 196: 196} smart-shift: 10 ```

Describe the bug The minimum vertical size for the main window is too large to be accommodated on a laptop with a 1280x800 screen size and since the "options" on the right hand size are not in a "ScrollArea" it is not possible to reduce the height of the whole dialogue (which might otherwise "activate" a vertical scroll bar to give access to the last few controls) to a point where the "Quit Solaar"/"About Solaar"/"Rule Editor" buttons are visible.

To Reproduce Steps to reproduce the behaviour:

  1. Start Solaar on a unit which has a (limited) desktop height of 800
  2. Select a device that has a lot of options (e.g. a "Master" mouse)
  3. Maximise the UI - at least in the vertical direction (in some DE cases this can be done by dragging the title bar to the top of the screen)
  4. See that the bottom of the UI is off the screen (or is hidden behind a system taskbar) and that it is not possible to see the buttons, including the "Quit" one.

Screenshots If applicable, add screenshots to help explain your problem. image

Additional context Add any other context about the problem here.

pfps commented 1 year ago

PR #1725 allows the config panel to scroll. Try it out and see whether it solves your problem.

To clone and use Solar from its GitHub repository

git clone https://github.com/pwr-Solaar/Solaar.git
cd Solaar

Run Solaar as bin/solaar from this directory.

To run PR #1725, first clone Solaar if you have not already done so and cd to the clone directory. The first time you download the pull request, fetch it into a new branch and checkout that branch, as in:

git fetch origin pull/1725/head:pull_1725
git checkout pull_1725

To download a new version of the pull request, fetch it and then set your pull branch to the new fetch, as in:

git checkout pull_1725
git fetch origin pull/1725/head
git reset --hard FETCH_HEAD
pfps commented 1 year ago

@SlySven Does PR #1725 fix this issue for you?

sidevesh commented 1 year ago

This might be better as another issue but another palce where lack of scrolling is a problem is the Rules Editor where some of the options for keypress action (Depress, Click etc) get hidden if window is too small and the whole thing doesn't fit vertically even on 1080p.

pfps commented 1 year ago

What exactly is the problem? Both the rules display and the rules editor are scrollable.

sidevesh commented 1 year ago

Ah, I didn't notice that the rule editor is scrollable separately without having to resize the window. I guess this caused confusion for me initially since the way the window open up by default, it seems like that section is not scrollable and that there is nothing below it which might be confusing but yeah, not a major issue if it is scrollable and unrelated to this one. image

pfps commented 1 year ago

Given that editing rules is the reason for the editor it makes sense to set up the editing window with enough room. I'll see about doing that.

SlySven commented 1 year ago

@pfps Works better for me - but I have left a minor comment in the PR...

pfps commented 1 year ago

@sidevesh When I open up the rule editor (with the most up-to-date Solaar code) the rule editing panel always shows all of the editing controls, with the expanding and contracting as needed. Is this not what you see? This may only happen when running Solaar from this repository.

sidevesh commented 1 year ago

@pfps no, in my case it opens to the size that you can see in the screenshot I shared and it does not expand or contract, I am on 1.1.4 installed from arch aur though.

pfps commented 1 year ago

There were changes to this part of Solaar since 1.1.4. So clone this repository and run bin/solaar in it and see what you experience.