Skip to content

Instantly share code, notes, and snippets.

@alexandre-mbm
Created June 8, 2016 04:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexandre-mbm/e03884c163ad8a19b14740b560f192ea to your computer and use it in GitHub Desktop.
Save alexandre-mbm/e03884c163ad8a19b14740b560f192ea to your computer and use it in GitHub Desktop.
A monitor status switcher for the notebook, when we are using an external monitor as "primary" connected to VGA port
#!/bin/bash
#
# The MIT License (MIT)
#
# Copyright (c) 2016 Alexandre Magno ‒ alexandre.mbm@gmail.com
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
PRIMARY=VGA1
SECUNDARY=LVDS1
LIST=$(xrandr --listmonitors | cut -d+ -f2 | cut -d" " -f1 | sed 1d)
function primary_is_OK_or_quit() {
echo $LIST | grep "\*$PRIMARY" > /dev/null
if [ $? -ne 0 ]; then
echo "Primary monitor is wrong. Expected: $PRIMARY"
echo
xrandr --listmonitors
exit 1
fi
}
# TODO function secundary_is_OK_or_quit
function secundary_is_on() {
echo $LIST | grep "$SECUNDARY" > /dev/null
echo $?
}
function toggle_the_secundary() {
if [ $(secundary_is_on) -eq 0 ]; then
xrandr --output $SECUNDARY --off
else
xrandr --output $SECUNDARY --right-of $PRIMARY --auto
fi
}
primary_is_OK_or_quit
# TODO call to secundary_is_OK_or_quit
toggle_the_secundary
exit 0
for i in $LIST; do
echo
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment