Git Product home page Git Product logo

wterm's Introduction

Unmaintained

wterm - xterm for wayland

wterm is a native Wayland terminal emulator based on an st fork using wld.

st is a simple terminal emulator for X originally made by suckless.

It sorta works ™ , please report bugs.

logo

Requirements

  • pkg-config
  • fontconfig
  • wayland
  • xkbcommon
  • pixman
  • libdrm

On ubuntu it's

sudo apt install libdrm-dev libfontconfig1-dev libwayland-dev libxkbcommon-dev libpixman-1-dev pkg-config

build

make

install

sudo make install

Credits

Based on Aurélien APTEL st source code.

wterm's People

Contributors

arp242 avatar keithbowes avatar majestrate avatar michaelmackus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wterm's Issues

anti aliasing

currently wterm does no anti-aliasing, that should probably be fixed.

Color change in fullscreen sway WM

For some reason, the colors change when I go fullscreen in sway WM. I'm not seeing this in any other wayland applications on the system. st (in XWayland) works fine and behaves as expected. This happens with a default config.

st features not supported by wterm

  • XIM support. Using the Compose key doesn't work at all, but it does in other terminal emulators I have installed (gnome-terminal, kitty, konsole, urxvt, weston-terminal). Maybe it has something to do with Wayland's input-method protocol.
  • Mouse support. When I click on an area in Vim, Lynx, etc, it doesn't work. It does to some degree in Midnight Commander if I use the -x option. (Though, the good part about that is that selecting text in Vim actually places it in the clipboard as it should, so I don't have to use custom bindings around wl-copy and wl-paste.)
  • Antialiased fonts. This will probably be solved by the potential font-rendering rewrite mentioned in issue #8.
  • Fallback fonts. Ditto.

Use pkg-config for wld

Is there a specific reason to include the wld sources in the git repository? I guess it means there are less dependencies to download, but I think we'd be better off with pkg-config (or at least prefer the users' library rather than the one included). This way we can update wld separately, plus lots of people might already have wld compiled (velox users).

segmentation fault on sway

I compiled wterm on Arch/sway. After running it, a segmentation fault occurs.
Here's the error in gdb:

Program received signal SIGSEGV, Segmentation fault.
0x0041223c in wld_set_target_buffer (renderer=0x0, buffer=0x444fe0) at renderer.c:85
85 if (!renderer->impl->set_target(renderer, (struct buffer *) buffer))

Apparently it happens when calling wld_set_target_buffer().
Do you have any idea what could it be?

Switching tty stops input

Pretty much the title is all i have to say. I don't know if this could be sway related but firefox and mpv remain usable after switching tty.

Noto Sans Mono breaks rendering

First want to leave a big thanks for your work. I'm trying to switch to wayland/sway and if using Noto Sans Mono as font it breaks the rendering. The spaces are really off. If xos4 Terminus is used the rendering is fine.

Text is not displayed correctly

image

I am using sway on Linux with an intel graphics card. When I use wterm as is my cursor is extremely wide and offset from where I am typing text. It also duplicates the last letter a bit further on. Is this a known problem?

Cannot start in weston

Fails with the following error:

erresc: unknown str zxdg_surface_v6@17: error 3: xdg_surface has never been configured
Connection error

weston 2.0.0

Ubuntu 17.10 Gnome

Running Ubuntu 17.10 using the Gnome option (rather than the Ubuntu one) at login:

wl_surface@16: error 3: buffer committed to unconfigured xdg_surface
Connection error

Any suggestions?

Error starting wterm in velox

Latest Wayland slackbuilds under Slackware.

Getting this error:

xdg_shell@8: error 0: use_unstable_version must be called first

I've verified the earlier call to xdg_shell_use_unstable_version is being called. So, I don't know why this error occurs? It seems to occur somewhere in the "draw" function based on quick debugging.

Any pointers on where to look to fix this? Im assuming xdg shell has updated , is there any way to use/lock to an older version? I'm unfamiliar with Wayland otherwise I would have those answers.

no wayland shell

In "Velox" I am unable to start wterm.

I have wld-git (from AUR) installed alongside velox-git.

  1. I start "termite" first (so I can see the stderr)
  2. wterm
  3. I get the error "no wayland shell"
  4. wterm -e /bin/bash
  5. Same error

