Coder Social home page Coder Social logo

cairo-dock-core's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cairo-dock-core's Issues

Multi instances of one application cause cairo-dock to be hanging

Steps to reproduce

  1. Run cairo-dock in opengl mode, cairo-dock -L -o
  2. Run any application with three instances, and you can see them in a group of the dock.
  3. Click the sub dock, switch window between them "rapidly"(it is a little hard to reproduce.), finally the dock hangs.

Digs

Problem file

src/implementations/cairo-dock-egl.c

static void _container_end_draw (GldiContainer *pContainer)
{
	EGLSurface surface = pContainer->eglSurface;
	EGLDisplay *dpy = s_eglDisplay;
	eglSwapBuffers (dpy, surface);
}

Issues may relate to the problem

Backtrace

#0  0x00007ffff7178f6f in __GI___poll (fds=fds@entry=0x7fffffffa6c0, nfds=nfds@entry=0x1, timeout=timeout@entry=0xffffffff) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff614cb5e in poll (__timeout=0xffffffff, __nfds=0x1, __fds=0x7fffffffa6c0) at /usr/include/bits/poll2.h:39
#2  wl_display_poll (display=0x5555555b1ad0, events=0x1) at ../wayland-1.22.0/src/wayland-client.c:1914
#3  wl_display_dispatch_queue (queue=<optimized out>, display=<optimized out>) at ../wayland-1.22.0/src/wayland-client.c:1987
#4  wl_display_dispatch_queue (display=0x5555555b1ad0, queue=0x555555adbe80) at ../wayland-1.22.0/src/wayland-client.c:1960
#5  0x00007ffff071fe65 in dri2_wl_swap_buffers_with_damage () at ../mesa-23.3.3/src/egl/drivers/dri2/platform_wayland.c:1576
#6  0x00007ffff0710938 in dri2_swap_buffers () at ../mesa-23.3.3/src/egl/drivers/dri2/egl_dri2.c:1958
#7  0x00007ffff070800d in eglSwapBuffers () at ../mesa-23.3.3/src/egl/main/eglapi.c:1443
#8  0x00007ffff72a7aac in _on_expose (pWidget=pWidget@entry=0x555555b31aa0 [GtkWindow], pCairoContext=<optimized out>, pDock=0x555555bcf490)
    at /usr/src/debug/cairo-dock-core-wayland-git/cairo-dock-core-wayland-git/src/gldit/cairo-dock-dock-factory.c:114
#9  0x00007ffff74c56cd in _gtk_marshal_BOOLEAN__BOXED
    (closure=0x5555559965d0, return_value=0x7fffffffaa20, param_values=0x7fffffffaab0, marshal_data=<optimized out>, invocation_hint=<optimized out>, n_param_values=<optimized out>)
    at gtk/gtkmarshalers.c:84
#10 0x00007ffff776f3c3 in _gtk_marshal_BOOLEAN__BOXED
    (marshal_data=0x0, invocation_hint=<optimized out>, param_values=0x7fffffffaab0, n_param_values=0x2, return_value=0x7fffffffaa20, closure=0x5555559965d0) at gtk/gtkmarshalers.c:70
#11 gtk_widget_draw_marshaller (closure=0x5555559965d0, return_value=0x7fffffffaa20, n_param_values=0x2, param_values=0x7fffffffaab0, invocation_hint=<optimized out>, marshal_data=0x0)
    at ../gtk/gtk/gtkwidget.c:951
#12 0x00007ffff7eda6c0 in g_closure_invoke (closure=0x5555559965d0, return_value=0x7fffffffaa20, n_param_values=0x2, param_values=0x7fffffffaab0, invocation_hint=0x7fffffffaa00)
    at ../glib/gobject/gclosure.c:832
#13 0x00007ffff7f08a36 in signal_emit_unlocked_R.isra.0
    (node=node@entry=0x7fffffffaba0, detail=detail@entry=0x0, instance=instance@entry=0x555555b31aa0, emission_return=emission_return@entry=0x7fffffffac20, instance_and_params=instance_and_pa
rams@entry=0x7fffffffaab0) at ../glib/gobject/gsignal.c:3980
#14 0x00007ffff7ef9335 in signal_emit_valist_unlocked
    (instance=instance@entry=0x555555b31aa0, signal_id=signal_id@entry=0x46, detail=detail@entry=0x0, var_args=var_args@entry=0x7fffffffad00) at ../glib/gobject/gsignal.c:3625
#15 0x00007ffff7ef9c77 in g_signal_emit_valist (instance=0x555555b31aa0, signal_id=0x46, detail=0x0, var_args=var_args@entry=0x7fffffffad00) at ../glib/gobject/gsignal.c:3355
#16 0x00007ffff7ef9d34 in g_signal_emit (instance=instance@entry=0x555555b31aa0, signal_id=<optimized out>, detail=detail@entry=0x0) at ../glib/gobject/gsignal.c:3675
#17 0x00007ffff7781ae3 in gtk_widget_draw_internal (widget=0x555555b31aa0 [GtkWindow], cr=0x555555b18d00, clip_to_size=<optimized out>) at ../gtk/gtk/gtkwidget.c:7077
#18 0x00007ffff778c862 in gtk_widget_render (widget=0x555555b31aa0 [GtkWindow], window=<optimized out>, region=<optimized out>) at ../gtk/gtk/gtkwidget.c:17610
#19 0x00007ffff7628c8b in gtk_main_do_event (event=0x7fffffffaf60) at ../gtk/gtk/gtkmain.c:1844
#20 gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1691
#21 0x00007ffff7370b77 in _gdk_event_emit (event=0x7fffffffaf60) at ../gtk/gdk/gdkevents.c:73
#22 _gdk_event_emit (event=0x7fffffffaf60) at ../gtk/gdk/gdkevents.c:67
#23 0x00007ffff7382b02 in _gdk_window_process_updates_recurse_helper (window=0x555555b18b60 [GdkWaylandWindow], expose_region=<optimized out>) at ../gtk/gdk/gdkwindow.c:3874
#24 0x00007ffff7387158 in gdk_window_process_updates_internal (window=0x555555b18b60 [GdkWaylandWindow]) at ../gtk/gdk/gdkwindow.c:4020
#25 0x00007ffff7387375 in gdk_window_process_updates_with_mode (recurse_mode=<optimized out>, window=<optimized out>) at ../gtk/gdk/gdkwindow.c:4215

