Ghostwriter & Spectacle don't works anymore on new plasma

  • System:
OS: CachyOS Linux x86_64
Host: MS-7B09 (1.0)
Kernel: Linux 6.11.5-2-cachyos
Uptime: 6 days, 2 hours, 7 mins
Packages: 2489 (pacman), 5 (flatpak)
Shell: fish 3.7.1
Display (U28E590): 3840x2160 @ 60 Hz in 27" [External]
DE: KDE Plasma 6.2.1
WM: KWin (X11)
WM Theme: Breeze
Theme: Breeze (Dark) [Qt], Breeze-Dark [GTK2], Breeze [GTK3/4]
Icons: breeze-dark [Qt], breeze-dark [GTK2/3/4]
Font: Noto Sans (11pt) [Qt], Noto Sans (11pt) [GTK2/3/4]
Cursor: Oxygen_Blue (48px)
Terminal: konsole 24.8.2
CPU: AMD Ryzen Threadripper 1900X (16) @ 3.80 GHz
GPU: AMD Radeon RX Vega [Discrete]
Memory: 25.63 GiB / 62.69 GiB (41%)
Swap: 8.39 GiB / 125.38 GiB (7%)
Disk (/): 55.96 GiB / 1.67 TiB (3%) - zfs

  1. Starting Ghostwriter in konsole close immediately after try inserting any text with following error message:
QT_QUICK_BACKEND=software ghostwriter
[     0.133 705659 ghostwriter ] INFO      Backup files will be stored in "/home/tony/.local/share/ghostwriter/backups/"
fish: Job 1, 'QT_QUICK_BACKEND=software ghost…' terminated by signal SIGSEGV (Address boundary error)
  1. Open “Markdown-file” with ghostwriter show shortly source-code on the left, but close also immediately producing following file:
/*
 * SPDX-FileCopyrightText: 2022-2024 Megan Conkle <megan.conkle@kdemail.net>
 *
 * SPDX-License-Identifier: GPL-3.0-or-later
 */

/******************************************************************************/
/*  Scrollbars                                                                */
/******************************************************************************/

ghostwriter--MarkdownEditor QAbstractScrollArea::corner,
ghostwriter--HtmlPreview QAbstractScrollArea::corner,
ghostwriter--Sidebar QAbstractScrollArea::corner {
    background: transparent;
}

ghostwriter--MarkdownEditor QAbstractScrollArea,
ghostwriter--HtmlPreview QAbstractScrollArea,
ghostwriter--Sidebar QAbstractScrollArea {
    padding: 3px 3px 0px 3px;
    margin: 0
}

ghostwriter--Sidebar MarkdownEditor::horizontal,
ghostwriter--Sidebar HtmlPreview::horizontal,
ghostwriter--Sidebar QScrollBar::horizontal {
    height: 16px;
    margin: 5px;
    border: 0;
    background: transparent;
}

ghostwriter--MarkdownEditor QScrollBar::vertical,
ghostwriter--HtmlPreview QScrollBar::vertical,
ghostwriter--Sidebar QScrollBar::vertical {
    width: 16px;
    margin: 5px;
    border: 0;
    background: transparent;
}


ghostwriter--MarkdownEditor QScrollBar::horizontal:hover,
ghostwriter--HtmlPreview QScrollBar::horizontal:hover,
ghostwriter--Sidebar QScrollBar::horizontal:hover {
    background-color: #202325;
    border-radius: 3px;
}

ghostwriter--MarkdownEditor QScrollBar::vertical:hover,
ghostwriter--HtmlPreview QScrollBar::vertical:hover,
ghostwriter--Sidebar QScrollBar::vertical:hover {
    background-color: #202325;
    border-radius: 3px;
}

ghostwriter--MarkdownEditor QScrollBar::handle:horizontal,
ghostwriter--HtmlPreview QScrollBar::handle:horizontal,
ghostwriter--Sidebar QScrollBar::handle:horizontal {
    min-width: 50px;
    border: 0;
    background: #444749;
    border-radius: 3px;

}

