profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/xeijin/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

xeijin/all-the-icons.el 0

A utility package to collect various Icon Fonts and propertize them within Emacs.

xeijin/cale-idf 0

CALE is an Epaper component driver for the ESP-IDF framework with GFX and font support, optional FocalTech touch interface, compatible with ESP32 / ESP32S2

xeijin/dotfiles 0

Settings for various apps and tools

xeijin/dotfiles-1 0

NixOS dotfiles for veteran bike shedders

xeijin/emacs-gcc-pgtk 0

Dockerfile for building emacs.deb

xeijin/emacsclient-commands 0

a collection of small shell utilities that connect to a local Emacs server.

xeijin/goicns 0

Mac OS X .ICNS icon set generator entirely in Go

xeijin/gopsutil 0

psutil for golang

xeijin/ivy-posframe 0

ivy-posframe is a ivy extension, which let ivy use posframe to show its candidate menu.

fork xeijin/goicns

Mac OS X .ICNS icon set generator entirely in Go

fork in 20 days

issue openedtazjin/nixery

`imagemagick` commands dont work because of misconfigured `fontconfig`

Hello,

I'm trying to convert a few images with a nixery image containing imagemagick.

Using the image:

nixery.dev/shell/coreutils/gnutar/gnumake/tree/fontconfig/libcap/go/gcc/imagemagick/pngquant/librsvg

When my script attempts to convert images using the imagemagick convert utility, I get the following errors:

converting... emacutor-color.svg
 -> PNG: 16x16
Fontconfig error: Cannot load default config file: No such file: (null)
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories

upon further inspection there doesnt appear to be anything in /etc/fonts, specifically the fonts.conf file that fontconfig is meant to generate.

created time in 20 days

startedrougier/svg-lib

started time in 23 days

issue commentgoogle/nixery

Add /usr/bin/env to container

Does anyon know of a workaround for this? All of my build scripts are failing at the moment because of this

kevincox

comment created time in 24 days

pull request commentcakturk/go-netstat

Support filtering on Process

@cakturk can we merge this? I am running into the issue with #12 also

nodauf

comment created time in 25 days

issue commentgetlantern/systray

systray.Register doesn't work

I am facing same issue.

This is happening when I try to launch the systray in a seperate goroutine. If it is launched in main goroutine, OnReady is getting executed.

I am facing this issue on MAC. However on window it works fine.

Running GUI on the main thread is a macos requirement I believe.

Maybe this could help: https://github.com/golang-design/mainthread

vladimirschuka

comment created time in a month

pull request commentszermatt/emacsclient-commands

implement TCP & partial windows support

Sorry for the long silence! It looks like I missed quite some updates in May. You've been busy :)

I found a couple of other issues on Windows: the fifo implementation for windows does not appear to be working (test fails) - this will need further debugging - this breaks ebuf.go

Yes, I very much doubt this approach can work on windows without a custom re-implementation. However, using a fifo is just an optimisation: it is possible to make ebuf communicate through the socket or TCP and send the data as strings through that channel, chunk by chunk. Such an approach would work on windows and unix; it would just be a bit slower.

Using a fifo could be an option on unix and turned off on windows.

I haven't found an straightforward answer to the lack of SIGUSR1 on windows, this means emerge.go does not compile

Here, too, it should be possible to make it work without it , just a little bit worse: it would be possible to ask the user to press return when they're done, which would trigger command on the emacs-side that checks whether merging is done and continue.

I'm sure there's a way of doing IPC on Windows to replace signals, but I have to admit I have zero experience of Windows development, so I can't help with that.

Not being a make expert, I added crude alternative for windows: make.bat - which currently skips both of these issues - otherwise Windows/TCP support is mostly there, so perhaps worth merging in for now and I can raise an issue for these two?

I have nothing against using make.bat under Windows; as long as it works. It should be possible to make make work under both; it seems that Windows sets an env variable "OS" that could be checked.

Yes, this looks definitely worth merging. Last time, I didn't merge because it affected normal start, but now it only improves the commands, even if support on Windows is not complete yet.

This is really helpful background, thanks alot, will submit a PR to update windows support once my app gets a bit closer to completion, many thanks!

xeijin

comment created time in a month

pull request commentszermatt/emacsclient-commands

implement TCP & partial windows support

One question about TestParseServerFile in client_test.go

	var serverFileContents string = `127.0.0.1:62989 17061
 ;\I^|/+?<egxc[7Qb;6vGCp2:~6nhzcP>:8W#u&*}:@GJj&;ib5KU+).2N}S9Y(e%`

Do you know what this string means or is it just a capture ?

It's the TCP auth key that emacs generates with server-get-auth-key

xeijin

comment created time in a month

startedolback/tray-item-rs

started time in a month

push eventxeijin/emacsclient-commands

xeijin

commit sha b48201ac070f4d23c9bfc9294c07c2ec1f76803b

remove unneeded import declaration

view details

push time in a month

issue commentkonstare/emacs-gcc-pgtk

unmet dependencies when installing .deb

