Unverified Commit 52a1dddc authored by Aleksana's avatar Aleksana Committed by GitHub
Browse files

xkeysnail: fix build (#385401)

parents 89cdd8a1 99142b98
Loading
Loading
Loading
Loading
+17 −18
Original line number Diff line number Diff line
@@ -3,22 +3,21 @@ import re
from xkeysnail.transform import *

aa = False
def aa_setvar(v):
    def _aa_setvar():
def aaset(v):
    def _aaset():
        transform._mark_set = False
        global aa; aa = v
    return _aa_setvar
def aa_ifvar():
    def _aa_ifvar():
        transform._mark_set = False
        global aa
    return _aaset
def aaif():
    def _aaif():
        global aa; transform._mark_set = False
        if aa: aa = False; return K("esc")
        return K("enter")
    return _aa_ifvar
def aa_flipmark():
    def _aa_flipmark():
    return _aaif
def aaflip():
    def _aaflip():
        transform._mark_set = not transform._mark_set;
    return _aa_flipmark
    return _aaflip

define_keymap(re.compile("Google-chrome|Chromium-browser|firefox"), {
    K("C-b"): with_mark(K("left")),
@@ -37,17 +36,17 @@ define_keymap(re.compile("Google-chrome|Chromium-browser|firefox"), {
    K("C-d"): [K("delete"), set_mark(False)],
    K("M-d"): [K("C-delete"), set_mark(False)],
    K("M-backspace"): [K("C-backspace"), set_mark(False)],

    K("C-slash"): [K("C-z"), set_mark(False)],
    K("C-space"): aa_flipmark(),

    K("C-space"): aaflip(),
    # K("C-space"): set_mark(True),
    K("C-M-space"): with_or_set_mark(K("C-right")),

    K("enter"): aaif(),
    K("C-s"): [K("F3"), aaset(True)],
    K("C-r"): [K("Shift-F3"), aaset(True)],
    K("C-g"): [K("esc"), aaset(False)]
    # K("C-s"): K("F3"),
    # K("C-r"): K("Shift-F3"),
    # K("C-g"): [K("esc"), set_mark(False)]

    K("C-s"): [K("F3"), aa_setvar(True)],
    K("C-r"): [K("Shift-F3"), aa_setvar(True)],
    K("C-g"): [K("esc"), aa_setvar(False)],
    K("enter"): aa_ifvar()
})
+11 −11
Original line number Diff line number Diff line
{
  lib,
  fetchFromGitHub,
  makeWrapper,
  python3Packages,
  fetchpatch,
}:

python3Packages.buildPythonApplication rec {
  pname = "xkeysnail";
  version = "0.4.0";
  version = "0.4";

  src = fetchFromGitHub {
    owner = "mooz";
    repo = pname;
    rev = "bf3c93b4fe6efd42893db4e6588e5ef1c4909cfb";
    sha256 = "0plcpb4ndzfsd5hj32m0g32swnhyph9sd759cdhhzmjvlq3j8q6p";
    hash = "sha256-12AkB6Zb1g9hY6mcphO8HlquxXigiiFhadr9Zsm6jF4=";
  };

  nativeBuildInputs = [ makeWrapper ];
  patches = [
    (fetchpatch {
      url = "https://github.com/mooz/xkeysnail/commit/457ab424fb32c4bfc6e6ea307752a2ce5d77853b.patch";
      hash = "sha256-yqsAfn3SibRW2clbtVwVZi1dJ8pAiXoYpittpz7S/wU=";
    })
  ];

  propagatedBuildInputs = with python3Packages; [
    evdev
    xlib
@@ -24,15 +30,9 @@ python3Packages.buildPythonApplication rec {
    appdirs
  ];

  doCheck = false;

  postInstall = ''
    mkdir -p $out/share
    cp ./example/config.py $out/share/example.py
    cp ${./browser-emacs-bindings.py} $out/share/browser.py
    install -Dm444 ${./emacs.py} $out/share/browser.py

    makeWrapper $out/bin/xkeysnail $out/bin/xkeysnail-example \
      --add-flags "-q" --add-flags "$out/share/example.py"
    makeWrapper $out/bin/xkeysnail $out/bin/xkeysnail-browser \
      --add-flags "-q" --add-flags "$out/share/browser.py"
  '';