ghostwriter--MarkdownEditor QScrollBar::handle:horizontal,
ghostwriter--HtmlPreview QScrollBar::handle:horizontal,
ghostwriter--Sidebar QScrollBar::handle:horizontal {
    min-width: 50px;
    border: 0;
    background: #444749;
    border-radius: 3px;
}

ghostwriter--MarkdownEditor QScrollBar::handle:vertical,
ghostwriter--HtmlPreview QScrollBar::handle:vertical,
ghostwriter--Sidebar QScrollBar::handle:vertical {
    min-height: 50px;
    border: 0;
    background: #444749;
    border-radius: 3px;
}

ghostwriter--MarkdownEditor QScrollBar::handle:horizontal:hover,
ghostwriter--HtmlPreview QScrollBar::handle:horizontal:hover,
ghostwriter--Sidebar QScrollBar::handle:horizontal:hover {
    background: #3daee9;
}

ghostwriter--MarkdownEditor QScrollBar::handle:vertical:hover,
ghostwriter--HtmlPreview QScrollBar::handle:vertical:hover,
ghostwriter--Sidebar QScrollBar::handle:vertical:hover {
    background: #3daee9;
}

ghostwriter--MarkdownEditor QScrollBar::add-line,
ghostwriter--HtmlPreview QScrollBar::add-line,
ghostwriter--Sidebar QScrollBar::add-line,
ghostwriter--MarkdownEditor QScrollBar::sub-line,
ghostwriter--HtmlPreview QScrollBar::sub-line,
ghostwriter--Sidebar QScrollBar::sub-line,
ghostwriter--MarkdownEditor QScrollBar::add-page,
ghostwriter--HtmlPreview QScrollBar::add-page,
ghostwriter--Sidebar QScrollBar::add-page,
ghostwriter--MarkdownEditor QScrollBar::sub-page,
ghostwriter--HtmlPreview QScrollBar::sub-page,
ghostwriter--Sidebar QScrollBar::sub-page,
ghostwriter--MarkdownEditor QScrollBar::down-arrow,
ghostwriter--HtmlPreview QScrollBar::down-arrow,
ghostwriter--Sidebar QScrollBar::down-arrow,
ghostwriter--MarkdownEditor QScrollBar::right-arrow,
ghostwriter--HtmlPreview QScrollBar::right-arrow,
ghostwriter--Sidebar QScrollBar::right-arrow {
    background: transparent;
    border: 0
}

/******************************************************************************/
/*  Menu Bar                                                                  */
/******************************************************************************/

QMainWindow QMenuBar {
    color: #bdc3c7;
    background-color: #151719;
    font-size: 10pt;
    spacing: 2px;
    border: 0px;
    border-bottom: 1px;
    border-color: #2c2f31;
    border-style: solid;
    padding: 1px 0px 1px 0px;
}

QMainWindow QMenuBar::item {
    padding: 2px 7px 2px 7px;
    border: 0px;
    margin: 2px;
    border-radius: 5px;
}

QMainWindow QMenuBar::item:selected {
    background-color: #25282c;
}

QMainWindow QMenuBar::item:hover {
    background-color: #373d42;
}

QMainWindow QMenuBar::item:pressed {
    background-color: #1f2225;
}

/******************************************************************************/
/*  Popup menus                                                               */
/******************************************************************************/

QMainWindow QMenu,
QMenuBar QMenu {
    color: #bdc3c7;
    background-color: #1a1d1f;
    border: 0px;
    padding: 7px 0px 7px 0px;
}

QMainWindow QMenu::item,
QMenuBar QMenu::item {
    background-color: transparent;
    padding: 5px 10px 5px 10px;
    margin: 0px 0px 0px 0px;
}

QMainWindow QMenu::indicator,
QMenuBar QMenu::indicator {
    width: 16px;
    height: 16px;
    background-color: #25282c;
    padding: 0px 5px 0px 5px;
    margin: 0px 5px 0px 5px;
}

QMainWindow QMenu::indicator::unchecked,
QMenuBar QMenu::indicator::unchecked {
    width: 16px;
    height: 16px;
    background-color: #25282c;
    border-radius: 2px;
    border-style: solid;
    border-width: 1px;
    border-color: #bdc3c7;
    margin: 0px 5px 0px 5px;
}

