Wish list for QTerminal bundle

I miss background transparency in Gnome Terminal. It is useful and having difficulty adjusting to a Terminal without it.

$ sudo swupd bundle-add c-basic qt-basic qt-basic-dev

$ cd ~/Downloads

$ curl -LO https://github.com/lxqt/lxqt-build-tools/releases/download/0.8.0/lxqt-build-tools-0.8.0.tar.xz
$ curl -LO https://github.com/lxqt/qtermwidget/releases/download/0.16.1/qtermwidget-0.16.1.tar.xz
$ curl -LO https://github.com/lxqt/qterminal/releases/download/0.16.1/qterminal-0.16.1.tar.xz

for p in lxqt-build-tools-0.8.0 qtermwidget-0.16.1 qterminal-0.16.1; do
  tar xf $p.tar.xz
  cd $p && mkdir build && cd build
  CMAKE_INSTALL_PREFIX=/usr/local cmake ..
  make -j 4
  sudo make install
  cd ../..
done

Tuning the font DPI is possible for QT applications. This looks fine on my display.

$ sudo mkdir -p /etc/profile.d
$ sudo echo 'export QT_FONT_DPI=128' >/etc/profile.d/qt-fix.sh

Then log out of the desktop environment and log back in. Voila! One will have QTerminal and able to adjust background transparency via File Menu > Appearance > Terminal transparency > (for example) 11%.

Clear Linux has become more fun :smiley:

2 Likes

Since my last post, I made an improvement to the QTerminal experience. New windows and tabs execute bash with -login. The current working directory preference is honored as well. Therefore, provided a solution for an old issue option to start shell as login shell. New windows, new tabs, including new horizontal and vertical spaces behave consistently with regards to bash -login.

That said, my updated notes for building Qterminal on Clear Linux.

$ sudo swupd bundle-add c-basic qt-basic qt-basic-dev

$ cd ~/Downloads

$ curl -LO https://github.com/lxqt/lxqt-build-tools/releases/download/0.8.0/lxqt-build-tools-0.8.0.tar.xz
$ curl -LO https://github.com/lxqt/qtermwidget/releases/download/0.16.1/qtermwidget-0.16.1.tar.xz
$ curl -LO https://github.com/lxqt/qterminal/releases/download/0.16.1/qterminal-0.16.1.tar.xz

for p in lxqt-build-tools-0.8.0 qtermwidget-0.16.1 qterminal-0.16.1; do
  tar xf $p.tar.xz
done

# Appy change to qterminal.desktop.in qterminal directory
# https://github.com/lxqt/qterminal/issues/103#issuecomment-803516167

# Appy changes to MainWindow::newTerminalWindow in mainwindow.cpp
# https://github.com/lxqt/qterminal/issues/103#issuecomment-803686925

for p in lxqt-build-tools-0.8.0 qtermwidget-0.16.1 qterminal-0.16.1; do
  cd $p && mkdir build && cd build
  cmake -G Ninja \
    -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
    -DCMAKE_INSTALL_PREFIX=/usr/local \
    -DCMAKE_INSTALL_LIBDIR=lib \
    -DBUILD_SHARED_LIBS=ON \
    -DPULL_TRANSLATIONS=NO \
    -DCMAKE_BUILD_TYPE=Release ..
  ninja
  sudo ninja install
  cd ../..
done

What about scrolling performance and does it matter? Not really, but was something I measured. :smiling_face_with_three_hearts:

$ ls -R /usr >/dev/null     # ignore first run

GNOME Terminal: ls -R /usr  # 2.370 seconds
     QTerminal: ls -R /usr  # 1.982 seconds
1 Like

starting every shell as log-in shell is the default behaviour on macOS…

1 Like