redhog / InfiniteGlass

Window manager with infinite desktop, infinite zoom and infinite window resolution
https://redhog.github.io/InfiniteGlass/
GNU General Public License v3.0
35 stars 5 forks source link

setuptools assertion error #17

Closed IanTrudel closed 4 years ago

IanTrudel commented 4 years ago

The build complained that setuptools version was too old and I subsequently updated it. Then the compilation went further up to glass-renderer but then it complains again about setuptools.

easy_install --version
setuptools 45.1.0 from /usr/local/lib/python3.6/site-packages (Python 3.6)
make GLASS_DMALLOC="" -C glass-renderer
make[1] : on entre dans le répertoire « /home/ian/Workspace/InfiniteGlass/glass-renderer »
make[1]: rien à faire pour « all ».
make[1] : on quitte le répertoire « /home/ian/Workspace/InfiniteGlass/glass-renderer »
. build/env/bin/activate; cd pysmlib; python setup.py develop
/usr/lib64/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
  warnings.warn(msg)
running develop
running egg_info
writing pysmlib.egg-info/PKG-INFO
writing dependency_links to pysmlib.egg-info/dependency_links.txt
writing top-level names to pysmlib.egg-info/top_level.txt
reading manifest file 'pysmlib.egg-info/SOURCES.txt'
writing manifest file 'pysmlib.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-x86_64-3.6/pysmlib/client.cpython-36m-x86_64-linux-gnu.so -> pysmlib
copying build/lib.linux-x86_64-3.6/pysmlib/server.cpython-36m-x86_64-linux-gnu.so -> pysmlib
copying build/lib.linux-x86_64-3.6/pysmlib/ice.cpython-36m-x86_64-linux-gnu.so -> pysmlib
copying build/lib.linux-x86_64-3.6/pysmlib/helpers.cpython-36m-x86_64-linux-gnu.so -> pysmlib
Creating /home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/pysmlib.egg-link (link to .)
pysmlib 0.1 is already the active version in easy-install.pth

Installed /home/ian/Workspace/InfiniteGlass/pysmlib
Processing dependencies for pysmlib==0.1
Finished processing dependencies for pysmlib==0.1
. build/env/bin/activate; cd glass-lib; python setup.py develop
/usr/lib64/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
  warnings.warn(msg)
running develop
running egg_info
writing glass_lib.egg-info/PKG-INFO
writing dependency_links to glass_lib.egg-info/dependency_links.txt
writing requirements to glass_lib.egg-info/requires.txt
writing top-level names to glass_lib.egg-info/top_level.txt
reading manifest file 'glass_lib.egg-info/SOURCES.txt'
writing manifest file 'glass_lib.egg-info/SOURCES.txt'
running build_ext
Creating /home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/glass-lib.egg-link (link to .)
glass-lib 0.1 is already the active version in easy-install.pth

Installed /home/ian/Workspace/InfiniteGlass/glass-lib
Processing dependencies for glass-lib==0.1
Searching for python-xlib>=0.25
Reading https://pypi.python.org/simple/python-xlib/
Downloading https://files.pythonhosted.org/packages/fb/7c/9b0ed4af6c37d280f626e4df4a12e26c69e61fe8a6fcf4d367dfc17545c4/python-xlib-0.26.tar.bz2#sha256=b819c7e5f55830305919d78ea42b0cbd5e13687f5d12aa53556c33674b9876df
Best match: python-xlib 0.26
Processing python-xlib-0.26.tar.bz2
Writing /tmp/easy_install-bomba8nk/python-xlib-0.26/setup.cfg
Running python-xlib-0.26/setup.py -q bdist_egg --dist-dir /tmp/easy_install-bomba8nk/python-xlib-0.26/egg-dist-tmp-7ieoi0fo
Traceback (most recent call last):
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 157, in save_modules
    yield saved
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 198, in setup_context
    yield
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 248, in run_setup
    DirectorySandbox(setup_dir).run(runner)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 278, in run
    return func()
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 246, in runner
    _execfile(setup_script, ns)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 47, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-bomba8nk/python-xlib-0.26/setup.py", line 9, in <module>
    long_description_content_type="text/markdown",
AssertionError: setuptools>=30.3.0 is required

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "setup.py", line 19, in <module>
    include_package_data=True
  File "/usr/lib64/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib64/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib64/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/command/develop.py", line 34, in run
    self.install_for_development()
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/command/develop.py", line 133, in install_for_development
    self.process_distribution(None, self.dist, not self.no_deps)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 742, in process_distribution
    [requirement], self.local_index, self.easy_install
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/pkg_resources/__init__.py", line 850, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1122, in best_match
    return self.obtain(req, installer)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1134, in obtain
    return installer(requirement)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 665, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 695, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 876, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 1115, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 1101, in run_setup
    run_setup(setup_script, args)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 251, in run_setup
    raise
  File "/usr/lib64/python3.6/contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 198, in setup_context
    yield
  File "/usr/lib64/python3.6/contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 169, in save_modules
    saved_exc.resume()
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 144, in resume
    six.reraise(type, exc, self._tb)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/pkg_resources/_vendor/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 157, in save_modules
    yield saved
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 198, in setup_context
    yield
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 248, in run_setup
    DirectorySandbox(setup_dir).run(runner)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 278, in run
    return func()
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 246, in runner
    _execfile(setup_script, ns)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/setuptools/sandbox.py", line 47, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-bomba8nk/python-xlib-0.26/setup.py", line 9, in <module>
    long_description_content_type="text/markdown",