Crash with HiDPI scale

with any scale factor over 1, the cairo-dock will crash with the following messages:

EGL version: 1;5
                                                                                                                                                            
 ============================================================================
        Cairo-Dock version : 3.4.99.alpha1
        Compiled date      : Nov  6 2023 09:02:32
        Built with GTK     : 3.24
        Running with OpenGL: 1
 ============================================================================
                                                                                                                                                            
g_file_test: assertion 'filename != NULL' failed
g_file_test: assertion 'filename != NULL' failed
Gdk-Message: 18:15:59.680: Error 71 (Protocol error) dispatching to Wayland display.

the example of ~/.config/kanshi/config

profile {
    output HDMI-A-1 mode 1920x1080 scale 1.1
}

Cairo Dock crashes when running under plasma 6 + wayland

I am trying to run cairo-dock under plasma 6 on ArchLinux (from extra-testing) and I get the following error. I suspect that it has to do with gtk-layer-shell because when I compiled it without it, cairo-dock managed to launch, although it was just an empty window.

dbus-glib: 0.112
glu: 9.0.3
gtk3: 1:3.24.41
librsvg: 2:2.57.1
wayland: 1.22
gtk-layer-shell: 0.8.2

`argyros@argyros ~/builds/cairo-dock-wayland-git $ cairo-dock
EGL version: 1;5

============================================================================
Cairo-Dock version: 3.5.99.alpha1
compiled date: Feb 29 2024 11:59:12

Cairo-Dock was built with support for:

  • GTK version: 3.24
  • X11: yes
  • Wayland: yes
  • GLX: no
  • EGL: yes
  • gtk-layer-shell: yes
  • additional Wayland protocols: yes

Cairo-Dock is currently running with:

  • display backend: Wayland
  • layer-shell: yes
  • OpenGL: yes
  • taskbar backend: plasma
  • desktop manager backend(s): plasma-window-management; plasma-virtual-desktop
  • detected desktop environment: KDE
    ============================================================================

warning : (/home/argyros/.cache/yay/cairo-dock-wayland-git/src/cairo-dock/src/gldit/cairo-dock-module-manager.c:gldi_module_new_from_so_file:160)
while opening module '/usr/lib/cairo-dock/libcd-Help.so' : (/usr/lib/cairo-dock/libcd-Help.so: undefined symbol: cairo_dock_show_items_gui)
warning : (/home/argyros/.cache/yay/cairo-dock-wayland-git/src/cairo-dock/src/gldit/cairo-dock-config.c:cairo_dock_get_boolean_key_value:70)
Key file does not have key “X11_new_rendering_code” in group “System”
warning : (/home/argyros/.cache/yay/cairo-dock-wayland-git/src/cairo-dock/src/cairo-dock.c:_cairo_dock_intercept_signal:187)
Cairo-Dock has crashed (sig 11).
It will be restarted now.
Feel free to report this bug on glx-dock.org to help improving the dock!
info on the system :
Linux argyros 6.6.18-1-lts #1 SMP PREEMPT_DYNAMIC Fri, 23 Feb 2024 14:58:40 +0000 x86_64 GNU/Linux
Couldn't guess if it was an applet's fault or not. It may have crashed inside the core or inside a thread
`

Finding plugins installed in a different directory

Hello daniel,
I spent some time trying to package your cairo-dock and the main plugins package with the gnu guix package manager. The problem there is that guix puts every package in a single directory under /gnu/store so cairo-dock doesn't find it's plugins. If you still aim to do something about the dock, tackling that would make dealing with it much easier imo. A standard way to deal with this seems to have an environmental variable (like wayfire has WAYFIRE_PLUGINS_PATH). I'm writing this here since I don't really expect the main repository to do much anymore.

Mix Launchers and applications not working for Qt Apps under Wayland (Plasma 6)

It seems that for Qt Applications "Mix Applications with Launchers" not working under Wayland (at least in Plasma 6), instead they appear independently at the end of the dock (or as defined in the "Place new icons" option).

I tried the following applications (may apply to others):

  • Dolphin
  • Kate
  • QGIS
  • QtCreator

And performed the following experiments:

  • Wayland + cairo-dock -L -o --> issue
  • Wayland + cairo-dock -c --> issue
  • X11 + cairo-dock -c -->no issue

I remember that you cannot test on Plasma 6, so feel free to tell me if I can assist you in any way :-)

p.s. Cairo-Dock works fine on my laptop with hybrid graphics, still haven't tried the latest version on my Desktop to check the other reported issue

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.