Commit graph

18042 commits

Author SHA1 Message Date
Eelco Dolstra
357d31b339 Fix segfault in builtin fetchurl
The stack allocated for the builder was way too small (32 KB). This is
sufficient for normal derivations, because they just do some setup and
then exec() the actual builder. But for the fetchurl builtin
derivation it's not enough. Also, allocating the stack on the caller's
stack was fishy business.
2015-10-21 15:14:42 +02:00
Chris Feng
463d0da411 Close the (possible) active minibuffer when switching workspace
* exwm-workspace.el (exwm-workspace-switch): An active minibuffer on another
  workspace might cause problems for input.  Closing it should be
  sufficient.
2015-10-19 14:59:58 +08:00
Sander van der Burg
058d1950c0 Fix compilation error due to missing ENOENT on cygwin 2015-10-18 19:04:24 +00:00
Chris Feng
e70c6fad56 Allow certain commands to receive key events in line-mode
* exwm-input.el (exwm-input-command-whitelist): New variable.
  (exwm-input--on-KeyPress-line-mode): Allow certain commands which receive
  inputs without using the minibuffer to work in line-mode.
2015-10-17 11:02:32 +08:00
John Ericson
a7dd26961d Don't depend on git when generating source tarball 2015-10-15 11:53:45 -07:00
John Ericson
164487a5ba Simplify source tarball postUnpack cleanupx 2015-10-15 11:42:24 -07:00
Chris Feng
46461d994b Improve robustness
* exwm-input.el (exwm-input--update-focus, exwm-input--on-ButtonPress):
  Make sure Emacs windows are alive before manipulating them.
2015-10-11 13:36:15 +08:00
Pascal Wittmann
5f1a3201ec emacs mode: match keywords on the start/end of symbols
If keywords are matched on the start/end of words then
keywords are also matched if they are surrounded by dashes
or underscores. For example the keyword with is highlighted
in geany-with-vte. When matching on the start/end of symbols
the keyword is only highlighted if it is not part of an other
identifier.
2015-10-10 21:20:49 +02:00
Chris Feng
1aeec4abf4 Restrict the check of _MOTIF_WM_HINTS
* exwm-manage.el (exwm-manage--manage-window): Restrict the check of
  _MOTIF_WM_HINTS to only Java applications (since some other applications
  like Evince would also set it).
2015-10-10 20:59:33 +08:00
Eelco Dolstra
133a421bb4 Provide addTempRoot in the Perl API
Needed by Hydra.
2015-10-09 12:49:47 +02:00
Tuomas Tynkkynen
2075ec83e3 Allow building ARMv6 stuff on ARMv7
This allows building a Raspberry Pi image on modern, faster boards.
2015-10-08 13:32:28 +02:00
Eelco Dolstra
51cf4455b2 isFunctor: Simplify 2015-10-08 13:22:11 +02:00
Mathnerd314
8a87521636 forceFunction: allow functors as well 2015-10-08 13:19:44 +02:00
Anders Claesson
055ab1fc8d Fix typo in doc for nix-copy-closure 2015-10-08 13:17:01 +02:00
Eelco Dolstra
14f7e1fc42 Revert to CURLOPT_PROGRESSFUNCTION
CURLOPT_XFERINFOFUNCTION isn't widely supported yet.

http://hydra.nixos.org/build/26679495
2015-10-08 13:15:21 +02:00
Eelco Dolstra
21ecd106ed Show progress during downloads 2015-10-07 17:31:50 +02:00
Eelco Dolstra
f08449ccbd nix-prefetch-url: Add --name option
This allows overriding the name component of the resulting Nix store
path, which is necessary if the base name of the URI contains
"illegal" characters.
2015-10-07 14:55:33 +02:00
Eelco Dolstra
e4abf8610b nix-prefetch-url -A: Use "name" attribute from Nix expression
This is in particular useful for fetchFromGitHub et al., ensuring that
the store path produced by nix-prefetch-url corresponds to what those
functions expect.
2015-10-07 14:47:39 +02:00
Eelco Dolstra
b54f447df9 nix-prefetch-url: Support unpacking tarballs
This allows nix-prefetch-url to prefetch the output of fetchzip and
its wrappers (like fetchFromGitHub). For example:

  $ nix-prefetch-url --unpack https://github.com/NixOS/patchelf/archive/0.8.tar.gz

or from a Nix expression:

  $ nix-prefetch-url -A nix-repl.src

