Comments (9)
Can you reproduce this?
It's a bug or bad design inherent to GTK (rather a bug since the TreeView doesn't have the issue). I have the same behavior with this example browser.
from lutris.
Yup, able to reproduce. If I put a couple of print statements in the signals, in can see that the on_selection_changed is called twice (once for each click) where as, if the game is already selected then the first click trigger on_selection_changed and the second one triggers on_item_activated
from lutris.
This is indeed a problem with GTK, if we want to workaround this issue, we'd have to basically re-implement double-clicking: Keep track of currently selected game and what time it was selected, on selection changed, check if the current selected game is the same as previously selected game and current_time - last_selection_time < n milliseconds, if so we trigger the on_item_activated signal.
from lutris.
Yes and reimplement activation with Enter and Space or keep on_activation and add double-click detection on top.
Meanwhile, I'll report the bug to GTK.
from lutris.
It was already reported since 2007, yay ! There is a patch though, maybe we can use it... somehow ?
from lutris.
You mean by shipping a patched version of GTK? I don't think that's even possible! No, the best we can do is wait for the patch to be merged and released downstream. Meanwhile we can go with the double-click reimplementation option, even if it feels a bit hackish.
from lutris.
Not shipping GTK, no, I just had the quick unaware thought that maybe it was possible to override the guilty function.
from lutris.
If it were written in Python, you could monkey patch that bit. Actually, it may be possible to monkey patch even if it was written in C (but it would need a python re-implementation of this function and possibly everything around it).
My advice is: don't open that door, do not ever go there, it's not worth it.
from lutris.
My advice is: don't open that door, do not ever go there, it's not worth it.
Stop tempting me ! :P
from lutris.
Related Issues (20)
- UI shows {count} in "Add games to Lutris" dialog HOT 1
- [Feature] Right-click "Duplicate" feature should ask if the prefix needs to be copied too HOT 7
- Umu in Lutris 0.5.17 ignore "Working directory" setting in some cases HOT 5
- Cannot install battle.net HOT 2
- Command line silent install / install without confirmation window poping up HOT 1
- EA App Missing executable error - SOLVED via Heroic (Flatpack) HOT 11
- Limit FPS HOT 4
- Added games from a different OS on a shared disk not automatically added in other distro HOT 1
- Steam Source Not Present HOT 4
- Lutris wont load EA games to its library HOT 5
- 5.17 No Module Lutris HOT 4
- Linux Mint compatibility and support HOT 2
- Need to manually install files to /usr/share. battle.net install fails on winetricks arial install HOT 6
- Trying to save game preferences causes lutris to throw an exception and fail to save HOT 1
- Ubisoft connect, broken download window
- Ubisoft Connect does not display the correct icon.
- Provide a lutris-lang package on Opensuse Factory and game:tools repo.
- Lutris ubisoft game not working in gamemode on bazzite (steamos like) HOT 7
- Proton-TkG doesn't run with umu-launcher both in lutris and with only umu-launcher HOT 1
- Gamemode not starting on game launch HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lutris.