QMainWindow QMenu::indicator::checked,
QMenuBar QMenu::indicator::checked {
    width: 16px;
    height: 16px;
    background-color: #074051;
    border-radius: 2px;
    border-style: solid;
    border-width: 1px;
    border-color: #bdc3c7;
    margin: 0px 5px 0px 5px;
}

QMainWindow QMenu::item:selected,
QMenuBar QMenu::item::selected {
    background-color: #074051;
    color: #bdc3c7;
}

QMainWindow QMenu::icon,
QMenuBar QMenu::icon {
    border-radius: 2px;
    border-width: 0px;
    padding: 1px 3px 1px 3px;
    margin: 0px 3px 0px 3px;
}

QMainWindow QMenu::icon::checked,
QMenuBar QMenu::icon::checked {
    background-color: #373d42;
}

/******************************************************************************/
/*  Editor                                                                    */
/******************************************************************************/

QMainWindow QPlainTextEdit {
    border: 0;
    margin: 0;
    padding: 5px;
    background-color: #151719;
    color: #bdc3c7;
    selection-color: #bdc3c7;
    selection-background-color: #074051;
    font-family: Noto Sans Mono;
    font-size: 12pt;
}

QMainWindow QSplitter::handle {
    border: 0;
    padding: 0;
    margin: 0;
    background-color: #2c2f31;
}

QMainWindow QSplitter::handle:vertical {
    height: 1px;
}

QMainWindow QSplitter::handle:horizontal {
    width: 1px;
}

/******************************************************************************/
/*  Sidebar and Activity Bar                                                  */
/******************************************************************************/

/* Sidebar */
QMainWindow ghostwriter--Sidebar,
QSplitter ghostwriter--Sidebar {
    border: 0;
    margin: 0;
    padding: 0;
    background-color: #151719;
}

ghostwriter--Sidebar QStackedWidget {
    border: 0;
    padding: 1;
    margin: 0;
    background-color: #151719;
    border-width: 0px;
}

/* Activity bar tabs */
ghostwriter--Sidebar QPushButton[checkable="true"] {
    icon-size: 22px;
    min-width: 40px;
    max-width: 40px;
    height: 40px;
    outline: none;
    margin: 0;
    padding: 0;
    border: 0;
    background-color: transparent;
    color: #8b8f92;
    border-width: 0px;
    border-left-width: 3px;
    border-style: solid;
    border-color: transparent;
    border-radius: 0px;
}

ghostwriter--Sidebar QPushButton:checked {
    border-color: #3daee9;
    color: #bdc3c7;
    background-color: #202325;
}

ghostwriter--Sidebar QPushButton:hover {
    background-color: #202325;
}

ghostwriter--Sidebar QPushButton:checked:hover {
    border-color: #3daee9;
    color: #bdc3c7;
    background-color: #202325;
}

/* Activity bar buttons */
ghostwriter--Sidebar QPushButton[checkable="false"] {
    icon-size: 22px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 5px;
    background-color: transparent;
    color: #8b8f92;
    width: 40px;
    height: 40px;
}

ghostwriter--Sidebar QPushButton[checkable="false"]:hover {
    color: #bdc3c7;
    background-color: #202325;
}

ghostwriter--Sidebar QPushButton[checkable="false"]:pressed {
    color: #bdc3c7;
    background-color: transparent;
}

/* Stacked widgets inside sidebar pane */

ghostwriter--Sidebar QListWidget {
    outline: none;
    border: 0;
    padding: 1;
    background-color: #151719;
    color: #bdc3c7;
    font-size: 11pt;
    font-weight: normal
}

ghostwriter--Sidebar QListWidget::item {
    border: 0;
    padding: 1 0 1 0;
    margin: 0;
    background-color: #151719;
    color: #bdc3c7;
    font-weight: normal
}

ghostwriter--Sidebar QListWidget::item:selected {
    border-radius: 0px;
    color: #bdc3c7;
    background-color: #074051;
}

