I'd like to lock the screen when I move my mouse to the bottom-right corner.
Is there a compiz-configuration for that task?
I could not find anything in the compizconfig-settings-manager and system settings.
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.Sign up to join this community
The simple tools to get mouse position is
xdotool just install first and follow steps:
sudo apt-get install xdotool
then we are useing
xdotool getmouselocation --shell to see the current position of mouse: the result will be something like this:
X=845 Y=447 SCREEN=0
or by running
eval $(xdotool getmouselocation --shell) will put the position into shell variables
SCREEN. After that, we can access these variables with this:
echo $X $Y $SCREEN
Well now we need a while loop to check mouse position on every time:
while true do [get mouse position] [if position =bottom-right corner then lock screen] done
ok so our scripts would be like this:
#! /bin/sh while true do eval $(xdotool getmouselocation --shell) if [ $X -ge 1919 -a $Y -ge 1079 ]; then gnome-screensaver-command -l fi done
save script named "lock.sh" in your home directory and run it by
sh lock.sh and move your mouse to the bottom-right corner and see the result. cool!
We combine conditions by using certain operators. For the single-bracket syntax that we’ve been using so far, “-a” used for and. and “-o” for or. Example:
if [ $foo -ge 3 -a $bar -ge 10 ]; then
The above condition will return true if
$foo contains an integer g reater than or e qual to 3 (-ge 3) and also
$bar contains an integer g reater than or e qual to 10. then run lock screen command line gnome-screensaver-command -l
I could not find any settings in the Compiz manager, nor in the Unity Tweak settings (which uses the same), but if you add the script below to your Startup Applications, it will check your screen resolution and your mouse position. If the mouse is within a marge from the corner (set in the head of the script) it will lock the screen.
How to use
sudo apt-get install xdotool
Paste the script below in an empty file, set the marge (pixels) within which you would like the hotcorner to act, save it as screenlock.py, make it executable for convenience reasons and add it to your startup applications (Dash > Startup Applications > Add). Add add the command:
#!/usr/bin/env python3 import time import subprocess marge = 3 # (pixels) increase to increase sensitivity output = subprocess.check_output(["xrandr"]).decode('utf-8').strip().split() idf = output.index("current") res = (int(output[idf+1]), int(output[idf+3].replace(",", ""))) command = "gnome-screensaver-command -l" while True: get_pos = subprocess.check_output(["xdotool", "getmouselocation", "--shell"]).decode('utf-8').strip().split("\n") pos = (int(get_pos[2:]), int(get_pos[2:])) if res - pos < marge and res - pos < marge: subprocess.Popen(["/bin/bash", "-c", command]) time.sleep(1)