127 lines
5.3 KiB
Markdown
127 lines
5.3 KiB
Markdown
|
## bug.n -- Tiling Window Manager
|
||
|
Joshua Fuhs, joten
|
||
|
|
||
|
bug.n is a
|
||
|
[tiling window manager](https://en.wikipedia.org/wiki/Tiling_window_manager)
|
||
|
add-on for Microsoft Windows. It is written in the scripting language
|
||
|
[AutoHotkey](http://ahkscript.org/download/).
|
||
|
|
||
|
|
||
|
### What it can do
|
||
|
|
||
|
* Provide layouts for resizing and moving windows, utilizing all available
|
||
|
screen estate and customizable to your specific needs and workflow
|
||
|
* Provide views (i. e. virtual desktops) for showing only those windows, which
|
||
|
you need to do your work.
|
||
|
* Dynamically resize and move your windows, applying a specified layout,
|
||
|
without you having to care about moving them all by mouse
|
||
|
* Increase the available screen estate by hiding and therewith freeing up the
|
||
|
space occupied by
|
||
|
* the Microsoft Windows Taskbar and
|
||
|
* the title bar for every single window
|
||
|
* and replacing all with a single slim status bar (-- but bug.n is not a shell
|
||
|
replacement)
|
||
|
* Show window management information in the status bar:
|
||
|
* active window title
|
||
|
* active layout
|
||
|
* overview of the views used
|
||
|
* Show system information in the status bar:
|
||
|
* time and date
|
||
|
* CPU and memory usage
|
||
|
* disk and network load
|
||
|
* battery level
|
||
|
* Store your settings, i. e. which windows and layout were set on a specific
|
||
|
view
|
||
|
* Support multiple monitors
|
||
|
|
||
|
### What it enables _you_ to do
|
||
|
|
||
|
* You can resize and move windows specified by the active layout and
|
||
|
initialized by hotkey.
|
||
|
* You can toggle the visibility of the Windows Taskbar.
|
||
|
* You can toggle the visibility of the Windows title bar of the active window.
|
||
|
* You can change the layout for the tiling window management suitable to your
|
||
|
needs.
|
||
|
* **Tile**: Lay out all windows like tiles on a master area, which can be
|
||
|
further split up, and a stacking area, where remaining windows can be stacked
|
||
|
or shown side by side.
|
||
|
* **Monocle**: All windows are maximized and only one is shown at any time.
|
||
|
* **Floating**: Windows are not dynamically tiled.
|
||
|
* You can further customize the layouts for each view.
|
||
|
* You can move windows to another view (virtual desktop) by tagging them with a
|
||
|
number.
|
||
|
* You can share windows between views by tagging them with more than one
|
||
|
number.
|
||
|
* You can move between views, hiding the windows, you do not want to see, and
|
||
|
showing those, you want to see, by pressing a simple hotkey.
|
||
|
|
||
|
|
||
|
### Installing and running bug.n
|
||
|
|
||
|
#### Requirements
|
||
|
|
||
|
* Microsoft Windows 2000 or higher
|
||
|
|
||
|
If running bug.n from source as a script:
|
||
|
|
||
|
* [AutoHotkey](http://ahkscript.org/download/)
|
||
|
|
||
|
There is no installation wizard for bug.n. If you downloaded the repository
|
||
|
from https://github.com/fuhsjr00/bug.n[GitHub] as a zip file and unpacked it,
|
||
|
you should be able to run either the executbale as it is or the main script
|
||
|
(src\Main.ahk) with http://ahkscript.org/download/[AutoHotkey].
|
||
|
|
||
|
bug.n stores the session data (configuration, layout, window states and log) to
|
||
|
the user's APPDATA directory, e. g. C:\Users\joten\AppData\Roaming\bug.n.
|
||
|
|
||
|
Please see the [documentation](./doc) or the [Wiki](./wiki) for more
|
||
|
information on installing and running, customizing and using bug.n and for a
|
||
|
list of changes made with the current version, in particular the changes in the
|
||
|
user interface (configuration variables and hotkeys).
|
||
|
|
||
|
|
||
|
### License
|
||
|
|
||
|
bug.n is licensed under the GNU General Public License version 3. Please see
|
||
|
the [LICENSE file](./LICENSE.md) for the full license text.
|
||
|
|
||
|
|
||
|
### Credits
|
||
|
|
||
|
bug.n and its documentation is written by Joshua Fuhs and joten, but some
|
||
|
source was copied from the AutoHotkey forum
|
||
|
(http://www.autohotkey.com/forum). These are explicitly marked in the source
|
||
|
code at the end of the appropriate section. Additionally the following listing
|
||
|
summarizes these sources (of ideas or code):
|
||
|
|
||
|
#### Patch ideas
|
||
|
|
||
|
* pitkali (http://pitkali.info/bugn):
|
||
|
* Sync window arrays on fussy events and unknown window ids
|
||
|
* Dialog detection upon manage
|
||
|
* Regular expression support in rules
|
||
|
* Window information handling patches
|
||
|
* memory leaks
|
||
|
* flickering windows
|
||
|
|
||
|
#### Ideas or concepts
|
||
|
|
||
|
* suckless.org: [dwm](http://dwm.suckless.org)
|
||
|
* jgpaiva: [GridMove](http://jgpaiva.donationcoders.com/gridmove.html)
|
||
|
* Lexikos: [WindowPad - multi-monitor window-moving tool](http://www.autohotkey.com/forum/topic21703.html)
|
||
|
|
||
|
#### Code snippets
|
||
|
|
||
|
* fures: [System + Network monitor - with net history graph](http://www.autohotkey.com/community/viewtopic.php?p=260329)
|
||
|
* maestrith: [Script Writer](http://www.autohotkey.net/~maestrith/Script Writer/)
|
||
|
* PhiLho: [AC/Battery status](http://www.autohotkey.com/forum/topic7633.html)
|
||
|
* Pillus: [System monitor (HDD/Wired/Wireless) using keyboard LEDs](http://www.autohotkey.com/board/topic/65308-system-monitor-hddwiredwireless-using-keyboard-leds/)
|
||
|
* Sean:
|
||
|
* [CPU LoadTimes](http://www.autohotkey.com/forum/topic18913.html)
|
||
|
* [Network Download/Upload Meter](http://www.autohotkey.com/community/viewtopic.php?t=18033)
|
||
|
* SKAN:
|
||
|
* [Crazy Scripting : Quick Launcher for Portable Apps](http://www.autohotkey.com/forum/topic22398.html)
|
||
|
* [HDD Activity Monitoring LED](http://www.autohotkey.com/community/viewtopic.php?p=113890&sid=64d9824fdf252697ff4d5026faba91f8#p113890)
|
||
|
* [How to Hook on to Shell to receive its messages?](http://www.autohotkey.com/forum/viewtopic.php?p=123323#123323)
|
||
|
* Unambiguous: [Re-use WIN+L as a hotkey in bug.n](http://www.autohotkey.com/community/viewtopic.php?p=500903&sid=eb3c7a119259b4015ff045ef80b94a81#p500903)
|