Scripts quick access edit this |
- Author: hqwrong <hq.wrong@gmail.com>
- Version: 1.1
- License: GNU GPL 2 or later
- Download: Cabinet.jl (upload)
Synopsis[]
A tool for window display,search and manipulation
Description[]
Cabinet has a similar interface with iswitch,it also adds some own features, like:
1) Support window icons to be shown
Actually,this is my main motive to write Cabinet. For
People are apt to distinguish from images instead of
text.
2) Support cycling among workspaces
The rationale is that most times the reason you create
another workspace is to make a bunch of applications
distinguished from others. It's a bad idear to mix them
together to choose from. The better one is only let you
have applications of current workspace,and enable you
to cycle among workspaces.
Though, Cabinet afford you a choice: To toggle between
workspace-mode -- to just show windows of current workspace --
and all-mode -- to show all the windows. When in
workspace mode, the tag on split line is something like
2/3, which means the largest workspace id is 3, and now
you are in workspace of id 2. When in all mode, the tag
should be "ALL".
Notice you should set workspace boundary to 'wrap-around,
put this in your rc file:
(setq workspace-boundary-mode 'wrap-around)
3) Distinguish windows for display from windows for manipulation.
Some applications, most time you are not inclined to select them via Cabinet, for you already have a hot key for them or other reasons, but somehow you just want to see them there: being displayed on Cabinet. You may see a split line on Cabinet, the items below it are windows that you just want to display. This feature makes Cabinet could somehow functions like a panel.
4) Use forground color instead of tag to indicate window status.
Because the same reason for enabling icons. Because it
saves a charater's space.
5) Enable users to manipulate a bunch of windows.
Use "Super-Spc" to mark the selected window, and use
procedure "with-marked-wl", you can manipulate
them. The marks will be cleared out after you quit
from Cabinet. Cabinet affords a procedure to tile marked
windows horizontally .
6) Item format
Item format is like this :
icon + window name + <window class> + viewport id + workspace id
Variable "cabinet-item-text" controls what to append to icon. You can
customize it.
Installation[]
Cabinet required `hqw-util.jl', it should have been published along with Cabinet. To separate them apart, because hqw-util.jl's independence, you may find it useful at other occasions.
Put hqw-util.jl and cabinet.jl in your load directory. add
(require 'cabinet)
into your rc file.
  Use command `cabinet-switch' to start Cabinet. To bind it to "W-s",copy the following line to your rc file.
(bind-keys global-keymap "W-s" 'cabinet-switch)