about summary refs log tree commit diff stats
path: root/BUGS
blob: fd1837f4f38be02769e54e4ffb77d8bd180b3674 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
---

18:17 < Biolunar> when i change my resolution in dwm (to a smaller one) and then back to the native, the top bar is not repainted. that's since 5.7.2, in 5.6 it worked fine
18:19 < Biolunar> is it just happening to me or a (known) bug?
18:24 < Biolunar> and in addition, mplayers fullscreen is limited to the small resolution after i changed it back to the native

reproducible with xrandr -s but not with --output and --mode, strange

---

yet another corner case:
open a terminal, focus another monitor, but without moving the mouse
pointer there
if there is no client on the other monitor to get the focus, then the
terminal will be unfocused but it will accept input

---

Donald Allen reported this:

starting emacs from dmenu in archlinux results in missing configure of emacs, but mod1-space or mod1-shift-space fix this problem. this problem is new and did not happen in 1.6 xorg servers

Starting emacs from xterm doesnt show this problem, he uses tag 8 for emacs

---

2009/12/7 Alexandr Krylovskiy <wing_AT_tversu.ru>: 
>  Fullscreen mode with flash applications (youtube, for example) doesn't 
> work properly neither in tiled nor in floating mode. 
>  Fullscreen window closes immediately after opening. 

This is a known bug (for some curiosity I received the same report via 
privmail from 2 other people within one week, really strange). 
The quick fix is commenting out the code in lines 817/818 in hg tip 
dwm. I cannot confirm this has no side effects (I think it does) and I 
will address this issue shortly with a real fix. 

---

SDL seems to not like non-reparenting WMs:

> I would like to mention SDL problems, however SDL is not crucial to
> me anymore; people that really care about it should speak up and
> propose dwm / SDL patch or cooperation scheme in that matter. 

Patching SDL, bugging them?

---

voltaic reports this:

When I use two monitors, one larger in resolution than the other, the
bar is drawn using the smaller x-dimension on both screens. I think
what's happening is that there are two bars drawn, but the short bar
is always on top of the long bar such that I can't see the information
under the short bar. If I switch to the small screen, hide the short
bar, and then switch to the large screen, the long bar is drawn
correctly.

A similar problem occurs when I have started dwm on a small resolution
monitor (laptop screen) and then I switch to a large external display.
When I do this, the bar itself is drawn for the original smaller
resolution, but the information to be printed on the bar is
right-aligned for a longer bar. So what I see is a bar that has the
right hand side of it cut-off. See attached screenshot.

I am using standard options for xrandr such as --output VGA1 --auto, etc.

