contour icon indicating copy to clipboard operation
contour copied to clipboard

Contour disapears when cursor is hovered on any of minimize, maximize or close button in titlebar

Open Utkarsh-khambra opened this issue 3 years ago • 7 comments

Description

https://user-images.githubusercontent.com/29328319/144562170-d3f77e9f-9ea7-4d1a-bb7a-2f8924ff9e4b.mp4

Whenever I hover cursor on title-bar button (minimize, maximize or close) contour disappears, and only title-bar is visible, but typing or clicking again in terminal area makes it visible again

Environment

  • Contour Version or Git commit hash: 0.3.0-unreleased-master-ba12d1a
  • Operating System (name / distribution / version): Fedora 35 with Gnome
  • Contour configuration:
# Default Contour Configuration File.

# Word delimiters when selecting word-wise.
word_delimiters: " /\\()\"'-.,:;<>~!@#$%^&*+=[]{}~?|│"

# Default PTY read buffer size.
#
# This is an advance option. Use with care!
# Default: 16384
read_buffer_size: 16384

default_profile: main

# Flag to determine whether to spawn new process or not when creating new terminal
# Default: false
spawn_new_process: false

# Whether or not to reflow the lines on terminal resize events.
# Default: true
reflow_on_resize: true

# Section of experimental features.
# All experimental features are disabled by default and must be explicitely enabled here.
# NOTE: Contour currently has no experimental features behind this configuration wall.
# experimental:
#     # Enables experimental support for feature X/Y/Z
#     feature_xyz: true

# This keyboard modifier can be used to bypass the terminal's mouse protocol,
# which can be used to select screen content even if the an application
# mouse protocol has been activated (Default: Shift).
#
# The same modifier values apply as with input modifiers (see below).
bypass_mouse_protocol_modifier: Shift

# Selects an action to perform when a text selection has been made.
#
# Possible values are:
#
# - None                        Does nothing
# - CopyToClipboard             Copies the selection to the primary clipboard.
# - CopyToSelectionClipboard    Copies the selection to the selection clipboard.
#                               This is not supported on all platforms.
#
# Default: CopyToSelectionClipboard
on_mouse_select: SelectClipboard

# Inline image related default configuration and limits
# -----------------------------------------------------
images:
    # Enable or disable sixel scrolling (SM/RM ?80 default)
    sixel_scrolling: true
    # Configures the maximum number of color registers available when rendering Sixel graphics.
    sixel_register_count: 4096
    # If enabled, the ANSI text cursor is placed at the position of the sixel graphics cursor after
    # image rendering, otherwise (if disabled) the cursor is placed underneath the image.
    sixel_cursor_conformance: true
    # maximum width in pixels of an image to be accepted (0 defaults to system screen pixel width)
    max_width: 0
    # maximum height in pixels of an image to be accepted (0 defaults to system screen pixel height)
    max_height: 0