In the latter case, --unpack can be omitted because nix-repl.src is a
fetchFromGitHub derivation and thus has "outputHashMode" set to
"recursive".
2015-10-07 14:40:10 +02:00
Manuel Jacob
7888b2ba15 Define SOL_LOCAL if not defined already (e.g. on FreeBSD).
Some evidence that defining it to be 0 is right:
* OS X headers define it to be 0.
* Other code uses 0 instead of SOL_LOCAL to check for peer credentials
  (e.g. FreeBSD's implementation of getpeereid).
2015-10-06 22:28:30 +02:00
Manuel Jacob
12c1776df9 Don't try to link libdl on FreeBSD.
There is no libdl on FreeBSD.  Instead the symbols are included in libc.
2015-10-06 22:28:30 +02:00
Manuel Jacob
c999ef70e8 Don't pass "--no-copy-dt-needed-entries" option to linker on FreeBSD.
Eventually the nested if statements should be replaced by a more general
condition, but this is sufficient to make it work on FreeBSD.
2015-10-06 22:28:30 +02:00
Manuel Jacob
cbc177ca01 Use pkg-config-provided LDFLAGS for libsqlite3 and libcurl.
Previously, pkg-config was already queried for libsqlite3's and
libcurl's link flags.  However they were not used, but hardcoded
instead.  This commit replaces the hardcoded LDFLAGS by the ones
provided by pkg-config in a similar pattern as already used for
libsodium.
2015-10-06 22:28:30 +02:00
Eelco Dolstra
1abda8e173 nix-store --serve: Implement log size limit 2015-10-06 17:33:30 +02:00
Eelco Dolstra
9ffc4f4363 Don't mention Fedora/Debian packages in the installation section
See d4a88df9d6
2015-10-05 18:46:25 +02:00
Eelco Dolstra
57db2aa220 Merge pull request #645 from acowley/patch-1
Update prerequisites-source.xml
2015-10-05 15:05:32 +02:00
Eelco Dolstra
06f29fafe8 nix-prefetch-url: Support prefetching from a Nix expression
For example,

  $ nix-prefetch-url -A hello.src

will prefetch the file specified by the fetchurl call in the attribute
‘hello.src’ from the Nix expression in the current directory. This
differs from ‘nix-build -A hello.src’ in that it doesn't verify the
hash.

You can also specify a path to the Nix expression:

  $ nix-prefetch-url ~/Dev/nixpkgs -A hello.src

List elements (typically used in ‘patches’ attributes) also work:

  $ nix-prefetch-url -A portmidi.patches.0
2015-10-01 18:07:56 +02:00
Eelco Dolstra
a3c4eb0964 nix-prefetch-url: $PRINT_PATH -> --print-path 2015-10-01 16:53:07 +02:00
Eelco Dolstra
bec3c31608 nix-prefetch-url: Rewrite in C++ 2015-10-01 16:47:43 +02:00
Chris Feng
3b518eec23 Fix a position calculation error on multi-monitor settings
* exwm-floating.el (exwm-floating--set-floating): Always use relative
  positions.
2015-10-01 09:30:14 +08:00
William Carroll
1b7ca54fdb Upload basic runtime config files for bash and vim 2015-09-28 22:49:09 -07:00
Eelco Dolstra
bdc4a0b54d Merge pull request #654 from utdemir/more-insecure-verify-https-binary-caches
Also set CURLOPT_SSL_VERIFYHOST=0 when "verify-https-binary-caches" is false
2015-09-27 17:05:04 +02:00
Chris Feng
5184f0d7c1 Work around subrs that block EXWM; other minor fixes
Some subrs (e.g. x-file-dialog) create X windows and block the execution of
EXWM, so they won't work normally.  This commit partly fixes this issue by
invoking them in a subordinate Emacs instance and trying to fetch the
result back.

* exwm.el (exwm-blocking-subrs): New variable for specify such subrs.
* exwm.el (exwm-enable, exwm--server-name, exwm--server-stop)
  (exwm--server-eval-at): The implementation.

* exwm-core.el:
* exwm-floating.el:
* exwm-layout.el:
* exwm-manage.el:
* exwm-randr.el:
  Evaluate constants at compile-time.

* README.md: Renamed from README.org to make the 'Commentary:' section
  used by GNU ELPA instead.

* exwm.el: Depends on XELB version 0.3.
2015-09-27 19:43:06 +08:00
Utku Demir
a49514a2e2 Also set CURLOPT_SSL_VERIFYHOST=0 when "verify-https-binary-caches" is false
This makes that option even more insecure, by also not checking the SSL host.

But without this parameter, one can still get SSL errors even when
"verify-https-binary-caches" is false, which is unexpected IMO.
2015-09-25 22:34:08 +03:00
Eelco Dolstra
aaf8a1c16b Merge pull request #653 from vcunat/p/pdf-fix
release: fix #652 - PDF build after dblatex updates
2015-09-25 12:50:38 +02:00
Vladimír Čunát
fd74296e2f release: fix #652 - PDF build after dblatex updates
... while not changing behavior when used with older nixpkgs.
2015-09-25 12:48:35 +02:00
Chris Feng
f685de12d4 Fix click-to-focus on multi-monitor settings
* exwm-input.el (exwm-input--on-ButtonPress): [click-to-focus] Switch to
  the corresponding workspace if necessary.
2015-09-25 13:45:30 +08:00
Chris Feng
4ad76b879d Fix a calculation error of the position of a floating frame
* exwm-floating.el (exwm-floating--set-floating): The position of a
  floating frame should be relative to its workspace.
2015-09-24 20:03:57 +08:00
Chris Feng
22ee3e6c5f Adjust default prefix keys; advice x-create-frame
* exwm-input.el (exwm-input--on-KeyPress-line-mode, exwm-input-prefix-keys):
  Allow users to disable 'C-c' prefixed keys; Add 'C-c' to / remove 'M-!'
  from the default prefix keys.

* exwm-workspace.el (exwm-workspace--x-create-frame, exwm-workspace--init):
  Advice `x-create-frame' to prevent it from hanging EXWM, making e.g.
  speedbar working.
* exwm-floating.el (exwm-floating--set-floating): Remove the now unnecessary
  request that sets override-redirect on floating frames.
2015-09-23 12:53:08 +08:00
Chris Feng
623db8b378 Minor fixes for packaging
* .gitignore: Add ELPA files.
* exwm-workspace.el: Autoload exwm-workspace-switch.
* README.org: Renamed from README.md; add an installation note.
2015-09-21 13:31:57 +08:00
Chris Feng
9f30672b15 Fix input & input focus issues
* exwm-manage.el (exwm-manage--manage-window): Only grab left/middle/right
  buttons.

* exwm-input.el (exwm-input--on-ButtonPress): Only perform click-to-focus on
  unfocused X windows.

* exwm-input.el (exwm-input--update-focus): Do not focus an X window on
  another workspace, but instead keep focusing on the current one and set
  exwm--urgency parameter on that frame.

* exwm-input.el (exwm-input--fake-key): Send KeyRelease event (some
  applications reply on it).
2015-09-20 10:51:58 +08:00
Chris Feng
81478de9e6 Manage non-floating windows without decorations
* exwm-manage.el (exwm-manage--manage-window): Should manage non-floating
  windows without decorations.
2015-09-19 17:52:04 +08:00
Chris Feng
b35430429e Check _MOTIF_WM_HINTS when attempting to manage an X window
* exwm-core.el: New buffer-local variable exwm--mwm-hints.
* exwm-manage.el: New variable exwm--atom-_MOTIF_WM_HINTS for holding the
  value of _MOTIF_WM_HINTS atom; new function exwm--update-mwm-hints for
  updating the _MOTIF_WM_HINTS property of an X window.
* exwm-manage.el (exwm-manage--init): Intern the _MOTIF_WM_HINTS atom.
* exwm-manage.el (exwm-manage--manage-window): Avoid managing windows
  without decoration (implied by _MOTIF_WM_HINTS).
2015-09-19 16:53:45 +08:00
Chris Feng
921e6e5be9 Avoid autoloading variables
* exwm-floating.el:
* exwm-layout.el:
  Avoid autoloading exwm-floating-border-width.
* exwm-workspace.el:
  Avoid autoloading exwm-workspace--switch-history-outdated.
2015-09-19 12:34:30 +08:00
Chris Feng
c75a8b82ec Prevent Emacs cursor style change when pointer is in an X window
* exwm-input.el (exwm-input--on-KeyPress-char-mode): Compensate FocusOut
  event by sending a synthetic FocusIn event to prevent the change of cursor
  style (e.g. box to hollow) when pointer is in an X window.
2015-09-18 22:15:45 +08:00
Chris Feng
26ebc32e60 Fix a compilation warning
* exwm-floating.el: Autoload exwm-floating-border-width.
2015-09-18 14:38:05 +08:00
Chris Feng
412d2a52bd Fix wrong/missing ConfigureNotify events
* exwm-floating.el (exwm-floating--set-floating): Set exwm--floating-edges
  as absolute edges (the relative edges can be easily determined).
* exwm-layout.el (exwm-layout--show): Send correct absolute positions to
  floating X windows.

* exwm-floating.el (exwm-floating--stop-moveresize, exwm-floating-move): Send
  ConfigureNotify events after moving floating X windows.
2015-09-18 14:17:52 +08:00
Eelco Dolstra
4ba6bc184c Shut up clang warnings 2015-09-18 01:22:35 +02:00
Chris Feng
4255f078a6 On-demand update exwm-workspace--switch-history
* exwm-workspace.el (exwm-workspace--switch-history-outdated)
  (exwm-workspace--update-switch-history, exwm-workspace-switch)
  (exwm-workspace-move-window):
* exwm.el (exwm--update-hints, exwm--on-ClientMessage):
* exwm-floating.el (exwm-floating--set-floating):
* exwm-manage.el (exwm-manage--manage-window, exwm-manage--unmanage-window):
  Update exwm-workspace--switch-history only when it's used.
2015-09-17 19:48:50 +08:00
Eelco Dolstra
3d91bfc8f8 Merge pull request #646 from vcunat/master
nix-env --upgrade improvements
2015-09-17 12:45:35 +02:00