---
tion.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Mu - 051test.subx</title>
<meta name="Generator" content="Vim/8.1">
<meta name="plugin-version" content="vim8.1_v1">
<meta name="syntax" content="none">
<meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy=">
<meta name="colorscheme" content="minimal-light">
<style type="text/css">
<!--
pre { font-family: monospace; color: #000000; background-color: #c6c6c6; }
body { font-size:12pt; font-family: monospace; color: #000000; background-color: #c6c6c6; }
a { color:inherit; }
* { font-size:12pt; font-size: 1em; }
.subxComment { color: #005faf; }
.subxS2Comment { color: #8a8a8a; }
.subxFunction { color: #af5f00; text-decoration: underline; }
.LineNr { }
.subxS1Comment { color: #0000af; }
.SpecialChar { color: #d70000; }
.Constant { color: #008787; }
.Normal { color: #000000; background-color: #c6c6c6; padding-bottom: 1px; }
-->
</style>

<script type='text/javascript'>
<!--

/* function to open any folds containing a jumped-to line before jumping to it */
function JumpToLine()
{
  var lineNum;
  lineNum = window.location.hash;
  lineNum = lineNum.substr(1); /* strip off '#' */

  if (lineNum.indexOf('L') == -1) {
    lineNum = 'L'+lineNum;
  }
  var lineElem = document.getElementById(lineNum);
  /* Always jump to new location even if the line was hidden inside a fold, or
   * we corrected the raw number to a line ID.
   */
  if (lineElem) {
    lineElem.scrollIntoView(true);
  }
  return true;
}
if ('onhashchange' in window) {
  window.onhashchange = JumpToLine;
}

-->
</script>
</head>
<body onload='JumpToLine();'>
<a href='https://github.com/akkartik/mu/blob/master/051test.subx'>https://github.com/akkartik/mu/blob/master/051test.subx</a>
<pre id='vimCodeElement'>
<span id="L1" class="LineNr">  1 </span><span class="subxComment"># Rudimentary test harness</span>
<span id="L2" class="LineNr">  2 </span>
<span id="L3" class="LineNr">  3 </span>== code
<span id="L4" class="LineNr">  4 </span><span class="subxComment">#   instruction                     effective address                                                   register    displacement    immediate</span>
<span id="L5" class="LineNr">  5 </span><span class="subxS1Comment"># . op          subop               mod             rm32          base        index         scale       r32</span>
<span id="L6" class="LineNr">  6 </span><span class="subxS1Comment"># . 1-3 bytes   3 bits              2 bits          3 bits        3 bits      3 bits        2 bits      2 bits      0/1/2/4 bytes   0/1/2/4 bytes</span>
<span id="L7" class="LineNr">  7 </span>
<span id="L8" class="LineNr">  8 </span><span class="SpecialChar">Entry</span>:  <span class="subxComment"># manual test</span>
<span id="L9" class="LineNr">  9 </span>    <span class="subxComment"># check-ints-equal(34, 34)</span>
<span id="L10" class="LineNr"> 10 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L11" class="LineNr"> 11 </span>    68/push  <span class="Constant">&quot;error in check-ints-equal&quot;</span>/imm32
<span id="L12" class="LineNr"> 12 </span>    68/push  34/imm32
<span id="L13" class="LineNr"> 13 </span>    68/push  34/imm32
<span id="L14" class="LineNr"> 14 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L15" class="LineNr"> 15 </span>    e8/call  <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L16" class="LineNr"> 16 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L17" class="LineNr"> 17 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
<span id="L18" class="LineNr"> 18 </span>    <span class="subxComment"># syscall(exit, 0)</span>
<span id="L19" class="LineNr"> 19 </span>    bb/copy-to-ebx  0/imm32
<span id="L20" class="LineNr"> 20 </span>    b8/copy-to-eax  1/imm32/exit
<span id="L21" class="LineNr"> 21 </span>    cd/syscall  0x80/imm8
<span id="L22" class="LineNr"> 22 </span>
<span id="L23" class="LineNr"> 23 </span><span class="subxComment"># print msg to stderr if a != b, otherwise print &quot;.&quot;</span>
<span id="L24" class="LineNr"> 24 </span><span class="subxFunction">check-ints-equal</span>:  <span class="subxComment"># a: int, b: int, msg: (addr array byte)</span>
<span id="L25" class="LineNr"> 25 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L26" class="LineNr"> 26 </span>    55/push-ebp
<span id="L27" class="LineNr"> 27 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
<span id="L28" class="LineNr"> 28 </span>    <span class="subxS1Comment"># . save registers</span>
<span id="L29" class="LineNr"> 29 </span>    50/push-eax
<span id="L30" class="LineNr"> 30 </span>    51/push-ecx
<span id="L31" class="LineNr"> 31 </span>    53/push-ebx
<span id="L32" class="LineNr"> 32 </span>    <span class="subxComment"># load first 2 args into eax and ebx</span>
<span id="L33" class="LineNr"> 33 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to eax</span>
<span id="L34" class="LineNr"> 34 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to ebx</span>
<span id="L35" class="LineNr"> 35 </span>    <span class="subxComment"># if (eax == ebx) success</span>
<span id="L36" class="LineNr"> 36 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and ebx</span>
<span id="L37" class="LineNr"> 37 </span>    75/jump-if-unequal  $check-ints-equal:else/disp8
<span id="L38" class="LineNr"> 38 </span>    <span class="subxS1Comment"># . _write(2/stderr, '.')</span>
<span id="L39" class="LineNr"> 39 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L40" class="LineNr"> 40 </span>    68/push  <span class="Constant">&quot;.&quot;</span>/imm32
<span id="L41" class="LineNr"> 41 </span>    68/push  2/imm32/stderr
<span id="L42" class="LineNr"> 42 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L43" class="LineNr"> 43 </span>    e8/call  <a href='050_write.subx.html#L14'>_write</a>/disp32
<span id="L44" class="LineNr"> 44 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L45" class="LineNr"> 45 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
<span id="L46" class="LineNr"> 46 </span>    <span class="subxS1Comment"># . return</span>
<span id="L47" class="LineNr"> 47 </span>    eb/jump  $check-ints-equal:end/disp8
<span id="L48" class="LineNr"> 48 </span>    <span class="subxComment"># otherwise print error message</span>
<span id="L49" class="LineNr"> 49 </span><span class="Constant">$check-ints-equal:else</span>:
<span id="L50" class="LineNr"> 50 </span>    <span class="subxS1Comment"># . _write(2/stderr, msg)</span>
<span id="L51" class="LineNr"> 51 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L52" class="LineNr"> 52 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   0x10/disp8     <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+16) to ecx</span>
<span id="L53" class="LineNr"> 53 </span>    51/push-ecx
<span id="L54" class="LineNr"> 54 </span>    68/push  2/imm32/stderr
<span id="L55" class="LineNr"> 55 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L56" class="LineNr"> 56 </span>    e8/call  <a href='050_write.subx.html#L14'>_write</a>/disp32
<span id="L57" class="LineNr"> 57 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L58" class="LineNr"> 58 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
<span id="L59" class="LineNr"> 59 </span>    <span class="subxS1Comment"># . _write(2/stderr, Newline)</span>
<span id="L60" class="LineNr"> 60 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L61" class="LineNr"> 61 </span>    68/push  <span class="SpecialChar"><a href='051test.subx.html#L83'>Newline</a></span>/imm32
<span id="L62" class="LineNr"> 62 </span>    68/push  2/imm32/stderr
<span id="L63" class="LineNr"> 63 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L64" class="LineNr"> 64 </span>    e8/call  <a href='050_write.subx.html#L14'>_write</a>/disp32
<span id="L65" class="LineNr"> 65 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L66" class="LineNr"> 66 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
<span id="L67" class="LineNr"> 67 </span>    <span class="subxComment"># increment Num-test-failures</span>
<span id="L68" class="LineNr"> 68 </span>    ff          0/subop/increment   0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='051test.subx.html#L90'>Num-test-failures</a></span>/disp32          <span class="subxComment"># increment *Num-test-failures</span>
<span id="L69" class="LineNr"> 69 </span><span class="Constant">$check-ints-equal:end</span>:
<span id="L70" class="LineNr"> 70 </span>    <span class="subxS1Comment"># . restore registers</span>
<span id="L71" class="LineNr"> 71 </span>    5b/pop-to-ebx
<span id="L72" class="LineNr"> 72 </span>    59/pop-to-ecx
<span id="L73" class="LineNr"> 73 </span>    58/pop-to-eax
<span id="L74" class="LineNr"> 74 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L75" class="LineNr"> 75 </span>    89/copy                         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          5/r32/ebp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ebp to esp</span>
<span id="L76" class="LineNr"> 76 </span>    5d/pop-to-ebp
<span id="L77" class="LineNr"> 77 </span>    c3/return
<span id="L78" class="LineNr"> 78 </span>
<span id="L79" class="LineNr"> 79 </span>== data
<span id="L80" class="LineNr"> 80 </span>
<span id="L81" class="LineNr"> 81 </span><span class="subxComment"># length-prefixed string containing just a single newline</span>
<span id="L82" class="LineNr"> 82 </span><span class="subxComment"># convenient to have when printing messages and so on</span>
<span id="L83" class="LineNr"> 83 </span><span class="SpecialChar">Newline</span>:  <span class="subxComment"># (array byte)</span>
<span id="L84" class="LineNr"> 84 </span>    <span class="subxComment"># size: int</span>
<span id="L85" class="LineNr"> 85 </span>    1/imm32
<span id="L86" class="LineNr"> 86 </span>    <span class="subxComment"># data</span>
<span id="L87" class="LineNr"> 87 </span>    0a/newline
<span id="L88" class="LineNr"> 88 </span>
<span id="L89" class="LineNr"> 89 </span><span class="subxComment"># every test failure increments this counter</span>
<span id="L90" class="LineNr"> 90 </span><span class="SpecialChar">Num-test-failures</span>:  <span class="subxComment"># int</span>
<span id="L91" class="LineNr"> 91 </span>    0/imm32
<span id="L92" class="LineNr"> 92 </span>
<span id="L93" class="LineNr"> 93 </span><span class="subxComment"># length-prefixed string containing just a single space</span>
<span id="L94" class="LineNr"> 94 </span><span class="SpecialChar">Space</span>:  <span class="subxComment"># (array byte)</span>
<span id="L95" class="LineNr"> 95 </span>    <span class="subxComment"># size: int</span>
<span id="L96" class="LineNr"> 96 </span>    1/imm32
<span id="L97" class="LineNr"> 97 </span>    <span class="subxComment"># data</span>
<span id="L98" class="LineNr"> 98 </span>    20/space
<span id="L99" class="LineNr"> 99 </span>
<span id="L100" class="LineNr">100 </span><span class="subxComment"># length-prefixed string containing just a single slash</span>
<span id="L101" class="LineNr">101 </span><span class="SpecialChar">Slash</span>:  <span class="subxComment"># (array byte)</span>
<span id="L102" class="LineNr">102 </span>    <span class="subxComment"># size: int</span>
<span id="L103" class="LineNr">103 </span>    1/imm32
<span id="L104" class="LineNr">104 </span>    <span class="subxComment"># data</span>
<span id="L105" class="LineNr">105 </span>    2f/slash
<span id="L106" class="LineNr">106 </span>
<span id="L107" class="LineNr">107 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
</pre>
</body>
</html>
<!-- vim: set foldmethod=manual : -->