# Terminal Profiles
# -----------------
#
# Dominates how your terminal visually looks like. You will need at least one terminal profile.
profiles:
    main:
        # You can override the process to be started inside the terminal.
        # If nothing is specified, the users' default login shell will be used.
        # But you may as well log in to a remote host.
        # shell: "ssh ubuntu-vm"
        # shell: "/bin/bash"
        # arguments: ["some", "optional", "arguments", "for", "the", "shell"]

        # Sets initial working directory when spawning a new terminal.
        # A leading ~ is expanded to the user's home directory.
        # Default value is the user's home directory.
        initial_working_directory: "~"

        # When this profile is being *activated*, this flag decides
        # whether or not to put the terminal's screen into fullscreen mode.
        #
        # It is activated during startup as well as when switching from another profile to this one.
        fullscreen: false

        # When this profile is *activated*, this flag decides
        # whether or not to put the window into maximized mode.
        maximized: false

        # Defines the class part of the WM_CLASS property of the window.
        wm_class: "contour"

        # Environment variables to be passed to the shell.
        # environment:
        #     TERM: contour
        #     COLORTERM: truecolor

        # Determines the terminal type that is being advertised.
        # Possible values are:
        #   - VT100
        #   - VT220
        #   - VT240
        #   - VT330
        #   - VT340
        #   - VT320
        #   - VT420
        #   - VT510
        #   - VT520
        #   - VT525
        # Default: VT525
        terminal_id: VT525

        # Determines the initial terminal sice in characters.
        terminal_size:
            columns: 80
            lines: 25

        history:
            # Number of lines to preserve (-1 for infinite).
            limit: 1000
            # Boolean indicating whether or not to scroll down to the bottom on screen updates.
            auto_scroll_on_update: true
            # Number of lines to scroll on ScrollUp & ScrollDown events.
            scroll_multiplier: 5

        # visual scrollbar support
        scrollbar:
            # scroll bar position: Left, Right, Hidden (ignore-case)
            position: right
            # whether or not to hide the scrollbar when in alt-screen.
            hide_in_alt_screen: true

        # Some VT sequences should need access permissions.
        #
        # These can be to:
        # - allow     Allows the given functionality
        # - deny      Denies the given functionality
        # - ask       Asks the user interactively via popup dialog for permission of the given action.
        #
        # Default for all of these entries should be: "ask".
        permissions:
            # Allows changing the font via `OSC 50 ; Pt ST`.
            change_font: ask
            # Allows capturing the screen buffer via `CSI > Pm ; Ps ; Pc ST`.
            # The response can be read from stdin as sequence `OSC 314 ; <screen capture> ST`
            capture_buffer: ask

        # Font related configuration (font face, styles, size, rendering mode).
        font:
            # Initial font size in pixels.
            size: 14

            # DPI scaling factor applied on top of the system configured on (default: 1.0).
            dpi_scale: 1.0

            # Font Locator API
            # Selects an engine to use for locating font files on the system.
            # This is implicitly also responsible for font fallback
            # Possible values are:
            # - fontconfig      : uses fontconfig to select fonts
            # - CoreText        : uses OS/X CoreText to select fonts (currently not implemented).
            # - DirectWrite     : selects DirectWrite engine (Windows only)
            locator: native

            # Text shaping related settings
            text_shaping:
                # Selects which text shaping and font rendering engine to use.
                # Supported values are:
                # - native      : automatically choose the best available on the current platform.
                # - DirectWrite : selects DirectWrite engine (Windows only)
                # - CoreText    : selects CoreText engine (Mac OS/X only)
                # - OpenShaper  : selects OpenShaper (harfbuzz/freetype/fontconfig, avilable on all
                #                 platforms)
                engine: native

            # Uses builtin textures for pixel-perfect box drawing.
            # If disabled, the font's provided box drawing characters
            # will be used (Default: true).
            builtin_box_drawing: true

            # Font render modes tell the font rasterizer engine what rendering technique to use.
            #
            # Modes availabe are:
            # - lcd          Uses a subpixel rendering technique optimized for LCD displays.
            # - light        Uses a subpixel rendering technique in gray-scale.
            # - gray         Uses standard gray-scaled anti-aliasing.
            # - monochrome   Uses pixel-perfect bitmap rendering.
            render_mode: lcd

            # Indicates whether or not to include *only* monospace fonts in the font and
            # font-fallback list (Default: true).
            strict_spacing: true

            # Font family to use for displaying text.
            #
            # A font can be either described in detail as below or as a
            # simple string value (e.g. "monospace" with teh appropriate
            # weight/slant applied automatically).
            regular:
                # Font family defines the font family name, such as:
                # Fira Code", "Courier New", or "monospace" (default).
                family: "JetBrainsMono Nerd Font Mono"

                # Font weight can be one of:
                #   thin, extra_light, light, demilight, book, normal,
                #   medium, demibold, bold, extra_bold, black, extra_black.
                weight: regular

                # Font slant can be one of: normal, italic, oblique.
                slant: normal

                # Set of optional font features to be enabled. This
                # is usually a 4-letter code, such as ss01 or ss02 etc.
                #
                # Please see your font's documentation to find out what it
                # supports.
                #
                # Default: []
                features: []

            # If bold/italic/bold_italic are not explicitely specified, the regular font with
            # the respective weight and slant will be used.
            bold: "JetBrainsMono Nerd Font Mono"
            italic: "JetBrainsMono Nerd Font Mono"
            bold_italic: "JetBrainsMono Nerd Font Mono"

            # This is a special font to be used for displaying unicode symbols
            # that are to be rendered in emoji presentation.
            # Defaults to "emoji".
            emoji: "emoji"

        # Terminal cursor display configuration
        cursor:
            # Supported shapes are:
            #
            # - block         a filled rectangle
            # - rectangle     just the outline of a block
            # - underscore    a line under the text
            # - bar:          the well known i-Beam
            shape: "block"
            # Determins whether or not the cursor will be blinking over time.
            blinking: false
            # Blinking interval (in milliseconds) to use when cursor is blinking.
            blinking_interval: 500
        # Background configuration
        background:
            # Background opacity to use. A value of 1.0 means fully opaque whereas 0.0 means fully
            # transparent. Only values between 0.0 and 1.0 are allowed.
            opacity: 1.0
            # Some platforms can blur the transparent background (currently only Windows 10 is supported).
            blur: false
        # Specifies a colorscheme to use (alternatively the colors can be inlined).
        colors: "selenized_black"

        # Hyperlinks (via OSC-8) can be stylized and colorized on hover.
        hyperlink_decoration:
            normal: dotted
            hover: underline