ghostwriter--Sidebar QLabel {
    border: 0;
    padding: 0;
    margin: 0;
    background-color: transparent;
    font-size: 11pt;
    color: #bdc3c7;
}

/******************************************************************************/
/* Status bar                                                                 */
/******************************************************************************/

QStatusBar {
    margin: 0;
    padding: 0;
    border-top: 1px solid #2c2f31;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    background: #151719;
    color: #8b8f92;
}

QStatusBar QLabel {
    font-size: 11pt;
    margin: 0px;
    padding: 5px;
    border: 0;
    background: transparent;
    color: #8b8f92;
}

QStatusBar QToolButton {
    padding: 5 5 5 5;
    margin: 0;
    border: 0;
    border-radius: 5px;
    color: #8b8f92;
    background-color: transparent;
    font-size: 16px;
    width: 32px;
    height: 16px;
}

QStatusBar QToolButton:hover,
QStatusBar QToolButton:checked:hover {
    background-color: #373d42;
}

QStatusBar QToolButton:pressed,
QStatusBar QToolButton:checked:pressed {
    color: #73777a;
    background-color: #1f2225;
}

QStatusBar QToolButton:flat,
QStatusBar QToolButton:checked {
    background-color: #25282c;
}

QStatusBar QComboBox {
    height: 22px;
    border: 0px;
    margin: 0;
    padding: 0;
    color: #8b8f92;
    background-color: #151719;
    font-size: 11pt;
}

QStatusBar QComboBox:hover {
    border-bottom: 2px solid #3daee9;
}

QStatusBar QListView {
    padding: 7px 0px 7px 0px;
    margin: 0px;
    color: #bdc3c7;
    background-color: #151719;
}

QStatusBar QListView::item {
    background-color: transparent;
    padding: 5px 10px 5px 10px;
    margin: 0px;
}

QStatusBar QListView::item:selected {
    background-color: #074051;
    color: #bdc3c7;
}

QStatusBar QComboBox::drop-down {
    border: 0;
    margin: 0;
    padding: 0;
    height: 20px;
    width: 20px;
}

QStatusBar QComboBox::down-arrow {
    border: 0;
    margin: 0;
    padding: 0;
    height: 14px;
    width: 14px;
    image: url(/tmp/XqYUYb.png)
}

QStatusBar QComboBox::drop-down:hover {
    border-radius: 10px;
    background-color: #373d42;
}

QStatusBar #leftStatusBarWidget,
QStatusBar #midStatusBarWidget,
QStatusBar #rightStatusBarWidget {
    border: 0;
    margin: 0;
    padding: 0;
}

/******************************************************************************/
/* Find and Replace Pane                                                      */
/******************************************************************************/

ghostwriter--FindReplace QLabel {
    font-size: 11pt;
    margin: 0px;
    padding: 5px;
    border: 0;
    background: transparent;
    color: #8b8f92;
}

ghostwriter--FindReplace QPushButton {
    font-size: 16px;
    padding: 5 5 5 5;
    margin: 0;
    border: 0;
    border-radius: 5px;
    color: #8b8f92;
    background-color: transparent;
    min-width: 16px;
}

ghostwriter--FindReplace QPushButton:pressed {
    color: #9da2a6;
    background-color: transparent;
}

ghostwriter--FindReplace QPushButton:hover {
    color: #ffffff;
    background-color: transparent;
}

ghostwriter--FindReplace QPushButton:disabled {
    color: #adb3b6;
    background-color: transparent;
}

ghostwriter--FindReplace QPushButton[checkable="true"] {
    color: #8b8f92;
    background-color: transparent;
    min-width: 32px;
    height: 16px;
}

ghostwriter--FindReplace QPushButton[checkable="true"]:disabled,
ghostwriter--FindReplace QPushButton:flat:disabled {
    color: #adb3b6;
    background-color: #272a2e;
}

ghostwriter--FindReplace QPushButton[checkable="true"]:hover,
ghostwriter--FindReplace QPushButton:checked:hover {
    background-color: #d0d7db;
    background-color: #373d42;
}

