DWMยค
Patchesยค
These are my current patches:
$ tree ~/.config/dwm/patches
/home/gk/.config/dwm/patches
โโโ 0001-dwm-cyclelayouts-20180524-6.2.diff
โโโ 01_dwm-alwayscenter-20200625-f04cac6.diff
โโโ 02_dwm-columns-6.0.diff
โโโ 03-dwm-ewmhtags-20180101-db22360.diff
โโโ 04-dwm-gridmode-20170909-ceac8c9.diff
โโโ 05-dwm-focusonnetactive-6.2.diff
โโโ 06-dwm-autostart-20210120-cb3f58a.diff
โโโ 07-dwm-xfce4-panel-20210606-67d76bd.diff
โโโ 08-dwm-pertag-20200914-61bb8b2.diff
โโโ 09-dwm-setborderpx-6.2.diff
โโโ 09-dwm-vanitygaps-20190508-6.2.diff
โโโ 10-dwm-noborderfloatingfix-6.2.diff
โโโ dwm-xfce4-panel-20210701-67d76bd.diff
0 directories, 13 files
xfce4-panelยค
The statusbar is from myself, got accepted by the suckless guys as official patch (hooray).
I made it because
- I wanted a systray but the official systray patch is massive and collided with other patches, e.g. statuscolors if I remember correctly
- Also statuscolors made dwm eat CPU, strangely, became often visible in htop - which is not suckless.
Designยค
It works by simple starting the panel as a normal window - but detecting it by window class name and moving it to the top right position, plus preventing it showing up in the tag indicators and at cyclewindow actions. See the diff here.
Here is a description of the ride towards it...
Hacking DWM: Xephyrยค
xnest/Xephyr is totally amazing and one of the many reasons I prefer X11.
Important
Using Xephyr you can test all dwm patches w/o having to restart the actual one. This is far more convenient than switching back and forth between different Xsessions.
This
$ cat /home/gk/bin/xnest
#!/usr/bin/env bash
Xephyr -br -ac -noreset -screen 1800x1000 :1 &
sleep 1
DISPLAY=:1 "${1:-dwm}"
allows to start the full Xserver with window manager in a window - and with ctrl-shift it gets ALL keyboard events, incl. shortcuts of the outer DWM.
Only things not working
- picom - but this you can test anyway nicely outside, did not dig into getting it up
- xfce4-panel - unless I kill it outside before starting xnest:
Drag and Dropยค
Not using a Desktop Environment but Window Manager only requires some integration for drag and drop, which you need all the time in the age of web based services.
dragon is the solution, together with a little xdotool/scrot hack of mine:
Here the script:
$ bat -f /home/gk/bin/drag_into
$ bat -f /home/gk/bin/drag_into
[38;5;238mโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[0m
[38;5;238mโ [0mFile: [1m/home/gk/bin/drag_into[0m
[38;5;238mโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[0m
[38;5;238m 1[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101m!/usr/bin/env bash[0m
[38;5;238m 2[0m [38;5;238mโ[0m [38;2;102;217;239mset[0m[38;2;255;255;255m [0m[38;2;253;151;31m-[0m[38;2;253;151;31mx[0m
[38;5;238m 3[0m [38;5;238mโ[0m [38;2;255;255;255mdoc[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m0[0m[38;2;230;219;116m <filename|'shot'>[0m
[38;5;238m 4[0m [38;5;238mโ[0m
[38;5;238m 5[0m [38;5;238mโ[0m [38;2;230;219;116mDrags a given file to where the mouse is using dragon. Click to drop it (anywere).[0m
[38;5;238m 6[0m [38;5;238mโ[0m [38;2;230;219;116mIf filename is 'shot' then the file will be a shot of a an area to be selected.[0m
[38;5;238m 7[0m [38;5;238mโ[0m [38;2;255;255;255m"[0m
[38;5;238m 8[0m [38;5;238mโ[0m
[38;5;238m 9[0m [38;5;238mโ[0m [38;2;255;255;255mcmd_shot[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mshot[0m[38;2;255;255;255m"[0m
[38;5;238m 10[0m [38;5;238mโ[0m [38;2;255;255;255mfile[0m[38;2;249;38;114m=[0m
[38;5;238m 11[0m [38;5;238mโ[0m
[38;5;238m 12[0m [38;5;238mโ[0m [38;2;166;226;46mexit_help[0m[38;2;255;255;255m [0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m[38;2;255;255;255m [0m[38;2;102;217;239mecho[0m[38;2;255;255;255m [0m[38;2;253;151;31m-[0m[38;2;253;151;31me[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mdoc[0m[38;2;255;255;255m"[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;102;217;239mexit[0m[38;2;255;255;255m 1[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;255;255;255m}[0m
[38;5;238m 13[0m [38;5;238mโ[0m
[38;5;238m 14[0m [38;5;238mโ[0m [38;2;166;226;46mselect_shot_area[0m[38;2;255;255;255m [0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
[38;5;238m 15[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;124;120;101m#[0m[38;2;124;120;101m create screen shot [0m
[38;5;238m 16[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mnotify-send[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mSelect area - we'll shoot it and drag to where the mouse is.[0m[38;2;255;255;255m"[0m
[38;5;238m 17[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mHOME[0m[38;2;230;219;116m/Pictures/shots/[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;102;217;239mexit[0m[38;2;255;255;255m 1[0m
[38;5;238m 18[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mrm[0m[38;2;253;151;31m -[0m[38;2;253;151;31mf[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mlatest.png[0m[38;2;255;255;255m"[0m
[38;5;238m 19[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;124;120;101m#[0m[38;2;124;120;101m the cp we do to have convenient cp of always same files into images dirs:[0m
[38;5;238m 20[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mscrot[0m[38;2;253;151;31m -[0m[38;2;253;151;31ms[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%Y-%m-%d_$wx$h_scrot.png[0m[38;2;255;255;255m'[0m[38;2;253;151;31m -[0m[38;2;253;151;31me[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mln -s $f latest.png; cp $f last.png[0m[38;2;255;255;255m'[0m
[38;5;238m 21[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mfile[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m`[0m[38;2;255;255;255mreadlink[0m[38;2;230;219;116m latest.png[0m[38;2;230;219;116m`[0m[38;2;255;255;255m"[0m
[38;5;238m 22[0m [38;5;238mโ[0m [38;2;255;255;255m}[0m
[38;5;238m 23[0m [38;5;238mโ[0m
[38;5;238m 24[0m [38;5;238mโ[0m [38;2;166;226;46mmain[0m[38;2;255;255;255m [0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
[38;5;238m 25[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mtest[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m[38;2;255;255;255m == [0m[38;2;255;255;255m'[0m[38;2;230;219;116m-t[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;249;38;114m&&[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
[38;5;238m 26[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mnotify-send[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mSleeping [0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;230;219;116m seconds before shot...[0m[38;2;255;255;255m"[0m
[38;5;238m 27[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255msleep[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m
[38;5;238m 28[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;102;217;239mshift[0m[38;2;255;255;255m 2[0m
[38;5;238m 29[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255m}[0m
[38;5;238m 30[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mfile[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m
[38;5;238m 31[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mtest[0m[38;2;253;151;31m -[0m[38;2;253;151;31mz[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mfile[0m[38;2;255;255;255m"[0m[38;2;253;151;31m -[0m[38;2;253;151;31mo[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mfile[0m[38;2;255;255;255m"[0m[38;2;255;255;255m == [0m[38;2;255;255;255m"[0m[38;2;230;219;116m-h[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m&&[0m[38;2;255;255;255m [0m[38;2;255;255;255mexit_help[0m
[38;5;238m 32[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;102;217;239meval[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;255;255;255mxdotool[0m[38;2;230;219;116m getmouselocation[0m[38;2;253;151;31m --[0m[38;2;253;151;31mshell[0m[38;2;230;219;116m)[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;124;120;101m#[0m[38;2;124;120;101m into $X and $Y[0m
[38;5;238m 33[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mtest[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mfile[0m[38;2;255;255;255m"[0m[38;2;255;255;255m == [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mcmd_shot[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m&&[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m[38;2;255;255;255m [0m[38;2;255;255;255mselect_shot_area[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;249;38;114mreturn[0m[38;2;255;255;255m 1[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;255;255;255m}[0m
[38;5;238m 34[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;255;255;255m [0m[38;2;253;151;31m-[0m[38;2;253;151;31mx[0m
[38;5;238m 35[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mkillall[0m[38;2;255;255;255m dragon [0m[38;2;190;132;255m2[0m[38;2;249;38;114m>[0m[38;2;255;255;255m/dev/null [0m[38;2;124;120;101m#[0m[38;2;124;120;101m No accidential drops of wrong items ...[0m
[38;5;238m 36[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;124;120;101m#[0m[38;2;124;120;101mdragon --and-exit "$file" &[0m
[38;5;238m 37[0m [38;5;238mโ[0m [38;2;255;255;255m dragon [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mfile[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m&[0m[38;2;255;255;255m [0m[38;2;124;120;101m#[0m[38;2;124;120;101m when the target is not visible we have a hard time[0m
[38;5;238m 38[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;124;120;101m#[0m[38;2;124;120;101m wait for dragon window to show up:[0m
[38;5;238m 39[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;249;38;114mwhile[0m[38;2;255;255;255m [0m[38;2;255;255;255mtrue[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mdo[0m
[38;5;238m 40[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mxid[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;255;255;255mxdotool[0m[38;2;230;219;116m search[0m[38;2;253;151;31m --[0m[38;2;253;151;31monlyvisible[0m[38;2;253;151;31m --[0m[38;2;253;151;31mclass[0m[38;2;230;219;116m dragon[0m[38;2;230;219;116m [0m[38;2;249;38;114m|[0m[38;2;230;219;116m [0m[38;2;255;255;255mhead[0m[38;2;253;151;31m -[0m[38;2;253;151;31mn[0m[38;2;230;219;116m 2[0m[38;2;230;219;116m)[0m[38;2;255;255;255m"[0m
[38;5;238m 41[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mtest[0m[38;2;253;151;31m -[0m[38;2;253;151;31mz[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mxid[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;249;38;114mbreak[0m
[38;5;238m 42[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255msleep[0m[38;2;255;255;255m 0.05[0m
[38;5;238m 43[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;249;38;114mdone[0m
[38;5;238m 44[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;124;120;101m#[0m[38;2;124;120;101m now click the dragon window and stay on the button:[0m
[38;5;238m 45[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mxdotool[0m[38;2;255;255;255m mousemove[0m[38;2;253;151;31m --[0m[38;2;253;151;31msync[0m[38;2;253;151;31m -[0m[38;2;253;151;31mw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mxid[0m[38;2;255;255;255m"[0m[38;2;255;255;255m 1 1 mousedown 1 mousemove [0m[38;2;255;255;255m$[0m[38;2;255;255;255mX[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mY[0m[38;2;255;255;255m [0m
[38;5;238m 46[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255mnotify-send[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mClick to drop [0m[38;2;255;255;255m$[0m[38;2;255;255;255mfile[0m[38;2;230;219;116m or hit escape. We will kill the dragon window in a minute... [0m[38;2;255;255;255m"[0m
[38;5;238m 47[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255m([0m[38;2;255;255;255m [0m[38;2;255;255;255msleep[0m[38;2;255;255;255m 60[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;255;255;255mxkill[0m[38;2;253;151;31m -[0m[38;2;253;151;31mid[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mxid[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;249;38;114m&[0m
[38;5;238m 48[0m [38;5;238mโ[0m [38;2;255;255;255m}[0m
[38;5;238m 49[0m [38;5;238mโ[0m
[38;5;238m 50[0m [38;5;238mโ[0m [38;2;255;255;255mmain[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
[38;5;238m 51[0m [38;5;238mโ[0m
[38;5;238mโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[0m
I.e.: Hotkey to start script -> select area -> click into drop area. Done.
It uses scrot to make a screenshot of a selected area, then dragon to create a drag window top left, then xdotool to click and drag that to the point where you click.
Servicesยค
Via the autostart patch I start these:
$ bat -f /home/gk/.config/dwm/autostart.sh
$ bat -f /home/gk/.config/dwm/autostart.sh
[38;5;238mโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[0m
[38;5;238mโ [0mFile: [1m/home/gk/.config/dwm/autostart.sh[0m
[38;5;238mโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[0m
[38;5;238m 1[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101m!/bin/bash[0m
[38;5;238m 2[0m [38;5;238mโ[0m [38;2;255;255;255mhere[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;166;226;46mbuiltin[0m[38;2;230;219;116m cd [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;255;255;255mdirname[0m[38;2;230;219;116m [0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mBASH_SOURCE[0m[38;2;255;255;255m[[0m[38;2;190;132;255m0[0m[38;2;255;255;255m][0m[38;2;230;219;116m}[0m[38;2;230;219;116m)[0m[38;2;255;255;255m"[0m[38;2;249;38;114m;[0m[38;2;230;219;116m [0m[38;2;255;255;255mpwd[0m[38;2;230;219;116m)[0m[38;2;255;255;255m"[0m
[38;5;238m 3[0m [38;5;238mโ[0m
[38;5;238m 4[0m [38;5;238mโ[0m [38;2;102;217;239mfunction[0m[38;2;255;255;255m [0m[38;2;166;226;46mrun[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
[38;5;238m 5[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;249;38;114mif[0m[38;2;255;255;255m [0m[38;2;249;38;114m![0m[38;2;255;255;255m [0m[38;2;255;255;255mpgrep[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;255;255;255mbasename[0m[38;2;230;219;116m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m[38;2;230;219;116m)[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m;[0m
[38;5;238m 6[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;249;38;114mthen[0m
[38;5;238m 7[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;249;38;114m&[0m
[38;5;238m 8[0m [38;5;238mโ[0m [38;2;255;255;255m [0m[38;2;249;38;114mfi[0m
[38;5;238m 9[0m [38;5;238mโ[0m [38;2;255;255;255m}[0m
[38;5;238m 10[0m [38;5;238mโ[0m
[38;5;238m 11[0m [38;5;238mโ[0m [38;2;255;255;255m$[0m[38;2;255;255;255mHOME[0m[38;2;255;255;255m/bin/X11_setup.sh[0m
[38;5;238m 12[0m [38;5;238mโ[0m
[38;5;238m 13[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "dex $HOME/.config/autostart/arcolinux-welcome-app.desktop"[0m
[38;5;238m 14[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "xrandr --output VGA-1 --primary --mode 1360x768 --pos 0x0 --rotate normal"[0m
[38;5;238m 15[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "xrandr --output HDMI2 --mode 1920x1080 --pos 1920x0 --rotate normal --output HDMI1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output VIRTUAL1 --off"[0m
[38;5;238m 16[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun xrandr --output eDP-1 --primary --mode 1368x768 --pos 0x0 --rotate normal --output DP-1 --off --output HDMI-1 --off --output DP-2 --off --output HDMI-2 --off[0m
[38;5;238m 17[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun xrandr --output LVDS1 --mode 1366x768 --output DP3 --mode 1920x1080 --right-of LVDS1[0m
[38;5;238m 18[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun xrandr --output DVI-I-0 --right-of HDMI-0 --auto[0m
[38;5;238m 19[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun xrandr --output DVI-1 --right-of DVI-0 --auto[0m
[38;5;238m 20[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun xrandr --output DVI-D-1 --right-of DVI-I-1 --auto[0m
[38;5;238m 21[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun xrandr --output HDMI2 --right-of HDMI1 --auto[0m
[38;5;238m 22[0m [38;5;238mโ[0m
[38;5;238m 23[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "pasystray"[0m
[38;5;238m 24[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mnm-applet[0m[38;2;255;255;255m"[0m
[38;5;238m 25[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mpamac-tray[0m[38;2;255;255;255m"[0m
[38;5;238m 26[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mvariety[0m[38;2;255;255;255m"[0m
[38;5;238m 27[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mxfce4-power-manager[0m[38;2;255;255;255m"[0m
[38;5;238m 28[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "blueberry-tray"[0m
[38;5;238m 29[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116m/usr/lib/xfce4/notifyd/xfce4-notifyd[0m[38;2;255;255;255m"[0m
[38;5;238m 30[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116m/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1[0m[38;2;255;255;255m"[0m
[38;5;238m 31[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mnumlockx on[0m[38;2;255;255;255m"[0m
[38;5;238m 32[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mhere[0m[38;2;230;219;116m/cpu_mon.py[0m[38;2;255;255;255m"[0m
[38;5;238m 33[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "volumeicon"[0m
[38;5;238m 34[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "$HOME/.config/dwm/status.py" # restarting:[0m
[38;5;238m 35[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m sxhkd[0m
[38;5;238m 36[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun st[0m
[38;5;238m 37[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mhere[0m[38;2;255;255;255m/panel.sh[0m
[38;5;238m 38[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m picom[0m
[38;5;238m 39[0m [38;5;238mโ[0m [38;2;255;255;255mrun[0m[38;2;255;255;255m /usr/lib64/xfce4/notifyd/xfce4-notifyd[0m
[38;5;238m 40[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101m collides with panel setup when overlapping in time:[0m
[38;5;238m 41[0m [38;5;238mโ[0m [38;2;255;255;255m([0m[38;2;255;255;255m [0m[38;2;255;255;255msleep[0m[38;2;255;255;255m 4[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;255;255;255mxrdb[0m[38;2;253;151;31m -[0m[38;2;253;151;31mload[0m[38;2;255;255;255m .config/st_theme/Xresources[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;255;255;255m)[0m
[38;5;238m 42[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mpicom -b --config ~/.config/arco-dwm/picom.conf &[0m
[38;5;238m 43[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "nitrogen --restore"[0m
[38;5;238m 44[0m [38;5;238mโ[0m
[38;5;238m 45[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101m this is run every second![0m
[38;5;238m 46[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101m( while true; do sleep 4; copyq; done ) & # our clip board science[0m
[38;5;238m 47[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101m run "copyq" # autostarts [0m
[38;5;238m 48[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "conky -c $HOME/.config/dwm/system-overview-conky"[0m
[38;5;238m 49[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101myou can set wallpapers in themes as well[0m
[38;5;238m 50[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mfeh --bg-fill /usr/share/backgrounds/arcolinux/arco-wallpaper.jpg &[0m
[38;5;238m 51[0m [38;5;238mโ[0m
[38;5;238m 52[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun applications from startup[0m
[38;5;238m 53[0m [38;5;238mโ[0m
[38;5;238m 54[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "insync start"[0m
[38;5;238m 55[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "spotify"[0m
[38;5;238m 56[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "ckb-next -b"[0m
[38;5;238m 57[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "discord"[0m
[38;5;238m 58[0m [38;5;238mโ[0m [38;2;124;120;101m#[0m[38;2;124;120;101mrun "telegram-desktop"[0m
[38;5;238mโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[0m
No Gaps - but Gapsยค
Vanitygaps is bloated plus I wanted a prominent active window indicator.
Solution: I simply use thick borders and have them black for the non active window and white for the active one via dwm, then set them to 0.7 transparent via picom:
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
frame-opacity = 0.7;
=> That effects black far more than white.
I.e. there are actually no gaps - but the illusion is given.
Misc Tipsยค
- On a fresh xfce spin fedora use
lxappearance
for gtk theming. - Mouse cursor size: .Xresources -> Xcursor.size 40
Configยค
For varying shortcuts I don't recompile dwm but use sxhkdrc:
$ bat -f /home/gk/.config/sxhkd/sxhkdrc
$ bat -f /home/gk/.config/sxhkd/sxhkdrc
[38;5;238mโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[0m
[38;5;238mโ [0mFile: [1m/home/gk/.config/sxhkd/sxhkdrc[0m
[38;5;238mโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[0m
[38;5;238m 1[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 2[0m [38;5;238mโ[0m [38;2;248;248;242m# KEYBOARD BINDINGS FOR ANY TWM[0m
[38;5;238m 3[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 4[0m [38;5;238mโ[0m
[38;5;238m 5[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 6[0m [38;5;238mโ[0m [38;2;248;248;242m# SUPER + FUNCTION KEYS[0m
[38;5;238m 7[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 8[0m [38;5;238mโ[0m [38;2;248;248;242m# Vivaldi[0m
[38;5;238m 9[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F1[0m
[38;5;238m 10[0m [38;5;238mโ[0m [38;2;248;248;242m vivaldi-stable[0m
[38;5;238m 11[0m [38;5;238mโ[0m
[38;5;238m 12[0m [38;5;238mโ[0m [38;2;248;248;242m# Atom[0m
[38;5;238m 13[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F2[0m
[38;5;238m 14[0m [38;5;238mโ[0m [38;2;248;248;242m atom[0m
[38;5;238m 15[0m [38;5;238mโ[0m
[38;5;238m 16[0m [38;5;238mโ[0m [38;2;248;248;242m#Inkscape[0m
[38;5;238m 17[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F3[0m
[38;5;238m 18[0m [38;5;238mโ[0m [38;2;248;248;242m inkscape[0m
[38;5;238m 19[0m [38;5;238mโ[0m
[38;5;238m 20[0m [38;5;238mโ[0m [38;2;248;248;242m#Gimp[0m
[38;5;238m 21[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F4[0m
[38;5;238m 22[0m [38;5;238mโ[0m [38;2;248;248;242m gimp[0m
[38;5;238m 23[0m [38;5;238mโ[0m
[38;5;238m 24[0m [38;5;238mโ[0m [38;2;248;248;242m#Meld[0m
[38;5;238m 25[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F5[0m
[38;5;238m 26[0m [38;5;238mโ[0m [38;2;248;248;242m meld[0m
[38;5;238m 27[0m [38;5;238mโ[0m
[38;5;238m 28[0m [38;5;238mโ[0m [38;2;248;248;242m#Vlc[0m
[38;5;238m 29[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F6[0m
[38;5;238m 30[0m [38;5;238mโ[0m [38;2;248;248;242m vlc --video-on-top[0m
[38;5;238m 31[0m [38;5;238mโ[0m
[38;5;238m 32[0m [38;5;238mโ[0m [38;2;248;248;242m#Virtualbox[0m
[38;5;238m 33[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F7[0m
[38;5;238m 34[0m [38;5;238mโ[0m [38;2;248;248;242m virtualbox[0m
[38;5;238m 35[0m [38;5;238mโ[0m
[38;5;238m 36[0m [38;5;238mโ[0m [38;2;248;248;242m#Thunar[0m
[38;5;238m 37[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F8[0m
[38;5;238m 38[0m [38;5;238mโ[0m [38;2;248;248;242m thunar[0m
[38;5;238m 39[0m [38;5;238mโ[0m
[38;5;238m 40[0m [38;5;238mโ[0m [38;2;248;248;242m#Evolution[0m
[38;5;238m 41[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F9[0m
[38;5;238m 42[0m [38;5;238mโ[0m [38;2;248;248;242m evolution[0m
[38;5;238m 43[0m [38;5;238mโ[0m
[38;5;238m 44[0m [38;5;238mโ[0m [38;2;248;248;242m#Spotify[0m
[38;5;238m 45[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F10[0m
[38;5;238m 46[0m [38;5;238mโ[0m [38;2;248;248;242m spotify[0m
[38;5;238m 47[0m [38;5;238mโ[0m
[38;5;238m 48[0m [38;5;238mโ[0m [38;2;248;248;242m#Rofi Fullscreen[0m
[38;5;238m 49[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F11[0m
[38;5;238m 50[0m [38;5;238mโ[0m [38;2;248;248;242m rofi -show run -fullscreen[0m
[38;5;238m 51[0m [38;5;238mโ[0m
[38;5;238m 52[0m [38;5;238mโ[0m [38;2;248;248;242m#Rofi[0m
[38;5;238m 53[0m [38;5;238mโ[0m [38;2;248;248;242msuper + F12[0m
[38;5;238m 54[0m [38;5;238mโ[0m [38;2;248;248;242m rofi -show run[0m
[38;5;238m 55[0m [38;5;238mโ[0m
[38;5;238m 56[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 57[0m [38;5;238mโ[0m [38;2;248;248;242m# SUPER + ... KEYS[0m
[38;5;238m 58[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 59[0m [38;5;238mโ[0m
[38;5;238m 60[0m [38;5;238mโ[0m [38;2;248;248;242m#Atom[0m
[38;5;238m 61[0m [38;5;238mโ[0m [38;2;248;248;242msuper + e[0m
[38;5;238m 62[0m [38;5;238mโ[0m [38;2;248;248;242m atom[0m
[38;5;238m 63[0m [38;5;238mโ[0m
[38;5;238m 64[0m [38;5;238mโ[0m [38;2;248;248;242m#Browser[0m
[38;5;238m 65[0m [38;5;238mโ[0m [38;2;248;248;242msuper + w[0m
[38;5;238m 66[0m [38;5;238mโ[0m [38;2;248;248;242m vivaldi-stable[0m
[38;5;238m 67[0m [38;5;238mโ[0m
[38;5;238m 68[0m [38;5;238mโ[0m [38;2;248;248;242m#Conky-toggle[0m
[38;5;238m 69[0m [38;5;238mโ[0m [38;2;248;248;242msuper + c[0m
[38;5;238m 70[0m [38;5;238mโ[0m [38;2;248;248;242m conky-toggle[0m
[38;5;238m 71[0m [38;5;238mโ[0m
[38;5;238m 72[0m [38;5;238mโ[0m [38;2;248;248;242m#Htop[0m
[38;5;238m 73[0m [38;5;238mโ[0m [38;2;248;248;242m#super + h[0m
[38;5;238m 74[0m [38;5;238mโ[0m [38;2;248;248;242m# urxvt 'htop task manager' -e htop[0m
[38;5;238m 75[0m [38;5;238mโ[0m
[38;5;238m 76[0m [38;5;238mโ[0m [38;2;248;248;242m#arcolinux-logout[0m
[38;5;238m 77[0m [38;5;238mโ[0m [38;2;248;248;242msuper + x[0m
[38;5;238m 78[0m [38;5;238mโ[0m [38;2;248;248;242m arcolinux-logout[0m
[38;5;238m 79[0m [38;5;238mโ[0m
[38;5;238m 80[0m [38;5;238mโ[0m [38;2;248;248;242m#Rofi theme selector[0m
[38;5;238m 81[0m [38;5;238mโ[0m [38;2;248;248;242msuper + r[0m
[38;5;238m 82[0m [38;5;238mโ[0m [38;2;248;248;242m rofi-theme-selector[0m
[38;5;238m 83[0m [38;5;238mโ[0m
[38;5;238m 84[0m [38;5;238mโ[0m [38;2;248;248;242m#Urxvt[0m
[38;5;238m 85[0m [38;5;238mโ[0m [38;2;248;248;242m#super + t[0m
[38;5;238m 86[0m [38;5;238mโ[0m [38;2;248;248;242m# urxvt[0m
[38;5;238m 87[0m [38;5;238mโ[0m
[38;5;238m 88[0m [38;5;238mโ[0m [38;2;248;248;242m#Pavucontrol[0m
[38;5;238m 89[0m [38;5;238mโ[0m [38;2;248;248;242msuper + v[0m
[38;5;238m 90[0m [38;5;238mโ[0m [38;2;248;248;242m pavucontrol[0m
[38;5;238m 91[0m [38;5;238mโ[0m
[38;5;238m 92[0m [38;5;238mโ[0m [38;2;248;248;242m#Pragha[0m
[38;5;238m 93[0m [38;5;238mโ[0m [38;2;248;248;242m#super + m[0m
[38;5;238m 94[0m [38;5;238mโ[0m [38;2;248;248;242m# pragha[0m
[38;5;238m 95[0m [38;5;238mโ[0m
[38;5;238m 96[0m [38;5;238mโ[0m [38;2;248;248;242m#Termite[0m
[38;5;238m 97[0m [38;5;238mโ[0m [38;2;248;248;242msuper + Return[0m
[38;5;238m 98[0m [38;5;238mโ[0m [38;2;248;248;242m termite[0m
[38;5;238m 99[0m [38;5;238mโ[0m
[38;5;238m 100[0m [38;5;238mโ[0m [38;2;248;248;242m#Xkill[0m
[38;5;238m 101[0m [38;5;238mโ[0m [38;2;248;248;242msuper + Escape[0m
[38;5;238m 102[0m [38;5;238mโ[0m [38;2;248;248;242m xkill[0m
[38;5;238m 103[0m [38;5;238mโ[0m
[38;5;238m 104[0m [38;5;238mโ[0m [38;2;248;248;242m#Keyboard dependent[0m
[38;5;238m 105[0m [38;5;238mโ[0m [38;2;248;248;242m#termite[0m
[38;5;238m 106[0m [38;5;238mโ[0m [38;2;248;248;242msuper + KP_Enter[0m
[38;5;238m 107[0m [38;5;238mโ[0m [38;2;248;248;242m termite[0m
[38;5;238m 108[0m [38;5;238mโ[0m
[38;5;238m 109[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 110[0m [38;5;238mโ[0m [38;2;248;248;242m# SUPER + SHIFT KEYS[0m
[38;5;238m 111[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 112[0m [38;5;238mโ[0m
[38;5;238m 113[0m [38;5;238mโ[0m [38;2;248;248;242m#File-Manager[0m
[38;5;238m 114[0m [38;5;238mโ[0m [38;2;248;248;242msuper + shift + Return[0m
[38;5;238m 115[0m [38;5;238mโ[0m [38;2;248;248;242m thunar[0m
[38;5;238m 116[0m [38;5;238mโ[0m
[38;5;238m 117[0m [38;5;238mโ[0m [38;2;248;248;242m#Keyboard dependent[0m
[38;5;238m 118[0m [38;5;238mโ[0m [38;2;248;248;242m#File-Manager[0m
[38;5;238m 119[0m [38;5;238mโ[0m [38;2;248;248;242msuper + shift + KP_Enter[0m
[38;5;238m 120[0m [38;5;238mโ[0m [38;2;248;248;242m thunar[0m
[38;5;238m 121[0m [38;5;238mโ[0m
[38;5;238m 122[0m [38;5;238mโ[0m [38;2;248;248;242m#dmenu[0m
[38;5;238m 123[0m [38;5;238mโ[0m [38;2;248;248;242msuper + shift + d[0m
[38;5;238m 124[0m [38;5;238mโ[0m [38;2;248;248;242m dmenu_run -i -nb '#191919' -nf '#fea63c' -sb '#fea63c' -sf '#191919' -fn 'NotoMonoRegular:bold:pixelsize=14'[0m
[38;5;238m 125[0m [38;5;238mโ[0m
[38;5;238m 126[0m [38;5;238mโ[0m [38;2;248;248;242m#reload sxhkd:[0m
[38;5;238m 127[0m [38;5;238mโ[0m [38;2;248;248;242msuper + shift + s[0m
[38;5;238m 128[0m [38;5;238mโ[0m [38;2;248;248;242m pkill -USR1 -x sxhkd; notify-send -u critical "sxhkd config reloaded"[0m
[38;5;238m 129[0m [38;5;238mโ[0m
[38;5;238m 130[0m [38;5;238mโ[0m
[38;5;238m 131[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 132[0m [38;5;238mโ[0m [38;2;248;248;242m# CONTROL + ALT KEYS[0m
[38;5;238m 133[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 134[0m [38;5;238mโ[0m
[38;5;238m 135[0m [38;5;238mโ[0m [38;2;248;248;242m#arcolinux-welcome-app[0m
[38;5;238m 136[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + w[0m
[38;5;238m 137[0m [38;5;238mโ[0m [38;2;248;248;242m arcolinux-welcome-app[0m
[38;5;238m 138[0m [38;5;238mโ[0m
[38;5;238m 139[0m [38;5;238mโ[0m [38;2;248;248;242m#arcolinux-tweak-tool[0m
[38;5;238m 140[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + e[0m
[38;5;238m 141[0m [38;5;238mโ[0m [38;2;248;248;242m arcolinux-tweak-tool[0m
[38;5;238m 142[0m [38;5;238mโ[0m
[38;5;238m 143[0m [38;5;238mโ[0m [38;2;248;248;242m#conky-rotate[0m
[38;5;238m 144[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + Next[0m
[38;5;238m 145[0m [38;5;238mโ[0m [38;2;248;248;242m conky-rotate -n[0m
[38;5;238m 146[0m [38;5;238mโ[0m
[38;5;238m 147[0m [38;5;238mโ[0m [38;2;248;248;242m#conky-rotate[0m
[38;5;238m 148[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + Prior[0m
[38;5;238m 149[0m [38;5;238mโ[0m [38;2;248;248;242m conky-rotate -p[0m
[38;5;238m 150[0m [38;5;238mโ[0m
[38;5;238m 151[0m [38;5;238mโ[0m [38;2;248;248;242m#File-Manager[0m
[38;5;238m 152[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + b[0m
[38;5;238m 153[0m [38;5;238mโ[0m [38;2;248;248;242m thunar[0m
[38;5;238m 154[0m [38;5;238mโ[0m
[38;5;238m 155[0m [38;5;238mโ[0m [38;2;248;248;242m#Catfish[0m
[38;5;238m 156[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + c[0m
[38;5;238m 157[0m [38;5;238mโ[0m [38;2;248;248;242m catfish[0m
[38;5;238m 158[0m [38;5;238mโ[0m
[38;5;238m 159[0m [38;5;238mโ[0m [38;2;248;248;242m#Chromium[0m
[38;5;238m 160[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + g[0m
[38;5;238m 161[0m [38;5;238mโ[0m [38;2;248;248;242m chromium -no-default-browser-check[0m
[38;5;238m 162[0m [38;5;238mโ[0m
[38;5;238m 163[0m [38;5;238mโ[0m [38;2;248;248;242m#Firefox[0m
[38;5;238m 164[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + f[0m
[38;5;238m 165[0m [38;5;238mโ[0m [38;2;248;248;242m firefox[0m
[38;5;238m 166[0m [38;5;238mโ[0m
[38;5;238m 167[0m [38;5;238mโ[0m [38;2;248;248;242m#Nitrogen[0m
[38;5;238m 168[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + i[0m
[38;5;238m 169[0m [38;5;238mโ[0m [38;2;248;248;242m nitrogen[0m
[38;5;238m 170[0m [38;5;238mโ[0m
[38;5;238m 171[0m [38;5;238mโ[0m [38;2;248;248;242m#arcolinux-logout[0m
[38;5;238m 172[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + k[0m
[38;5;238m 173[0m [38;5;238mโ[0m [38;2;248;248;242m arcolinux-logout[0m
[38;5;238m 174[0m [38;5;238mโ[0m
[38;5;238m 175[0m [38;5;238mโ[0m [38;2;248;248;242m#arcolinux-logout[0m
[38;5;238m 176[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + l[0m
[38;5;238m 177[0m [38;5;238mโ[0m [38;2;248;248;242m arcolinux-logout[0m
[38;5;238m 178[0m [38;5;238mโ[0m
[38;5;238m 179[0m [38;5;238mโ[0m
[38;5;238m 180[0m [38;5;238mโ[0m [38;2;248;248;242m#Xfce4-settings-manager[0m
[38;5;238m 181[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + m[0m
[38;5;238m 182[0m [38;5;238mโ[0m [38;2;248;248;242m xfce4-settings-manager[0m
[38;5;238m 183[0m [38;5;238mโ[0m
[38;5;238m 184[0m [38;5;238mโ[0m [38;2;248;248;242m#Pulse Audio Control[0m
[38;5;238m 185[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + u[0m
[38;5;238m 186[0m [38;5;238mโ[0m [38;2;248;248;242m pavucontrol[0m
[38;5;238m 187[0m [38;5;238mโ[0m
[38;5;238m 188[0m [38;5;238mโ[0m [38;2;248;248;242m#Rofi theme selector[0m
[38;5;238m 189[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + r[0m
[38;5;238m 190[0m [38;5;238mโ[0m [38;2;248;248;242m rofi-theme-selector[0m
[38;5;238m 191[0m [38;5;238mโ[0m
[38;5;238m 192[0m [38;5;238mโ[0m [38;2;248;248;242m#Spotify[0m
[38;5;238m 193[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + s[0m
[38;5;238m 194[0m [38;5;238mโ[0m [38;2;248;248;242m spotify[0m
[38;5;238m 195[0m [38;5;238mโ[0m
[38;5;238m 196[0m [38;5;238mโ[0m [38;2;248;248;242m#Termite[0m
[38;5;238m 197[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + Return[0m
[38;5;238m 198[0m [38;5;238mโ[0m [38;2;248;248;242m st[0m
[38;5;238m 199[0m [38;5;238mโ[0m
[38;5;238m 200[0m [38;5;238mโ[0m [38;2;248;248;242m#termite[0m
[38;5;238m 201[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + t[0m
[38;5;238m 202[0m [38;5;238mโ[0m [38;2;248;248;242m termite[0m
[38;5;238m 203[0m [38;5;238mโ[0m
[38;5;238m 204[0m [38;5;238mโ[0m [38;2;248;248;242m#Vivaldi[0m
[38;5;238m 205[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + v[0m
[38;5;238m 206[0m [38;5;238mโ[0m [38;2;248;248;242m vivaldi-stable[0m
[38;5;238m 207[0m [38;5;238mโ[0m
[38;5;238m 208[0m [38;5;238mโ[0m [38;2;248;248;242m#Xfce4-appfinder[0m
[38;5;238m 209[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + a[0m
[38;5;238m 210[0m [38;5;238mโ[0m [38;2;248;248;242m xfce4-appfinder[0m
[38;5;238m 211[0m [38;5;238mโ[0m
[38;5;238m 212[0m [38;5;238mโ[0m [38;2;248;248;242m#Keyboard dependent[0m
[38;5;238m 213[0m [38;5;238mโ[0m [38;2;248;248;242m#termite[0m
[38;5;238m 214[0m [38;5;238mโ[0m [38;2;248;248;242m#ctrl + alt + KP_Enter[0m
[38;5;238m 215[0m [38;5;238mโ[0m [38;2;248;248;242m# termite[0m
[38;5;238m 216[0m [38;5;238mโ[0m
[38;5;238m 217[0m [38;5;238mโ[0m
[38;5;238m 218[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 219[0m [38;5;238mโ[0m [38;2;248;248;242m# ALT + ... KEYS[0m
[38;5;238m 220[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 221[0m [38;5;238mโ[0m
[38;5;238m 222[0m [38;5;238mโ[0m [38;2;248;248;242m##Wallpaper trash[0m
[38;5;238m 223[0m [38;5;238mโ[0m [38;2;248;248;242m#alt + t[0m
[38;5;238m 224[0m [38;5;238mโ[0m [38;2;248;248;242m# variety -t[0m
[38;5;238m 225[0m [38;5;238mโ[0m
[38;5;238m 226[0m [38;5;238mโ[0m [38;2;248;248;242m##Wallpaper next[0m
[38;5;238m 227[0m [38;5;238mโ[0m [38;2;248;248;242m#alt + n[0m
[38;5;238m 228[0m [38;5;238mโ[0m [38;2;248;248;242m# variety -n[0m
[38;5;238m 229[0m [38;5;238mโ[0m
[38;5;238m 230[0m [38;5;238mโ[0m [38;2;248;248;242m##Wallpaper previous[0m
[38;5;238m 231[0m [38;5;238mโ[0m [38;2;248;248;242m#alt + p[0m
[38;5;238m 232[0m [38;5;238mโ[0m [38;2;248;248;242m# variety -p[0m
[38;5;238m 233[0m [38;5;238mโ[0m
[38;5;238m 234[0m [38;5;238mโ[0m [38;2;248;248;242m##Wallpaper favorite[0m
[38;5;238m 235[0m [38;5;238mโ[0m [38;2;248;248;242m#alt + f[0m
[38;5;238m 236[0m [38;5;238mโ[0m [38;2;248;248;242m# variety -f[0m
[38;5;238m 237[0m [38;5;238mโ[0m
[38;5;238m 238[0m [38;5;238mโ[0m [38;2;248;248;242m##Wallpaper previous[0m
[38;5;238m 239[0m [38;5;238mโ[0m [38;2;248;248;242m#alt + Left[0m
[38;5;238m 240[0m [38;5;238mโ[0m [38;2;248;248;242m# variety -p[0m
[38;5;238m 241[0m [38;5;238mโ[0m
[38;5;238m 242[0m [38;5;238mโ[0m [38;2;248;248;242m##Wallpaper next[0m
[38;5;238m 243[0m [38;5;238mโ[0m [38;2;248;248;242m#alt + Right[0m
[38;5;238m 244[0m [38;5;238mโ[0m [38;2;248;248;242m# variety -n[0m
[38;5;238m 245[0m [38;5;238mโ[0m
[38;5;238m 246[0m [38;5;238mโ[0m [38;2;248;248;242m##Wallpaper toggle-pause[0m
[38;5;238m 247[0m [38;5;238mโ[0m [38;2;248;248;242m#alt + Up[0m
[38;5;238m 248[0m [38;5;238mโ[0m [38;2;248;248;242m# variety --toggle-pause[0m
[38;5;238m 249[0m [38;5;238mโ[0m
[38;5;238m 250[0m [38;5;238mโ[0m [38;2;248;248;242m##Wallpaper resume[0m
[38;5;238m 251[0m [38;5;238mโ[0m [38;2;248;248;242m#alt + Down[0m
[38;5;238m 252[0m [38;5;238mโ[0m [38;2;248;248;242m# variety --resume[0m
[38;5;238m 253[0m [38;5;238mโ[0m
[38;5;238m 254[0m [38;5;238mโ[0m [38;2;248;248;242m##Gmrun[0m
[38;5;238m 255[0m [38;5;238mโ[0m [38;2;248;248;242m#alt + F2[0m
[38;5;238m 256[0m [38;5;238mโ[0m [38;2;248;248;242m# gmrun[0m
[38;5;238m 257[0m [38;5;238mโ[0m
[38;5;238m 258[0m [38;5;238mโ[0m [38;2;248;248;242m##Xfce4-appfinder[0m
[38;5;238m 259[0m [38;5;238mโ[0m [38;2;248;248;242m#alt + F3[0m
[38;5;238m 260[0m [38;5;238mโ[0m [38;2;248;248;242m# xfce4-appfinder[0m
[38;5;238m 261[0m [38;5;238mโ[0m
[38;5;238m 262[0m [38;5;238mโ[0m
[38;5;238m 263[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 264[0m [38;5;238mโ[0m [38;2;248;248;242m#VARIETY KEYS WITH PYWAL[0m
[38;5;238m 265[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 266[0m [38;5;238mโ[0m
[38;5;238m 267[0m [38;5;238mโ[0m [38;2;248;248;242m#Wallpaper trash[0m
[38;5;238m 268[0m [38;5;238mโ[0m [38;2;248;248;242malt + shift + w[0m
[38;5;238m 269[0m [38;5;238mโ[0m [38;2;248;248;242m variety --selector [0m
[38;5;238m 270[0m [38;5;238mโ[0m
[38;5;238m 271[0m [38;5;238mโ[0m [38;2;248;248;242m#Wallpaper next[0m
[38;5;238m 272[0m [38;5;238mโ[0m [38;2;248;248;242malt + shift + n[0m
[38;5;238m 273[0m [38;5;238mโ[0m [38;2;248;248;242m variety -n && wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)&[0m
[38;5;238m 274[0m [38;5;238mโ[0m
[38;5;238m 275[0m [38;5;238mโ[0m [38;2;248;248;242m#Wallpaper previous[0m
[38;5;238m 276[0m [38;5;238mโ[0m [38;2;248;248;242malt + shift + p[0m
[38;5;238m 277[0m [38;5;238mโ[0m [38;2;248;248;242m variety -p && wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)&[0m
[38;5;238m 278[0m [38;5;238mโ[0m
[38;5;238m 279[0m [38;5;238mโ[0m [38;2;248;248;242m#Wallpaper favorite[0m
[38;5;238m 280[0m [38;5;238mโ[0m [38;2;248;248;242malt + shift + f[0m
[38;5;238m 281[0m [38;5;238mโ[0m [38;2;248;248;242m variety -f && wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)&[0m
[38;5;238m 282[0m [38;5;238mโ[0m
[38;5;238m 283[0m [38;5;238mโ[0m [38;2;248;248;242m#Wallpaper update[0m
[38;5;238m 284[0m [38;5;238mโ[0m [38;2;248;248;242malt + shift + u[0m
[38;5;238m 285[0m [38;5;238mโ[0m [38;2;248;248;242m wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)&[0m
[38;5;238m 286[0m [38;5;238mโ[0m
[38;5;238m 287[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 288[0m [38;5;238mโ[0m [38;2;248;248;242m# CONTROL + SHIFT KEYS[0m
[38;5;238m 289[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 290[0m [38;5;238mโ[0m
[38;5;238m 291[0m [38;5;238mโ[0m [38;2;248;248;242m#Xcfe4-TaskManager[0m
[38;5;238m 292[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + shift + Escape[0m
[38;5;238m 293[0m [38;5;238mโ[0m [38;2;248;248;242m xfce4-taskmanager[0m
[38;5;238m 294[0m [38;5;238mโ[0m
[38;5;238m 295[0m [38;5;238mโ[0m
[38;5;238m 296[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 297[0m [38;5;238mโ[0m [38;2;248;248;242m# SCREENSHOTS[0m
[38;5;238m 298[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 299[0m [38;5;238mโ[0m
[38;5;238m 300[0m [38;5;238mโ[0m [38;2;248;248;242m#Scrot[0m
[38;5;238m 301[0m [38;5;238mโ[0m [38;2;248;248;242mPrint[0m
[38;5;238m 302[0m [38;5;238mโ[0m [38;2;248;248;242m scrot 'ArcoLinux-%Y-%m-%d-%s_screenshot_$wx$h.jpg' -e 'mv $f $$(xdg-user-dir PICTURES)'[0m
[38;5;238m 303[0m [38;5;238mโ[0m
[38;5;238m 304[0m [38;5;238mโ[0m [38;2;248;248;242m#screeenshooter[0m
[38;5;238m 305[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + Print[0m
[38;5;238m 306[0m [38;5;238mโ[0m [38;2;248;248;242m xfce4-screenshooter[0m
[38;5;238m 307[0m [38;5;238mโ[0m
[38;5;238m 308[0m [38;5;238mโ[0m [38;2;248;248;242m#Gnome-Screenshot[0m
[38;5;238m 309[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + shift + Print[0m
[38;5;238m 310[0m [38;5;238mโ[0m [38;2;248;248;242m gnome-screenshot -i[0m
[38;5;238m 311[0m [38;5;238mโ[0m
[38;5;238m 312[0m [38;5;238mโ[0m
[38;5;238m 313[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 314[0m [38;5;238mโ[0m [38;2;248;248;242m# FUNCTION KEYS[0m
[38;5;238m 315[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 316[0m [38;5;238mโ[0m
[38;5;238m 317[0m [38;5;238mโ[0m [38;2;248;248;242m#xfce4-terminal dropdown[0m
[38;5;238m 318[0m [38;5;238mโ[0m [38;2;248;248;242mF12[0m
[38;5;238m 319[0m [38;5;238mโ[0m [38;2;248;248;242m xfce4-terminal --drop-down[0m
[38;5;238m 320[0m [38;5;238mโ[0m
[38;5;238m 321[0m [38;5;238mโ[0m [38;2;248;248;242m#Delete[0m
[38;5;238m 322[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + Delete[0m
[38;5;238m 323[0m [38;5;238mโ[0m [38;2;248;248;242m /usr/bin/python /usr/lib/arcologout/arcologout.py[0m
[38;5;238m 324[0m [38;5;238mโ[0m
[38;5;238m 325[0m [38;5;238mโ[0m
[38;5;238m 326[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 327[0m [38;5;238mโ[0m [38;2;248;248;242m# MULTIMEDIA KEYS[0m
[38;5;238m 328[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 329[0m [38;5;238mโ[0m
[38;5;238m 330[0m [38;5;238mโ[0m [38;2;248;248;242m#Raises volume[0m
[38;5;238m 331[0m [38;5;238mโ[0m [38;2;248;248;242mXF86AudioRaiseVolume[0m
[38;5;238m 332[0m [38;5;238mโ[0m [38;2;248;248;242m /home/gk/bin/hw audioraise[0m
[38;5;238m 333[0m [38;5;238mโ[0m [38;2;248;248;242m #amixer set Master 10%+[0m
[38;5;238m 334[0m [38;5;238mโ[0m
[38;5;238m 335[0m [38;5;238mโ[0m [38;2;248;248;242m#Lowers volume[0m
[38;5;238m 336[0m [38;5;238mโ[0m [38;2;248;248;242mXF86AudioLowerVolume[0m
[38;5;238m 337[0m [38;5;238mโ[0m [38;2;248;248;242m /home/gk/bin/hw audiolower[0m
[38;5;238m 338[0m [38;5;238mโ[0m [38;2;248;248;242m #amixer set Master 10%-[0m
[38;5;238m 339[0m [38;5;238mโ[0m
[38;5;238m 340[0m [38;5;238mโ[0m [38;2;248;248;242m#Mute[0m
[38;5;238m 341[0m [38;5;238mโ[0m [38;2;248;248;242mXF86AudioMute[0m
[38;5;238m 342[0m [38;5;238mโ[0m [38;2;248;248;242m /home/gk/bin/hw audiomute[0m
[38;5;238m 343[0m [38;5;238mโ[0m [38;2;248;248;242m #amixer -D pulse set Master 1+ toggle[0m
[38;5;238m 344[0m [38;5;238mโ[0m
[38;5;238m 345[0m [38;5;238mโ[0m [38;2;248;248;242mXF86Display[0m
[38;5;238m 346[0m [38;5;238mโ[0m [38;2;248;248;242m /home/gk/bin/hw display[0m
[38;5;238m 347[0m [38;5;238mโ[0m [38;2;248;248;242m#Playerctl works for Pragha, Spotify and others[0m
[38;5;238m 348[0m [38;5;238mโ[0m [38;2;248;248;242m#Delete the line for playerctl if you want to use mpc[0m
[38;5;238m 349[0m [38;5;238mโ[0m [38;2;248;248;242m#and replace it with the corresponding code[0m
[38;5;238m 350[0m [38;5;238mโ[0m [38;2;248;248;242m#mpc works for e.g.ncmpcpp[0m
[38;5;238m 351[0m [38;5;238mโ[0m [38;2;248;248;242m#mpc toggle[0m
[38;5;238m 352[0m [38;5;238mโ[0m [38;2;248;248;242m#mpc next[0m
[38;5;238m 353[0m [38;5;238mโ[0m [38;2;248;248;242m#mpc prev[0m
[38;5;238m 354[0m [38;5;238mโ[0m [38;2;248;248;242m#mpc stop[0m
[38;5;238m 355[0m [38;5;238mโ[0m
[38;5;238m 356[0m [38;5;238mโ[0m [38;2;248;248;242m#PLAY[0m
[38;5;238m 357[0m [38;5;238mโ[0m [38;2;248;248;242mXF86AudioPlay[0m
[38;5;238m 358[0m [38;5;238mโ[0m [38;2;248;248;242m playerctl play-pause[0m
[38;5;238m 359[0m [38;5;238mโ[0m
[38;5;238m 360[0m [38;5;238mโ[0m [38;2;248;248;242m#Next[0m
[38;5;238m 361[0m [38;5;238mโ[0m [38;2;248;248;242mXF86AudioNext[0m
[38;5;238m 362[0m [38;5;238mโ[0m [38;2;248;248;242m playerctl next[0m
[38;5;238m 363[0m [38;5;238mโ[0m
[38;5;238m 364[0m [38;5;238mโ[0m [38;2;248;248;242m#previous[0m
[38;5;238m 365[0m [38;5;238mโ[0m [38;2;248;248;242mXF86AudioPrev[0m
[38;5;238m 366[0m [38;5;238mโ[0m [38;2;248;248;242m playerctl previous[0m
[38;5;238m 367[0m [38;5;238mโ[0m
[38;5;238m 368[0m [38;5;238mโ[0m [38;2;248;248;242m#Stop[0m
[38;5;238m 369[0m [38;5;238mโ[0m [38;2;248;248;242mXF86AudioStop[0m
[38;5;238m 370[0m [38;5;238mโ[0m [38;2;248;248;242m playerctl stop[0m
[38;5;238m 371[0m [38;5;238mโ[0m
[38;5;238m 372[0m [38;5;238mโ[0m [38;2;248;248;242m#Brightness up[0m
[38;5;238m 373[0m [38;5;238mโ[0m [38;2;248;248;242m#XF86MonBrightnessUp[0m
[38;5;238m 374[0m [38;5;238mโ[0m [38;2;248;248;242m# xbacklight -inc 10[0m
[38;5;238m 375[0m [38;5;238mโ[0m
[38;5;238m 376[0m [38;5;238mโ[0m [38;2;248;248;242m##Brightness down[0m
[38;5;238m 377[0m [38;5;238mโ[0m [38;2;248;248;242m#XF86MonBrightnessDown[0m
[38;5;238m 378[0m [38;5;238mโ[0m [38;2;248;248;242m# xbacklight -dec 10[0m
[38;5;238m 379[0m [38;5;238mโ[0m
[38;5;238m 380[0m [38;5;238mโ[0m
[38;5;238m 381[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 382[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 383[0m [38;5;238mโ[0m [38;2;248;248;242m################## DESKTOP SPECIFIC ########################[0m
[38;5;238m 384[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 385[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 386[0m [38;5;238mโ[0m
[38;5;238m 387[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 388[0m [38;5;238mโ[0m [38;2;248;248;242m# CTRL + ALT KEYS[0m
[38;5;238m 389[0m [38;5;238mโ[0m [38;2;248;248;242m#################################################################[0m
[38;5;238m 390[0m [38;5;238mโ[0m
[38;5;238m 391[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + super + f[0m
[38;5;238m 392[0m [38;5;238mโ[0m [38;2;248;248;242m /home/gk/bin/find_and_type_file[0m
[38;5;238m 393[0m [38;5;238mโ[0m [38;2;248;248;242m#Picom Toggle[0m
[38;5;238m 394[0m [38;5;238mโ[0m [38;2;248;248;242mctrl + alt + p[0m
[38;5;238m 395[0m [38;5;238mโ[0m [38;2;248;248;242m ~/bin/picom-toggle.sh[0m
[38;5;238m 396[0m [38;5;238mโ[0m
[38;5;238m 397[0m [38;5;238mโ[0m [38;2;248;248;242malt + d[0m
[38;5;238m 398[0m [38;5;238mโ[0m [38;2;248;248;242m ~/bin/type_date_into_window[0m
[38;5;238mโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[0m
This is my full config
$ cat /home/gk/.config/dwm/config.h
/* See LICENSE file for copyright and license details. */
// clang-format off
#include <X11/XF86keysym.h>
/* appearance */
static const unsigned int borderpx = 12 ; /* border pixel of windows */
static const unsigned int snap = 32 ; /* snap pixel */
/*static const int bar_right_offset = 180 ; offset from the right -depends on color tags used in dwmbar. increase if you use more of them, 0 would be correct w/o any color tag */
static const int bar_right_offset = 0 ; /* offset from the right -depends on color tags used in dwmbar. increase if you use more of them, 0 would be correct w/o any color tag */
static const int showbar = 1 ; /* 0 means no bar */
static const int topbar = 1 ; /* 0 means bottom bar */
/* We get those all from .Xresources, dynmaically:
static const char *fonts[] = { "monospace:size=10" };
static const char dmenufont[] = "monospace:size=10";
static const char col_gray1[] = "#222222";
static const char col_gray2[] = "#444444";
static const char col_gray3[] = "#bbbbbb";
static const char col_gray4[] = "#eeeeee";
static const char col_cyan[] = "#005577";
static const char *colors[][3] = {
[SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
[SchemeSel] = { col_gray4, col_cyan, col_cyan },
};
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
static const char *fonts[] = { "unifont:size = 13" };
*/
static const char *fonts[] = { "Hack:size=13" };
static const char panel[][20] = { "xfce4-panel", "Xfce4-panel" };
static const unsigned int baralpha = 0x10;
static const unsigned int borderalpha = 0x10;
/*
* See https://github.com/jgrar/dwm-patches/tree/master/statuscolors, regarding how to close gaps in progrss meters
* and this regarind how to really make it fancy:
https://www.reddit.com/r/unixporn/comments/8hrkt3/dwm_powerline_themed_status_bar
[SchemeSel] = { "#999999", "#111111", "#88b7c1" },
* */
static const char *colors[][4] = {
/* fg bg border */
[SchemeNorm] = { "#555555", "#111111", "#000" },
[SchemeSel] = { "#999999", "#111111", "#999" },
[SchemeAX] = { "#bbb" , "#8bd124", "#666" },
};
/* statuscolors not required anymore, we have xfce4-panel
[SchemeWarn] = { "#eeee00", "#111111", "#666" },
[SchemeUrgent] = { "#ee0000", "#111111", "#666" },
[SchemeGood] = { "#8bd124", "#111111", "#666" },
[SchemeGray] = { "#999" , "#111111", "#666" },
};
*/
/*
static const unsigned int alphas[][3] = {
* fg bg border *
[SchemeNorm] = { OPAQUE, baralpha, borderalpha },
[SchemeSel] = { OPAQUE, baralpha, borderalpha },
};
*/
/* tagging
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
*/
static char *tags[] = { "ไธ", "ไบ", "ไธ", "ๅ", "ไบ", "ๅ
ญ", "ไธ", "ๅ
ซ", "ไน" };
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
static const char *dmenucmd[] = { "bin/rofi_utils_select", "startup", NULL };
static const Rule rules[] = {
/* xprop(1):
* WM_CLASS(STRING) = instance, class
* WM_NAME(STRING) = title
*/
/* class instance title tags mask , isfloating monitor */
{ "Arcologout.py", NULL, NULL, 0, 1, -1 },
{ "SimpleScreenRecorder", NULL, NULL, 0, 1, -1 },
{ panel[1], NULL, NULL, (1 << 9) - 1, 0, -1 },
{ "Xfce4-appfinder", NULL, NULL, (1 << 9) - 1, 1, -1 },
{ "Xfrun4", NULL, NULL, (1 << 9) - 1, 1, -1 },
{ "Peek", NULL, NULL, 0, 1, -1 },
{ "Dragon", NULL, NULL, (1 << 9) - 1, 1, -1 },
{ "flameshot", NULL, NULL, (1 << 9) - 1, 1, -1 },
{ "Variety", NULL, NULL, 0, 1, -1 },
{ NULL, "HUD", NULL, 0, 1, -1 },
{ "HUD", NULL, NULL, 0, 1, -1 },
{ "HUDALL", NULL, NULL, (1 << 9) - 1, 1, -1 },
{ "Firefox", NULL, NULL, 0, 0, -1 },
{ NULL, NULL, "Skype", 0, 1, -1 },
};
/* layout(s) */
static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
static const int nmaster = 1; /* number of clients in master area */
static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */
#include "layouts.c"
static const Layout layouts[] = {
/* symbol arrange function */
{ "T", tile }, /* first entry is default */
{ "F", NULL }, /* no layout function means floating behavior */
{ "M", monocle },
{ "G", grid },
{ "V", col },
};
/* key definitions */
#define MODKEY Mod4Mask
/*
#define TAGKEYS(KEY,TAG) \
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
{ MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
{ MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
{ MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
*/
#define TAGKEYS(KEY,TAG) \
{ ControlMask , KEY , view , {.ui = 1 << TAG} } , \
{ MODKEY|ControlMask , KEY , toggleview , {.ui = 1 << TAG} } , \
{ ControlMask|ShiftMask , KEY , tag , {.ui = 1 << TAG} } , \
{ MODKEY|ControlMask|ShiftMask , KEY , toggletag , {.ui = 1 << TAG} } ,
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
/* commands */
/*static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
static const char *copyq_menucmd[] = { "copyq", "menu", NULL };
static const char *insert_date [] = { "/home/gk/bin/type_date_into_window", NULL };
static const char *volumemute[] = { "amixer", "set", "Master", "toggle" , ";", "/home/gk/bin/refbar", NULL };
{ ControlMask , XK_c , spawn , {.v = signtcmd } } , this is control key on my keyboard (swapped)
{ ControlMask , XK_d , spawn , {.v = sigdtcmd } } , this is control key on my keyboard (swapped)
*/
static Key keys[] = {
/* modifier key function argument */
/* { ControlMask , XK_space , spawn , SHCMD("/home/gk/bin/st_hud" ) } , */
/* { ControlMask|ShiftMask|Mod4Mask , XK_3 , spawn , SHCMD("sleep 1s;/home/gk/bin/shot_selected") } , */
/* { ControlMask|ShiftMask , XK_b , spawn , SHCMD("/home/gk/bin/clipctrl previous_item") } , */
/* { MODKEY|ControlMask , XK_d , spawn , SHCMD("/home/gk/bin/type_date_into_window" ) } , */
/* { Mod4Mask , XK_Return , zoom , { 0 }} , * swap focus when gtk keys swapped*/
/*{ ControlMask , XK_Left , lasttag , {.i = 1} } , */
{ MODKEY|ShiftMask , XK_1 , togglebar , { .i = 1 } } ,
{ MODKEY|ShiftMask , XK_minus , setborderpx , { .i = -1 } } ,
{ MODKEY|ShiftMask , XK_equal , setborderpx , { .i = +1 } } ,
{ ControlMask , XK_BackSpace , killclient , { 0 }} ,
{ ControlMask , XK_q , killclient , { 0 }} ,
{ ControlMask , XK_Return , zoom , { 0 }} , /* swap focus*/
{ ControlMask , XK_space , spawn , SHCMD("/usr/bin/ulauncher" ) } , /* faster than sxk */
{ ControlMask , XK_Tab , spawn , SHCMD("/usr/bin/skippy-xd") } ,
{ ControlMask , XK_n , spawn , SHCMD("st") } ,
{ MODKEY|ShiftMask , XK_b , togglebar , { 0 }} ,
{ ControlMask , XK_j , focusstack , { .i = -1 }} ,
{ ControlMask , XK_k , focusstack , { .i = +1 }} ,
{ ControlMask , XK_m , focusmon , { .i = -1 }} ,
/* { ControlMask , XK_l , focusmon , { .i = +1 }} , h is enough we have just 2 or 3 mons. l is for browser location*/
{ MODKEY|ShiftMask , XK_h , spawn , SHCMD("/home/gk/bin/tagmon -1" ) } ,
{ MODKEY|ShiftMask , XK_l , spawn , SHCMD("/home/gk/bin/tagmon 1" ) } ,
{ MODKEY|ShiftMask , XK_comma , tagmon , { .i = -1 }} ,
{ MODKEY|ShiftMask , XK_period , tagmon , { .i = +1 }} ,
{ MODKEY , XK_i , incnmaster , { .i = +1 }} ,
{ MODKEY , XK_d , incnmaster , { .i = -1 }} ,
{ Mod1Mask , XK_h , setmfact , { .f = -0.05 }} ,
{ Mod1Mask , XK_l , setmfact , { .f = +0.05 }} ,
/* { MODKEY , XK_Tab , view , { 0 }} , */
{ MODKEY , XK_t , setlayout , { .v = &layouts[0] }} ,
{ MODKEY , XK_f , setlayout , { .v = &layouts[1] }} ,
{ MODKEY , XK_m , setlayout , { .v = &layouts[2] }} ,
{ MODKEY , XK_g , setlayout , { .v = &layouts[3] }} ,
{ MODKEY , XK_v , setlayout , { .v = &layouts[4] }} ,
{ MODKEY|ShiftMask , XK_period , cyclelayout , { .i = +1 } } ,
/* { MODKEY|ShiftMask , XK_space , setlayout , { 0 }} , */
{ MODKEY|ShiftMask , XK_space , togglefloating , { 0 }} ,
{ MODKEY , XK_0 , view , { .ui = ~0 }} ,
{ MODKEY|ShiftMask , XK_0 , tag , { .ui = ~0 }} ,
{ MODKEY|ShiftMask , XK_q , quit , { 0 }} ,
{ 0 , XF86XK_Display , spawn , SHCMD("/home/gk/bin/hw display" ) } ,
/* xev is your friend to find those */
/* { 0, XF86XK_LaunchA , spawn, SHCMD("/home/gk/bin/hw launcha" ) }, */
/* { 0, XF86XK_MonBrightnessDown , spawn, SHCMD("/home/gk/bin/hw monbrightdown" ) }, */
/* { 0, XF86XK_MonBrightnessUp , spawn, SHCMD("/home/gk/bin/hw monbrightup" ) }, */
/* { 0, XF86XK_AudioMute , spawn, SHCMD("/home/gk/bin/hw audiomute" ) }, */
/* { 0, XF86XK_AudioLowerVolume , spawn, SHCMD("/home/gk/bin/hw audiolower" ) }, */
/* { 0, XF86XK_AudioRaiseVolume , spawn, SHCMD("/home/gk/bin/hw audioraise" ) }, */
/* { 0, XF86XK_RFKill , spawn, SHCMD("/home/gk/bin/hw rfkill" ) }, */
/* { ControlMask, XF86XK_Eject , killclient , {0 }} , */
/* { 0 , XF86XK_Eject , spawn, SHCMD("/home/gk/bin/hw eject" ) }, */
/* { 0 , XK_F1 , spawn, SHCMD("/home/gk/bin/hw F1" ) }, */
/* { 0 , XK_F2 , spawn, SHCMD("/home/gk/bin/hw F2" ) }, */
/* { 0 , XK_F3 , spawn, SHCMD("/home/gk/bin/hw F3" ) }, */
/* { 0 , XK_F4 , spawn, SHCMD("/home/gk/bin/hw F4" ) }, */
/* { 0 , XK_F5 , spawn, SHCMD("/home/gk/bin/hw F5" ) }, */
/* { 0 , XK_F6 , spawn, SHCMD("/home/gk/bin/hw F6" ) }, */
/* { 0 , XK_F7 , spawn, SHCMD("/home/gk/bin/hw F7" ) }, */
/* { 0 , XK_F8 , spawn, SHCMD("/home/gk/bin/hw F8" ) }, */
/* { 0 , XK_F9 , spawn, SHCMD("/home/gk/bin/hw F9" ) }, */
/* { 0 , XK_F10 , spawn, SHCMD("/home/gk/bin/hw F10" ) }, */
/* { 0 , XK_F11 , spawn, SHCMD("/home/gk/bin/hw F11" ) }, */
/* { 0 , XK_F12 , spawn, SHCMD("/home/gk/bin/hw F12" ) }, */
/* { ControlMask, XK_Delete , spawn, SHCMD("/home/gk/bin/hw ctrl_del" ) }, */
/* /1* Keyboard Backlight *1/ */
/* { ControlMask , XF86XK_MonBrightnessDown , spawn , {.v = F13 }} , */
/* { ControlMask , XF86XK_MonBrightnessUp , spawn , {.v = F14 }} , */
/* { 0 , XF86XK_LaunchA , spawn , {.v = F03 }} , */
/* { 0 , XF86XK_LaunchB , spawn , {.v = F04 }} , */
/* { 0 , XF86XK_AudioPrev , spawn , {.v = F07 }} , */
/* { 0 , XF86XK_AudioPlay , spawn , {.v = F08 }} , */
/* { 0 , XF86XK_AudioNext , spawn , {.v = F09 }} , */
/* { ControlMask , XF86XK_Eject , spawn , {.v = pow }} , */
/* { ControlMask , XF86XK_PowerOff , spawn , {.v = pow }} , */
/* { ControlMask , XF86XK_Suspend , spawn , {.v = pow }} , */
/* {MODKEY|ControlMask|ShiftMask , XK_l , spawn , SHCMD("/home/gk/bin/hw lock" ) }, */
TAGKEYS ( XK_1 , 0)
TAGKEYS ( XK_2 , 1)
TAGKEYS ( XK_3 , 2)
TAGKEYS ( XK_4 , 3)
TAGKEYS ( XK_5 , 4)
TAGKEYS ( XK_6 , 5)
TAGKEYS ( XK_7 , 6)
TAGKEYS ( XK_8 , 7)
TAGKEYS ( XK_9 , 8)
};
/* button definitions */
/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
static Button buttons[] = {
/* click event mask button function argument */
{ ClkLtSymbol, 0, Button1, setlayout, {0} },
{ ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
{ ClkWinTitle, 0, Button2, zoom, {0} },
{ ClkStatusText, 0, Button2, spawn, SHCMD("st") },
{ ClkClientWin, MODKEY, Button1, movemouse, {0} },
{ ClkClientWin, MODKEY, Button2, togglefloating, {0} },
{ ClkClientWin, MODKEY, Button3, resizemouse, {0} },
{ ClkTagBar, 0, Button1, view, {0} },
{ ClkTagBar, 0, Button3, toggleview, {0} },
{ ClkTagBar, MODKEY, Button1, tag, {0} },
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
};