AssertionError: setuptools>=30.3.0 is required
make: *** [Makefile;40 : build/env/bin/glass-lib] Erreur 1
redhog commented 4 years ago

That is strange. Note sure how setuptools 45.1.0 can be "older" than 30.3.0....

Maybe a virtualenv problem? When building, a virtualenv is created under build/env, could you try to activate that and check the setuptools version?

As you can see in the traceback above, it's the installation of the dependency python-xlib that fails. Could you try installing that manually with "pip3 install python-xlib"?

IanTrudel commented 4 years ago

Thank you. I installed python-xlib, updated virtualenv and started over with your repo. How do I get a terminal launched in Xephyr?

image

It apparently doesn't like my Dvorak Intl. keyboard. Inte bra, inte bra!

Errors from xkbcomp are not fatal to the X server
Error loading new keyboard description
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            No Symbols named "swerty" in the include file "se"
>                   Exiting
>                   Abandoning symbols file "default"
redhog commented 4 years ago

Waiiiiit. How did my swerty keyboard layout leak into this?!?

I'm so sorry:

grep -r swerty .
./glass-ghosts/build/lib/glass_ghosts/config.json:        "xkb": {"command": ["setxkbmap", "-model", "pc101", "-layout", "se,us,se,ir", "-variant", "swerty,,runes,"]},

So.... edit your ~/.config/glass/ghosts.json and change the xkb command...

Fixed the template file and pushed it, but that won't help you unless you delete the file under ~/.config, and it doesn't give you your dvorak, just a bog standard us layout.

I don't actually know how the normal system xkb config is stored/loaded, so right now I just run xkb as a command line at start up to set up the keyboard...

redhog commented 4 years ago

Also, you shouldn't just get a black screen - did it show the intro with the globe at all?

You should be able to press WINDOWSKEY+space to start rofi (if you have that installed), or WINDOWSKEY+ESC to get the navigation buttons and a slide down xterm...

Btw, how come you know swedish? Aren't you french? ;) Or was that a google-translate taunt? ;P

IanTrudel commented 4 years ago

So.... edit your ~/.config/glass/ghosts.json and change the xkb command...

That works.

You should be able to press WINDOWSKEY+space to start rofi (if you have that installed), or WINDOWSKEY+ESC to get the navigation buttons and a slide down xterm...

What's rofi? I get a little square swirl when the WM grab the keyboard/mouse input. Otherwise the X kill icon.

Btw, how come you know swedish? Aren't you french? ;) Or was that a google-translate taunt? ;P

Jeg snakker en litt på norsk, men ikke på svensk. :)

make GLASS_DMALLOC="" -C glass-renderer
make[1] : on entre dans le répertoire « /home/ian/Workspace/InfiniteGlass/glass-renderer »
make[1]: rien à faire pour « all ».
make[1] : on quitte le répertoire « /home/ian/Workspace/InfiniteGlass/glass-renderer »
. build/env/bin/activate; cd pysmlib; python setup.py develop
running develop
running egg_info
writing pysmlib.egg-info/PKG-INFO
writing dependency_links to pysmlib.egg-info/dependency_links.txt
writing top-level names to pysmlib.egg-info/top_level.txt
reading manifest file 'pysmlib.egg-info/SOURCES.txt'
writing manifest file 'pysmlib.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-x86_64-3.6/pysmlib/client.cpython-36m-x86_64-linux-gnu.so -> pysmlib
copying build/lib.linux-x86_64-3.6/pysmlib/server.cpython-36m-x86_64-linux-gnu.so -> pysmlib
copying build/lib.linux-x86_64-3.6/pysmlib/ice.cpython-36m-x86_64-linux-gnu.so -> pysmlib
copying build/lib.linux-x86_64-3.6/pysmlib/helpers.cpython-36m-x86_64-linux-gnu.so -> pysmlib
Creating /home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/pysmlib.egg-link (link to .)
pysmlib 0.1 is already the active version in easy-install.pth

Installed /home/ian/Workspace/InfiniteGlass/pysmlib
Processing dependencies for pysmlib==0.1
Finished processing dependencies for pysmlib==0.1
. build/env/bin/activate; cd glass-lib; python setup.py develop
running develop
running egg_info
writing glass_lib.egg-info/PKG-INFO
writing dependency_links to glass_lib.egg-info/dependency_links.txt
writing requirements to glass_lib.egg-info/requires.txt
writing top-level names to glass_lib.egg-info/top_level.txt
reading manifest file 'glass_lib.egg-info/SOURCES.txt'
writing manifest file 'glass_lib.egg-info/SOURCES.txt'
running build_ext
Creating /home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/glass-lib.egg-link (link to .)
glass-lib 0.1 is already the active version in easy-install.pth

Installed /home/ian/Workspace/InfiniteGlass/glass-lib
Processing dependencies for glass-lib==0.1
Searching for sakstig==0.1.7
Best match: sakstig 0.1.7
Processing sakstig-0.1.7-py3.6.egg
sakstig 0.1.7 is already the active version in easy-install.pth
Installing sakstig script to /home/ian/Workspace/InfiniteGlass/build/env/bin
Installing sakstig-grammar script to /home/ian/Workspace/InfiniteGlass/build/env/bin
Installing sakstig-ast script to /home/ian/Workspace/InfiniteGlass/build/env/bin
Installing sakform script to /home/ian/Workspace/InfiniteGlass/build/env/bin