# Color Profiles
# --------------
#
# Here you can configure your color profiles, wereas a color can be expressed in standard web format,
# with a leading # followed by red/green/blue values, 7 characters in total.
# You may alternatively use 0x as prefix instead of #.
# For example 0x102030 is equal to '#102030'.
color_schemes:
    selenized_black:
          default:
              background: '0x181818'
              foreground: '0xb9b9b9'
          normal:
              black:   '0x252525'
              red:     '0xed4a46'
              green:   '0x70b433'
              yellow:  '0xdbb32d'
              blue:    '0x368aeb'
              magenta: '0xeb6eb7'
              cyan:    '0x3fc5b7'
              white:   '0x777777'
          bright:
              black:   '0x3b3b3b'
              red:     '0xff5e56'
              green:   '0x83c746'
              yellow:  '0xefc541'
              blue:    '0x4f9cfe'
              magenta: '0xff81ca'
              cyan:    '0x56d8c9'
              white:   '0xdedede'

      
    default:
        # Default colors
        default:
            # Default background color (this can be made transparent, see above).
            background: '#1d1f21'
            # Default foreground text color.
            foreground: '#d5d8d6'

        # Mandates the color of the cursor.
        cursor: '#b0b030'

        # color to pick for hyperlinks decoration, when hovering
        hyperlink_decoration:
            normal: '#f0f000'
            hover: '#ff0000'

        # The text selection color can be customized here.
        # Leaving a value empty will default to the inverse of the content's color values.
        # selection:
        #     foreground: '#c0c0c0'
        #     background: '#a000a0'

        # Normal colors
        normal:
            black:   '#1d1f21'
            red:     '#cc342b'
            green:   '#198844'
            yellow:  '#fba922'
            blue:    '#3971ed'
            magenta: '#a36ac7'
            cyan:    '#3971ed'
            white:   '#c5c8c6'
        # Bright colors
        bright:
            black:   '#969896'
            red:     '#cc342b'
            green:   '#198844'
            yellow:  '#fba922'
            blue:    '#3971ed'
            magenta: '#a36ac7'
            cyan:    '#3971ed'
            white:   '#ffffff'

