bug.n/README.md

127 lines
5.3 KiB
Markdown
Raw Normal View History

## 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)