Using /home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/sakstig-0.1.7-py3.6.egg
Searching for python-xlib==0.26
Best match: python-xlib 0.26
Processing python_xlib-0.26-py3.6.egg
python-xlib 0.26 is already the active version in easy-install.pth

Using /home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/python_xlib-0.26-py3.6.egg
Searching for numpy==1.18.1
Best match: numpy 1.18.1
Processing numpy-1.18.1-py3.6-linux-x86_64.egg
numpy 1.18.1 is already the active version in easy-install.pth
Installing f2py script to /home/ian/Workspace/InfiniteGlass/build/env/bin
Installing f2py3 script to /home/ian/Workspace/InfiniteGlass/build/env/bin
Installing f2py3.6 script to /home/ian/Workspace/InfiniteGlass/build/env/bin

Using /home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/numpy-1.18.1-py3.6-linux-x86_64.egg
Searching for pyleri==1.3.2
Best match: pyleri 1.3.2
Processing pyleri-1.3.2-py3.6.egg
pyleri 1.3.2 is already the active version in easy-install.pth

Using /home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/pyleri-1.3.2-py3.6.egg
Searching for six==1.14.0
Best match: six 1.14.0
Processing six-1.14.0-py3.6.egg
six 1.14.0 is already the active version in easy-install.pth

Using /home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/six-1.14.0-py3.6.egg
Finished processing dependencies for glass-lib==0.1
GLASS_DEBUGGER="" BUILD="build" XSERVERPATH="/usr/bin/Xephyr" XSERVEROPTS=":100 -ac -screen 1280x768 -host-cursor" ./xstartup.sh

xinit: XFree86_VT property unexpectedly has 0 items instead of 1
Copying 1
generating cookie with syscall
generating cookie with syscall
generating cookie with syscall
generating cookie with syscall
generating cookie with syscall
generating cookie with syscall
generating cookie with syscall
generating cookie with syscall
inet6/centralis:41153,inet/centralis:46417,local/unix:@/tmp/.ICE-unix/25764,unix/unix:/tmp/.ICE-unix/25764
[Errno 2] No such file or directory
Traceback (most recent call last):
  File "/home/ian/Workspace/InfiniteGlass/glass-lib/InfiniteGlass/display.py", line 30, in handle_x_event
    if handler(event):
  File "/home/ian/Workspace/InfiniteGlass/glass-lib/InfiniteGlass/display.py", line 101, in handler
    return fn(self, event)
  File "/home/ian/Workspace/InfiniteGlass/glass-lib/InfiniteGlass/window.py", line 72, in handler
    return fn(self, event)
  File "/home/ian/Workspace/InfiniteGlass/glass-ghosts/glass_ghosts/components.py", line 24, in PropertyNotify
    self.start_component(spec)
  File "/home/ian/Workspace/InfiniteGlass/glass-ghosts/glass_ghosts/components.py", line 57, in start_component
    os.execlp(spec["command"][0], *spec["command"])
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib64/python3.6/os.py", line 542, in execlp
    execvp(file, args)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib64/python3.6/os.py", line 559, in execvp
    _execvpe(file, args)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib64/python3.6/os.py", line 604, in _execvpe
    raise last_exc.with_traceback(tb)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib64/python3.6/os.py", line 594, in _execvpe
    exec_func(fullname, *argrest)
FileNotFoundError: [Errno 2] No such file or directory
NEW CONN <glass_ghosts.session.Server object at 0x14860fa655f8>
NEW CONN DONE <glass_ghosts.session.Server object at 0x14860fa655f8> 22566020726000 {22566020726000: <glass_ghosts.session.Server.Connection object at 0x14860fa63cf0>} 41409984 22566020726000
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
Request reply to unknown request.  Can't happen!
Traceback (most recent call last):
  File "/home/ian/Workspace/InfiniteGlass/glass-lib/InfiniteGlass/mainloop.py", line 78, in do
    handler()
  File "/home/ian/Workspace/InfiniteGlass/glass-lib/InfiniteGlass/display.py", line 26, in handle_x_event
    for idx in range(self.pending_events()):
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/python_xlib-0.26-py3.6.egg/Xlib/display.py", line 192, in pending_events
    return self.display.pending_events()
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/python_xlib-0.26-py3.6.egg/Xlib/protocol/display.py", line 243, in pending_events
    self.send_and_recv(recv = 1)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/python_xlib-0.26-py3.6.egg/Xlib/protocol/display.py", line 612, in send_and_recv
    gotreq = self.parse_response(request)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/python_xlib-0.26-py3.6.egg/Xlib/protocol/display.py", line 704, in parse_response
    gotreq = self.parse_request_response(request) or gotreq
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/python_xlib-0.26-py3.6.egg/Xlib/protocol/display.py", line 783, in parse_request_response
    req = self.get_waiting_replyrequest()
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/python_xlib-0.26-py3.6.egg/Xlib/protocol/display.py", line 931, in get_waiting_replyrequest
    raise RuntimeError("Request reply to unknown request.  Can't happen!")
