website

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

dwl.html (10000B)


      1 <!DOCTYPE html>
      2 <html dir="ltr" lang="en">
      3 <head>
      4 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      5 	<meta http-equiv="Content-Language" content="en" />
      6 	<meta name="viewport" content="width=device-width" />
      7 	<meta name="keywords" content="blog, git, dev-log, life-log" />
      8 	<meta name="description" content="Perfect high DPI window manager" />
      9 	<meta name="author" content="linusbehrens" />
     10 	<meta name="generator" content="saait (https://git.codemadness.org/saait/file/README.html)" />
     11 	<title>dwl config - Linus Blog</title>
     12 
     13     <link rel="preconnect" href="https://rsms.me/">
     14     <link rel="stylesheet" href="https://rsms.me/inter/inter.css">
     15 	<link rel="preconnect" href="https://fonts.googleapis.com">
     16     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
     17     <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wght@100..900&display=swap" rel="stylesheet">
     18 
     19 	<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
     20 	<link rel="stylesheet" href="typeface.css" type="text/css" media="screen" />
     21 	<link rel="stylesheet" href="print.css" type="text/css" media="print" />
     22 
     23 	<link rel="alternate" href="atom.xml" type="application/atom+xml" title="Linus Blog Atom Feed" />
     24 	<link rel="alternate" href="atom_content.xml" type="application/atom+xml" title="Linus Blog Atom Feed with content" />
     25 	<link rel="icon" href="/favicon.png" type="image/png" />
     26 </head>
     27 <body>
     28 	<nav id="menuwrap">
     29 		<table id="menu" width="100%" border="0">
     30 		<tr>
     31 			<td id="links" align="left">
     32 				<a href="index.html">Blog</a> |
     33 				<a href="/git/" title="Git repository with some of my projects">Git</a> <!-- | -->
     34 				<!-- <a href="/releases/">Releases</a> | -->
     35 				<!-- <a href="gopher://codemadness.org">Gopherhole</a> -->
     36 			</td>
     37 			<td id="links-contact" align="right">
     38 				<span class="hidden"> | </span>
     39 				<!-- <a href="feeds.html">Feeds</a> | -->
     40 				<a href="pgp.asc">PGP</a> |
     41 				<a href="mailto:mail@linus-behrens.de">Mail</a>
     42 			</td>
     43 		</tr>
     44 		</table>
     45 	</nav>
     46 	<hr class="hidden" />
     47 	<main id="mainwrap">
     48 		<div id="main">
     49 			<article>
     50 <header>
     51 	<h1>dwl config</h1>
     52 	<p>
     53 	<strong>Last modification on </strong> <time>2025-06-16</time>
     54 	</p>
     55 </header>
     56 
     57 <p>My first rather serious linux system should be built on a Thinkpad
     58 x61s in 2023. Due to a lack in performence I thought about installing
     59 only the most minimal software on it.</p>
     60 <p>So I came to see the famouse Thinkpad Arch combination. (I know and
     61 knew that it was not the most minimal os possible, but I was convinced)
     62 When trying to find the most minimal and fast window manager found the
     63 perfect fit: <code>dwm</code>.</p>
     64 <p><code>dwm</code> became my wm that just worked.</p>
     65 <hr />
     66 <p>However as I continued to gain understanding of how Xorg works and as
     67 I understood the bloat in <code>X</code>, I found it hard to swich. On
     68 YouTube I came across <code>dwl</code> a project about translating
     69 <code>dwl</code> to work with <code>wlroots</code>.</p>
     70 <p>Even though being familiar with the rather difficult to install
     71 <code>dwm</code>, I wasn’t able to even compile <code>dwl</code>. Now I
     72 understand and give you - the reader - a path to follow.</p>
     73 <div class="sourceCode" id="cb1"><pre
     74 class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install <span class="dt">\</span></span>
     75 <span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a>  libinput libinput-devel <span class="dt">\</span></span>
     76 <span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a>  wayland wayland-devel <span class="dt">\</span></span>
     77 <span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a>  wlroots wlroots-devel <span class="dt">\</span></span>
     78 <span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a>  xkbcommon xkbcommon-devel <span class="dt">\</span></span>
     79 <span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a>  wayland-protocols <span class="dt">\</span></span>
     80 <span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a>  pkgconf-pkg-config</span></code></pre></div>
     81 <div class="sourceCode" id="cb2"><pre
     82 class="sourceCode bash"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://codeberg.org/dwl/dwl.git</span>
     83 <span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> dwl</span>
     84 <span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout v0.7</span>
     85 <span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span>
     86 <span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> make install</span></code></pre></div>
     87 <div class="sourceCode" id="cb3"><pre
     88 class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install <span class="dt">\</span></span>
     89 <span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a>  libinput libinput-devel <span class="dt">\</span></span>
     90 <span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a>  wayland wayland-devel <span class="dt">\</span></span>
     91 <span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a>  wlroots wlroots-devel <span class="dt">\</span></span>
     92 <span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a>  xkbcommon xkbcommon-devel <span class="dt">\</span></span>
     93 <span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a>  wayland-protocols-devel <span class="dt">\</span></span>
     94 <span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a>  pkgconf-pkg-config <span class="dt">\</span></span>
     95 <span id="cb3-8"><a href="#cb3-8" aria-hidden="true" tabindex="-1"></a>  meson ninja-build <span class="dt">\</span></span>
     96 <span id="cb3-9"><a href="#cb3-9" aria-hidden="true" tabindex="-1"></a>  gcc</span></code></pre></div>
     97 <div class="sourceCode" id="cb4"><pre
     98 class="sourceCode bash"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/waycrate/wmenu.git</span>
     99 <span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> wmenu</span>
    100 <span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="ex">meson</span> setup build</span>
    101 <span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a><span class="ex">ninja</span> <span class="at">-C</span> build</span>
    102 <span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> ninja <span class="at">-C</span> build install</span></code></pre></div>
    103 <hr />
    104 <p>Edits to <code>sources/dwl/config.h</code>:</p>
    105 <div class="sourceCode" id="cb5"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="dt">static</span> <span class="dt">const</span> <span class="dt">char</span> <span class="op">*</span>termcmd<span class="op">[]</span> <span class="op">=</span> <span class="op">{</span> <span class="st">&quot;ghostty&quot;</span><span class="op">,</span> NULL <span class="op">};</span></span></code></pre></div>
    106 <div class="sourceCode" id="cb6"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="dt">static</span> <span class="dt">const</span> MonitorRule monrules<span class="op">[]</span> <span class="op">=</span> <span class="op">{</span></span>
    107 <span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a>    <span class="co">/* macbook m1 14&quot; */</span></span>
    108 <span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a>    <span class="op">{</span> <span class="st">&quot;eDP-1&quot;</span><span class="op">,</span>    <span class="fl">0.5</span><span class="bu">f</span><span class="op">,</span>  <span class="dv">1</span><span class="op">,</span>      <span class="dv">2</span><span class="op">,</span>    <span class="op">&amp;</span>layouts<span class="op">[</span><span class="dv">0</span><span class="op">],</span> WL_OUTPUT_TRANSFORM_NORMAL<span class="op">,</span>   <span class="op">-</span><span class="dv">1</span><span class="op">,</span>  <span class="op">-</span><span class="dv">1</span> <span class="op">},</span></span>
    109 <span id="cb6-4"><a href="#cb6-4" aria-hidden="true" tabindex="-1"></a><span class="op">};</span></span></code></pre></div>
    110 <div class="sourceCode" id="cb7"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="dt">static</span> <span class="dt">const</span> <span class="kw">struct</span> xkb_rule_names xkb_rules <span class="op">=</span> <span class="op">{</span></span>
    111 <span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a>    <span class="co">/* default:</span></span>
    112 <span id="cb7-3"><a href="#cb7-3" aria-hidden="true" tabindex="-1"></a><span class="co">    .options = NULL,</span></span>
    113 <span id="cb7-4"><a href="#cb7-4" aria-hidden="true" tabindex="-1"></a><span class="co">    */</span></span>
    114 <span id="cb7-5"><a href="#cb7-5" aria-hidden="true" tabindex="-1"></a>    <span class="op">.</span>layout <span class="op">=</span> <span class="st">&quot;de&quot;</span><span class="op">,</span></span>
    115 <span id="cb7-6"><a href="#cb7-6" aria-hidden="true" tabindex="-1"></a>    <span class="op">.</span>variant <span class="op">=</span> <span class="st">&quot;latin1&quot;</span><span class="op">,</span></span>
    116 <span id="cb7-7"><a href="#cb7-7" aria-hidden="true" tabindex="-1"></a><span class="op">};</span></span></code></pre></div>
    117 
    118 			</article>
    119 		</div>
    120 	</main>
    121 </body>
    122 </html>