Though I don't understand why apt would not install the dependencies itself, maybe I am missing a flag somewhere

If you find the reason, please tell me. Maybe the problem is that you delete /var/lib/apt/lists/* and after this you are trying to install deb package. What will happen if you change the order

The binary files and the symlink are installed in /usr/local/bin Please, check that /usr/local/bin in the PATH.

You can also modify the emacs-gcc-pgtk Docker files to install in /usr

OK I removed all my superfluous config for now, but now getting errors like:

emacs: error while loading shared libraries: libgpm.so.2: cannot open shared object file: No such file or directory

This doesn't seem right to me, maybe a packaging issue? I take it it's working fine for you?

xeijin

comment created time in a month

issue commentkonstare/emacs-gcc-pgtk

unmet dependencies when installing .deb

@konstare OK that seemed to work, thank you. Though I don't understand why apt would not install the dependencies itself, maybe I am missing a flag somewhere.

Anyway I have another issue - the resulting binary does not seem to be symlinked as 'emacs'? The final part of my build is failing: https://gitlab.com/xeijin-dev/emacs-pgtkncb/-/jobs/1512840700#L2431

Would it be possible to have the deb create this symlink? Otherwise I will need to handle the version number each time.

xeijin

comment created time in a month

startedangrybacon/dotemacs

started time in a month

issue openedkonstare/emacs-gcc-pgtk

unmet dependencies when installing .deb

Hello,

I am using a copy of your .deb package generated a couple of days ago in a docker build (for now just uploaded to a repository to test).

However the build fails

The following packages have unmet dependencies:
 emacs-gcc-pgtk : Depends: libotf0 but it is not installable
                  Depends: libgccjit0 but it is not installable
                  Depends: libm17n-0 but it is not installable
                  Depends: librsvg2-2 but it is not installable
                  Depends: libjansson4 but it is not installable

I am using the same version of ubuntu as your Dockerfile: https://gitlab.com/xeijin-dev/emacs-pgtkncb/-/blob/main/Dockerfile#L1

This is the install command from my dockerfile: https://gitlab.com/xeijin-dev/emacs-pgtkncb/-/blob/main/Dockerfile#L19

Here is the relevant section of the failed docker build: https://gitlab.com/xeijin-dev/emacs-pgtkncb/-/jobs/1511546947#L1846

created time in a month

fork xeijin/emacs-gcc-pgtk

Dockerfile for building emacs.deb

fork in a month

issue openedshirou/gopsutil

`process.Connections()` does not return `unix` `ConnectionStat`, but `net.Connections()` does

Describe the bug On darwin/amd64 process.Connections() does not retrieve unix connections, even though they are visible

To Reproduce

In the example below, pid 14922 has a Unix connection, pid 44730 has a TCP connection.

package main

import (
	"fmt"
	"strings"

	"github.com/shirou/gopsutil/v3/net"
	"github.com/shirou/gopsutil/v3/process"
)

func main() {
	connsByProc()
	unixConnsFilteredByPid()
}

func connsByProc() {

	fmt.Printf("\n\n*** get all processes called 'emacs' then print the net.connectionStat for each ***\n\n")
	procs, _ := process.Processes()

	for _, proc := range procs {
		procName, _ := proc.Name()

		if strings.HasPrefix(procName, "emacs") && procName != "emacsclient" {
			conn, _ := proc.Connections()
			fmt.Printf("\n%d: %s\n", proc.Pid, conn)
		}
	}
}

func unixConnsFilteredByPid() {

	fmt.Printf("\n\n*** get all net.ConnectionStat then filter by the Pids, 14922 or 44730 ***\n\n")
	conns, _ := net.Connections("unix")

	for _, conn := range conns {
		switch conn.Pid {
		case 14922:
			fmt.Printf("\n%d: %s\n", conn.Pid, conn)
		case 44730:
			fmt.Printf("\n%d: %s\n", conn.Pid, conn)
		}
	}
	fmt.Println("\n\n")
}

This returns:



*** get all processes called 'emacs' then print the net.connectionStat for each ***


14922: []

44730: [{"fd":5,"family":2,"type":1,"localaddr":{"ip":"127.0.0.1","port":8081},"remoteaddr":{"ip":"","port":0},"status":"LISTEN","uids":null,"pid":44730}]


*** get all net.ConnectionStat then filter by the Pids, 14922 or 44730 ***


14922: {"fd":3,"family":1,"type":1,"localaddr":{"ip":"-\u003e0xd141ae20ee0e6fc3","port":0},"remoteaddr":{"ip":"","port":0},"status":"","uids":null,"pid":14922}

14922: {"fd":4,"family":1,"type":1,"localaddr":{"ip":"-\u003e0xd141ae20ee0e5853","port":0},"remoteaddr":{"ip":"","port":0},"status":"","uids":null,"pid":14922}

14922: {"fd":6,"family":1,"type":1,"localaddr":{"ip":"/var/folders/wy/391mbt1905b9djsb2wg9yrbc0000gn/T/emacs501/server","port":0},"remoteaddr":{"ip":"","port":0},"status":"","uids":null,"pid":14922}

14922: {"fd":7,"family":1,"type":1,"localaddr":{"ip":"/var/folders/wy/391mbt1905b9djsb2wg9yrbc0000gn/T/emacs501/server","port":0},"remoteaddr":{"ip":"","port":0},"status":"","uids":null,"pid":14922}

44730: {"fd":3,"family":1,"type":1,"localaddr":{"ip":"-\u003e0xd141ae20ee0e6bdb","port":0},"remoteaddr":{"ip":"","port":0},"status":"","uids":null,"pid":44730}

44730: {"fd":4,"family":1,"type":1,"localaddr":{"ip":"-\u003e0xd141ae20ee0e5d03","port":0},"remoteaddr":{"ip":"","port":0},"status":"","uids":null,"pid":44730}

Expected behavior We should see the unix connection with 'IP' /var/folders/wy/391mbt1905b9djsb2wg9yrbc0000gn/T/emacs501/server listed for pid 14922 in the result of the first function, but it is empty.

Environment (please complete the following information):

  • [X] Mac OS: [paste the result of sw_vers and uname -a
sw_Vers

ProductName:	Mac OS X
ProductVersion:	10.15.5
BuildVersion:	19F101
uname -a

Darwin MBP.local 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64

created time in a month

push eventxeijin/emacsclient-commands

Zameer Manji

commit sha 5f47598b6a74fff8c4db37b5cbdcb85f6c4aafa2

Re-use buffers even if they are read only. If I make the mode `view-mode` when using `ebuf` it will fail to re-use the buffer because the buffer is read-only when the buffer is cleared. To fix this, set `buffer-read-only` to `nil`. Before: ``` $ <command> | ebuf -u -m view '*pager*' *pager* $ <command> | ebuf -u -m view '*pager*' *ERROR*: Buffer is read-only: #<buffer *pager*> ``` Now: ``` $ <command> | ebuf -u -m view '*pager*' *pager* $ <command> | ebuf -u -m view '*pager*' *pager* ```

view details

xeijin

commit sha efa3c11c302f1c0435288fde623e3f214d2e2381

Update module name to match github This is currently causing pkg.dev docs to break for this module

view details

Stephane Zermatten

commit sha f48f886cbcd12ce7b0764a031fa3c2ede1314ea5

Merge pull request #2 from zmanji/fix-readonly Re-use buffers even if they are read only.

view details

Stephane Zermatten

commit sha 189bd3fe815f20088d0fc61da4224781252bacd2

Merge pull request #4 from xeijin/patch-1 Update module name to match github

view details

Stephane Zermatten

commit sha 4fcd703c091149b73b3c2c3f5b77057abfc9ecdb

Revert "Update module name to match github"

view details

Stephane Zermatten

commit sha 02436554b9577c2b9c38811276576e9e39b0c8eb

Merge pull request #5 from szermatt/revert-4-patch-1 Revert "Update module name to match github"

view details

xeijin

commit sha b2a707b85c567f742de4ed8126ad7d85cd6a926e

Merge branch 'szermatt:master' into master

view details

push time in a month

push eventxeijin/systray

xeijin

commit sha 8285fe57f9990627a6891b94beb6c89e1c6bdb65

delete

view details

push time in 2 months

push eventxeijin/systray

xeijin

commit sha 6cd81a371d4f7dfc016884764a28b1c8ae5979fc

Update go.mod

view details

push time in 2 months

created tagxeijin/systray

tag1.1.1

a cross platfrom Go library to place an icon and menu in the notification area

created time in 2 months

release xeijin/systray

1.1.1

released time in 2 months

push eventxeijin/systray

xeijin

commit sha 309f4cee4a768cb839043ed0a74a2023659578ed

Add Delete() option

view details

push time in 2 months

fork xeijin/systray

a cross platfrom Go library to place an icon and menu in the notification area

fork in 2 months

issue commentgetlantern/systray

unable to run as windows service with winsw

@si458 probably for the same reason as mentioned in this comment:

https://github.com/hallazzang/hallazzang.github.io/issues/2#issuecomment-546581674

Though if you're going to use tray icons in window services, not a user application, you cannot use it directly in your service's code. Because windows services are not allowed to have user interactions, they cannot have UI themselves, including tray icons. In that case, you should create a separate user level application and use some IPC techniques to connect it with your service application.

si458

comment created time in 2 months

startedunidoc/unioffice

started time in 2 months

startedtecosaur/emacs-everywhere

started time in 2 months

issue commentgolang-design/hotkey

Is there an API to add new keys across platforms?

This works great for me, thanks very much.

xeijin

comment created time in 2 months

issue closedgolang-design/hotkey

Is there an API to add new keys across platforms?

I want to use a backtick/grave (`), but I want it to work across all platforms, how do I achieve this? Thanks.

closed time in 2 months

xeijin

issue openedgolang-design/hotkey

Is there an API to add new keys across platforms?

I want to use a backtick/grave (`), but I want it to work across all platforms, how do I achieve this? Thanks.

created time in 2 months

startedgolang-design/hotkey

started time in 3 months