RuntimeError: Request reply to unknown request.  Can't happen!
GLX: Unable to initialize.
Found XInput version 2.0
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
GLX: Unable to initialize.
Animation failed:  'ConnectionResetError' object is not subscriptable
Display connection closed by server
Display connection closed by server
Display connection closed by server
XIO:  fatal IO error 0 (Success) on X server ":100"
      after 43 requests (43 known processed) with 0 events remaining.
Traceback (most recent call last):
  File "/home/ian/Workspace/InfiniteGlass/glass-lib/InfiniteGlass/mainloop.py", line 78, in do
    handler()
  File "/home/ian/Workspace/InfiniteGlass/glass-lib/InfiniteGlass/display.py", line 26, in handle_x_event
    for idx in range(self.pending_events()):
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/python_xlib-0.26-py3.6.egg/Xlib/display.py", line 192, in pending_events
    return self.display.pending_events()
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/python_xlib-0.26-py3.6.egg/Xlib/protocol/display.py", line 243, in pending_events
    self.send_and_recv(recv = 1)
  File "/home/ian/Workspace/InfiniteGlass/build/env/lib/python3.6/site-packages/python_xlib-0.26-py3.6.egg/Xlib/protocol/display.py", line 609, in send_and_recv
    raise self.socket_error
X connection to :100 broken (explicit kill or server shutdown).
xinit: connection to X server lost
redhog commented 4 years ago

Oh wow, so you have multiple problems there I think... GLX: Unable to initialize. is the worst. It means that OpenGL doesn't seem to work under your version of Xephyr (or I'm doing something stupid in there and the code thinks so when it's not the case). Could you run Xephyr manually (without InfiniteGlass, start an xterm under it and run "glxinfo"?

rofi is a simple "main menu". It's available as a package in ubuntu, so I just used that, so I don't have to parse .desktop-files and render my own menu to start programs. It's entirely optional.

You can also just add a terminal as an extra "component" in ~/.config/glass/ghosts.json. That way you always have a terminal started when the whole thing comes up!

IanTrudel commented 4 years ago

