Git Product home page Git Product logo

dwm-titus's Introduction

dwm - dynamic window manager

dwm is an extremely fast, small, and dynamic window manager for X.

This is my personal fork with following patches:

  • alwayscenter
  • alwaysfullscreen
  • auto start
  • cfacts
  • chatterino bottom
  • cool autostart
  • fakefullscreen client (with resize fix for chrome-based browsers + noborder fix)
  • multikeycode
  • movestack
  • noborder (floating + border flicker fix)
  • pertag
  • placemouse
  • resizepoint
  • statuscmd
  • swallow
  • switchtag
  • systray
  • true fullscreen
  • hide vacant tags
  • warp v2
  • winicon

Some patches are rewritten or modified to work together.

Requirements

In order to build dwm you need the Xlib header files.

Installation

Edit config.mk to match your local setup (dwm is installed into the /usr/local namespace by default).

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:

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

In order to display status info in the bar, you can do something like this in your .xinitrc:

while xsetroot -name "`date` `uptime | sed 's/.*,//'`"
do
	sleep 1
done &
exec dwm

Configuration

The configuration of dwm is done by creating a custom config.h and (re)compiling the source code.

dwm-titus's People

Contributors

4eck-qed avatar antunnitraj avatar blusewill avatar christitustech avatar fesowowako avatar promaster-4 avatar salehabdullah216 avatar steavengameryt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dwm-titus's Issues

Consider using dwmblocks instead of xsetroot

Hey Titus, not an issue per se, but using xsetroot (and trap) is a pretty clunky way of getting a status bar inside dwm. I'd recommend using dwmblocks-async, which allows for each block to have a separate update interval, clickable status messages, and signalling via kill for immediate updates (like a volume percentage).

For some examples you can see my statusbar scripts here, as well as my custom build of dwmblocks-async here. Luke Smith and the creator of dwmblocks-async both also have some status bar scripts you could take a look at.

I've also gotten togglable scripts that let you see different things working using temp files, with a script that looks something like this:

#!/bin/sh

# shellcheck disable=SC2015

ALTERNATE_FILE="/tmp/blocks_system"

case "$BLOCK_BUTTON" in
    1) [ -f "$ALTERNATE_FILE" ] && rm "$ALTERNATE_FILE" || touch "$ALTERNATE_FILE" ;;
    3) setsid -f "$TERMINAL" -e htop ;;
    6) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;;
esac

if [ -f "$ALTERNATE_FILE" ]; then
    value=$(top -b -n 1 | awk '/%Cpu\(s\)/{print int($2)"%"}')
    icon="<U+E266>"
else
    value=$(free -h | awk '/Mem/ {print $3"/"$2}' | sed 's/Gi/G/g; s/Mi/M/g')
    icon="<U+EFC5>"
fi

echo "$icon $value"

Preview

missing some X11 deps..?

On Debian 11 testing,
After installing libx11-dev, running make clean install
I get this error:

~/dwm-titus (main) [2]> make clean install
rm -f dwm drw.o dwm.o util.o dwm-6.3.tar.gz
dwm build options:
CFLAGS   = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os -I/usr/X11R6/include -I/usr/include/freetype2 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=200809L -DVERSION="6.3" -DXINERAMA
LDFLAGS  = -L/usr/X11R6/lib -lX11 -lXinerama -lfontconfig -lXft -lX11-xcb -lxcb -lxcb-res 
CC       = cc
cc -c -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os -I/usr/X11R6/include -I/usr/include/freetype2 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=200809L -DVERSION=\"6.3\" -DXINERAMA drw.c
drw.c:6:10: fatal error: X11/Xft/Xft.h: No such file or directory
    6 | #include <X11/Xft/Xft.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:18: drw.o] Error 1

The config file is as default.
Also tried changing to another directory from /usr/local/ for the prefix and still get the same error.

Update: changed the location to X11 as

X11INC = /usr/include/X11
X11LIB = /usr/lib/x86_64-linux-gnu

Still getting that same error

status bar

the font is big and it returns random symbols instead of digits next to each icon

dwm-fakefullscreen Patch does not work.

OS : Debian GNU/Linux 12 (bookworm) x86_64
Kernel : 6.1.0-10-amd64

I am compiling this dwm configuration today, and I found out that dwm-fakefullscreen does not work until I did a repatch on the configuration.

[QUESTION] Prerequisites

Since this is only as I suppose the DWM configurations, what is needed as prerequisites to have it run as it does for you?

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.