diff --git a/.quickly b/.quickly
deleted file mode 100644
index e55b4141c..000000000
--- a/.quickly
+++ /dev/null
@@ -1,4 +0,0 @@
-project = lutris
-template = ubuntu-application
-lp_id = lutris
-version = 11.10
diff --git a/bin/lutris b/bin/lutris
index 7de35de93..514079641 100755
--- a/bin/lutris
+++ b/bin/lutris
@@ -47,7 +47,7 @@ except ImportError:
from lutris.constants import CONFIG_EXTENSION, GAME_CONFIG_PATH
from lutris.util.log import logger
from lutris.installer import InstallerDialog
-from lutris.config import check_config
+from lutris.config import check_config, register_handler
from lutris.game import LutrisGame
from lutris.pga import get_games
from lutris.gui.lutriswindow import LutrisWindow
@@ -89,6 +89,7 @@ check_config(force_wipe=False)
installer = False
game = None
+register_handler()
signal.signal(signal.SIGINT, signal.SIG_DFL)
GObject.threads_init()
diff --git a/data/apps.lutris.gschema.xml b/data/apps.lutris.gschema.xml
new file mode 100644
index 000000000..e725e26e9
--- /dev/null
+++ b/data/apps.lutris.gschema.xml
@@ -0,0 +1,20 @@
+
+
+
+
+ 'lutris "%s"'
+ The command to handle lutris scheme URLs
+ The command to handle lutris scheme URLs.
+
+
+ false
+ Whether command to handle lutris scheme URLs needs a terminal
+ Whether command to handle lutris scheme URLs needs a terminal.
+
+
+ true
+ Whether command to handle lutris scheme URLs is enabled
+ Whether command to handle lutris scheme URLs is enabled.
+
+
+
diff --git a/lutris.desktop b/lutris.desktop
index d1290faef..602aebc60 100644
--- a/lutris.desktop
+++ b/lutris.desktop
@@ -7,4 +7,4 @@ Exec=lutris %U
Icon=lutris
Terminal=false
Type=Application
-MimeType=application/x-lutris;x-scheme-handler/lutris;
+MimeType=x-scheme-handler/lutris;
diff --git a/lutris/config.py b/lutris/config.py
index 2d0f8c5a4..d578a7570 100644
--- a/lutris/config.py
+++ b/lutris/config.py
@@ -18,28 +18,26 @@
"""Handle the basic configuration of Lutris."""
import os
+import sys
import yaml
import logging
from os.path import join
+from gi.repository import Gio
+
from lutris import pga
from lutris.util.log import logger
from lutris.util.strings import slugify
-from lutris.gconf import GConfSetting
from lutris.settings import PGA_DB, CONFIG_DIR, DATA_DIR, CACHE_DIR
def register_handler():
""" Register the lutris: protocol to open with the application. """
logger.info("registering protocol")
- defaults = (('/desktop/gnome/url-handlers/lutris/command', "lutris '%s'"),
- ('/desktop/gnome/url-handlers/lutris/enabled', True),
- ('/desktop/gnome/url-handlers/lutris/needs-terminal', False),)
-
- for key, value in defaults:
- logger.debug("registering gconf key %s" % key)
- setting = GConfSetting(key, type(value))
- setting.set_key(key, value, override_type=True)
+ executable = os.path.abspath(sys.argv[0])
+ base_key = "desktop.gnome.url-handlers.lutris"
+ settings = Gio.Settings.new(base_key)
+ settings.set_string('command', executable)
def check_config(force_wipe=False):
diff --git a/lutris/downloader.py b/lutris/downloader.py
index e76a47967..9b7917223 100644
--- a/lutris/downloader.py
+++ b/lutris/downloader.py
@@ -66,6 +66,5 @@ class Downloader():
Gio.Cancellable(),
self.mount_cb,
None)
-
else:
GLib.idle_add(self.schedule_download)
diff --git a/lutris/gui/lutriswindow.py b/lutris/gui/lutriswindow.py
index cedc213a4..a25c00d30 100644
--- a/lutris/gui/lutriswindow.py
+++ b/lutris/gui/lutriswindow.py
@@ -3,6 +3,7 @@
import os
import json
+
from gi.repository import Gtk, GLib
#from lutris.util import log
diff --git a/lutris/installer.py b/lutris/installer.py
index 60b77c661..8162ad688 100644
--- a/lutris/installer.py
+++ b/lutris/installer.py
@@ -269,6 +269,8 @@ class ScriptInterpreter(object):
if not os.path.exists(src):
self.errors.append("I can't move %s, it does not exist" % src)
return False
+ if not os.path.exists(dst):
+ os.makedirs(dst)
target = os.path.join(dst, os.path.basename(src))
if os.path.exists(target):
self.errors.append("Destination %s already exists" % target)
diff --git a/lutris/settings.py b/lutris/settings.py
index e7d1e66d4..c7c8b2897 100644
--- a/lutris/settings.py
+++ b/lutris/settings.py
@@ -32,6 +32,8 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
"""
+## Default config options
+KEEP_CACHED_ASSETS = True
## Paths
CONFIG_DIR = os.path.join(BaseDirectory.xdg_config_home, 'lutris')