ghostwriter--FindReplace QPushButton[checkable="true"]:pressed,
ghostwriter--FindReplace QPushButton:checked:pressed {
    color: #73777a;
    background-color: #1f2225;
}

ghostwriter--FindReplace QPushButton:checked {
    background-color: #25282c;
}

ghostwriter--FindReplace QPushButton:flat {
    color: #8b8f92;
    background-color: #25282c;
    font-weight: bold;
}

ghostwriter--FindReplace QPushButton:flat:hover {
    color: #d0d7db;
    background-color: #373d42;
}

ghostwriter--FindReplace QPushButton:flat:pressed {
    color: #73777a;
    background-color: #1f2225;
}

ghostwriter--FindReplace QPushButton:flat:disabled {
    color: #adb3b6;
    background-color: #272a2e;
}

ghostwriter--FindReplace QPushButton#matchCaseButton,
ghostwriter--FindReplace QPushButton#regexButton {
    font-size: 16px;
    font-family: default;
    font-weight: bold;
} 

ghostwriter--FindReplace QPushButton#replaceButton,
ghostwriter--FindReplace QPushButton#replaceAllButton {
    font-size: 11pt;
    font-family: default;
}

ghostwriter--FindReplace QPushButton#findReplaceCloseButton {
    padding: 0;
    margin: 0;
    icon-size: 16px;
}

ghostwriter--FindReplace QLineEdit {
    color: #bdc3c7;
    background-color: #202325;
    border: 0px;
    border-radius: 3px;
    selection-color: #bdc3c7;
    selection-background-color: #074051;
}

ghostwriter--FindReplace QLineEdit:focus {
    border: 1px solid #1d2022;
}

  1. Further explanations:
  • Under ArcolinuxD-Plasma (older version) still working, under newer Arcoplasma & CachyOS don’t works anymore, nor under X11 & not under wayland.
  1. spectacle first don’t allow to set other file-extension (as “*.png”) & set standard file-name only under wayland on older Archlinux-like-OS (ArcolinuxD-Plasma), in newer Archlinux-like-OS this don’t works neither under wayland nor under X11. i have to switch in this case to flameshot.

  2. ERGO:

  • New visual “enhancement” take place on Plasma but functionality are take down or neglect.
  • The AI lead me to Ghostwriter on Github where is not the possibility to commit a bug-report, so i have no other possibility to report it elsewhere as to you.

Thank you for your attention & intervention.

I’m on Plasma 6.2.2 and Ghostwriter never missed a beat.

Looks like one for your CachyOS forum.

1 Like

Endeavour:
extra repo - segfaults immediate on any input.
aur -git - seems to run fine.

It seems to need a lot of additional qt5 packages that are missing from plasma6.

depends=('qt5-base' 'qt5-svg' 'hunspell' 'qt5-webengine' 'sonnet5' 'kxmlgui5')
makedepends=('git' 'qt5-tools' 'cmake' 'extra-cmake-modules') #'discount'

So that might be an issue.

1 Like

The error message looks similar to the one reported over on

2 Likes

❯ whatis pactree
pactree (8)          - package dependency tree viewer
❯ pactree ghostwriter
ghostwriter
├─gcc-libs
├─glibc
├─hunspell
├─kconfigwidgets
├─kcoreaddons
├─kwidgetsaddons
├─kxmlgui
├─qt6-base
├─qt6-webchannel
├─qt6-webengine
└─sonnet

:point_up_2:

1 Like

There is also a bug report specifically for the seg fault issue.

On CachyOS the config file inside $HOME/.config/kde.org/ghostwriter.conf doesn’t have a key set.

see 492363 – Ghostwriter crashes with a segment fault on very fresh installed neon after one character is typed.

Adding the following into the ghostwriter.conf appears to fix it.

[Preview]
lastUsedExporter=cmark-gfm
2 Likes

Thank you so much!
These two lines in the $HOME/.config/kde.org/ghostwriter.conf solved the problem.

After populating the file with the above lines, the app (ghostwriter) remain open & store in the file all additional settings.

Thank you again for helping all user & me.