Could you run Xephyr manually (without InfiniteGlass, start an xterm under it and run "glxinfo"?

I'm new to Xephyr but I will do it if you give me some instructions. :)

rofi is a simple "main menu". It's available as a package in ubuntu, so I just used that, so I don't have to parse .desktop-files and render my own menu to start programs. It's entirely optional.

I'm on a highly customized version of CentOS. o_O

You can also just add a terminal as an extra "component" in ~/.config/glass/ghosts.json. That way you always have a terminal started when the whole thing comes up!

Good to know. There is panelterm component in my ghosts.json, shouldn't it open Xterm already?

redhog commented 4 years ago

In a terminal, run

Xephyr :100 -ac -screen 1280x768 -host-cursor &
DISPLAY=:100 glxinfo
fg
CTRL-C

The panelterm is an Xterm that can be revealed and later hidden by pressing WINDOWSKEY+ESC.

redhog commented 4 years ago

And regarding Centos: If you're willing to poke at this a bit, I'm sure we can get this up and running together, even if it takes a bit of work: This would be the first attempt at running this on anything but my particular version of ubuntu...

IanTrudel commented 4 years ago

And regarding Centos: If you're willing to poke at this a bit, I'm sure we can get this up and running together, even if it takes a bit of work: This would be the first attempt at running this on anything but my particular version of ubuntu...

Absolutely. I'm super excited about your WM and you are very nice to help me. Let's do this!

Here is the output from Xephyr and the output directly from X.

glxinfo.log

glxinfo.nvidia.log

Output when pressing SUPER+ESC:

'Window 937 has no property IG_VIEW_OVERLAY_SIZE'
Traceback (most recent call last):
  File "/home/ian/Workspace/InfiniteGlass/glass-input/glass_input/mode.py", line 145, in handle
    self.action(eventfilter, action, event)
  File "/home/ian/Workspace/InfiniteGlass/glass-input/glass_input/mode.py", line 184, in action
    functions[action](self, event, **kw)
  File "/home/ian/Workspace/InfiniteGlass/glass-input/glass_input/actions/actions.py", line 6, in toggle_overlay
    size = self.display.root["IG_VIEW_OVERLAY_SIZE"]
  File "/home/ian/Workspace/InfiniteGlass/glass-lib/InfiniteGlass/window.py", line 34, in window_getitem
    raise KeyError("Window %s has no property %s" % (self.__window__(), name))
KeyError: 'Window 937 has no property IG_VIEW_OVERLAY_SIZE'
redhog commented 4 years ago

Ok, so the last error is simple: It just means that the renderer hasn't started, and so hasn't set that property, and the keybinding to toggle the panelterm needs that property value to know where / how to move the panelterm... So, we're back to the glxproblem (and pretty much only that I think).

I think this is it:

diff myglxinfo.log yourglxinfo.log
<     Version: 18.0.0
---
>     Version: 18.3.4

<     Preferred profile: core (0x1)
<     Max core profile version: 3.3
<     Max compat profile version: 3.0
---
>     Preferred profile: compat (0x2)
>     Max core profile version: 0.0
>     Max compat profile version: 2.1

And I initialize glx with:

int context_attribs[] = {GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
                       GLX_CONTEXT_MINOR_VERSION_ARB, 0,
                       GLX_CONTEXT_FLAGS_ARB        , GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB,
                       None};

Not sure how a newer version of Xephyr can support only older opengl. Maybe mesa version problem?

You can change the above version requirements in glapi.c and see how much else fails then... But better would be for us to figure out why your version of Xephyr doesn't support a higher OpenGL version... Is your centos very old?

IanTrudel commented 4 years ago

Is your centos very old?

CentOS tends to run stable packages that have been curated 3 times (Fedora >> Redhat >> CentOS). So, they are often a bit dating and that's where I customized the most by building and installing newer kernel, gcc, various libraries. I could update anything you think is necessary but it would be a good thing to see if we can make it work without.

redhog commented 4 years ago

Hm, well then give changing the version I require in glapi.c and see if that works. If not, let's try updating your mesa and Xephyr packages...

Also, you could do make install, and run the thing from xinitrc on some test user account, full screen. That would be living on the edge (if it fails, you might have to CTRL-ALT-F1-login-killall-KILL-glass-ghosts), but would talk directly to your nvidia card instead of some old software emulation mesa...

redhog commented 4 years ago

Anyway, getting late here. Continue tomorrow?

IanTrudel commented 4 years ago

Anyway, getting late here. Continue tomorrow?

Yes, no worries. Thanks again!

IanTrudel commented 4 years ago

https://www.khronos.org/opengl/wiki/Tutorial:_OpenGL_3.0_Context_Creation_(GLX)

I tried this example because it has the same GLX_CONTEXT_MAJOR_VERSION_ARB and GLX_CONTEXT_MINOR_VERSION_ARB as your WM. It's working on X and Xephyr but there is a slight difference:

On native X:

Getting matching framebuffer configs
Found 10 matching FB configs.
Getting XVisualInfos
  Matching fbconfig 0, visual ID 0x24: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 1, visual ID 0xba: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 2, visual ID 0x38: SAMPLE_BUFFERS = 1, SAMPLES = 2
  Matching fbconfig 3, visual ID 0xce: SAMPLE_BUFFERS = 1, SAMPLES = 2
  Matching fbconfig 4, visual ID 0x3a: SAMPLE_BUFFERS = 1, SAMPLES = 4
  Matching fbconfig 5, visual ID 0xd0: SAMPLE_BUFFERS = 1, SAMPLES = 4
  Matching fbconfig 6, visual ID 0x44: SAMPLE_BUFFERS = 1, SAMPLES = 8
  Matching fbconfig 7, visual ID 0xda: SAMPLE_BUFFERS = 1, SAMPLES = 8
  Matching fbconfig 8, visual ID 0x4c: SAMPLE_BUFFERS = 1, SAMPLES = 16
  Matching fbconfig 9, visual ID 0xe2: SAMPLE_BUFFERS = 1, SAMPLES = 16
Chosen visual ID = 0x4c
Creating colormap
Creating window
Mapping window
Creating context
Created GL 3.0 context
Direct GLX rendering context obtained
Making context current

On Xephyr:

Getting matching framebuffer configs
Found 12 matching FB configs.
Getting XVisualInfos
  Matching fbconfig 0, visual ID 0x21: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 1, visual ID 0x2b1: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 2, visual ID 0x2eb: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 3, visual ID 0x2ed: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 4, visual ID 0x2b0: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 5, visual ID 0x2b2: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 6, visual ID 0x2ec: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 7, visual ID 0x2ee: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 8, visual ID 0x61: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 9, visual ID 0x395: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 10, visual ID 0x3a3: SAMPLE_BUFFERS = 0, SAMPLES = 0
  Matching fbconfig 11, visual ID 0x3a4: SAMPLE_BUFFERS = 0, SAMPLES = 0
Chosen visual ID = 0x21
Creating colormap
Creating window
Mapping window
Creating context
Failed to create GL 3.0 context ... using old-style GLX context
Direct GLX rendering context obtained
Making context current

Failed to create GL 3.0 context ... using old-style GLX context

This might be a clue.

redhog commented 4 years ago

So I don't think this is going to work with an old-style context: It seems like old style contexts don't support geometry shaders. When I replaced the context creation code

glCreateShader(GL_GEOMETRY_SHADER);

fails with

glGetShaderiv(shader, GL_COMPILE_STATUS, &res)
res == False

and an empty log from

glGetShaderInfoLog();

:(

redhog commented 4 years ago

"An OpenGL rendering context is created with either glXCreateNewContext() or glXCreateContextAttribsARB(), whose use is required in OpenGL Version 3.0 and greater." (from https://studfile.net/preview/5125756/page:162/)

redhog commented 4 years ago

So, let's look at your packages. I have

xserver-xephyr 2:1.19.6-1ubuntu4.2

and it depends on

libgl1:amd64 1.0.0-2ubuntu2 (replaces libgl1-mesa-glx:amd64 18.0.0~rc5-1ubuntu1)
libgl1-mesa-dri:amd64 18.0.0~rc5-1ubuntu1
libglx0:amd64 1.0.0-2ubuntu2
libglvnd0 1.0.0-2ubuntu2.3

How does that compare to your versions?

IanTrudel commented 4 years ago
xorg-x11-server-Xephyr.x86_64      1.20.4-7.el7

Not sure about libgl, so here's a dump for you:

libGLEW.i686                       1.10.0-5.el7                        @base    
libGLEW.x86_64                     1.10.0-5.el7                        @base    
libGLEWmx.i686                     1.10.0-5.el7                        @base    
libGLEWmx.x86_64                   1.10.0-5.el7                        @base    
libglade2.x86_64                   2.6.4-11.el7                        @anaconda
libglvnd.i686                      1:1.0.1-0.8.git5baa1e5.el7          @base    
libglvnd.x86_64                    1:1.0.1-0.8.git5baa1e5.el7          @base    
libglvnd-core-devel.x86_64         1:1.0.1-0.8.git5baa1e5.el7          @base    
libglvnd-devel.x86_64              1:1.0.1-0.8.git5baa1e5.el7          @base    
libglvnd-egl.i686                  1:1.0.1-0.8.git5baa1e5.el7          @base    
libglvnd-egl.x86_64                1:1.0.1-0.8.git5baa1e5.el7          @base    
libglvnd-gles.x86_64               1:1.0.1-0.8.git5baa1e5.el7          @base    
libglvnd-glx.i686                  1:1.0.1-0.8.git5baa1e5.el7          @base    
libglvnd-glx.x86_64                1:1.0.1-0.8.git5baa1e5.el7          @base    
libglvnd-opengl.x86_64             1:1.0.1-0.8.git5baa1e5.el7          @base    
mesa-libGL.i686                    18.3.4-5.el7                        @base    
mesa-libGL.x86_64                  18.3.4-5.el7                        @base    
mesa-libGL-devel.x86_64            18.3.4-5.el7                        @base    
mesa-libGLES.x86_64                18.3.4-5.el7                        @base    
mesa-libGLES-devel.x86_64          18.3.4-5.el7                        @base    
mesa-libGLU.i686                   9.0.0-4.el7                         @base    
mesa-libGLU.x86_64                 9.0.0-4.el7                         @base    
mesa-libGLU-devel.i686             9.0.0-4.el7                         @base    
mesa-libGLU-devel.x86_64           9.0.0-4.el7                         @base    
mesa-libglapi.i686                 18.3.4-5.el7                        @base    
mesa-libglapi.x86_64               18.3.4-5.el7                        @base    
pygtk2-libglade.x86_64             2.24.0-9.el7                        @anaconda
IanTrudel commented 4 years ago

Here is the ISO for CentOS 7.7, in case you might want to test in a virtual machine.

http://isoredirect.centos.org/centos/7/isos/x86_64/

redhog commented 4 years ago

So... I've managed to install that version of Centos and all dependencies inside a docker container, and reproduced the error. So now let's see if I can back-port it. Not sure, but I'll give it a try.

But... How did you manage to compile this? I needed to add -D _BSD_SOURCE -std=c99 just to make it through compilation....

IanTrudel commented 4 years ago

But... How did you manage to compile this? I needed to add -D _BSD_SOURCE -std=c99 just to make it through compilation....

My system is not really CentOS anymore. I compiled and installed a newer version of gcc, clang, kernel, glibc, etc. A major task on its own. Everyone told me it was a terrible idea but it works great.

But, then again, you are now using the very old gcc toolchain. May your soul have mercy.

IanTrudel commented 4 years ago

You may want to try SCL DEVTOOLS 7 of it helps.

https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/

redhog commented 4 years ago

Hehe. A Frankenstein machine.

Anyway, after some more digging, I've concluded this isn't really going to work unless you upgrade Xephyr and mesa-dri-drivers to something more modern:

GL 2.1 doesn't support glFramebufferTexture2D, GL ES 2 supports it, but probably not with Float32 based textures. Additionally, ARB_geometry_shader4 is not supported by this Xephyr version....

So, care to install just one more system from source?

Alternatively, if you have docker, you can just run this inside a docker container that runs something more modern (mounting the X socket from outside)....

Sorry :(

IanTrudel commented 4 years ago

So, care to install just one more system from source?

It's your lucky day. I do that more times than I should on my Frankenstein machine.

I already attempted to build Xephyr but I haven't figured out how to do that without building the whole xorg XServer. Any clue? Building the whole thing means a lot of outdated libraries to update.

I would be happy to try your docker in the meantime. At least I get to have fun.

No need to be sorry. I'm happy to contribute to your project. So we try, try again. :)

redhog commented 4 years ago
# XSOCK=/tmp/.X11-unix
# XAUTH=/tmp/.docker.xauth
# xauth nlist :0 | sed -e 's/^..../ffff/' > $XAUTH
# docker run -ti -v $XSOCK:$XSOCK -v $XAUTH:$XAUTH -e XAUTHORITY=$XAUTH ubuntu:18.10 /bin/bash

$ adduser foo; su - foo
foo$ export DISPLAY=:0

should get you going... Note the adduser/su thing: X complained when I tried to run stuff as root, not sure why.

redhog commented 4 years ago

Hehe. I should have guessed that people who hang on /r/unixporn and customize the shit out of their desktops also belong to the Frankenstein compile-from source-crowd :P

I unfortunately think you'll have to build all of Xorg :( They seem to have merged it all into one thing...

IanTrudel commented 4 years ago

Docker

The docker is basically empty without any building tools or git and what not. Sounds like a long ride. Anything in particular I should do to speed up this and have a try with your VM?

I unfortunately think you'll have to build all of Xorg :( They seem to have merged it all into one thing...

I can survive to this but first, let me get it to work on docker. Xorg will be something major to build. :)

redhog commented 4 years ago

Ok, let me poke a bit - I think I can whip together a Dockerfile for you with all the stuff in it :)

redhog commented 4 years ago

ok, so I have a docker image for you now :)

git pull origin master
docker pull redhogorg/glass:0.0.1
bash run-in-docker.sh

You can build the docker image locally instead by running "docker build redhogorg/glass:0.0.1 ."

IanTrudel commented 4 years ago

No idea how to use it but this is so cool!

image

redhog commented 4 years ago

Awesome. So, check out https://github.com/redhog/InfiniteGlass/blob/master/KEYMAP.md for the keybindnings.

You might want to install some more apps inside the docker container / image with "apt install" (as root) so you can start them from the above command line...

IanTrudel commented 4 years ago

It seems that no terminal will launch using drun. I doubled check and xterm is installed in the docker container. Also, I will try to get a new version of Xephyr working on my machine. It will probably run faster. :)