# Key Bindings
# ------------
#
# In this section you can customize key bindings.
# Each array element in `input_mapping` represents one key binding,
# whereas `mods` represents an array of keyboard modifiers that must be pressed - as well as
# the `key` or `mouse` -  in order to activate the corresponding action,
#
# Additionally one can filter input mappings based on special terminal modes using the `modes` option:
# - Alt       : The terminal is currently in alternate screen buffer, otherwise it is in primary screen buffer.
# - AppCursor : The application key cursor mode is enabled (otherwise it's normal cursor mode).
# - AppKeypad : The application keypad mode is enabled (otherwise it's the numeric keypad mode).
# - Select    : The terminal has currently an active grid cell selection (such as selected text).
#
# You can combine these modes by concatenating them via | and negate a single one
# by prefixing with ~.
#
# The `modes` option defaults to no filter at all (the input mappings always
# match based on modifier and key press / mouse event).
#
# `key` represents keys on your keyboard, and `mouse` represents buttons
# as well as the scroll wheel.
#
# Modifiers:
# - Alt
# - Control
# - Shift
# - Meta (this is the Windows key on Windows OS, and the Command key on OS/X, and Meta on anything else)
#
# Keys can be expressed case-insensitively symbolic:
#   APOSTROPHE, ADD, BACKSLASH, COMMA, DECIMAL, DIVIDE, EQUAL, LEFT_BRACKET,
#   MINUS, MULTIPLY, PERIOD, RIGHT_BRACKET, SEMICOLON, SLASH, SUBTRACT, SPACE
#   Enter, Backspace, Tab, Escape, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,
#   DownArrow, LeftArrow, RightArrow, UpArrow, Insert, Delete, Home, End, PageUp, PageDown,
#   Numpad_NumLock, Numpad_Divide, Numpad_Multiply, Numpad_Subtract, Numpad_CapsLock,
#   Numpad_Add, Numpad_Decimal, Numpad_Enter, Numpad_Equal,
#   Numpad_0, Numpad_1, Numpad_2, Numpad_3, Numpad_4,
#   Numpad_5, Numpad_6, Numpad_7, Numpad_8, Numpad_9
# or in case of standard characters, just the character.
#
# Mouse buttons can be one of the following self-explanary ones:
#   Left, Middle, Right, WheelUp, WheelDown
#
# Actions:
# - CancelSelection   Cancels currently active selection, if any.
# - ChangeProfile     Changes the profile to the given profile `name`.
# - ClearHistoryAndReset    Clears the history, performs a terminal hard reset and attempts to force a redraw of the currently running application.
# - CopyPreviousMarkRange   Copies the most recent range that is delimited by vertical line marks into clipboard.
# - CopySelection     Copies the current selection into the clipboard buffer.
# - DecreaseFontSize  Decreases the font size by 1 pixel.
# - DecreaseOpacity   Decreases the default-background opacity by 5%.
# - FollowHyperlink   Follows the hyperlink that is exposed via OSC 8 under the current cursor position.
# - IncreaseFontSize  Increases the font size by 1 pixel.
# - IncreaseOpacity   Increases the default-background opacity by 5%.
# - NewTerminal       Spawns a new terminal at the current terminals current working directory.
# - OpenConfiguration Opens the configuration file.
# - OpenFileManager   Opens the current working directory in a system file manager.
# - PasteClipboard    Pastes clipboard to standard input.
# - PasteSelection    Pastes current selection to standard input.
# - Quit              Quits the application.
# - ReloadConfig      Forces a configuration reload.
# - ResetConfig       Overwrites current configuration with builtin default configuration and loads it. Attention, all your current configuration will be lost due to overwrite!
# - ResetFontSize     Resets font size to what is configured in the config file.
# - ScreenshotVT      Takes a screenshot in form of VT escape sequences.
# - ScrollDown        Scrolls down by the multiplier factor.
# - ScrollMarkDown    Scrolls one mark down (if none present, bottom of the screen)
# - ScrollMarkUp      Scrolls one mark up
# - ScrollOneDown     Scrolls down by exactly one line.
# - ScrollOneUp       Scrolls up by exactly one line.
# - ScrollPageDown    Scrolls a page down.
# - ScrollPageUp      Scrolls a page up.
# - ScrollToBottom    Scrolls to the bottom of the screen buffer.
# - ScrollToTop       Scrolls to the top of the screen buffer.
# - ScrollUp          Scrolls up by the multiplier factor.
# - SendChars         Writes given characters in `chars` member to the applications input.
# - ToggleAllKeyMaps  Disables/enables responding to all keybinds (this keybind will be preserved when disabling all others).
# - ToggleFullScreen  Enables/disables full screen mode.
# - WriteScreen       Writes VT sequence in `chars` member to the screen (bypassing the application).

