Giter Club home page Giter Club logo

dwm's Introduction

About this fork

Warning

My changes to dwm is in a different branch, with the suckless branch containing the updated upstream code.

Whenever I pull the updates from suckless.org, I rebase my changes onto the suckless branch. So my commits always stays on top of the upstream code. However, the commits will be modified (new commit hash) every time I update, which could be quite annoying if anyone including me want to keep track on a specific commit.

I will force push until either I found out a better way to maintain the different patches or, not quite possibly, anyone else wants to fork and contribute to my patched dwm.

Patches

You can check the first few dozens of commits in the git repo for the patches I made.

Something worth mentioning:

A UNIVERSAL, layout-independent gaps patch.

That is, you don't have to change any layouts to make them show window gaps!

Kinda hacky (not that much). I did two things to produce gaps between windows and window-monitor:

  1. Adding a margin around every tiled window.
  2. Adding a padding to the whole monitor area.

The step 1 will almost finish the job, but the gap between windows will be 2 times the margin, while the outer gap between window and monitor bezel will only be equal to the margin, only half of the former. Thus in the step 2, I added a padding, equal to the margin, to the monitor, which effectively made the outer gap also 2 times the margin.

But, I think it is in someway better than to modify EVERY layout patch.

Status bar patches

Clickable status bar

This is based on the statuscmd patch

You can add \000 to \017 in the xsetroot command to specify clickable areas.

Once you click on one area following \0NN, the script statuscmd will be called with hex value of NN as the first argument.

E.g. If you

xsetroot -name " a $(printf "\001") b "

Then, Status bar shows a b. Click on b with left button, then dwm will execute the command BUTTON=1 <statuscmd_script> 1.

Base-8 color on status bar

This is based on the statuscolors patch

You can add \020 to \037 in the xsetroot command to specify different colors:

  • \020 to \027 specifies foreground color (color 8 to color 15, normally they are bright variants)
  • \030 to \037 specifies background color (color 0 to color 7)

E.g. If you

xsetroot -name " a $(printf "\021\033") b "

Status bar shows a b, with b in red color and yellow background.

Other patches:

These are the patches I applies with few or no modifications:

Key/mouse bindings

  • Only window manger related keybindings are in config.h file, like tag/client management.
  • Other window manager independent key bindings (such as application launching) are in sxhkd configuration in my dotfiles repo.
  • Mouse binding on status bar is dealt with dwm-status script in my dotfiles repo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.