image

make GLASS_DMALLOC="" -C glass-renderer
make[1]: Entering directory '/InfiniteGlass/glass-renderer'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/InfiniteGlass/glass-renderer'
. build/env/bin/activate; cd glass-lib; python3 setup.py develop
running develop
running egg_info
writing glass_lib.egg-info/PKG-INFO
writing dependency_links to glass_lib.egg-info/dependency_links.txt
writing requirements to glass_lib.egg-info/requires.txt
writing top-level names to glass_lib.egg-info/top_level.txt
reading manifest file 'glass_lib.egg-info/SOURCES.txt'
writing manifest file 'glass_lib.egg-info/SOURCES.txt'
running build_ext
Creating /InfiniteGlass/build/env/lib/python3.6/site-packages/glass-lib.egg-link (link to .)
glass-lib 0.1 is already the active version in easy-install.pth

Installed /InfiniteGlass/glass-lib
Processing dependencies for glass-lib==0.1
Searching for sakstig==0.1.7
Best match: sakstig 0.1.7
Processing sakstig-0.1.7-py3.6.egg
sakstig 0.1.7 is already the active version in easy-install.pth
Installing sakstig script to /InfiniteGlass/build/env/bin
Installing sakstig-grammar script to /InfiniteGlass/build/env/bin
Installing sakstig-ast script to /InfiniteGlass/build/env/bin
Installing sakform script to /InfiniteGlass/build/env/bin

Using /InfiniteGlass/build/env/lib/python3.6/site-packages/sakstig-0.1.7-py3.6.egg
Searching for python-xlib==0.26
Best match: python-xlib 0.26
Processing python_xlib-0.26-py3.6.egg
python-xlib 0.26 is already the active version in easy-install.pth

Using /InfiniteGlass/build/env/lib/python3.6/site-packages/python_xlib-0.26-py3.6.egg
Searching for numpy==1.18.1
Best match: numpy 1.18.1
Processing numpy-1.18.1-py3.6-linux-x86_64.egg
numpy 1.18.1 is already the active version in easy-install.pth
Installing f2py script to /InfiniteGlass/build/env/bin
Installing f2py3 script to /InfiniteGlass/build/env/bin
Installing f2py3.6 script to /InfiniteGlass/build/env/bin

Using /InfiniteGlass/build/env/lib/python3.6/site-packages/numpy-1.18.1-py3.6-linux-x86_64.egg
Searching for pyleri==1.3.2
Best match: pyleri 1.3.2
Processing pyleri-1.3.2-py3.6.egg
pyleri 1.3.2 is already the active version in easy-install.pth

Using /InfiniteGlass/build/env/lib/python3.6/site-packages/pyleri-1.3.2-py3.6.egg
Searching for six==1.14.0
Best match: six 1.14.0
Processing six-1.14.0-py3.6.egg
six 1.14.0 is already the active version in easy-install.pth

Using /InfiniteGlass/build/env/lib/python3.6/site-packages/six-1.14.0-py3.6.egg
Finished processing dependencies for glass-lib==0.1
. build/env/bin/activate; cd pysmlib; python3 setup.py develop
running develop
running egg_info
writing pysmlib.egg-info/PKG-INFO
writing dependency_links to pysmlib.egg-info/dependency_links.txt
writing top-level names to pysmlib.egg-info/top_level.txt
reading manifest file 'pysmlib.egg-info/SOURCES.txt'
writing manifest file 'pysmlib.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-x86_64-3.6/pysmlib/client.cpython-36m-x86_64-linux-gnu.so -> pysmlib
copying build/lib.linux-x86_64-3.6/pysmlib/server.cpython-36m-x86_64-linux-gnu.so -> pysmlib
copying build/lib.linux-x86_64-3.6/pysmlib/ice.cpython-36m-x86_64-linux-gnu.so -> pysmlib
copying build/lib.linux-x86_64-3.6/pysmlib/helpers.cpython-36m-x86_64-linux-gnu.so -> pysmlib
Creating /InfiniteGlass/build/env/lib/python3.6/site-packages/pysmlib.egg-link (link to .)
pysmlib 0.1 is already the active version in easy-install.pth

Installed /InfiniteGlass/pysmlib
Processing dependencies for pysmlib==0.1
Finished processing dependencies for pysmlib==0.1
GLASS_DEBUGGER="" BUILD="build" XSERVERPATH="/usr/bin/Xephyr" XSERVEROPTS=":100 -ac -screen 1280x768 -host-cursor" ./xstartup.sh

xinit: XFree86_VT property unexpectedly has 0 items instead of 1
Copying 1
Xlib.xauth: warning, failed to parse part of xauthority file /tmp/.docker.xauth, aborting all further parsing
Xlib.xauth: warning, no xauthority details available
_IceTransmkdir: ERROR: euid != 0,directory /tmp/.ICE-unix will not be created.
sh: 1: iceauth: not found
inet6/e22e8c31f69a:35217,inet/e22e8c31f69a:34367,local/e22e8c31f69a:@/tmp/.ICE-unix/43,unix/e22e8c31f69a:/tmp/.ICE-unix/43
_IceTransSocketINETConnect() no usable address for e22e8c31f69a:35217
Warning: Tried to connect to session manager, None of the authentication protocols specified are supported
IO Error: <pysmlib.ice._PyIceConn object at 0x7f30eff26598>
IceProcessMessagesIOError
GLASS_ERROR.renderer.texture.c.texture_from_pixmap.texture_from_pixmap1:  OpenGL error: invalid operation
Xlib.xauth: warning, failed to parse part of xauthority file /tmp/.docker.xauth, aborting all further parsing
Xlib.xauth: warning, no xauthority details available
Xlib.xauth: warning, failed to parse part of xauthority file /tmp/.docker.xauth, aborting all further parsing
Xlib.xauth: warning, no xauthority details available
Xlib.xauth: warning, failed to parse part of xauthority file /tmp/.docker.xauth, aborting all further parsing
Xlib.xauth: warning, no xauthority details available
Xlib.xauth: warning, failed to parse part of xauthority file /tmp/.docker.xauth, aborting all further parsing
Xlib.xauth: warning, no xauthority details available
Found XInput version 2.0
Mode drun is not enabled. I have enabled it for now.
Please consider adding drun to the list of enabled modi: modi: window,run,ssh,drun.
IanTrudel commented 4 years ago

Little update:

I'm getting some progress building Xorg but errors for missing libraries pop up every now and then. Installing dev libraries one at time. Don't hold your breath. :))))

redhog commented 4 years ago

I've triggered the rofi drun bug too, but only ever inside the docker container. Clearly something is missing, but I don't know what. But you can always just press WINDOWS-ESC and write "xterm &" inside the drop down terminal instead...

IanTrudel commented 4 years ago

Well, it's a learning experience for both of us then.

Xorg now builds on my machine but it doesn't seem to build submodules (including Xephyr). I haven't built Xorg in years.

Following your instructions yields:

IO Error: <pysmlib.ice._PyIceConn object at 0x7f37bda84318>
IceProcessMessagesIOError

image

IanTrudel commented 4 years ago

My bad... I had to WINDOWS-ESC again to see the terminal and type commands.

image

IanTrudel commented 4 years ago

How do I tile xterms and apps? Opening a second one goes on top of the previous xterm.

IanTrudel commented 4 years ago

This is such an interesting concept. I love it. :)

Arrows, home, pgup/down, mouse zoom are not working. The controls (those huge buttons) are working in WINDOWS-ESC mode.

image

redhog commented 4 years ago

Oh, WINDOWS+PGDOWN/UP don't work? That's so strange... Also the key zooms work a bit differently from the widgets - they zoom one whole window at a time (to see one less or one more window)

redhog commented 4 years ago

You can turn on debugging by (inside the docker I guess) setting GLASS_DEBUG_glass_input=1 (there's a whole bunch of similar debugging options). Should tell you what it thinks of your keyboard shortcuts...

Also WINDOW+ALT+CLICK&DRAG moves a window. Right now there's no automatic tiling. This is definitely something I need to add...

redhog commented 4 years ago

Check out the keyboard config in ~/.config/glass/input.json and the code in glass-input to see what functionality is there already...

redhog commented 4 years ago

Also: Super-cool that you're prepared to test this this early in the process!

IanTrudel commented 4 years ago

WINDOWS+PGDOWN/UP don't work,

It doesn't work but WINDOWS+Mouse scroll works.

WINDOW+ALT+CLICK&DRAG

Works! It's pretty enjoyable to use now that I am slowly getting around the WM.

GLASS_DEBUG_glass_input=1

The docker doesn't contain any editor. o_O

~/.config/glass/input.json

Are we talking about the local file or the one in docker? There is none in /home/glass (docker).

I'm bit busy this week but keep 'em coming, I will test everything you want me to test. :D

redhog commented 4 years ago

No worries, it's just supercool to have a tester playing with this apart from myself!

Anyway, so you might want to mount ~/.config to /home/glass/.config in docker (the -v flag to docker) so you can edit the config files locally and keep them between runs...

To be able to set the environment variable you need ~/.config/glass/session.sh, but that one's only supported with glass-startup.sh (used when the thing is properly installed), not "make run" (which the docker uses). I'll fix that in a new version...

redhog commented 4 years ago

Very strange about PGDOWN/UP.

Does WINDOWS+ARROWKEYS (they should pan the desktop) or WINDOWS+ALT+ARROWKEYS (they should move a window) work?

redhog commented 4 years ago

Anyway, once you're able to edit ~/.config/glass/input.json, you can change the keybindings for zoom from PGUP/DOWN to something else and see if that's the problem, or if it's the functions themselves that bug out somehow.,..

redhog commented 4 years ago

Do a git pull - there's a new version of the docker stuff that supports ~/.config/glass/session.sh and gets all config files from ~/.config/glass outside docker (they'll be created if they don't exist when you run it first time).

IanTrudel commented 4 years ago

Could you tell me how it would be possible to have docker containing its files in a user directory instead of /var/lib/docker? It fills up my root directory and run out of space.