input_mapping:
    - { mods: [Control],        mouse: Left,        action: FollowHyperlink }
    - { mods: [],               mouse: Middle,      action: PasteSelection }
    - { mods: [],               mouse: WheelDown,   action: ScrollDown }
    - { mods: [],               mouse: WheelUp,     action: ScrollUp }
    - { mods: [Alt],            key: Enter,         action: ToggleFullscreen }
    - { mods: [Alt],            mouse: WheelDown,   action: DecreaseOpacity }
    - { mods: [Alt],            mouse: WheelUp,     action: IncreaseOpacity }
    - { mods: [Control, Alt],   key: S,             action: ScreenshotVT }
    - { mods: [Control, Shift], key: Plus,          action: IncreaseFontSize }
    - { mods: [Control],        key: '0',           action: ResetFontSize }
    - { mods: [Control, Shift], key: Minus,         action: DecreaseFontSize }
    - { mods: [Control, Shift], key: '_',           action: DecreaseFontSize }
    - { mods: [Control, Shift], key: N,             action: NewTerminal }
    - { mods: [Control, Shift], key: C,             action: CopySelection }
    - { mods: [Control, Shift], key: V,             action: PasteClipboard }
    - { mods: [Control],        key: C,             action: CopySelection, mode: 'Select' }
    - { mods: [Control],        key: V,             action: PasteClipboard, mode: 'Select' }
    - { mods: [Control],        key: V,             action: CancelSelection, mode: 'Select' }
    - { mods: [],               key: Escape,        action: CancelSelection, mode: 'Select' }
    - { mods: [Control, Shift], key: Comma,         action: OpenConfiguration }
    - { mods: [Control, Shift], key: W,             action: Quit }
    - { mods: [Control],        mouse: WheelDown,   action: DecreaseFontSize }
    - { mods: [Control],        mouse: WheelUp,     action: IncreaseFontSize }
    - { mods: [Shift],          key: DownArrow,     action: ScrollOneDown }
    - { mods: [Shift],          key: End,           action: ScrollToBottom }
    - { mods: [Shift],          key: Home,          action: ScrollToTop }
    - { mods: [Shift],          key: PageDown,      action: ScrollPageDown }
    - { mods: [Shift],          key: PageUp,        action: ScrollPageUp }
    - { mods: [Shift],          key: UpArrow,       action: ScrollOneUp }
    - { mods: [Shift],          key: '{',           action: ScrollMarkUp,   mode: "~Alt"}
    - { mods: [Shift],          key: '}',           action: ScrollMarkDown, mode: "~Alt"}
    - { mods: [Shift],          mouse: WheelDown,   action: ScrollPageDown }
    - { mods: [Shift],          mouse: WheelUp,     action: ScrollPageUp }
    - { mods: [Control],        key: O,             action: OpenFileManager }
    - { mods: [Alt],            key: f2,            action: OpenConfiguration}

  • TERM environment variable: contour
  • Compiler version: g++ (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1)

Steps to Reproduce

Open contour and put cursor on title-bar buttons.

Utkarsh-khambra avatar Dec 03 '21 07:12 Utkarsh-khambra

