X-Git-Url: https://git.ralfj.de/lilass.git/blobdiff_plain/1f558aaf1deb7511d8d70646cc1ea97cfb8fecbd..436dc315ae39dfac14edd1c208c26c7419e9f58e:/lilass diff --git a/lilass b/lilass index 7b94e18..f532b01 100755 --- a/lilass +++ b/lilass @@ -16,9 +16,9 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -import argparse, sys, os, re, subprocess +import argparse, sys, os, os.path, shutil, re, subprocess from enum import Enum -import gui, screen +import gui, screen, util frontend = gui.getFrontend("cli") # the fallback, until we got a proper frontend. This is guaranteed to be available. @@ -30,7 +30,6 @@ def commonInternalConnectorNames(): for suffix in commonInternalConnectorSuffices: yield prefix+suffix - # Load a section-less config file: maps parameter names to space-separated lists of strings (with shell quotation) def loadConfigFile(filename): import shlex @@ -106,7 +105,14 @@ if __name__ == "__main__": frontend = gui.getFrontend(cmdArgs.frontend) # load configuration - config = loadConfigFile(os.getenv('HOME') + '/.lilass.conf') + legacyConfigFilePath = os.getenv('HOME') + '/.lilass.conf' + configDirectory = util.getConfigDirectory() + configFilePath = os.path.join(configDirectory, "lilass.conf") + if os.path.isfile(legacyConfigFilePath) and not os.path.isfile(configFilePath): + # looks like we just upgraded to a new version of lilass + util.mkdirP(configDirectory) + shutil.move(legacyConfigFilePath, configFilePath) + config = loadConfigFile(configFilePath) # see what situation we are in situation = situationByConfig(config) @@ -135,7 +141,7 @@ if __name__ == "__main__": if setup is None: sys.exit(1) # the user canceled else: # use first resolution of internal connector - setup = screen.ScreenSetup(intResolution = situation.internalResolutions()[0], extResolution = None) + setup = screen.ScreenSetup(intResolution = situation.internalConnector.getPreferredResolution(), extResolution = None) # call xrandr xrandrCall = situation.forXrandr(setup)