about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* some NULL fixesAnselm R Garbe2009-02-211-2/+2
|
* override_redirect is BoolAnselm R Garbe2009-02-211-1/+1
|
* applied Gottox' adjustborder removal patch (thanks!)Anselm R Garbe2009-02-212-20/+2
|
* applied nsz' remarka@null2009-02-141-1/+1
|
* fix of typo, thx to Enno Gottox BolandPremysl Hruby2009-02-121-1/+1
|
* Added tag 5.4.1 for changeset 85a78d8afa0fa@null2009-02-081-0/+1
|
* fixed an issue reported by Nibble, also fixed s/2008/2009/ 5.4.1a@null2009-02-083-4/+4
|
* Added tag 5.4 for changeset 8b7836a471f8a@null2009-02-081-0/+1
|
* avoid reverting the border if it's not necessary (avoids some flashing on ↵ 5.4a@null2009-02-081-6/+11
| | | | view())
* spotted missing spacesa@null2008-12-201-2/+2
|
* reverting some border patchesa@null2008-12-201-7/+18
|
* changed adjustborder to be a macroa@null2008-12-191-19/+7
|
* applied yiyus applyrules() patcha@null2008-12-191-1/+1
|
* implemented noborder for 1 client in the viewa@null2008-12-171-1/+20
|
* made status script example of .xinitrc more usefula@null2008-12-131-2/+2
|
* ok, using signal.h for portability reasonsa@null2008-12-131-1/+1
|
* removed unnecessary closure of stdin reported by Frederic Chardon, thxa@null2008-12-131-1/+0
|
* added sys/signal.h inclusion for BSD compliancea@null2008-12-131-0/+1
|
* re-applied Neale's spawn patch, credited Neale in LICENSEa@null2008-12-124-13/+18
|
* applied Neale Pickett's xprop status reading patch, updated README and dwm.1 ↵a@null2008-12-124-73/+31
| | | | accordingly
* applied yiyus fixarg@localhost.localdomain2008-12-061-1/+1
|
* fixAnselm R Garbe2008-12-061-1/+1
|
* Added tag 5.3.1 for changeset 335301ed102fAnselm R Garbe2008-12-061-0/+1
|
* integrated yiyus clearurgent refactoring 5.3.1Anselm R Garbe2008-12-061-15/+10
|
* reverted spawnarg@localhost.localdomain2008-12-061-14/+11
|
* Added tag 5.3 for changeset 4004d6116035Anselm R Garbe2008-12-041-0/+1
|
* added Neale Pickett's spawn patch, thanks Neale 5.3Anselm R Garbe2008-12-041-19/+16
|
* applied Gottox' comment fix (thanks)Anselm R Garbe2008-11-161-1/+1
|
* several changes towards 5.3, XINERAMA is disabled by default, introduced ↵Anselm R Garbe2008-10-193-12/+26
| | | | usegrab Bool for grabbing the server during mouse-based resizals/movements (disabled by default), continued debugging tile() with resizehints == True and a lot of terminals supporting resizehints, still no optimal solution, I need to think about it, considering recursive algorithm for the space optimization
* removed NOBORDER(broken and badly used), introduce WIDTH/HEIGHT macros for ↵Premysl Hruby2008-10-151-18/+19
| | | | computing client size with border added, fixes bug announced by sergey_m
* Added tag 5.2 for changeset e4bcaca8e6efAnselm R Garbe2008-09-091-0/+1
|
* using malloc() instead of calloc() and sticking to static initializer and ↵ 5.2Anselm R Garbe2008-09-081-2/+4
| | | | struct assignment, not using *c = (Client){}; right now to avoid some ugly gcc warning, possibly a gcc bug since we are using -std=c99
* applied XGetWMNormalHints fixAnselm R Garbe2008-09-071-1/+3
|
* I prefer doing the check in showhideAnselm R Garbe2008-09-061-4/+6
|
* applied Donald Chai's showhide patch in slightly modified waysAnselm R Garbe2008-09-061-12/+16
|
* applied Martin Hurton's checkotherwm simplificationAnselm R Garbe2008-09-061-4/+3
|
* applied Peter Hartlichs aspect revert fixAnselm R Garbe2008-09-021-2/+2
|
* applied Gottox' grabkey patchAnselm R Garbe2008-09-021-4/+4
|
* applied yiyus tagbar patchAnselm R Garbe2008-09-011-1/+1
|
* merged mergearg@localhost.localdomain2008-09-011-19/+16
|\
| * fixedAnselm R Garbe2008-08-291-13/+13
| |
| * checking result of XGetClassHint, removed some obsolete lines in initfont()Anselm R Garbe2008-08-291-5/+3
| |
| * merged my changesAnselm R Garbe2008-08-271-3/+2
|/|
| * WM_NAME is builtin atomPremysl Hruby2008-08-251-3/+2
| |
* | introduced NOBORDER macro to hide the nasty - 2 * c->bw in various ↵Anselm R Garbe2008-08-272-13/+14
|/ | | | calculations, moved tagset to config.def.h
* grabbuttons() and grabkeys() are now independent from prior numlockmask ↵Anselm R Garbe2008-08-251-23/+31
| | | | initialization
* reverted some resize() changes, reverted setlocale removalAnselm R Garbe2008-08-251-6/+5
|
* applied Peter Hartlich's patch regarding aspect calculation with slight ↵Anselm R Garbe2008-08-231-6/+17
| | | | modifications
* removed artifact from wmiiAnselm R Garbe2008-08-231-2/+0
|
* changed grabkeys, removed initmodmapAnselm R Garbe2008-08-231-26/+21
|
f.addstr(i, 0, line) elif self.markup == 'ansi': try: self.win.move(i, 0) except: pass else: for chunk in ansi.text_with_fg_bg_attr(line): if isinstance(chunk, tuple): self.set_fg_bg_attr(*chunk) else: self.addstr(chunk) def move(self, narg=None, **kw): direction = Direction(kw) if direction.horizontal(): self.startx = direction.move( direction=direction.right(), override=narg, maximum=self.max_width, current=self.startx, pagesize=self.wid, offset=-self.wid + 1) if direction.vertical(): if self.source_is_stream: self._get_line(self.scroll_begin + self.hei * 2) self.scroll_begin = direction.move( direction=direction.down(), override=narg, maximum=len(self.lines), current=self.scroll_begin, pagesize=self.hei, offset=-self.hei + 1) def press(self, key): self.fm.ui.keymaps.use_keymap('pager') self.fm.ui.press(key) def set_image(self, image): if self.image: self.need_clear_image = True self.image = image if self.source and self.source_is_stream: self.source.close() self.source = None self.source_is_stream = False def set_source(self, source, strip=False): if self.image: self.image = None self.need_clear_image = True if self.source and self.source_is_stream: self.source.close() self.max_width = 0 if isinstance(source, str): self.source_is_stream = False self.lines = source.splitlines() if self.lines: self.max_width = max(len(line) for line in self.lines) elif hasattr(source, '__getitem__'): self.source_is_stream = False self.lines = source if self.lines: self.max_width = max(len(line) for line in source) elif hasattr(source, 'readline'): self.source_is_stream = True self.lines = [] else: self.source = None self.source_is_stream = False return False self.markup = 'ansi' if not self.source_is_stream and strip: self.lines = map(lambda x: x.strip(), self.lines) self.source = source return True def click(self, event): n = event.ctrl() and 1 or 3 direction = event.mouse_wheel_direction() if direction: self.move(down=direction * n) return True def _get_line(self, n, attempt_to_read=True): assert isinstance(n, int), n try: return self.lines[n] except (KeyError, IndexError): if attempt_to_read and self.source_is_stream: try: for l in self.source: if len(l) > self.max_width: self.max_width = len(l) self.lines.append(l) if len(self.lines) > n: break except (UnicodeError, IOError): pass return self._get_line(n, attempt_to_read=False) return "" def _generate_lines(self, starty, startx): i = starty if not self.source: raise StopIteration while True: try: line = self._get_line(i).expandtabs(4) if self.markup is 'ansi': line = ansi.char_slice(line, startx, self.wid) + ansi.reset else: line = line[startx:self.wid + startx] yield line.rstrip() except IndexError: raise StopIteration i += 1