ethanid / edwm Goto Github PK
View Code? Open in Web Editor NEWEthan's dynamic window manager
License: MIT License
Ethan's dynamic window manager
License: MIT License
edwm - Ethan's dynamic window manager ============================ edwm is a fork of dwm, an extremely fast, small, and dynamic window manager for X. edwm has all of the good stuff like Xresources support, gaps and swallowing prepatched into it while still being minimal and sensible keybindings for dvorak users. Patches / features ------------ [x] actualfullscreen [x] alwayscenter [x] bottomstack - layout selectable with [Alt]+[o] [x] centeredwindowname [x] cfacts - resizing slaves [x] combo - easily select multiple tags by holding MOD and pressing multiple tags at once [x] cropwindows - ability to crop poorly framed windows by resizing and floating them in place [ ] exresize - resizing floating windows with keyboard [x] fibonacci - layout that is the "neofetch" of the dwm world; not practical but looks awesome [ ] focusmaster - gives a "center" to your workflow by letting you quickly jump to the master client [x] fullgaps [x] horizontal grid - layout [x] layoutmenu - rarely used but can help jog memory for layouts and is consistant with edwm being mostly mouse-compatable [ ] mark - mark client windows like in vim [ ] movestack - move clients in stack [x] namedscratchpads - most extensible scratchpads [ ] pertag - stores facts on tag basis? [x] rmaster - swap each layout to have master on the right [x] sticky - make a client follow you through all tags [x] swallow - replaces terminal with program it launches [x] swaptags - i3 tag swapping [x] warp - warps cursor to newly selected screen [x] resizehints = 0; No wasted space [x] xresources Purposefully excluded patches ------------ * alpha * alternativetags * anybar - dwm already provides a beatiful minimal statusbar that is easily scripted for * attachaside * barpadding - wastes (too much) space * clientopacity * cmdcustomize - edwm uses xresources for colors so command options are superflous * colorbar - is this compatible with xresources patch? * defaulttransparency * dmenumatchtop - dmenu is best with the center patch so it appears where your eyes are * gaps - inferior to fullgaps since it has no outer gaps * fullscreen - actualfullscreen fills this function * gestures - mouse support is nice for resizing but is clunky for full control * hide vacant tags * historical * holdbar - provides little space gain for the sacrifice of not having a constantly-viewable bar * keycodes - translating keysyms into keycodes is a pain * keymodes - similar to qutebrowser's normal and insert mode; another layer of complexity that you forget about and end up messing up your commands * launcher - just use dmenu! * leftlayout - if the layout symbol is on the left, when it changes it's size it moves all of the tags right or left * moveresize - I believe mfacts provides the same feature * movethrow - use case too rare * mpdcontrol - just bind to mpc commands * multikey - this sticky key functionality is worse than useless; just bind a new keybinding to a different key or with a modifier instead of hitting a key *twice* * scratchpad * onlyquitonempty - this patch is being a pain compiling against the latest version; a prompt with dmenu can be prepended to the quit command to prevent mistakes * Pango - ttf-font-awesome works fine without it * restartsig - just use `ssh-agent dwm` in your .xinitrc * ru_gaps * schemeSwitch * script_tags - we use the dwm bar * setborderpx - when would you ever want to dynamically change the border size * showselmon - awesome patch but I don't use multiple monitors; if you do, let me know and I'll include the patch * obey all sizehints - beats the point of a tiling wm * smartborders - borders are useful to distinguish selected window * systray - purpose better acheived w/ keybindings and scripts * tab - ugly and is like tags within tags; too much abstraction Requirements ------------ In order to build dwm you need the Xlib header files and XMenu (https://github.com/phillbush/xmenu). Installation ------------ Edit config.mk to match your local setup (dwm is installed into the /usr/local namespace by default). Edit config.h to use your preferred programs and your bindings. Afterwards enter the following command to build and install dwm (if necessary as root): make clean install Running dwm ----------- Add the following line to your .xinitrc to start dwm using startx: if [ "$(tty)" != "/dev/tty2" ]; then #dwm-statusbar-daemon & # run your statusbar daemon and notification daemon in the background here # eg. #dwm-statusbar-daemon & #dunst & exec dwm In order to connect dwm to a specific display, make sure that the DISPLAY environment variable is set correctly, e.g.: DISPLAY=foo.bar:1 exec dwm (This will start dwm on display :1 of the host foo.bar.) Configuration ------------- The configuration of dwm is done by editing the default config.h and (re)compiling the source code.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.