Hey. Many thanks for your report, interest, and most importantly: patience :-)

I am wondering, you are using Wayland as display server, aren't you?

From the application point of view, Contour is simply an OpenGL application, so I have to see if at all I can reproduce this behaviour. It certainly must be fixed, I absolutely agree, but maybe in the meantime you could try some.

What is the value of the environment variable QT_QPA_PLATFORM? And if not set to anything, you could try setting it to xcb before starting Contour.

Contour though also supports setting the platform plugin via CLI arg (not yet as config entry, would make sense, too - now since I'm writing about it here).

christianparpart avatar Dec 03 '21 09:12 christianparpart

Thanks for such quick reply.

I am wondering, you are using Wayland as display server, aren't you?

Yes I am using Wayland display server

What is the value of the environment variable QT_QPA_PLATFORM? And if not set to anything, you could try setting it to xcb before starting Contour.

Thank you for this suggestion, launching contour with contour platform xcb fixes the issue. It also fixed an issue with full screen mode, that I was having.

Utkarsh-khambra avatar Dec 03 '21 10:12 Utkarsh-khambra

I still need to fix this for using Wayland via the official display protocol, and probably (for easier use for people that need it) make the platform a config setting. I'm glad it worked out however ;)

christianparpart avatar Dec 03 '21 10:12 christianparpart

Still an issue. Setting QT_QPA_PLATFORM to xcb makes it so that contour will use Xwayland. Why is this closed ?

wyndon avatar Jul 28 '22 20:07 wyndon

I do not mind reopening this issue.

So for you however setting the protocol to use to xcb does fix it?

That was there reason why we closed it back then, IIRC.

At Contour we do not do any X11 or Wayland specific calls, it simply used Qt, and history has shown that Wayland kept being problematic whilst perfectly working on X11/Windows/Mac. We have to see what we can generally do to improve the situation on Wayland side though. I am not sure however if the bug is actually in Contour or not.

christianparpart avatar Jul 29 '22 04:07 christianparpart

I do not mind reopening this issue.

So for you however setting the protocol to use to xcb does fix it?

It does.

That was there reason why we closed it back then, IIRC.

I mean, it's just a workaround at best.

At Contour we do not do any X11 or Wayland specific calls, it simply used Qt, and history has shown that Wayland kept being problematic whilst perfectly working on X11/Windows/Mac. We have to see what we can generally do to improve the situation on Wayland side though. I am not sure however if the bug is actually in Contour or not.

As an example, OBS does use QT and does not have such problem when using Wayland. So I'm guessing the bug is in Contour.

wyndon avatar Jul 29 '22 16:07 wyndon

While OBS does indeed use Qt, keep in mind that their source code is riddled with wayland stuff https://github.com/obsproject/obs-studio/search?p=2&q=wayland

uspasojevic96 avatar Jul 29 '22 19:07 uspasojevic96

@Utkarsh-khambra can you please check if this bug is still present?

Yaraslaut avatar Jul 02 '23 08:07 Yaraslaut

yeah, i also think there's nothing we can do about it, since the frontend is target platform independant. meaning, if at most, it'll be a bug in Qt's wayland plugin (wayland QPA). It is likely that this was addressed already.

christianparpart avatar Jul 02 '23 09:07 christianparpart

It's still present on master in Fedora 38, Gnome 44.2.

Utkarsh-khambra avatar Jul 03 '23 02:07 Utkarsh-khambra

If I disable xcb in my Wayland compositor, contour won't launch and it throws this: Failed to create wl_display (No such file or directory). qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized.

wl_display - Represents a connection to the compositor and acts as a proxy to the wl_display singleton object. https://wayland.freedesktop.org/docs/html/apb.html#Client-classwl__display

I guess that wl_display is missing here.

Aqa-Ib avatar Oct 03 '23 19:10 Aqa-Ib

Hey @Aqa-Ib. This sounds like a different issue, however, what Contour version are you running on which distro, and what does your configuration key look like for the key platform_plugin? This key should be pretty much on the top of your configuration file. It should be set to auto, which should work, or to wayland if you want to have it explicitly set to Wayland support (but then it would not run on X11/xcb). If it was set to xcb, this would explain why it won't start up when you disable Xwayland.

However, disabling Xwayland is generally not recommended, because there are too many applications not yet Wayland compatible.

Contour supports Wayland as much as the Qt framework provides support for it, through the QPA (platform) plugin. We do not (yet) do anything special, depending on what platform you are running on (X11, Wayland, MacOS, Windows). If you have further questions, feel free to join our Discord. :)

