Skip to content

Instantly share code, notes, and snippets.

@fernandotakai
Last active February 16, 2016 17:02
Show Gist options
  • Save fernandotakai/dc14096f8d4f706b3f42 to your computer and use it in GitHub Desktop.
Save fernandotakai/dc14096f8d4f706b3f42 to your computer and use it in GitHub Desktop.
echo "set_wallpaper()" | awesome-client
[Unit]
Description=Display monitor
[Service]
ExecStart=/home/ftakai/bin/monitor-display
[Install]
WantedBy=default.target
#!/usr/bin/python2
import glib
from pyudev import Context, Monitor
from pyudev.glib import GUDevMonitorObserver as MonitorObserver
def device_event(observer, action, device):
command = "/usr/bin/xrandr -d :0 --output DP1 --auto --left-of LVDS1 --primary".split(" ")
glib.spawn_async(command)
command = "/home/ftakai/bin/change_wallpaper".split(" ")
glib.spawn_async(command)
context = Context()
monitor = Monitor.from_netlink(context)
monitor.filter_by(subsystem='drm')
observer = MonitorObserver(monitor)
observer.connect('device-event', device_event)
monitor.start()
glib.MainLoop().run()
#!/usr/bin/python2
import glib
from pyudev import Context, Monitor
from pyudev.glib import GUDevMonitorObserver as MonitorObserver
DEVICE_MODEL =u'Realforce_87'
def swapcaps(action):
command = ['/usr/bin/setxkbmap', '-display', ':0', 'us', 'mac']
if action == 'remove':
command.append('-option')
command.append('ctrl:swapcaps')
glib.spawn_async(command)
def device_event(observer, action, device):
if device['ID_MODEL'] != DEVICE_MODEL:
return
swapcaps(device.action)
context = Context()
monitor = Monitor.from_netlink(context)
monitor.filter_by(subsystem='usb', device_type='usb_device')
observer = MonitorObserver(monitor)
observer.connect('device-event', device_event)
monitor.start()
if not list(context.list_devices(ID_MODEL=DEVICE_MODEL, device_type='usb_device')):
swapcaps('remove')
else:
swapcaps('add')
glib.MainLoop().run()
[Unit]
Description=USB keyboard monitor
[Service]
ExecStart=/home/ftakai/bin/monitor-usb
[Install]
WantedBy=default.target
@fernandotakai
Copy link
Author

marius ~
$ ls -la ~/.config/systemd/user/                                                                                                  15:01
total 20
drwxr-xr-x 3 ftakai ftakai 4096 Apr 23  2015 .
drwxr-xr-x 3 ftakai ftakai 4096 Apr 22  2015 ..
drwxr-xr-x 2 ftakai ftakai 4096 Apr 23  2015 default.target.wants
-rw-r--r-- 1 ftakai ftakai  124 Apr 23  2015 display-monitor.service
-rw-r--r-- 1 ftakai ftakai  125 Apr 22  2015 usb-monitor.service

marius ~
$ ls -la ~/.config/systemd/user/default.target.wants                                                                              15:01
total 8
drwxr-xr-x 2 ftakai ftakai 4096 Apr 23  2015 .
drwxr-xr-x 3 ftakai ftakai 4096 Apr 23  2015 ..
lrwxrwxrwx 1 ftakai ftakai   57 Apr 23  2015 display-monitor.service -> /home/ftakai/.config/systemd/user/display-monitor.service
lrwxrwxrwx 1 ftakai ftakai   53 Apr 22  2015 usb-monitor.service -> /home/ftakai/.config/systemd/user/usb-monitor.service```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment