efck-chat-keyboard/efck

Nightly builds DEB crashes

Symbian9 opened this issue ยท 7 comments

Describe the bug
Nightly builds DEB crashes on Linux:

$ efck-chat-keyboard
Traceback (most recent call last):
  File "/usr/bin/efck-chat-keyboard", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3243, in <module>
    def _initialize_master_working_set():
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3226, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3255, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 568, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 886, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 772, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pynput' distribution was not found and is required by efck

To Reproduce
Steps to reproduce the behavior:

  1. Install DEB from Actions: https://github.com/efck-chat-keyboard/efck/actions/runs/3791186441#artifacts
  2. Try to launch it

Expected behavior
App should launch as expected.

Versions
Specify versions:
OS: Linux (Debian 11)
Qt: 5.15.2
EFCK: efck-chat-keyboard_0.1.dev1+g83ce525-1_all.deb

Additional context, screenshots
Add any other context about the problem here.
If applicable, add screenshots to help explain your problem.

So, DEB missed python3-pynput dependency.

BTW, If install python3-pynput manually it launches, BUT if try to click on emoji there is another issue which results in crash:

$ efck-chat-keyboard
Failed to import pyqt6: ModuleNotFoundError: No module named 'PyQt6'
Failed to import pyside6: ModuleNotFoundError: No module named 'PySide6'
/usr/share/themes/Greybird-dark-mx/gtk-2.0/apps/xfce-panel.rc:7: error: unexpected keyword 'bg', expected string constant

So, there is issue breaking non solvable issue dependency on Qt6 (PyQt6, PySide6), because stable Ubuntu & Debian supports only Qt5.

kernc commented

I pushed a fix for the missing Debian deps.

Don't know about that crash. Our Debian package is "ok" with pyqt5 ... ๐Ÿ˜•

Depends: ${python3:Depends},
${misc:Depends},
python3-pyqt6 | python3-pyqt5,

Ensure you're running the correct executable and try to run with --debug for extra output:

$ which efck-chat-keyboard   # Should NOT point to python venv for Debian package

$ efck-chat-keyboard --debug
...

I pushed a fix for the missing Debian deps.

As it is not merged in main branch yet, there is no DEB for testing.

kernc commented

Ah, well, there are usually artifacts on any PR Checks page (see top right). ๐Ÿ™ƒ

Just installed efck-chat-keyboard_0.1.dev1+g9520bff-1_all.deb:

  • It launches, but still shows in terminal next warnings:
    $ efck-chat-keyboard
    Failed to import pyqt6: ModuleNotFoundError: No module named 'PyQt6'
    Failed to import pyside6: ModuleNotFoundError: No module named 'PySide6'
    /usr/share/themes/Greybird-dark-mx/gtk-2.0/apps/xfce-panel.rc:7: error: unexpected keyword 'bg', expected string constant
    
  • It does not minimized into tray (as expected according #5 (comment))
    • It does not input emoji into text input fields - it just silently closes on double clicking on emoji.

      NOTE: Stable 1.0 inputs emoji in same time.

    • It can copy emoji to clipboard (with "Force clipboard"), but then silently closes.
kernc commented

Many thanks! Every foreign platform test helps a lot!

  • It launches, but still shows in terminal next warnings:
    $ efck-chat-keyboard
    Failed to import pyqt6: ModuleNotFoundError: No module named 'PyQt6'
    Failed to import pyside6: ModuleNotFoundError: No module named 'PySide6'
    /usr/share/themes/Greybird-dark-mx/gtk-2.0/apps/xfce-panel.rc:7: error: unexpected keyword 'bg', expected string constant
    

Those are just warnings. I think it's ok to warn since Qt6 (in that order) is the preferred lib.
Also seems like your Greybird-dark-mx theme contains (according to Gtk) a bug on line 7.

Indeed, I thought maybe ICBA with a tray icon / menu (๐Ÿ˜…), so I just made the app hide/close to background and respond to the configured hotkey.

  • It does not input emoji into text input fields - it just silently closes on double clicking on emoji.

    NOTE: Stable 1.0 inputs emoji in same time.

This is very odd, since the code to hide the app and typeout the emoji had not changed (expand the region above the targeted region to see it). It works for me on X11. Can you confirm the behavior is consistent and not just a case of #2 or some such? Maybe this is the buggy line. ๐Ÿค”

Can you confirm the behavior is consistent

I will try to reproduce & record screencast.

Indeed, I thought maybe ICBA with a tray icon / menu (sweat_smile), so I just made the app hide/close to background and respond to the configured hotkey.

Icon in tray should be shown while app is in background.

Also seems like your Greybird-dark-mx theme contains (according to Gtk) a bug on line 7.

I'm not sure where is a bug, as never seen such output with other apps on my system ("Greybird-dark-mx" is default MX Linux MX-21 theme, and I not touching it):

Greybird-dark-mx's `xfce-panel.rc`
style "theme-panel" = "dark"
{
	xthickness	= 1
	ythickness	= 1

	bg[NORMAL]	= #393F3F
	bg[ACTIVE]	= #393F3F
	bg[PRELIGHT]	= shade (0.85, @selected_bg_color)
	bg[SELECTED]	= @selected_bg_color

	fg[NORMAL]	= shade (0.9, @base_color)
	fg[PRELIGHT]	= @base_color
	fg[ACTIVE]	= shade (0.9, @base_color)
	fg[SELECTED]	= shade (0.9, @base_color)

	text[NORMAL]	= shade (0.9, @base_color)
	text[PRELIGHT]	= @base_color
	text[ACTIVE]	= shade (0.9, @base_color)
	text[SELECTED]	= shade (0.9, @base_color)

	engine "murrine" {
		roundness	= 0
		glowstyle	= 0
		glazestyle	= 0
		textstyle	= 1
		text_shade	= 0.2
	}
}

style "theme-panel-text"
{
	fg[NORMAL]	= @base_color
	fg[PRELIGHT]	= "#ffffff"
	fg[ACTIVE]	= @base_color

	text[NORMAL]	= @base_color
	text[PRELIGHT]	= "#ffffff"
	text[ACTIVE]	= @base_color

	engine "murrine" {
		textstyle	= 1
		text_shade	= 0.2
	}
}

style "panel-entry" = "dark"
{
	fg[NORMAL]	= @text_color
	fg[PRELIGHT]	= @text_color
	fg[ACTIVE]	= @text_color
	fg[SELECTED]	= @text_color
	fg[INSENSITIVE]	= @text_color

	text[NORMAL]	= @text_color
	text[PRELIGHT]	= @text_color
	text[ACTIVE]	= @text_color
	text[SELECTED]	= @text_color
	text[INSENSITIVE]	= @text_color

}

style "theme-main-menu-text" = "theme-panel-text"
{
	fg[PRELIGHT]	= "#ffffff"
	text[PRELIGHT]	= "#ffffff"
}

style "workspace-switcher" = "theme-panel"
{
 	bg[ACTIVE]	= shade (0.8, @selected_bg_color)
	bg[SELECTED]	= shade (0.8, @selected_bg_color)
}

style "window-buttons" = "theme-panel"
{
	xthickness	= 3
	ythickness	= 3

	bg[ACTIVE]	= shade (0.65, @selected_bg_color)
	bg[PRELIGHT]	= shade (0.85, @selected_bg_color)
	bg[SELECTED]	= shade (0.85, @selected_bg_color)

	fg[NORMAL]	= shade (0.7, @base_color)
	fg[ACTIVE]	= @base_color
	fg[PRELIGHT]	= @base_color

	engine "murrine" {
		contrast = 0.0
		gradient_shades	= { 1.0, 0.9, 0.8, 0.7 }
		roundness	= 1
		reliefstyle	= 0
		textstyle	= 1
		text_shade	= 0.2
	}
}

style "indicator" = "theme-panel"
{
	xthickness	= 0
	ythickness	= 0
}

widget "*PanelWidget*"			style "theme-panel"
widget "*PanelApplet*"			style "theme-panel"
widget "*fast-user-switch*"		style "theme-panel"
widget "*CPUFreq*Applet*"		style "theme-panel"
widget "*TopMenu*"			style "theme-panel"
class "PanelApp*"			style "theme-panel"
class "PanelToplevel*"			style "theme-panel"
widget_class "*PanelToplevel*"		style "theme-panel"
widget_class "*notif*"			style "theme-panel"
widget_class "*Notif*"			style "theme-panel"
widget_class "*Tray*"			style "theme-panel"
widget_class "*tray*"			style "theme-panel"
widget_class "*computertemp*"		style "theme-panel"
widget_class "*Applet*Tomboy*"		style "theme-panel"
widget_class "*Applet*Netstatus*"	style "theme-panel"

# Fixes for tooltip text in some apps.
widget_class "*Notif*Beagle*"		style "theme-panel"
widget_class "*Notif*Brasero*"		style "theme-panel"

# XFCE panel theming.
widget "*Xfce*Panel*"			style "theme-panel"
class "*Xfce*Panel*"			style "theme-panel"
widget "*WnckPager*"			style "workspace-switcher"
widget "*PagerButtons*"			style "workspace-switcher"

# Fix gtk-entries in the panel
class "GtkEntry"			style "combo"
class "*SexyIconEntry*"			style:highest "combo"	# fixes dict-plugin
widget "*xfce4-verve-plugin*GtkEntry"	style:highest "combo"	# fixes verve-plugin
widget "*bookmark*GtkEntry" style "panel-entry" # fixes smartbookmark-plugin

# Make sure panel text color doesn't change
widget_class "*Panel*MenuBar*"		style "theme-main-menu-text"
widget_class "*Panel*<GtkMenuBar>*"	style "theme-main-menu-text"
widget "*.clock-applet-button.*"	style "theme-panel-text"
widget "*PanelApplet*"			style "theme-panel-text"

# Override general panel-style with specific plugin-styles
widget "*indicator-applet*"		style "indicator"
widget "*indicator-button*"		style "indicator"
widget "*XfceTasklist*"			style "window-buttons"