Segmentation fault when using Terminus (TTF) and window is too wide and borderpx is 0

Hi and thanks for developing wterm.
On my 1440p display wterm crashes in sway if the window is too wide. Half of screen doesn't work but one third is fine. Also setting borderpx non-zero works.

(gdb) run
Starting program: /home/gustafla/.local/bin/wterm
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
# find_driver: Trying DRM driver `intel'
# find_driver: Trying DRM driver `nouveau'
# find_driver: Trying DRM driver `dumb'
# wld_font_open_pattern: Loading font file: /usr/share/fonts/TTF/TerminusTTF.ttf
# wld_font_open_pattern: Loading font file: /usr/share/fonts/TTF/TerminusTTF-Italic.ttf
# wld_font_open_pattern: Loading font file: /usr/share/fonts/TTF/TerminusTTF-Bold Italic.ttf
# wld_font_open_pattern: Loading font file: /usr/share/fonts/TTF/TerminusTTF-Bold.ttf
[Detaching after fork from child process 14141]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7db0af3 in ?? () from /usr/lib/libpixman-1.so.0
(gdb) backtrace
#0  0x00007ffff7db0af3 in ?? () from /usr/lib/libpixman-1.so.0
#1  0x00007ffff7e2594e in pixman_fill () from /usr/lib/libpixman-1.so.0
#2  0x00007ffff7e27226 in pixman_image_fill_boxes () from /usr/lib/libpixman-1.so.0
#3  0x0000555555573add in renderer_fill_rectangle (base=0x5555555a8020, color=2852126720, x=0, y=1428, width=1284, height=12) at pixman.c:270
#4  0x000055555556c99e in wld_fill_rectangle (renderer=0x5555555a8020, color=2852126720, x=0, y=1428, width=1284, height=12) at renderer.c:109
#5  0x0000555555567902 in wltermclear (col1=0, row1=119, col2=213, row2=119) at src/wterm.c:2781
#6  0x0000555555569795 in drawregion (x1=0, y1=0, x2=213, y2=120) at src/wterm.c:3363
#7  0x000055555556963c in draw () at src/wterm.c:3338
#8  0x000055555556b58f in run () at src/wterm.c:3929
#9  0x000055555556ba48 in main (argc=0, argv=0x7fffffffe820) at src/wterm.c:3999

Fatal error during build due to no `libdrm_intel` package found

I am trying to build wterm on a Sailfish OS device but I get the following error related to intel_bufmgr.h. libdrm-devel 2.4.97 is installed, but it seems this is not enough because I can see a libdrm_intel package is missing. Is there a workaround, or is it impossible to build wterm on an ARM device?

[nemo@Sailfish wterm]$ make
make -C src/wld
make[1]: Entering directory '/home/nemo/Templates/wterm/src/wld'
Package libdrm_intel was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm_intel.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm_intel' found
  CC	buffer.o
Package libdrm_intel was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm_intel.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm_intel' found
  CC	buffered_surface.o
Package libdrm_intel was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm_intel.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm_intel' found
  CC	color.o
Package libdrm_intel was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm_intel.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm_intel' found
  CC	context.o
Package libdrm_intel was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm_intel.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm_intel' found
  CC	font.o
Package libdrm_intel was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm_intel.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm_intel' found
  CC	renderer.o
Package libdrm_intel was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm_intel.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm_intel' found
  CC	surface.o
Package libdrm_intel was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm_intel.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm_intel' found
  CC	drm.o
Package libdrm_intel was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm_intel.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm_intel' found
  CC	dumb.o
Package libdrm_intel was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm_intel.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm_intel' found
  CC	intel.o
In file included from intel.c:26:
intel/batch.h:30:10: fatal error: intel_bufmgr.h: No such file or directory
 #include <intel_bufmgr.h>
          ^~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:132: intel.o] Error 1
make[1]: Leaving directory '/home/nemo/Templates/wterm/src/wld'
make: *** [Makefile:53: wld] Error 2

Failed to create buffer

wterm fails to start sometimes with "Failed to create buffer"

The source appears to be an outdated WLD library.

Replace st with wterm?

st is used in error messages, the man page, etc. Should it be replaced with wterm, or should it stay st to draw attention to its origin? If the former, I could easily send a patch.

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.