Arch Linux's default "python" install points to Python 3, and mintmenu is certainly not compatible with it! Closes #134.
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/python2
 | 
						|
 | 
						|
import gi
 | 
						|
import ctypes
 | 
						|
from ctypes import *
 | 
						|
 | 
						|
libgobject = CDLL('libgobject-2.0.so.0')
 | 
						|
 | 
						|
class _PyGObject_Functions(ctypes.Structure):
 | 
						|
   _fields_ = [
 | 
						|
       ('register_class',
 | 
						|
        ctypes.PYFUNCTYPE(ctypes.c_void_p, ctypes.c_char_p,
 | 
						|
                          ctypes.c_int, ctypes.py_object,
 | 
						|
                          ctypes.py_object)),
 | 
						|
       ('register_wrapper',
 | 
						|
        ctypes.PYFUNCTYPE(ctypes.c_void_p, ctypes.py_object)),
 | 
						|
       ('lookup_class',
 | 
						|
        ctypes.PYFUNCTYPE(ctypes.py_object, ctypes.c_int)),
 | 
						|
       ('newgobj',
 | 
						|
        ctypes.PYFUNCTYPE(ctypes.py_object, ctypes.c_void_p)),
 | 
						|
       ]
 | 
						|
 | 
						|
class PyGObjectCPAI(object):
 | 
						|
    def __init__(self):
 | 
						|
        PyCObject_AsVoidPtr = ctypes.pythonapi.PyCObject_AsVoidPtr
 | 
						|
        PyCObject_AsVoidPtr.restype = ctypes.c_void_p
 | 
						|
        PyCObject_AsVoidPtr.argtypes = [ctypes.py_object]
 | 
						|
        addr = PyCObject_AsVoidPtr(ctypes.py_object(
 | 
						|
           gi._gobject._PyGObject_API))
 | 
						|
        self._api = _PyGObject_Functions.from_address(addr)
 | 
						|
 | 
						|
    def pygobject_new(self, addr):
 | 
						|
        return self._api.newgobj(addr)
 | 
						|
 | 
						|
def get_widget(ptr):
 | 
						|
    return PyGObjectCPAI().pygobject_new(ptr)
 |