1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-06-06 10:23:06 +03:00

Merge pull request #570 from A-UNDERSCORE-D/fix/display-var-errors

Fix #568 with ENV var workaround
This commit is contained in:
Athanasius 2020-07-08 17:07:54 +01:00 committed by GitHub
commit 758b726878
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 89 additions and 74 deletions

View File

@ -8,6 +8,10 @@ import json
import requests
import sys
import os
# workaround for https://github.com/EDCD/EDMarketConnector/issues/568
os.environ["EDMC_NO_UI"] = "1"
from os.path import dirname, getmtime, join
from time import time, sleep
from xml.etree import ElementTree

View File

@ -5,6 +5,7 @@
# So can't use ttk's theme support. So have to change colors manually.
#
import os
from sys import platform
from os.path import join
@ -18,7 +19,12 @@ from config import appname, applongname, config
if __debug__:
from traceback import print_exc
if platform == 'win32':
if platform == "linux":
from ctypes import *
def setup_UI__():
if platform == 'win32':
import ctypes
from ctypes.wintypes import LPCWSTR, DWORD, LPCVOID
AddFontResourceEx = ctypes.windll.gdi32.AddFontResourceExW
@ -27,9 +33,7 @@ if platform == 'win32':
FR_NOT_ENUM = 0x20
AddFontResourceEx(join(config.respath, u'EUROCAPS.TTF'), FR_PRIVATE, 0)
elif platform == 'linux':
from ctypes import *
elif platform == 'linux':
XID = c_ulong # from X.h: typedef unsigned long XID
Window = XID
Atom = c_ulong
@ -67,6 +71,10 @@ elif platform == 'linux':
('status', c_ulong),
]
# workaround for https://github.com/EDCD/EDMarketConnector/issues/568
if os.getenv("EDMC_NO_UI") :
return
try:
xlib = cdll.LoadLibrary('libX11.so.6')
XInternAtom = xlib.XInternAtom
@ -87,6 +95,7 @@ elif platform == 'linux':
dpy = xlib.XOpenDisplay(None)
if not dpy:
raise Exception("Can't find your display, can't continue")
motif_wm_hints_property = XInternAtom(dpy, b'_MOTIF_WM_HINTS', False)
motif_wm_hints_normal = MotifWmHints(MWM_HINTS_FUNCTIONS | MWM_HINTS_DECORATIONS,
MWM_FUNC_RESIZE | MWM_FUNC_MOVE | MWM_FUNC_MINIMIZE | MWM_FUNC_CLOSE,
@ -379,5 +388,7 @@ class _Theme(object):
self.minwidth = root.winfo_width() # Minimum width = width on first creation
root.minsize(self.minwidth, -1)
setup_UI__()
# singleton
theme = _Theme()