Compare commits
10 commits
8517f06020
...
c41f2f8b59
Author | SHA1 | Date | |
---|---|---|---|
|
c41f2f8b59 | ||
|
c2374e6416 | ||
|
c345bcc892 | ||
|
4b768113db | ||
|
c24b73e6a8 | ||
|
75f93dcae9 | ||
|
41a81e4898 | ||
|
424d6ebfe8 | ||
|
7a69be2485 | ||
|
63e4a840c2 |
23 changed files with 47097 additions and 343 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1 +1,4 @@
|
|||
*.pkg.tar.zst
|
||||
*.pkg.tar.gz
|
||||
*.pkg.tar.xz
|
||||
*.pkg.tar
|
||||
|
|
|
@ -14,7 +14,7 @@ pkgdesc='Automated suite of programs for configuring and maintaining Unix-like c
|
|||
url='http://www.cfengine.org'
|
||||
license=('GPL3')
|
||||
arch=('i686' 'x86_64')
|
||||
depends=('lmdb' 'openssl' 'pcre' 'libxml2' 'pam' 'tokyocabinet')
|
||||
depends=('lmdb' 'openssl102-opt' 'pcre' 'libxml2' 'pam' 'tokyocabinet')
|
||||
makedepends=('which')
|
||||
optdepends=('libvirt' 'postgresql-libs' 'libmariadbclient' 'acl')
|
||||
install=${pkgname}.install
|
||||
|
@ -39,7 +39,7 @@ build() {
|
|||
./configure \
|
||||
--prefix=/usr \
|
||||
--with-workdir=/var/${pkgname} \
|
||||
--with-openssl \
|
||||
--with-openssl=/opt/openssl102 \
|
||||
--with-pcre \
|
||||
--with-libacl=check \
|
||||
--with-libxml2 \
|
||||
|
|
257
mako/393.patch
Normal file
257
mako/393.patch
Normal file
|
@ -0,0 +1,257 @@
|
|||
From c8fc55b5dc5e4b3f3431e0c5786be94213f698a2 Mon Sep 17 00:00:00 2001
|
||||
From: lilydjwg <lilydjwg@gmail.com>
|
||||
Date: Tue, 23 Nov 2021 14:30:32 +0800
|
||||
Subject: [PATCH 1/5] scale cursor too so the mouse pointer doesn't change
|
||||
above notification
|
||||
|
||||
---
|
||||
include/mako.h | 1 +
|
||||
wayland.c | 33 +++++++++++++++++++++++++++------
|
||||
2 files changed, 28 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/mako.h b/include/mako.h
|
||||
index 9117011..b35bc74 100644
|
||||
--- a/include/mako.h
|
||||
+++ b/include/mako.h
|
||||
@@ -63,6 +63,7 @@ struct mako_state {
|
||||
struct wl_cursor_theme *cursor_theme;
|
||||
const struct wl_cursor_image *cursor_image;
|
||||
struct wl_surface *cursor_surface;
|
||||
+ int32_t cursor_scale;
|
||||
|
||||
struct wl_list surfaces; // mako_surface::link
|
||||
|
||||
diff --git a/wayland.c b/wayland.c
|
||||
index eacdc50..81e5b10 100644
|
||||
--- a/wayland.c
|
||||
+++ b/wayland.c
|
||||
@@ -176,7 +176,8 @@ static void pointer_handle_enter(void *data, struct wl_pointer *wl_pointer,
|
||||
// Change the mouse cursor to "left_ptr"
|
||||
if (state->cursor_theme != NULL) {
|
||||
wl_pointer_set_cursor(wl_pointer, serial, state->cursor_surface,
|
||||
- state->cursor_image->hotspot_x, state->cursor_image->hotspot_y);
|
||||
+ state->cursor_image->hotspot_x / state->cursor_scale,
|
||||
+ state->cursor_image->hotspot_y / state->cursor_scale);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -307,6 +308,7 @@ static const struct wl_surface_listener surface_listener = {
|
||||
|
||||
static void schedule_frame_and_commit(struct mako_surface *state);
|
||||
static void send_frame(struct mako_surface *surface);
|
||||
+void setup_cursor(struct mako_state *state, int scale);
|
||||
|
||||
static void layer_surface_handle_configure(void *data,
|
||||
struct zwlr_layer_surface_v1 *surface,
|
||||
@@ -452,6 +454,10 @@ bool init_wayland(struct mako_state *state) {
|
||||
}
|
||||
}
|
||||
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+void setup_cursor(struct mako_state *state, int scale) {
|
||||
// Set up the cursor. It needs a wl_surface with the cursor loaded into it.
|
||||
// If one of these fail, mako will work fine without the cursor being able to change.
|
||||
const char *cursor_size_env = getenv("XCURSOR_SIZE");
|
||||
@@ -467,10 +473,13 @@ bool init_wayland(struct mako_state *state) {
|
||||
fprintf(stderr, "Error: XCURSOR_SIZE is invalid\n");
|
||||
}
|
||||
}
|
||||
- state->cursor_theme = wl_cursor_theme_load(NULL, cursor_size, state->shm);
|
||||
+ if (state->cursor_theme) {
|
||||
+ wl_cursor_theme_destroy(state->cursor_theme);
|
||||
+ }
|
||||
+ state->cursor_theme = wl_cursor_theme_load(NULL, cursor_size * scale, state->shm);
|
||||
if (state->cursor_theme == NULL) {
|
||||
fprintf(stderr, "couldn't find a cursor theme\n");
|
||||
- return true;
|
||||
+ return;
|
||||
}
|
||||
struct wl_cursor *cursor = wl_cursor_theme_get_cursor(state->cursor_theme, "left_ptr");
|
||||
if (cursor == NULL) {
|
||||
@@ -478,15 +487,15 @@ bool init_wayland(struct mako_state *state) {
|
||||
wl_cursor_theme_destroy(state->cursor_theme);
|
||||
// Set to NULL so it doesn't get free'd again
|
||||
state->cursor_theme = NULL;
|
||||
- return true;
|
||||
+ return;
|
||||
}
|
||||
state->cursor_image = cursor->images[0];
|
||||
struct wl_buffer *cursor_buffer = wl_cursor_image_get_buffer(cursor->images[0]);
|
||||
state->cursor_surface = wl_compositor_create_surface(state->compositor);
|
||||
wl_surface_attach(state->cursor_surface, cursor_buffer, 0, 0);
|
||||
+ wl_surface_set_buffer_scale(state->cursor_surface, scale);
|
||||
wl_surface_commit(state->cursor_surface);
|
||||
-
|
||||
- return true;
|
||||
+ state->cursor_scale = scale;
|
||||
}
|
||||
|
||||
void finish_wayland(struct mako_state *state) {
|
||||
@@ -645,6 +654,9 @@ static void send_frame(struct mako_surface *surface) {
|
||||
zwlr_layer_surface_v1_set_anchor(surface->layer_surface,
|
||||
surface->anchor);
|
||||
wl_surface_commit(surface->surface);
|
||||
+ if (state->cursor_scale != scale) {
|
||||
+ setup_cursor(state, scale);
|
||||
+ }
|
||||
|
||||
// Now we're going to bail without drawing anything. This gives the
|
||||
// compositor a chance to create the surface and tell us what size we
|
||||
@@ -708,6 +720,15 @@ static void schedule_frame_and_commit(struct mako_surface *surface) {
|
||||
surface->frame_callback = wl_surface_frame(surface->surface);
|
||||
wl_callback_add_listener(surface->frame_callback, &frame_listener, surface);
|
||||
wl_surface_commit(surface->surface);
|
||||
+
|
||||
+ struct mako_state *state = surface->state;
|
||||
+ if (surface->surface_output != NULL) {
|
||||
+ int scale = surface->surface_output->scale;
|
||||
+ if (state->cursor_scale != scale) {
|
||||
+ // output or output scale changed, update cursor
|
||||
+ setup_cursor(state, scale);
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
void set_dirty(struct mako_surface *surface) {
|
||||
|
||||
From 47ac373d567a834fa92dc0e4d02be1b637a8ce0a Mon Sep 17 00:00:00 2001
|
||||
From: lilydjwg <lilydjwg@gmail.com>
|
||||
Date: Tue, 23 Nov 2021 14:12:08 +0800
|
||||
Subject: [PATCH 2/5] make_surface.scale is unused
|
||||
|
||||
---
|
||||
include/mako.h | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/include/mako.h b/include/mako.h
|
||||
index b35bc74..9a08bc1 100644
|
||||
--- a/include/mako.h
|
||||
+++ b/include/mako.h
|
||||
@@ -33,7 +33,6 @@ struct mako_surface {
|
||||
struct wl_callback *frame_callback;
|
||||
bool configured;
|
||||
bool dirty; // Do we need to redraw?
|
||||
- int32_t scale;
|
||||
|
||||
char *configured_output;
|
||||
enum zwlr_layer_shell_v1_layer layer;
|
||||
|
||||
From 80f98d2a8693ef02f8cecbe9316c6291e7109962 Mon Sep 17 00:00:00 2001
|
||||
From: lilydjwg <lilydjwg@gmail.com>
|
||||
Date: Tue, 23 Nov 2021 18:22:46 +0800
|
||||
Subject: [PATCH 3/5] use last_scale initially to avoid many redraws (which
|
||||
cause flickering)
|
||||
|
||||
---
|
||||
include/mako.h | 1 +
|
||||
main.c | 1 +
|
||||
wayland.c | 3 ++-
|
||||
3 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/mako.h b/include/mako.h
|
||||
index 9a08bc1..ece4ea0 100644
|
||||
--- a/include/mako.h
|
||||
+++ b/include/mako.h
|
||||
@@ -70,6 +70,7 @@ struct mako_state {
|
||||
struct wl_list notifications; // mako_notification::link
|
||||
struct wl_list history; // mako_notification::link
|
||||
char *current_mode;
|
||||
+ uint32_t last_scale;
|
||||
|
||||
int argc;
|
||||
char **argv;
|
||||
diff --git a/main.c b/main.c
|
||||
index 44f2094..b93c5e5 100644
|
||||
--- a/main.c
|
||||
+++ b/main.c
|
||||
@@ -70,6 +70,7 @@ static bool init(struct mako_state *state) {
|
||||
wl_list_init(&state->notifications);
|
||||
wl_list_init(&state->history);
|
||||
state->current_mode = strdup("default");
|
||||
+ state->last_scale = 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
diff --git a/wayland.c b/wayland.c
|
||||
index 81e5b10..7620c21 100644
|
||||
--- a/wayland.c
|
||||
+++ b/wayland.c
|
||||
@@ -571,9 +571,10 @@ static void schedule_frame_and_commit(struct mako_surface *surface);
|
||||
static void send_frame(struct mako_surface *surface) {
|
||||
struct mako_state *state = surface->state;
|
||||
|
||||
- int scale = 1;
|
||||
+ int scale = state->last_scale;
|
||||
if (surface->surface_output != NULL) {
|
||||
scale = surface->surface_output->scale;
|
||||
+ state->last_scale = scale;
|
||||
}
|
||||
|
||||
surface->current_buffer =
|
||||
|
||||
From a9f17443a43b33fcea99155c227cd8b0ce4c548a Mon Sep 17 00:00:00 2001
|
||||
From: lilydjwg <lilydjwg@gmail.com>
|
||||
Date: Tue, 23 Nov 2021 19:10:24 +0800
|
||||
Subject: [PATCH 4/5] don't redraw if the surface size isn't changed
|
||||
|
||||
---
|
||||
wayland.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/wayland.c b/wayland.c
|
||||
index 7620c21..e5e6534 100644
|
||||
--- a/wayland.c
|
||||
+++ b/wayland.c
|
||||
@@ -315,11 +315,17 @@ static void layer_surface_handle_configure(void *data,
|
||||
uint32_t serial, uint32_t width, uint32_t height) {
|
||||
struct mako_surface *msurface = data;
|
||||
|
||||
+ zwlr_layer_surface_v1_ack_configure(surface, serial);
|
||||
+
|
||||
+ if (msurface->configured && msurface->width == (int)width
|
||||
+ && msurface->height == (int)height) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
msurface->configured = true;
|
||||
msurface->width = width;
|
||||
msurface->height = height;
|
||||
|
||||
- zwlr_layer_surface_v1_ack_configure(surface, serial);
|
||||
send_frame(msurface);
|
||||
}
|
||||
|
||||
|
||||
From fe7f49463e29e3275f7183b5f8d44e080d9203a8 Mon Sep 17 00:00:00 2001
|
||||
From: lilydjwg <lilydjwg@gmail.com>
|
||||
Date: Tue, 23 Nov 2021 19:21:34 +0800
|
||||
Subject: [PATCH 5/5] fix schedule_frame_and_commit declaration
|
||||
|
||||
---
|
||||
wayland.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/wayland.c b/wayland.c
|
||||
index e5e6534..228a1fe 100644
|
||||
--- a/wayland.c
|
||||
+++ b/wayland.c
|
||||
@@ -306,7 +306,7 @@ static const struct wl_surface_listener surface_listener = {
|
||||
};
|
||||
|
||||
|
||||
-static void schedule_frame_and_commit(struct mako_surface *state);
|
||||
+static void schedule_frame_and_commit(struct mako_surface *surface);
|
||||
static void send_frame(struct mako_surface *surface);
|
||||
void setup_cursor(struct mako_state *state, int scale);
|
||||
|
||||
@@ -571,8 +571,6 @@ static struct mako_output *get_configured_output(struct mako_surface *surface) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
-static void schedule_frame_and_commit(struct mako_surface *surface);
|
||||
-
|
||||
// Draw and commit a new frame.
|
||||
static void send_frame(struct mako_surface *surface) {
|
||||
struct mako_state *state = surface->state;
|
44
mako/PKGBUILD
Normal file
44
mako/PKGBUILD
Normal file
|
@ -0,0 +1,44 @@
|
|||
# Maintainer: Brett Cornwall <ainola@archlinux.org>
|
||||
# Maintainer: Maxim Baz <$pkgname at maximbaz dot com>
|
||||
# Contributor: Drew DeVault
|
||||
|
||||
pkgname=mako
|
||||
pkgver=1.6
|
||||
pkgrel=4
|
||||
license=('MIT')
|
||||
pkgdesc='Lightweight notification daemon for Wayland'
|
||||
makedepends=("meson" "scdoc" "systemd" "wayland-protocols")
|
||||
depends=(
|
||||
"gdk-pixbuf2"
|
||||
"pango"
|
||||
"systemd-libs"
|
||||
"wayland"
|
||||
)
|
||||
optdepends=("jq: support for 'makoctl menu'")
|
||||
arch=("x86_64")
|
||||
url='https://mako-project.org'
|
||||
options=(debug)
|
||||
source=(
|
||||
"$pkgname-$pkgver.tar.gz::https://github.com/emersion/mako/releases/download/v$pkgver/mako-$pkgver.tar.gz"
|
||||
"systemd-dbus-activation.patch"
|
||||
"https://patch-diff.githubusercontent.com/raw/emersion/mako/pull/393.patch"
|
||||
)
|
||||
sha256sums=('9f43cba9e1b43c69be8c9e4a79c358b3cd22153ca3ffb8bf0ee7aa30c59b2fc2'
|
||||
'4579a2673dcf2114779e10ed52d771f3930c2192e8e35d3e145163d9e0b45c20'
|
||||
'SKIP')
|
||||
|
||||
prepare() {
|
||||
patch -Np1 -i "$srcdir/systemd-dbus-activation.patch" -d "$pkgname-$pkgver"
|
||||
patch -Np1 -i "$srcdir/393.patch" -d "$pkgname-$pkgver"
|
||||
}
|
||||
|
||||
build() {
|
||||
arch-meson -Dzsh-completions=true -Dsd-bus-provider=libsystemd "$pkgname-$pkgver" build
|
||||
ninja -C build
|
||||
}
|
||||
|
||||
package() {
|
||||
DESTDIR="$pkgdir" ninja -C build install
|
||||
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname/" "$pkgname-$pkgver/LICENSE"
|
||||
install -Dm644 -t "$pkgdir/usr/lib/systemd/user/" "$pkgname-$pkgver/contrib/systemd/mako.service"
|
||||
}
|
7
mako/systemd-dbus-activation.patch
Normal file
7
mako/systemd-dbus-activation.patch
Normal file
|
@ -0,0 +1,7 @@
|
|||
--- a/fr.emersion.mako.service.in
|
||||
+++ b/fr.emersion.mako.service.in
|
||||
@@ -1,3 +1,4 @@
|
||||
[D-BUS Service]
|
||||
Name=org.freedesktop.Notifications
|
||||
Exec=@bindir@/mako
|
||||
+SystemdService=mako.service
|
72
openssl102-opt/PKGBUILD
Normal file
72
openssl102-opt/PKGBUILD
Normal file
|
@ -0,0 +1,72 @@
|
|||
# Original maintainer: Pierre Schmitz <pierre@archlinux.de>
|
||||
|
||||
pkgname=openssl102-opt
|
||||
_ver=1.0.2s
|
||||
# use a pacman compatible version scheme
|
||||
pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
|
||||
#pkgver=$_ver
|
||||
pkgrel=1
|
||||
pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security'
|
||||
arch=('x86_64')
|
||||
url='https://www.openssl.org'
|
||||
license=('custom:BSD')
|
||||
depends=('perl')
|
||||
optdepends=('ca-certificates')
|
||||
options=('!makeflags')
|
||||
source=("https://www.openssl.org/source/openssl-${_ver}.tar.gz"
|
||||
"https://www.openssl.org/source/openssl-${_ver}.tar.gz.asc"
|
||||
'no-rpath.patch'
|
||||
'ssl3-test-failure.patch'
|
||||
'openssl-1.0-versioned-symbols.patch')
|
||||
sha256sums=('cabd5c9492825ce5bd23f3c3aeed6a97f8142f606d893df216411f07d1abab96'
|
||||
'SKIP'
|
||||
'754d6107a306311e15a1db6a1cc031b81691c8b9865e8809ac60ca6f184c957c'
|
||||
'c54ae87c602eaa1530a336ab7c6e22e12898e1941012349c153e52553df64a13'
|
||||
'353a84e4c92e36c379ebd9216b8f8fb9c271396583561eb84ac8c825979acaa6')
|
||||
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491'
|
||||
'7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C')
|
||||
|
||||
prepare() {
|
||||
cd $srcdir/openssl-$_ver
|
||||
|
||||
# remove rpath: http://bugs.archlinux.org/task/14367
|
||||
patch -p0 -i $srcdir/no-rpath.patch
|
||||
|
||||
# disable a test that fails when ssl3 is disabled
|
||||
patch -p1 -i $srcdir/ssl3-test-failure.patch
|
||||
|
||||
# add symbol versioning to prevent conflicts with openssl 1.1 symbols (Debian)
|
||||
patch -p1 -i "$srcdir"/openssl-1.0-versioned-symbols.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir/openssl-$_ver"
|
||||
|
||||
if [ "${CARCH}" == 'x86_64' ]; then
|
||||
openssltarget='linux-x86_64'
|
||||
optflags='enable-ec_nistp_64_gcc_128'
|
||||
elif [ "${CARCH}" == 'i686' ]; then
|
||||
openssltarget='linux-elf'
|
||||
optflags=''
|
||||
fi
|
||||
|
||||
# mark stack as non-executable: http://bugs.archlinux.org/task/12434
|
||||
./Configure --prefix=/opt/openssl102 \
|
||||
shared no-ssl3-method ${optflags} \
|
||||
"${openssltarget}" \
|
||||
"-Wa,--noexecstack ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}"
|
||||
|
||||
make depend
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$srcdir/openssl-$_ver"
|
||||
make test
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/openssl-$_ver"
|
||||
|
||||
make INSTALL_PREFIX="$pkgdir" install_sw
|
||||
}
|
11
openssl102-opt/no-rpath.patch
Normal file
11
openssl102-opt/no-rpath.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- Makefile.shared.no-rpath 2005-06-23 22:47:54.000000000 +0200
|
||||
+++ Makefile.shared 2005-11-16 22:35:37.000000000 +0100
|
||||
@@ -153,7 +153,7 @@
|
||||
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
|
||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
|
||||
|
||||
-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
|
||||
+DO_GNU_APP=LDFLAGS="$(CFLAGS)"
|
||||
|
||||
#This is rather special. It's a special target with which one can link
|
||||
#applications without bothering with any features that have anything to
|
4667
openssl102-opt/openssl-1.0-versioned-symbols.patch
Normal file
4667
openssl102-opt/openssl-1.0-versioned-symbols.patch
Normal file
File diff suppressed because it is too large
Load diff
26
openssl102-opt/ssl3-test-failure.patch
Normal file
26
openssl102-opt/ssl3-test-failure.patch
Normal file
|
@ -0,0 +1,26 @@
|
|||
From: Kurt Roeckx <kurt@roeckx.be>
|
||||
Date: Sun, 6 Sep 2015 16:04:11 +0200
|
||||
Subject: Disable SSLv3 test in test suite
|
||||
|
||||
When testing SSLv3 the test program returns 0 for skip. The test for weak DH
|
||||
expects a failure, but gets success.
|
||||
|
||||
It should probably be changed to return something other than 0 for a skipped
|
||||
test.
|
||||
---
|
||||
test/testssl | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/test/testssl b/test/testssl
|
||||
index 747e4ba..1e4370b 100644
|
||||
--- a/test/testssl
|
||||
+++ b/test/testssl
|
||||
@@ -160,7 +160,7 @@ test_cipher() {
|
||||
}
|
||||
|
||||
echo "Testing ciphersuites"
|
||||
-for protocol in TLSv1.2 SSLv3; do
|
||||
+for protocol in TLSv1.2; do
|
||||
echo "Testing ciphersuites for $protocol"
|
||||
for cipher in `../util/shlib_wrap.sh ../apps/openssl ciphers "RSA+$protocol" | tr ':' ' '`; do
|
||||
test_cipher $cipher $protocol
|
|
@ -1,78 +0,0 @@
|
|||
# Maintainer: Von Random <von@vdrandom.org>
|
||||
# Contributor: Adriaan Zonnenberg <amz@adriaan.xyz>
|
||||
# Contributor: Florian Bruhin (The-Compiler) <archlinux.org@the-compiler.org>
|
||||
# Contributor: Daniel Micay <danielmicay@gmail.com>
|
||||
# Contributor: Sébastien Luttringer
|
||||
# Contributor: Angel Velasquez <angvp@archlinux.org>
|
||||
# Contributor: tobias <tobias@archlinux.org>
|
||||
# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
|
||||
|
||||
_pkgname=rxvt-unicode
|
||||
pkgname=rxvt-unicode-cvs-opt
|
||||
pkgver=$(date +%Y%m%d)
|
||||
pkgrel=1
|
||||
pkgdesc='A unicode enabled rxvt-clone terminal emulator (urxvt) - latest cvs revision'
|
||||
arch=('i686' 'x86_64')
|
||||
url='http://software.schmorp.de/pkg/rxvt-unicode.html'
|
||||
license=('GPL')
|
||||
depends=('libxft' 'perl' 'startup-notification' 'rxvt-unicode-terminfo')
|
||||
makedepends=('cvs')
|
||||
optdepends=('gtk2-perl: to use the urxvt-tabbed')
|
||||
source=(
|
||||
'font-width-fix.patch'
|
||||
'line-spacing-fix.patch'
|
||||
'urxvt-sgr.patch'
|
||||
)
|
||||
sha256sums=(
|
||||
'686770fe4e8d6bb0ba497ad2e1f217d17515f2544d80abe76496c63ead2bfaa4'
|
||||
'546a388d0595404a59c71c3eaeba331031032a75f96c57e9a860f27bbd7ebfcc'
|
||||
'f36110dce2dce4d6e275410de820f314b72a02dbad08f637c64b0da769c0c8f4'
|
||||
)
|
||||
prefix='/opt/rxvt-unicode'
|
||||
|
||||
prepare() {
|
||||
cvs -z3 -d :pserver:anonymous@cvs.schmorp.de/schmorpforge co ${_pkgname}
|
||||
cd ${_pkgname}
|
||||
|
||||
patch -p0 -i ../font-width-fix.patch
|
||||
patch -p0 -i ../line-spacing-fix.patch
|
||||
patch -p0 -i ../urxvt-sgr.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd ${_pkgname}
|
||||
# do not specify --with-terminfo (FS#46424)
|
||||
./configure \
|
||||
--prefix=${prefix} \
|
||||
--enable-256-color \
|
||||
--enable-combining \
|
||||
--enable-fading \
|
||||
--enable-font-styles \
|
||||
--enable-iso14755 \
|
||||
--enable-keepscrolling \
|
||||
--enable-lastlog \
|
||||
--enable-mousewheel \
|
||||
--enable-next-scroll \
|
||||
--enable-perl \
|
||||
--enable-pointer-blank \
|
||||
--enable-rxvt-scroll \
|
||||
--enable-selectionscrolling \
|
||||
--enable-slipwheeling \
|
||||
--enable-smart-resize \
|
||||
--enable-startup-notification \
|
||||
--enable-transparency \
|
||||
--enable-unicode3 \
|
||||
--enable-utmp \
|
||||
--enable-wtmp \
|
||||
--enable-xft \
|
||||
--enable-xim \
|
||||
--enable-xterm-scroll \
|
||||
--disable-frills
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $_pkgname
|
||||
|
||||
make DESTDIR="$pkgdir" install
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
--- src/rxvtfont.C.bukind 2007-11-30 14:36:33.000000000 +0600
|
||||
+++ src/rxvtfont.C 2007-11-30 14:39:29.000000000 +0600
|
||||
@@ -1171,12 +1171,21 @@
|
||||
XGlyphInfo g;
|
||||
XftTextExtents16 (disp, f, &ch, 1, &g);
|
||||
|
||||
+/*
|
||||
+ * bukind: don't use g.width as a width of a character!
|
||||
+ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial
|
||||
+
|
||||
g.width -= g.x;
|
||||
|
||||
int wcw = WCWIDTH (ch);
|
||||
if (wcw > 0) g.width = (g.width + wcw - 1) / wcw;
|
||||
|
||||
if (width < g.width ) width = g.width;
|
||||
+ */
|
||||
+ int wcw = WCWIDTH (ch);
|
||||
+ if (wcw > 1) g.xOff = g.xOff / wcw;
|
||||
+ if (width < g.xOff) width = g.xOff;
|
||||
+
|
||||
if (height < g.height ) height = g.height;
|
||||
if (glheight < g.height - g.y) glheight = g.height - g.y;
|
||||
}
|
||||
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
--- src/rxvtfont.C.orig 2011-07-20 22:19:29.878012201 -0300
|
||||
+++ src/rxvtfont.C 2011-07-20 22:19:33.634671723 -0300
|
||||
@@ -1237,11 +1237,22 @@
|
||||
|
||||
FT_Face face = XftLockFace (f);
|
||||
|
||||
+/*
|
||||
+ * use ascent, descent and height from XftFont *f instead of FT_Face face.
|
||||
+ * this somehow reproduces the behaviour of the line height as seen on xterm.
|
||||
+
|
||||
ascent = (face->size->metrics.ascender + 63) >> 6;
|
||||
descent = (-face->size->metrics.descender + 63) >> 6;
|
||||
height = max (ascent + descent, (face->size->metrics.height + 63) >> 6);
|
||||
width = 0;
|
||||
|
||||
+ */
|
||||
+
|
||||
+ ascent = f->ascent;
|
||||
+ descent = f->descent;
|
||||
+ height = max (ascent + descent, f->height);
|
||||
+ width = 0;
|
||||
+
|
||||
bool scalable = face->face_flags & FT_FACE_FLAG_SCALABLE;
|
||||
|
||||
XftUnlockFace (f);
|
|
@ -1,90 +0,0 @@
|
|||
--- src/command.C 2014-12-13 13:22:09.000000000 +0100
|
||||
+++ src/command.C 2016-01-13 04:50:39.161862513 +0100
|
||||
@@ -1280,6 +1280,8 @@
|
||||
int x, y;
|
||||
int code = 32;
|
||||
|
||||
+ if (priv_modes & PrivMode_ExtMouseSgr) code = 0;
|
||||
+
|
||||
x = Pixel2Col (ev.x) + 1;
|
||||
y = Pixel2Row (ev.y) + 1;
|
||||
|
||||
@@ -1293,11 +1295,18 @@
|
||||
code += 32;
|
||||
}
|
||||
|
||||
- if (MEvent.button == AnyButton)
|
||||
+ if (!(priv_modes & PrivMode_ExtMouseSgr) && MEvent.button == AnyButton)
|
||||
button_number = 3;
|
||||
else
|
||||
{
|
||||
- button_number = MEvent.button - Button1;
|
||||
+ if (ev.type == MotionNotify) {
|
||||
+ if (ev.state & Button1Mask) button_number = 0;
|
||||
+ else if (ev.state & Button2Mask) button_number = 1;
|
||||
+ else if (ev.state & Button3Mask) button_number = 2;
|
||||
+ else return;
|
||||
+ } else {
|
||||
+ button_number = ev.button - Button1;
|
||||
+ }
|
||||
/* add 0x3D for wheel events, like xterm does */
|
||||
if (button_number >= 3)
|
||||
button_number += 64 - 3;
|
||||
@@ -1347,16 +1356,22 @@
|
||||
#endif
|
||||
|
||||
#if ENABLE_FRILLS
|
||||
+ if (priv_modes & PrivMode_ExtMouseSgr)
|
||||
+ tt_printf ("\033[<%d;%d;%d%c",
|
||||
+ code + button_number + key_state,
|
||||
+ x,
|
||||
+ y,
|
||||
+ (ev.type == ButtonRelease ? 'm' : 'M'));
|
||||
- if (priv_modes & PrivMode_ExtMouseRight)
|
||||
+ else if (priv_modes & PrivMode_ExtMouseRight)
|
||||
tt_printf ("\033[%d;%d;%dM",
|
||||
code + button_number + key_state,
|
||||
x,
|
||||
y);
|
||||
else if (priv_modes & PrivMode_ExtModeMouse)
|
||||
tt_printf ("\033[M%c%lc%lc",
|
||||
code + button_number + key_state,
|
||||
wint_t (32 + x),
|
||||
wint_t (32 + y));
|
||||
else
|
||||
#endif
|
||||
tt_printf ("\033[M%c%c%c",
|
||||
@@ -2908,7 +2913,7 @@
|
||||
scr_soft_reset ();
|
||||
|
||||
static const int pm_h[] = { 7, 25 };
|
||||
- static const int pm_l[] = { 1, 3, 4, 5, 6, 9, 66, 1000, 1001, 1005, 1015, 1049 };
|
||||
+ static const int pm_l[] = { 1, 3, 4, 5, 6, 9, 66, 1000, 1001, 1002, 1003, 1005, 1006, 1015, 1049 };
|
||||
|
||||
process_terminal_mode ('h', 0, ecb_array_length (pm_h), pm_h);
|
||||
process_terminal_mode ('l', 0, ecb_array_length (pm_l), pm_l);
|
||||
@@ -3713,13 +3718,14 @@
|
||||
{ 1003, PrivMode_MouseAnyEvent },
|
||||
#if ENABLE_FRILLS
|
||||
{ 1004, PrivMode_FocusEvent },
|
||||
{ 1005, PrivMode_ExtModeMouse },
|
||||
+ { 1006, PrivMode_ExtMouseSgr },
|
||||
#endif
|
||||
{ 1010, PrivMode_TtyOutputInh }, // rxvt extension
|
||||
{ 1011, PrivMode_Keypress }, // rxvt extension
|
||||
#if ENABLE_FRILLS
|
||||
{ 1015, PrivMode_ExtMouseRight }, // urxvt extension of 1005
|
||||
#endif
|
||||
// 1035 enable modifiers for alt, numlock NYI
|
||||
// 1036 send ESC for meta keys NYI
|
||||
// 1037 send DEL for keypad delete NYI
|
||||
--- src/rxvt.h 2014-12-17 16:33:08.000000000 +0100
|
||||
+++ src/rxvt.h 2016-01-13 03:42:31.508911380 +0100
|
||||
@@ -644,6 +644,7 @@
|
||||
#define PrivMode_ExtMouseRight (1UL<<24) // xterm pseudo-utf-8, but works in non-utf-8-locales
|
||||
#define PrivMode_BlinkingCursor (1UL<<25)
|
||||
#define PrivMode_FocusEvent (1UL<<26)
|
||||
+#define PrivMode_ExtMouseSgr (1UL<<27) // sgr mouse extension
|
||||
|
||||
#define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11|PrivMode_MouseBtnEvent|PrivMode_MouseAnyEvent)
|
||||
|
|
@ -30,18 +30,24 @@ sha256sums=(
|
|||
ccd7c436e959bdc9ab4f15801a67c695b382565b31d8c352254362e67412afcb
|
||||
686770fe4e8d6bb0ba497ad2e1f217d17515f2544d80abe76496c63ead2bfaa4
|
||||
546a388d0595404a59c71c3eaeba331031032a75f96c57e9a860f27bbd7ebfcc
|
||||
da1405889a660fe912a1d9cda9204d33daffa3de83140610fe227cca9fc4ea8e
|
||||
f60d92d855530fd3f80138eb888a5b4205f6f444e5c41f2c30d9637b6b39c2a7
|
||||
f36110dce2dce4d6e275410de820f314b72a02dbad08f637c64b0da769c0c8f4
|
||||
)
|
||||
prefix='/usr'
|
||||
patches=(
|
||||
font-width-fix.patch
|
||||
line-spacing-fix.patch
|
||||
urxvt-sgr.patch
|
||||
terminfo-truecolor.patch
|
||||
)
|
||||
|
||||
prepare() {
|
||||
cvs -z3 -d :pserver:anonymous@cvs.schmorp.de/schmorpforge co ${_pkgname}
|
||||
cd ${_pkgname}
|
||||
|
||||
patch -p0 -i ../font-width-fix.patch
|
||||
patch -p0 -i ../line-spacing-fix.patch
|
||||
patch -p0 -i ../urxvt-sgr.patch
|
||||
patch -p0 -i ../terminfo-truecolor.patch
|
||||
for patch in ${patches[@]}; do
|
||||
patch -p0 -i ../$patch
|
||||
done
|
||||
}
|
||||
|
||||
build() {
|
||||
|
@ -49,7 +55,7 @@ build() {
|
|||
# we disable smart-resize (FS#34807)
|
||||
# do not specify --with-terminfo (FS#46424)
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--prefix=$prefix \
|
||||
--enable-256-color \
|
||||
--enable-combining \
|
||||
--enable-fading \
|
||||
|
|
|
@ -1,12 +1,25 @@
|
|||
--- doc/etc/rxvt-unicode.terminfo.orig 2019-01-28 17:26:10.680252189 +0300
|
||||
+++ doc/etc/rxvt-unicode.terminfo 2019-01-28 17:26:10.690252302 +0300
|
||||
@@ -190,3 +190,4 @@
|
||||
Index: doc/etc/rxvt-unicode.terminfo
|
||||
===================================================================
|
||||
RCS file: /schmorpforge/rxvt-unicode/doc/etc/rxvt-unicode.terminfo,v
|
||||
retrieving revision 1.35
|
||||
diff -u -r1.35 rxvt-unicode.terminfo
|
||||
--- doc/etc/rxvt-unicode.terminfo 13 Oct 2015 08:00:07 -0000 1.35
|
||||
+++ doc/etc/rxvt-unicode.terminfo 5 Apr 2019 09:44:59 -0000
|
||||
@@ -185,6 +185,7 @@
|
||||
tsl=\E]2;,
|
||||
fsl=\007,
|
||||
dsl=\E]2;\007,
|
||||
+ RGB,
|
||||
|
||||
rxvt-unicode-256color|rxvt-unicode terminal with 256 colors (X Window System),
|
||||
colors#256,
|
||||
pairs#32767,
|
||||
use=rxvt-unicode,
|
||||
+ Tc,
|
||||
--- doc/Makefile.in.orig 2019-01-28 17:24:07.168856085 +0300
|
||||
+++ doc/Makefile.in 2019-01-28 17:24:10.458893241 +0300
|
||||
Index: doc/Makefile.in
|
||||
===================================================================
|
||||
RCS file: /schmorpforge/rxvt-unicode/doc/Makefile.in,v
|
||||
retrieving revision 1.59
|
||||
diff -u -r1.59 Makefile.in
|
||||
--- doc/Makefile.in 31 Dec 2014 14:12:44 -0000 1.59
|
||||
+++ doc/Makefile.in 5 Apr 2019 09:44:59 -0000
|
||||
@@ -98,7 +98,7 @@
|
||||
$(INSTALL_DATA) rxvtc.1.man $(DESTDIR)$(man1dir)/$(RXVTNAME)c.$(man1ext)
|
||||
$(INSTALL_DATA) rxvtd.1.man $(DESTDIR)$(man1dir)/$(RXVTNAME)d.$(man1ext)
|
||||
|
|
|
@ -12,42 +12,51 @@
|
|||
# ij1 because и ≠ u, need a way to tell them apart
|
||||
# ll2 because ilI1
|
||||
# td1 because tilda should be in the middle
|
||||
#
|
||||
# boxdraw patch added to prevent box lines from being thick in terminals with bold font
|
||||
|
||||
pkgname=terminus-font-patched
|
||||
_pkgname=terminus-font
|
||||
pkgver=4.47
|
||||
pkgver=4.49.1
|
||||
pkgrel=1
|
||||
|
||||
pkgdesc='Monospace bitmap font (for X11 and console)'
|
||||
url='http://terminus-font.sourceforge.net/'
|
||||
arch=('any')
|
||||
url='http://sourceforge.net/projects/terminus-font/'
|
||||
license=('GPL2' 'custom:OFL')
|
||||
makedepends=('xorg-bdftopcf' 'fontconfig' 'xorg-mkfontscale' 'xorg-mkfontdir' 'python3')
|
||||
optdepends=('xorg-fonts-alias')
|
||||
depends=('fontconfig' 'xorg-fonts-encodings' 'xorg-font-utils')
|
||||
install='terminus-font-patched.install'
|
||||
source=("http://downloads.sourceforge.net/project/$_pkgname/$_pkgname-$pkgver/$_pkgname-$pkgver.tar.gz")
|
||||
makedepends=('xorg-bdftopcf' 'python')
|
||||
provides=($_pkgname)
|
||||
conflicts=($_pkgname)
|
||||
sha256sums=('0f1b205888e4e26a94878f746b8566a65c3e3742b33cf9a4e6517646d5651297')
|
||||
install='terminus-font-patched.install'
|
||||
source=("http://downloads.sourceforge.net/project/$_pkgname/$_pkgname-${pkgver%.1}/$_pkgname-$pkgver.tar.gz"
|
||||
fix-75-yes-terminus.patch)
|
||||
sha256sums=('d961c1b781627bf417f9b340693d64fc219e0113ad3a3af1a3424c7aa373ef79'
|
||||
'ddd86485cf6d54e020e36f1c38c56e8b21b57c23a5d76250e15c1d16fed9caa5')
|
||||
|
||||
prepare() {
|
||||
chmod +x "$_pkgname-$pkgver/configure"
|
||||
cd "terminus-font-$pkgver"
|
||||
patch -p1 <"$srcdir"/fix-75-yes-terminus.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$_pkgname-$pkgver"
|
||||
|
||||
patch -p0 -i alt/br1.diff
|
||||
patch -p0 -i alt/dv1.diff
|
||||
patch -p0 -i alt/ij1.diff
|
||||
patch -p0 -i alt/ll2.diff
|
||||
patch -p0 -i alt/td1.diff
|
||||
./configure --prefix=/usr --x11dir=/usr/share/fonts/misc \
|
||||
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--x11dir=/usr/share/fonts/misc \
|
||||
--otbdir=/usr/share/fonts/misc \
|
||||
--psfdir=/usr/share/kbd/consolefonts
|
||||
make
|
||||
make all otb
|
||||
}
|
||||
|
||||
package() {
|
||||
make -C "$_pkgname-$pkgver" DESTDIR="$pkgdir" install
|
||||
make -C "$_pkgname-$pkgver" DESTDIR="$pkgdir" install install-otb
|
||||
|
||||
install -Dm644 "$srcdir/$_pkgname-$pkgver/75-yes-terminus.conf" \
|
||||
"$pkgdir/etc/fonts/conf.avail/75-yes-terminus.conf"
|
||||
|
|
41873
terminus-font-patched/boxdraw.diff
Normal file
41873
terminus-font-patched/boxdraw.diff
Normal file
File diff suppressed because it is too large
Load diff
11
terminus-font-patched/fix-75-yes-terminus.patch
Normal file
11
terminus-font-patched/fix-75-yes-terminus.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/75-yes-terminus.conf 2019-01-01 19:32:47.000000000 +0100
|
||||
+++ b/75-yes-terminus.conf 2019-01-01 19:41:28.323308293 +0100
|
||||
@@ -5,7 +5,7 @@
|
||||
<selectfont>
|
||||
<acceptfont>
|
||||
<pattern>
|
||||
- <patelt name="family"><string>Terminus</string></patelt>
|
||||
+ <patelt name="family"><string>xos4 Terminus</string></patelt>
|
||||
</pattern>
|
||||
</acceptfont>
|
||||
</selectfont>
|
|
@ -8,8 +8,8 @@
|
|||
|
||||
_pkgname=xkeyboard-config
|
||||
pkgname=xkeyboard-config-ducky
|
||||
pkgver=2.26
|
||||
pkgrel=2
|
||||
pkgver=2.32
|
||||
pkgrel=1
|
||||
pkgdesc="X keyboard configuration files"
|
||||
arch=(any)
|
||||
license=('custom')
|
||||
|
@ -19,21 +19,24 @@ provides=('xkbdata' "${_pkgname}")
|
|||
replaces=('xkbdata' "${_pkgname}")
|
||||
conflicts=('xkbdata' "${_pkgname}")
|
||||
source=(https://xorg.freedesktop.org/archive/individual/data/${_pkgname}/${_pkgname}-${pkgver}.tar.bz2
|
||||
pt-layout.patch
|
||||
ducky_mini
|
||||
ru.patch
|
||||
us.patch)
|
||||
sha512sums=('5c8a31f7a6ad5daed8a3fceb56230b2e2fc04a25f52a43b3b4ea81e4a6ab15c52869f749c4b747d855cd4b618c04bcbb40e85dec7eab31fbe3bd45e8c9b755ef'
|
||||
'98c8b47e9a36ba3f130454fdd68c508f54b78eb65ddb071ca85bdcc3b324699e51155e3fc425ccae98350bb6430fea4771c0338024c1e06063a54b879bb707db'
|
||||
'2f3561852475959e884a09662e248155d642e1e3ae3996020333dee0709907917f05a43f4351dffde898fd0a10954078fe998763a4df0a35167afaafa9abf600'
|
||||
us.patch
|
||||
base.xml.patch
|
||||
evdev.xml.patch)
|
||||
sha512sums=('c082a86efcf69ab50454875686b9b4c388cf48002de3728331de3c09c1349a38c9b9ad8ecace2215061c0c775e59c3dd230fffe3f24db63790aa71dc8eff8dea'
|
||||
'cff98ba768a9fcb1f811c43978aa6e971f4582722994450581a83051f5c023ea5abf57bdf6f3fa9f95e905b89d83764694e3867886ffb3251d3e47d6b55d1dc7'
|
||||
'854c52d168837a5c72559498d10dff7843275323c4082d1c741c832d068108be3a51e823c98a27ea47c5fe4f335499fdbcaa3698117740ef24c07c41161ad59b'
|
||||
'7d9c692980c77a3b0658a5dd707ecdcd1e3fe47c2958f539f1f81dd04d5f204f779569d6b880c3f12872397d6171b2ec2caab9a4e79461c9f5828ca1c45acb08')
|
||||
'7d9c692980c77a3b0658a5dd707ecdcd1e3fe47c2958f539f1f81dd04d5f204f779569d6b880c3f12872397d6171b2ec2caab9a4e79461c9f5828ca1c45acb08'
|
||||
'fc7e4bce201538c828e44136ae2d3c39c4066a6d56413b229ad453eadd1d459aae22f218dde6f0e1afbddf3ebf995e6f8f56fd6406eff4ef6fa196207da9adb7'
|
||||
'1ba6fe7aa471158b811fcb6a8efed29fb0c3685aaa373e106dc8c6b8c8e84503707ea1b71b19806351d7cae77691362f504738416ac2bfbcf7e904ff8d348247')
|
||||
|
||||
build() {
|
||||
cd ${_pkgname}-${pkgver}
|
||||
cp -v ${srcdir}/ducky_mini symbols
|
||||
patch -p1 < ${srcdir}/ru.patch
|
||||
patch -p1 < ${srcdir}/us.patch
|
||||
patch -p1 < ${srcdir}/base.xml.patch
|
||||
patch -p1 < ${srcdir}/evdev.xml.patch
|
||||
./configure --prefix=/usr \
|
||||
--with-xkb-base=/usr/share/X11/xkb \
|
||||
--with-xkb-rules-symlink=xorg \
|
||||
|
@ -47,6 +50,7 @@ build() {
|
|||
make DESTDIR="${pkgdir}" install
|
||||
rm -f "${pkgdir}/usr/share/X11/xkb/compiled"
|
||||
|
||||
install -m644 "${srcdir}/ducky_mini" "${pkgdir}/usr/share/X11/xkb/symbols"
|
||||
install -m755 -d "${pkgdir}/var/lib/xkb"
|
||||
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
|
||||
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
|
||||
|
|
28
xkeyboard-config-ducky/base.xml.patch
Normal file
28
xkeyboard-config-ducky/base.xml.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
--- a/rules/base.xml 2021-02-16 03:04:08.000000000 +0300
|
||||
+++ b/rules/base.xml 2021-04-19 23:13:37.689642897 +0300
|
||||
@@ -1384,6 +1384,12 @@
|
||||
</variant>
|
||||
<variant>
|
||||
<configItem>
|
||||
+ <name>ducky</name>
|
||||
+ <description>English (ducky emulation)</description>
|
||||
+ </configItem>
|
||||
+ </variant>
|
||||
+ <variant>
|
||||
+ <configItem>
|
||||
<name>colemak</name>
|
||||
<description>English (Colemak)</description>
|
||||
</configItem>
|
||||
@@ -4684,6 +4690,12 @@
|
||||
<variantList>
|
||||
<variant>
|
||||
<configItem>
|
||||
+ <name>ducky</name>
|
||||
+ <description>Russian (ducky emulation)</description>
|
||||
+ </configItem>
|
||||
+ </variant>
|
||||
+ <variant>
|
||||
+ <configItem>
|
||||
<name>phonetic</name>
|
||||
<description>Russian (phonetic)</description>
|
||||
</configItem>
|
|
@ -89,6 +89,5 @@ partial modifier_keys
|
|||
xkb_symbols "common" {
|
||||
name[Group1] = "Common (layout mimicking the Ducky Shine Mini fn functionality)";
|
||||
|
||||
replace key <CAPS> { [ Control_L ] };
|
||||
replace key <LCTL> { [ ISO_Level3_Shift ] };
|
||||
replace key <RWIN> { [ ISO_Level3_Shift ] };
|
||||
};
|
||||
|
|
28
xkeyboard-config-ducky/evdev.xml.patch
Normal file
28
xkeyboard-config-ducky/evdev.xml.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
--- a/rules/evdev.xml 2021-04-19 23:13:26.982867056 +0300
|
||||
+++ b/rules/evdev.xml 2021-04-19 23:12:43.442416463 +0300
|
||||
@@ -1384,6 +1384,12 @@
|
||||
</variant>
|
||||
<variant>
|
||||
<configItem>
|
||||
+ <name>ducky</name>
|
||||
+ <description>English (ducky emulation)</description>
|
||||
+ </configItem>
|
||||
+ </variant>
|
||||
+ <variant>
|
||||
+ <configItem>
|
||||
<name>colemak</name>
|
||||
<description>English (Colemak)</description>
|
||||
</configItem>
|
||||
@@ -4684,6 +4690,12 @@
|
||||
<variantList>
|
||||
<variant>
|
||||
<configItem>
|
||||
+ <name>ducky</name>
|
||||
+ <description>Russian (ducky emulation)</description>
|
||||
+ </configItem>
|
||||
+ </variant>
|
||||
+ <variant>
|
||||
+ <configItem>
|
||||
<name>phonetic</name>
|
||||
<description>Russian (phonetic)</description>
|
||||
</configItem>
|
|
@ -1,85 +0,0 @@
|
|||
From af6c0f29dbee1cc7b280eed891592797c2e31220 Mon Sep 17 00:00:00 2001
|
||||
From: Sergey Udaltsov <sergey.udaltsov@gmail.com>
|
||||
Date: Thu, 7 Feb 2019 20:40:35 +0000
|
||||
Subject: [PATCH] Fixed broken pt layout
|
||||
|
||||
Backticks broke it, removed
|
||||
---
|
||||
symbols/pt | 62 +++++++++++++++++++++++++++---------------------------
|
||||
1 file changed, 31 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/symbols/pt b/symbols/pt
|
||||
index 73a1b7b..3ec0981 100644
|
||||
--- a/symbols/pt
|
||||
+++ b/symbols/pt
|
||||
@@ -221,35 +221,35 @@ xkb_symbols "colemak" {
|
||||
|
||||
name[Group1]="Portuguese (Colemak)";
|
||||
|
||||
- key `<AD01>` { [ q, Q, at, Greek_OMEGA ] };
|
||||
- key `<AD02>` { [ w, W, lstroke, Lstroke ] };
|
||||
- key `<AD03>` { [ f, F, dstroke, ordfeminine ] };
|
||||
- key `<AD04>` { [ p, P, thorn, THORN ] };
|
||||
- key `<AD05>` { [ g, G, eng, ENG ] };
|
||||
- key `<AD06>` { [ j, J, dead_hook, dead_horn ] };
|
||||
- key `<AD07>` { [ l, L, lstroke, Lstroke ] };
|
||||
- key `<AD08>` { [ u, U, downarrow, uparrow ] };
|
||||
- key `<AD09>` { [ y, Y, leftarrow, yen ] };
|
||||
- key `<AD10>` { [ ccedilla, Ccedilla, dead_acute, dead_doubleacute ] };
|
||||
-
|
||||
- key `<AC01>` { [ a, A, ae, AE ] };
|
||||
- key `<AC02>` { [ r, R, paragraph, registered ] };
|
||||
- key `<AC03>` { [ s, S, ssharp, section ] };
|
||||
- key `<AC04>` { [ t, T, tslash, Tslash ] };
|
||||
- key `<AC05>` { [ d, D, eth, ETH ] };
|
||||
- key `<AC06>` { [ h, H, hstroke, Hstroke ] };
|
||||
- key `<AC07>` { [ n, N, n, N ] };
|
||||
- key `<AC08>` { [ e, E, EuroSign, cent ] };
|
||||
- key `<AC09>` { [ i, I, rightarrow, idotless ] };
|
||||
- key `<AC10>` { [ o, O, oslash, Ooblique ] };
|
||||
-
|
||||
- key `<AB01>` { [ z, Z, guillemotleft, less ] };
|
||||
- key `<AB02>` { [ x, X, guillemotright, greater ] };
|
||||
- key `<AB03>` { [ c, C, cent, copyright ] };
|
||||
- key `<AB04>` { [ v, V, leftdoublequotemark, leftsinglequotemark ] };
|
||||
- key `<AB05>` { [ b, B, rightdoublequotemark, rightsinglequotemark ] };
|
||||
- key `<AB08>` { [ k, K, kra, ampersand ] };
|
||||
- key `<AB07>` { [ m, M, mu, masculine ] };
|
||||
-
|
||||
- key `<CAPS>` { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
|
||||
+ key <AD01> { [ q, Q, at, Greek_OMEGA ] };
|
||||
+ key <AD02> { [ w, W, lstroke, Lstroke ] };
|
||||
+ key <AD03> { [ f, F, dstroke, ordfeminine ] };
|
||||
+ key <AD04> { [ p, P, thorn, THORN ] };
|
||||
+ key <AD05> { [ g, G, eng, ENG ] };
|
||||
+ key <AD06> { [ j, J, dead_hook, dead_horn ] };
|
||||
+ key <AD07> { [ l, L, lstroke, Lstroke ] };
|
||||
+ key <AD08> { [ u, U, downarrow, uparrow ] };
|
||||
+ key <AD09> { [ y, Y, leftarrow, yen ] };
|
||||
+ key <AD10> { [ ccedilla, Ccedilla, dead_acute, dead_doubleacute ] };
|
||||
+
|
||||
+ key <AC01> { [ a, A, ae, AE ] };
|
||||
+ key <AC02> { [ r, R, paragraph, registered ] };
|
||||
+ key <AC03> { [ s, S, ssharp, section ] };
|
||||
+ key <AC04> { [ t, T, tslash, Tslash ] };
|
||||
+ key <AC05> { [ d, D, eth, ETH ] };
|
||||
+ key <AC06> { [ h, H, hstroke, Hstroke ] };
|
||||
+ key <AC07> { [ n, N, n, N ] };
|
||||
+ key <AC08> { [ e, E, EuroSign, cent ] };
|
||||
+ key <AC09> { [ i, I, rightarrow, idotless ] };
|
||||
+ key <AC10> { [ o, O, oslash, Ooblique ] };
|
||||
+
|
||||
+ key <AB01> { [ z, Z, guillemotleft, less ] };
|
||||
+ key <AB02> { [ x, X, guillemotright, greater ] };
|
||||
+ key <AB03> { [ c, C, cent, copyright ] };
|
||||
+ key <AB04> { [ v, V, leftdoublequotemark, leftsinglequotemark ] };
|
||||
+ key <AB05> { [ b, B, rightdoublequotemark, rightsinglequotemark ] };
|
||||
+ key <AB08> { [ k, K, kra, ampersand ] };
|
||||
+ key <AB07> { [ m, M, mu, masculine ] };
|
||||
+
|
||||
+ key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
|
||||
};
|
||||
--
|
||||
2.18.1
|
||||
|
||||
|
Loading…
Reference in a new issue