Commit graph

103 commits

Author SHA1 Message Date
Moritz 95b683c0a5
Fixed bugs and refactor in new EXWM layer
Co-authored-by: Lucius Hu <lebensterben@users.noreply.github.com>

Closes #14802
2021-06-05 15:02:57 +00:00
Lucius Hu 53027df26a
exwm: fix missing kwarg 2021-06-05 06:04:02 +00:00
Lucius Hu 8e3ab24c36
fixup! #14770 2021-05-16 18:26:24 +00:00
Benjamin Yang fef9ba9e18
[exwm] Remove manual XF86 keybindings (#14770) 2021-05-15 16:24:01 -04:00
Benjamin Yang 4e5a7233b0
SpacemacsOS: provide new layer variables for systray and autostart (#14714)
I'm not sure how best to start doing this, but the branch over at
timor:spacemacsOS has moved ahead a bit.  I've grown used to a lot of these
changes, and would like to see them moved to the main develop branch.  But, the
pull request (formed by merging in CestDiego:spacemacs/SpacemacsOS in #3321)
started diverging.

Again, I'm not sure how to approach moving together these two changes.  Maybe
@timor can help somehow??

This at the least moves in some little things from Timor's branch:

- Can enable exwm-systemtray with `exwm-enable-systray`
- Can enable running XDG autostart applications (only in XDG_USER_HOME/autostart
  for now) with `exwm-autostart-xdg-applications`
- Support for reading `.desktop` files and XDG autostart.
- Can specify additional code appended to exwm-init hook with `exwm-custom-init`

---

This PR also fixed some other existing issues, and improved documentation.

Co-authored-by: timor <timor.dd@googlemail.com>
Co-authored-by: Benjamin Yang <be11ng@users.noreply.github.com>
2021-04-30 18:29:17 +00:00
emacspace eddf1dc460 documentation formatting: Fri Apr 23 14:03:32 UTC 2021 2021-04-23 23:00:39 +03:00
JAremko 982a3db01f [doc]fix the rest of exwm readme hls 2021-04-23 17:00:24 +03:00
JAremko 7f0f93d765 fix exwm readme 2021-04-23 16:54:12 +03:00
Kjartan Óli Ágústsson 7ef15a561a
Fix issues with EXWM layer (#14693)
Added header.
Removed cl-generic dependency which is not needed for current minimum version (or later) of Emacs.
2021-04-21 17:12:52 -04:00
Kjartan Óli Ágústsson e290b10060
Replace function aliases with their real names (#14688)
`first` and `list-length` are aliases for `car` and `cl-list-length`
respectively. Using these aliases causes emacs to error with a `symbol's function
definition is void` error, but using their real names causes no error.

Replaced them with `car` and `length`.
2021-04-21 19:42:26 +00:00
Maximilian Wolff 2e02ac0a31
[exwm] Adjust layer README to match current standards 2021-04-19 23:04:38 +02:00
Diego Berrocal a664569a48
Add Emacs Window Manager (EXWM) Layer AKA SpacemacsOS (#3321)
* Add Emacs Window Manager (EXWM) Layer

The time has come of SpacemacsOS

* set window manager name to EXWM

* update copyright notice

* start server when EXWM is active

When using EXWM, Emacs should be ready to receive clients but the final choice
should be the user's in their shell configuration.

* respect Spacemacs naming conventions and layer organization

* leave keyboard remapping to users

* add EXWM states for Evil

* add support for helm-exwm when helm is in use

* use both exwm-randr and exwm-systemtray

* set up workspaces to match displays by default

* use ido-config instead of the deprecated workaround

When using helm-exwm, its sources distinguish title and class automatically. It
is only necessary to keep the buffer name updated when the window title changes.
When using ido, rename differently for different applications.

* add bindings for common X keys

* use standard prefix commands where available

Spacemacs already has prefix commands for controlling windows.
These are directly available in exwm-state as well as in exwm-insert-state
through leader

* remove most keybindings as they are available directly in exwm-state

* enable exwm directly in the layer configuration

It is safe to enable it here as an existing window manager will simply fail with
a warning.

* add user-configurable variables for RandR and workspaces

By default, create as many workspaces as there are displays and assign them in
RandR order.

* fix naming convention for variables

* use helm for launching applications when possible

* fix conditional helm-exwm leader keys

* remove redundant function

EXWM provides the equivalent

* conform to naming convention for Spacemacs

* separate prefix commands into those for major mode and global

* remove all default bindings

* improve readability

* clean up bindings

* remove obsolete comments

Co-authored-by: M. Domenzain <luis.domenzain@parrot.com>
2021-04-19 22:53:59 +02:00
syl20bnr 8306626504 Move window-purpose layer to spacemacs-purpose layer
Update README.org and add spacemacs-purpose layer to spacemacs
distribution.
Move functions of the layer to funcs.el and prefix variables and
functions introduced by the layer with `spacemacs`.
2016-10-16 22:25:04 -04:00
Bar Magal edb27a089e Create window-purpose layer
- Proper integration with popwin
- Integrate with Helm via helm-purpose
- Integrate with Ivy via ivy-purpose
- Integrate with opening a new eyebrowse workspace
- Enable purpose-x-kill: purpose-aware replacement of a window's buffer
  when a  buffer is killed
2016-10-16 22:25:04 -04:00
syl20bnr 944960daf8 Move eyebrowse to spacemacs-layouts layer and add documentation
Add toggle capability with ? for workspaces transient state
Remove the variable eyebrowse-display-help
2016-03-20 21:48:06 -04:00
syl20bnr 4d46a5e423 layouts: prefer symbol-value instead of eval
See first paragraph of
https://www.gnu.org/software/emacs/manual/html_node/elisp/Eval.html
2016-03-12 13:58:46 -05:00
Eivind Fonn 3412429360 Custom layout: eval name and binding 2016-03-12 17:59:28 +01:00
Eivind Fonn 1b503000c8 Move layouts functions to packages-funcs.el 2016-03-12 17:59:28 +01:00
Diego Berrocal a86a0ee1ca Add IRC buffers to respective perspectives
This attempts to fix https://github.com/syl20bnr/spacemacs/issues/4781
2016-03-12 17:59:28 +01:00
syl20bnr e2dbe1938c layouts and workspace: use new transient state keywords
Also cleanup the code and unify key bindings to make them consistent
between the two transient states.
2016-03-04 19:05:28 -05:00
syl20bnr 534cb7a7cd eyebrowse: respect 80 chars per line 2016-03-03 22:29:13 -05:00
syl20bnr bc9123e265 eyebrowse: prefix workspace number in transient state 2016-03-03 22:28:50 -05:00
syl20bnr 09edfe3e37 Add C-0...C-9 bindings to layouts and workspaces
These key bindings does not exit the transient state
2016-03-03 22:21:05 -05:00
Muneeb Shaikh 28a1b50cdb eyebrowse: highlight current workspace in transient state 2016-03-03 20:55:40 +01:00
Muneeb Shaikh cc544b1654 layouts: highlight current layout in transient state 2016-03-03 20:55:37 +01:00
Christian E. Hopps 2b99909491 also exit layout selection on number key
Match workspace exit behavior with layouts
2016-03-01 18:49:21 +01:00
Diego Berrocal 71d48e0952 Exit layout transient state on select custom layout
This was asked for in the gitter chat. I thought at first it would be
great for when people wanted to open many perspectives at the same time,
but now I don't think the same. It'd be very hard to modify the macro
for adding custom layouts to make this argument optional, so I leave it
at @syl20bnr discretion.
2016-02-27 14:58:15 +01:00
Eivind Fonn 5b345a6f07 Add dynamic list of workspaces in transient state 2016-02-27 14:57:55 +01:00
Eivind Fonn e061b13eb5 Add binding to spacemacs/goto-buffer-workspace 2016-02-25 20:41:37 +01:00
bmag ecaeb8db3b Eyebrowse: goto buffer in workspace
spacemacs/find-workspace, spacemacs/display-in-workspace and
spacemacs/goto-buffer-workspace allow us to find and display a buffer's
workspace.
2016-02-25 20:36:08 +01:00
Andrew Cates 3a77158a74 fix call to correctly go to transient-state
we want to call workspaces-transient-state vs workspaces-micro-state.
this was probably just an oversight, but nonetheless keeps the fn from
working properly and needs to be updated.
2016-02-25 20:30:00 +01:00
justbur d0cec17919 ivy: spacemacs layouts support
- port helm-perspectives
- port persp switch buffer
- port persp-close[kill]-other to use ivy
- layouts-ts: Make help more consistent
- layouts-ts: Reorganize docstring
Instead of one big list, try to organize into sections to make it easier
to find the right key
2016-02-16 23:55:23 -05:00
syl20bnr f0e113391c Fix docstring for layout transient state 2016-02-15 00:07:46 -05:00
syl20bnr 5ac51287cd Replace close words by delete in documentation 2016-02-14 23:11:52 -05:00
Robert O'Connor 4348c17433 Switch “bc”->“bd” and “wc”->“wd”
Also:
- switch spacemacs layouts to the same.
- Add “wD” for ace-delete-window
- switch window dedication toggle to “wt”
- all documentation has been updated to reflect these changes

Closes #5031
2016-02-14 23:09:45 -05:00
Fabien Dubosson 24f0e8cc4b Restart Spacemacs restoring layouts
Fix #5058
2016-02-14 20:59:05 -05:00
Muneeb Shaikh 5bdb8ae1af eyebrowse: transient-state doc fix 2016-02-09 21:33:51 +01:00
Bar e1ddc75024 Switch project layout: rename buffer
Rename "*Projectile Layouts*" to start with "*Helm" like the other helm buffers.
2016-02-07 14:52:47 +01:00
justbur b149f4e13a transient-state: new dotspacemacs variable to hide titles
dotspacemacs-show-transient-state-title
2016-01-31 23:50:10 -05:00
justbur e80ae8ac93 eyebrowse: Remove old doc declaration 2016-01-31 23:49:49 -05:00
justbur be077294c1 layouts: Use :additional-docs option for transient state 2016-01-31 23:49:44 -05:00
justbur 3a810b43a2 layouts-ts: Temp fix for dynamic docstring 2016-01-31 23:48:18 -05:00
bmag 407f98a1c8 Ensure new workspace/layout only shows home buffer
Previous code would show two windows when invoked from a window that is
dedicated to its buffer: the home buffer and the dedicated buffer.
2016-01-31 23:19:39 -05:00
Balaji Sivaraman 2b1ed603dc Change all references of micro-state in codebase to transient-state 2016-01-31 23:04:47 -05:00
Diego Berrocal f386cbc801 Let SPC TAB work only in the current buffer 2016-01-31 11:11:26 -05:00
Diego Berrocal fbcfe42605 Allow perspectives to change buffer-list 2016-01-31 11:08:47 -05:00
Diego Berrocal 8239c950f9 [layouts] Remove warnings for repeated bindings
This fixes:
1. Repeated bindings
2016-01-31 11:08:47 -05:00
Eivind Fonn 72e1413e22 Fix workspaces transient state 2016-01-26 12:16:54 +01:00
bmag 26cda7ef12 Fix transient workspace tags
Switching between layouts didn't save the tag of any (eyebrowse)
workspace, resulting in transient workspace tags.  This fixes it so tags
are saved correctly.
2016-01-26 01:21:02 -05:00
syl20bnr 7472991d44 eyebrowse: fix error with TAB binding in docstring
[_TAB_] does not work, changed it to [_[tab]_]
2016-01-26 01:21:01 -05:00