You are not logged in.
Hi everyone!
I am writing a script to set up a xubuntu environment in one click, and among other things, I wanted to enable the properties:
/DisableTouchpadWhileTyping
/DisableTouchpadDuration
Said properties don't exist by default on the /.config/xfce4/xfconf/xfce-perchannel-xml/pointers.xml file, and are only created when changing the setting from the GUI (Mouse and Touchpad). I managed to create the settings for modifying the file at deployment, with the following commands:
xfconf-query -v -n -c pointers -p /DisableTouchpadWhileTyping
#xfconf-query -c pointers -p /DisableTouchpadWhileTyping -t bool -s true //this is not necessary as when creating the property, it sets it by default to trur
xfconf-query -v -n -c pointers -p /DisableTouchpadDuration -t double -s 0.2
Now the issue is that when testing that it actually worked, I deleted the entries from the file and tried to create them again, and even if the verbose mode said that the files were being created, I didn't see the change reflected on the file.
I noticed later that if I listed the properties with "xfconf-query -v -c pointers -l", it was showing them, and in the GUI as well, but they are not in the pointers.xml file and the setting is actually not working. Also noticed that there is a "non existent" .pointers.xml.swp file (doing locate pointers.xml).
Does anyone have any idea of what is exactly happening? The settings and inner-workings look pretty simple yet it manages to not work
Thanks a lot for your time guys
Quim
Edit: Seems like if I interact with disabling it, the entries appear on the pointers.xml config file, but the setting keeps not working, so I can move the mouse without issue while typing
Edit2: I seem to have 2 detected devices in "Mouse and Touchpad", which are actually the same one, and settings of one are not synced with the other, and apparently it changes which one appears as the one being used.
- 1. DLL07BF:01 06CB:7A13 Touchpad
- 2. SynPS/2 Synaptics Touchpad
This should not be an issue anyway, because both "Disable Typing" properties are set as a general property instead of a specific property of one of the devices. This was set originally by the GUI and I just followed that configuration.
Edit3: I have been playing with the GUI and by mistake I ended up adding some extra properties related to taps. I deleted them and now it appears like the Touchpad disable while typing is working as expected. I still don't understand the reasoning behind it working or not, seems like depending on other variables that are not defined always the same.
Sorry for the long bible
Last edited by qmontal (2018-08-04 22:23:24)
Offline
Hello and welcome.
You shouldn't edit the pointers.xml file directly while xfconfd is running. xfconfd stores these settings in memory and occasionally writes them out to the file. It always writes on exit.
For those two specific settings, you can create them by going to Settings Manager > Mouse & Touchpad, selecting Touchpad from the dropdown then going to the Touchpad tab. Check the box to enable and move the slider. This will create the properties.
Then programmatically you can:
xfconf-query -c pointers -p /DisableTouchpadWhileTyping -s VALUE
xfconf-query -c pointers -p /DisableTouchpadDuration -s VALUE
Also noticed that there is a "non existent" .pointers.xml.swp file (doing locate pointers.xml).
Were you using vi/vim/gvim to edit this file? This is a swap file that gets created when one of these programs (and maybe others?) open the file for editing. Just delete the file.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Hi ToZ,
Thanks for your fast reply
You shouldn't edit the pointers.xml file directly while xfconfd is running. xfconfd stores these settings in memory and occasionally writes them out to the file. It always writes on exit.
This must be exactly the reason, thanks for the explanation! Won't modify again the file by hand in that case
Also noticed that there is a "non existent" .pointers.xml.swp file (doing locate pointers.xml).
Were you using vi/vim/gvim to edit this file? This is a swap file that gets created when one of these programs (and maybe others?) open the file for editing. Just delete the file.
I actually couldn't delete/edit/read the file, as when trying to do anything with it, it just said the file didn't exist; it was just appearing when doing the locate command, as I thought maybe I was writing on another config file. Probably as you mentioned the swap file was created by vim itself when modifying.
Thanks a lot for your help!
Offline
[ Generated in 0.008 seconds, 8 queries executed - Memory usage: 535.2 KiB (Peak: 536.05 KiB) ]