christianparpart avatar Oct 03 '23 20:10 christianparpart

I am running the flathub version (0.3.12) on archlinux.

I have been playing with the platform_plugin key, tried on auto, wayland and xcb. It does not matter what key I assign to it, it will always only work on the X server, never on Wayland.

If I set the environment variable QT_QPA_PLATFORM to wayland;xcb (meaning that it will try first to run on wayland and if it s not possible, fallback to xcb), then it will run on the X server, even if I set the platform_plugin key to wayland.

If i set the variable QT_QPA_PLATFORM to wayland only (I do not let it fallback to xcb), it will try to execute on wayland, fail, and then try to execute on the X server and fail too, thus failing to start contour.

Thanks for your attention.

Aqa-Ib avatar Oct 03 '23 23:10 Aqa-Ib

I am running the flathub version (0.3.12) on archlinux.

I have been playing with the platform_plugin key, tried on auto, wayland and xcb. It does not matter what key I assign to it, it will always only work on the X server, never on Wayland.

If I set the environment variable QT_QPA_PLATFORM to wayland;xcb (meaning that it will try first to run on wayland and if it s not possible, fallback to xcb), then it will run on the X server, even if I set the platform_plugin key to wayland.

If i set the variable QT_QPA_PLATFORM to wayland only (I do not let it fallback to xcb), it will try to execute on wayland, fail, and then try to execute on the X server and fail too, thus failing to start contour.

Thanks for your attention.

Does it happen for aur package as well?

Yaraslaut avatar Oct 04 '23 05:10 Yaraslaut

AUR packages do not run: Fatal: Cannot mix incompatible Qt library (6.5.2) with this library (6.5.3).

Aqa-Ib avatar Oct 04 '23 08:10 Aqa-Ib

AUR packages do not run: Fatal: Cannot mix incompatible Qt library (6.5.2) with this library (6.5.3).

I think that current qt version is 6.5.3 ( https://archlinux.org/packages/extra/x86_64/qt6-base/) so just update with pacman packages

Yaraslaut avatar Oct 04 '23 10:10 Yaraslaut

While I do agree that updating one's OS is offtopic, however, you hijacked this issue with your own, which are not related at all...

You basically have issue which can be loosely titled Contour won't start on wayland... Additionally while we do try to have some support for wayland (through QT only), we don't actively support it

@Yaraslaut can you check whether there is some QML thing we need to add for Wayland (if this is even QML related issue)?

uspasojevic96 avatar Oct 04 '23 11:10 uspasojevic96

I think that what I posted first is totally related to this issue. I guess that OP problems come from contour being executed under Xwayland. Contour is not able to execute under Wayland, so graphical glitches might appear as OP showed.

Regards.

Aqa-Ib avatar Oct 04 '23 11:10 Aqa-Ib

We will look into it nonetheless, I am just stating how I perceived it.

Main issue here is that we don't have Wayland specific code in the codebase, the support mainly comes from Qt, so we will look into it if there is any way for us to provide a fix.

Additional issue is that none of us use Wayland if I remember correctly, maybe we can check it through some VM

uspasojevic96 avatar Oct 04 '23 11:10 uspasojevic96

In the recent releases, I can't repro this issue anymore.

Utkarsh-khambra avatar Oct 05 '23 14:10 Utkarsh-khambra