Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

konsole: fix arrow keys #51412

Merged
merged 1 commit into from Jan 9, 2019

Conversation

Projects
None yet
5 participants
@Synthetica9
Copy link
Contributor

Synthetica9 commented Dec 2, 2018

Motivation for this change

(partially?) fixes #29951

Couldn't get Yakuake to work, so haven't tested that.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

konsole: fix arrow keys
(partially?) fixes #29951

@Synthetica9 Synthetica9 force-pushed the Synthetica9:konsole-keyboard-fix branch to 4ec643b Dec 2, 2018

@Synthetica9

This comment has been minimized.

Copy link
Contributor Author

Synthetica9 commented Dec 3, 2018

@michaelpj

This comment has been minimized.

Copy link
Contributor

michaelpj commented Dec 3, 2018

Is this the right fix? If Konsole does indeed look in XDG_DATA_DIRS then it's just a matter of making sure all the relevant stuff gets linked into the profile, since that already goes in XDG_DATA_DIRS. But that's somewhat tricky, since currently we can only decide to link in subdirs of share in a module.

@Synthetica9

This comment has been minimized.

Copy link
Contributor Author

Synthetica9 commented Dec 3, 2018

@michaelpj

This comment has been minimized.

Copy link
Contributor

michaelpj commented Dec 4, 2018

This will work for this issue, but e.g. if you add other programs that provide data files that konsole uses then it won't pick them up.

The usual mechanism for this is XDG_DATA_DIRS. You're adding the konsole /share output, which will make it pick up the stuff packaged with konsole, but other stuff needs to go in the system XDG_DATA_DIRS for konsole to find it. But if we had that working then we wouldn't need this at all, since the konsole /share files would be picked up in exactly the same way.

So why don't we pick them up? The answer is because we don't (usually) merge in all the subdirectories of /share. So we just ignore the ones that konsole needs. Normally you can only change that with a nixos module. The Plasma module, for example, does so.

Previously I've thought that was good, but increasingly I wonder if we should just link the whole of /share by default. (see #47173)

So I guess this is an okay solution, but we should be aware that konsole may still not work "properly" when you're not running Plasma.

@michaelpj

This comment has been minimized.

Copy link
Contributor

michaelpj commented Dec 4, 2018

The alternative solution would be to add a programs.konsole module.

@Synthetica9

This comment has been minimized.

Copy link
Contributor Author

Synthetica9 commented Dec 4, 2018

So I guess this is an okay solution, but we should be aware that konsole may still not work "properly" when you're not running Plasma.

I'm not running Plasma, so it's certainly not a strict requirement for this to work.

@michaelpj

This comment has been minimized.

Copy link
Contributor

michaelpj commented Dec 4, 2018

OOI, you say you couldn't make Yakuake work, but have you tried wrapping it so it has access to Konsole's data files? I think it uses a lot of the same code under the hood.

@ttuegel

This comment has been minimized.

Copy link
Member

ttuegel commented Dec 8, 2018

I'm not running Plasma, so it's certainly not a strict requirement for this to work.

I believe the way to fix this problem for all applications is to add this to your configuration.

@Mic92 Mic92 merged commit f0f7531 into NixOS:master Jan 9, 2019

9 checks passed

grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.