Re: [dev] Lessons Learned from 30 Years of MINIX

2016-03-06 Thread stanio
* Anselm R Garbe 2016-03-06 15:56
> I agree, though this is not stricly a problem with monolithic approaches 
> either.
> In the end you have to trust the process governor to limit the
> privileges of a process (or thread) to its specification/requirement.
> If the governor is only one SPOF (monolith) or if there are multiple
> forks of such a SPOF (microkernel) makes no big difference in the end.
> If the SPOF has a flaw, the flaw is everywhere, regardless the process
> model.

to my understanding, the governer (or whatever SPOF) is again yet 
another problem. I agree that it has the same impact in both designs.

when you have as less as it gets in kernel space, however, you are
exposed to less vulnerabilities inherent to the (governed) code (running
user space), which the SPOF is not in control of.

cheers
--s



Re: [dev] Lessons Learned from 30 Years of MINIX

2016-03-06 Thread stanio
* Anselm R Garbe 2016-03-06 14:20
> On 6 March 2016 at 13:47, robin  wrote:
> > Microkernels defenitely resonates with the unix philosophy "do one thing and
> > do it well".
> > Having everything, except FUSE and such, in the kernel is doing more than
> > one thing.
> 
> IMHO the architectural decision for a monolith (==static linkage)
> often reduces the management bloat of dynamic loading or similar
> "extension" approaches that you end up with in a microkernel
> architecture.

you have dynamic vs static linkage problematic either way. that's
orthogonal.

microkernel is for me more about privileges and critical sections.
generally speaking, it definitely sucks less to have by design less
things that can badly go wrong.


--s




Re: [dev] [surf] Why yank to primary instead of clipboard?

2016-02-03 Thread stanio
* Kamil Cholewiński 2016-02-03 10:05
> On Wed, 03 Feb 2016, robin  wrote:
> Middle click.
> [...]
> Yes, this is really confusing and frustrating, I have to reach for the
> mouse when otherwise dealing with an almost keyboard-only environment.

try Shift-Insert

cheers
--s



Re: [dev] Fmask [c posix]

2015-12-30 Thread stanio
meta-meta

* Hiltjo Posthuma 2015-12-30 12:21
> What's next? Linking interesting tweets?

https://twitter.com/ggreenwald/status/682187313644998656



Mailing lists suck less. (was Re: [dev] Mailing lists sucks.)

2015-12-13 Thread stanio
mailing lists rock as much as it gets in the field.

and as a side note:
http://www.wired.com/2015/09/sorry-ello-real-anti-facebook-good-old-email/

cheers
--s



Re: [dev] [sbase] cal doesn't highlight current day

2015-11-16 Thread stanio
Hi

* Manu Raster 2015-11-16 22:45
> Another really useful function would be an optional column in the
> calendar displaying 'ISO week dates' (DIN ISO 8601). They are quite
> common in business parlance but I haven't seen them in any cal command
> yet.

you might give ncal a try. (it comes from FreeBSD.) ncal prints weeks
vertically, rather than horizontally, and with an optional row(s) for
the week number.

cheers
--s



Re: [dev] [surf] Using more memory than firefox

2015-06-02 Thread stanio
* Ivan Tham 2015-06-02 16:37
 Extra: How do I open a link in surf using the keyboard in the current
 window and in a new window?


vanilla surf: when carret browsing is active, you may search for the
link's text and press enter (opens in the current window).
 
otherwise: look at the surf.suckless.org/files/. there was some
javascript solution to follow links.

--s




Re: [dev] [sbase][offtopic] sbase in the wild

2015-03-13 Thread stanio
* Vampyrah Broadcasting 2015-03-13 21:11
 My teacher is pregnant, so our class made a present for her: personally
 painted rompers. I decided to put cat.c 20150303 from sbase on the romper

truly brilliant, Dennis!

--s



Re: [dev] st: selecting text affects both primary and clipbaord

2015-03-12 Thread stanio
* Alex Pilon 2015-03-12 15:17
 Also, do
 most numpad-less laptop keyboards even have Insert

all I've ever seen do.

 or a middle mouse
 button?

some do have middle. all i've ever seen have at least 2 buttons. you can
emulate middle button as simultaneous left+right. 

--s




Re: [dev] st: selecting text affects both primary and clipbaord

2015-02-20 Thread stanio
* k...@shike2.com 2015-02-20 17:39
 I agree here, it shouldn't modiy the CLIPBOARD seletction. Sometime
 is good to have different things in both selections. If nobady claims
 about it I will apply your patch.
 

I'd leave it as is, in order not to break scrips which expect to read
something from CLIPBOARD. 

In other programms, you might have the choice to send something to
selection or CLIPBOARD by different means. In st, however, you don't.
Thus, the current behaviour seems to me more consistent and intuitive.

--s



Re: [dev] st: selecting text affects both primary and clipbaord

2015-02-20 Thread stanio
* Greg Reagle 2015-02-20 20:07
 It is true that the only reason I select text in st is to copy it, but I
 still don't want it clobbering my clipboard.  

does the current behaviour break some scripts or habits of yours and
how?



Re: [dev] keyboard layouts and shorcuts

2015-02-19 Thread stanio
  shortcuts to stay on the same key

+1




Re: [dev] [website] [proposal] Add suckless logo and minor style change

2015-02-03 Thread stanio
* FRIGN 2015-02-03 14:35
 The entire suckless-website has a horizontal approach with only one thin
 dotted line separating the menu from the content.

hm. apart from the ss discussion, an appealing variant would be to vertically
align suckless.org with the content in the main area. (whether the dotted line
continues on the header or not)

(thanks for taking your time for this visual thingy)
--s



Re: [dev] Found a bug in surf

2015-01-21 Thread stanio


* Vampyrah Broadcasting 2015-01-21 19:34
 I wanted to copy
 the current URL. Is there any way to do this?

Hi, 

Ctrl+y 

(mnemonic yank)

The manpage describes the default keybindings. 

cheers
--s




Re: [dev] Found a bug in surf

2015-01-21 Thread stanio
* Vampyrah Broadcasting 2015-01-21 19:50
 Ctrl-y does nothing. 

how do you test? you try to paste, I guess. could be an issue of copy
and paste addressing different selections.

after yanking (i.e. ctrl-y) you might try 

xclip -o -selection primary 
xclip -o -selection secondary 

--s



Re: [dev] Found a bug in surf

2015-01-21 Thread stanio
* Vampyrah Broadcasting 2015-01-21 20:35
 I tried xclip -o -selection primary and that worked

I'm not an expert, but there are these primary and secondary selection, the
clipboard and a bunch of other buffers. They differ in how the content is
requested and exchanged and who owns the content afaik. 

. . .

in your case the other client doesn't use the primary selection. one option is
to teach it to do so.

. . .

I bet your other client uses the clipboard (as you could do with xclip -o
-selection clipboard). this means you have the option to bring surf to put the
selected text to clipboard or to both primary and clipboard.  Look for the
clipboard() function in surf.c and there should be a code snippet like:

gtk_clipboard_set_text(
gtk_clipboard_get(GDK_SELECTION_PRIMARY),
c-linkhover ? c-linkhover : geturi(c), -1);   

  k

add this just after it:

gtk_clipboard_set_text(
gtk_clipboard_get(GDK_SELECTION_CLIPBOARD),
c-linkhover ? c-linkhover : geturi(c), -1);

This is untested, but has fair chance to work. 

. . .

the third option: copy between primary and clipboard as you like. 
xclip -o -selection primary | xclip -i -selection clipboard   
xclip -o -selection clipboard | xclip -i -selection primary

cheers
--s



Re: [dev] surf vertical and horizontal same-origin policy patch

2015-01-08 Thread stanio
Hi

sounds very interesting. thanks. will review, test and report when I get some
spare time…



Re: [dev] [surf] [PATCH] add per-site user styles

2015-01-08 Thread stanio
* Christoph Lohmann 2015-01-07 21:46
 cope with two goals:
 1.) Make userstyles.org usable for surf.

could you provide some examples of useful userstyles.org styles.

All I've seen on userstyles.org is either for sites I don't visit
regularly or is about setting a car (fire, skull) as background or both.
That seemed to me as targeting people who have several layers of
transparency on their desktop in the hope to see the cogs of their
hard drives rolling perhaps. 

To explain where I look at it from, I use 4 styles currently:
0. default, 
1. light-on-dark css for SimplyRead (simplyread bound to some
   key), 
2. light-on-dark (night), which basically enforces max-width,
   font, color and background-color on everything (with small
   exceptions)
3. dark-on-light (day), which is inverted 2.)

2 and 3 only because simplyread can't always get what I want to read.

I can imagine to add 2-3 more styles to better adjust to some sites I
regularly visit, but can't see need for more.

thanks
--s



Re: [dev] Operating system choice

2014-11-21 Thread stanio
* koneu 2014-11-21 13:22
 + microkernel is inferior to monolithic in almost all aspects

microkernel is beautiful

--s



Re: [dev] golang: time.Tick() and ntp

2014-10-09 Thread stanio
* hiro 2014-10-09 15:10
 then buy a watch.

very good point: does one need the time in the status if one has a a
watch.

the status bar is not selectable, or modifiable, it is not even
read-only (you can't save it, colpy it etc.), it is look-at-only. 

think about this



Re: [dev] golang: time.Tick() and ntp

2014-10-09 Thread stanio
* Martti Kühne 2014-10-09 15:59
 ...sorry, but what about screenshots?

sure, it is that simple:
xwd | cut -d' ' -f6-11 | ocr | xclip -i

ok, I admit, I should have written “for the most part” to be correct.

--s




Re: [dev] golang: time.Tick() and ntp

2014-10-09 Thread stanio
* Markus Teich 2014-10-09 16:01
 I have no watch. They always break in the first year of wearing them.

get an analogue, manual one, give it some love and it will love you for
many years. 

 Also I
 seldomly would like to copy the time to some place, so look-at-only is pretty
 good for me.

if I can't bring you to wearing a watch, I must agree.

--s



Re: [dev] golang: time.Tick() and ntp

2014-10-09 Thread stanio
* Simon Lieb 2014-10-09 16:10
 What about using the ClkStatusText click in dwm’s config.h buttons array
 to send status bar content to X selections ?

what about sending date directly to X selections?  :o)

I mean, I get your point. Let me try another formulation:

apart from looking at it, for other tasks, the presence of
time/date in the status bar is either not a solution, or leads
to solutions more complex than using `date` directly

--s



Re: [dev] [PATCH] Reorder-and-extend-glyph-attributes

2014-07-31 Thread stanio
* Markus Teich 2014-07-31 12:39
 at suckless conf last year 20h mentioned, he originally implemented blinking
 support to warn him about outlook and gmail users in mutt. 

epic!

then he clearly needs at least two blinking modes: one for each. what
about hotmail?




Re: [dev] [PATCH] Reorder-and-extend-glyph-attributes

2014-07-31 Thread stanio
you're doing great job with st, guys, keep up! didn't want to distract
you from the discussion but couldn't resist 20h's briliant irony. --s




Re: [dev] xscreenshot(1) using suckless image format

2014-07-28 Thread stanio
  Is there a reliable way to get the X id of a window in a shell script? This
 xwininfo could help.

that's very helful, thanks a lot, Marcus!  cheers --s



Re: [dev] Graphics library that sucks the least?...

2014-07-10 Thread stanio
* Evan Gates 2014-07-10 19:54
 I like this idea with one qualification, when launched from a terminal
 the new program takes the place of that terminal. 

Ah, that reminds me, I once thought that tabbed which I otherwise don't
find use for might be forced to act as placeholder for all the windows
spawned by programs started from the terminal. The shell should be made
aware of tabbed in some way, I guess.

--s.



Re: [dev] Misbehaving floating window in dwm

2014-07-03 Thread stanio
Similar issues arise with java windows when the wm name is not set.

You might want to set it, e.g. by

wmname LG3D

http://tools.suckless.org/wmname

--s.



Re: [dev] Why do you use tmux/screen?

2014-07-01 Thread stanio
* hiro 2014-07-01 13:45
 I'd rather have the window manager manage all those persistent shell sessions.
 But tmux is such a beast that most people use is as their window
 manager in a window manager as well.

tmux (or dvtm, or tabbed, or other multiplexer) run locally inside
wm make sense for logically (according to one's logic) or technically
connected windows. For me, an irc session is such case -- runs in (what
would be in dwm) bottom layout in dvtm+dtach: sic in one window, log
tail in the other.

The gain of persistent sessions as with tmux and dvtm+dtach is obvious
but is another story.

--s_



Re: [dev] Plain text editor that sucks less - an alternative to VIM?

2014-06-30 Thread stanio
* Dimitris Zervas 2014-06-30 11:35
 I am thinking of trying to implement vim key bindings one of these days (I 
 can't work otherwise).

that'd be great.

including modes?

--s_



Re: [dev] [st] [PATCH] Explicit cast in CEIL macro

2014-06-25 Thread stanio
* FRIGN 2014-06-24 17:07
 Damn, you are right -.-. Back to the drawing board.

FWIW 
CEILmy(x) ((int)(x) + ((x) - (int)(x)  0)) 


the porblem with CEIL(3.01) remains, though.

--s.



Re: [dev] C coded lightweight Linux vector graphics editor

2014-06-23 Thread stanio
* Džen 2014-06-23 11:14
 What about using pgf/tikz?

do you mean as backend or as fileformat/syntax?

tikz is quite powerful but I wouldn't call it simple.

--s_



Re: [dev] C coded lightweight Linux vector graphics editor

2014-06-23 Thread stanio
* Džen 2014-06-23 13:09
 As a back-end and syntax.

 TikZ actually is quite simple.

The syntax is simple for simple things, true.

But then you need to through it to pgf and tex and whether they as
dependences make much sense…

 A lot of people find it difficult to use, but practice makes perfect.

I have used it several times for different purposes but not so often.
Every time I get back to it, I find myself “relearning” things I had
already knew last time. I don't always have time for practice a lot --
for these cases I feel a graphical front is useful.

 To me it seems to be the most sophisticated front-end around for
 drawing vector graphics.

Well, the front end is your text editor. (See downsides of this below.)


 I guess it's a matter of taste, but I prefer to write some TikZ code
 instead of using a fancy graphical front-end to manipulate (XML-based)
 vector graphics.

Me too, for some cases: it particularly pays off for well defined basic
figures when you know their relative positions in beforehand and you
don't need the visual feedback for; and for repeating modular drawings
as well. However, for free form curves and prototyping, it becomes an
ugly endless mess of adjust-compile-view cycles.


cheers
--s_



Re: [dev][port] Porting sbase to Java

2014-04-02 Thread stanio
Thanks for bringing up that very important issue, I was annoyed too.

Here is something else that bugs me a lot: 
PLEASE SPELL DWM HOW IT OUGHT BE DONE: IN CAPITALS.

I suggest other suckless projects to do so either. And I would go so far
to capitalize the executables, too. Though, that might be too radical.
I'd like to hear how people feel about it.

Look at that:

/usr/bin/ST
/usr/bin/SSELP
/usr/bin/SURF
/usr/bin/DWM

Don't they look much more appealing to you. Admit it! It's only habit if
you are not immediately euphoric about this idea!

Think positive, be creative, innovate, top post! 

* Raphaël Proust 2014-04-02 12:16
 Can you please include the whole message you are replying to in your
 answers guys? It's very difficult to follow this thread if I have to
 go back and read the previous messages and it is a very important
 thread for the suckless group. Making good software is nice but don't
 forget to make good communications too.
 
 By the way, can the person in charge of
 https://www.facebook.com/pages/dwm/103482239693985 be a bit more
 active? I keep telling people to try dwm (which needs to be rewritten
 in ruby) but once they see the facebook page they say it looks dead
 and bad.
 
 On Wed, Apr 2, 2014 at 10:51 AM, FRIGN d...@frign.de wrote:
  On Wed, 02 Apr 2014 09:11:34 +0200
  Christoph Lohmann 2...@r-36.net wrote:
 
  This is great news. Now that suckless has reached the future we will see
  a bright horizont of pleasure and commercial support.
 
  Most definitely!
  However, we need to build up your corporate identity. I suggest we make
  suckless a registered trademark and sue everyone who adopts our brand
  without permission.
 
  Cheers
 
  FRIGN
 
  --
  FRIGN d...@frign.de
 
 

--s_



Re: [dev][port] Porting sbase to Java

2014-04-02 Thread stanio
If the suckless community agrees, we can hire a designer to make each
part of the slogan in an appropriate font and make a gif and a flash
version of it.

Then we can install mailing list software with support for automatically
adding multimedia content to messages, before delivering them to the
recepient -- and add the flash to every mail. A step to corporate
identity 4.0.

Alternatively the subscribers should use only MUA which can do this job,
but I am sceptical about whether this would work: never leave important
decisions to the user! There are way too many irresponsible people out
there.

* Christoph Lohmann 2014-04-02 15:21
 Greetings.
 
 On Wed, 02 Apr 2014 14:58:12 +0200 sta...@cs.tu-berlin.de wrote:
  Think positive, be creative, innovate, top post! 
 
 Our manifesto has to be changed to include this.
 
 
 Sincerely,
 
 Christoph Lohmann
 
 

--s_



Re: [dev][port] Porting sbase to Java

2014-04-02 Thread stanio
* Martti Kühne 2014-04-02 14:37
 Uh, you are aware that date this thread was from is over now, do you?

you're kidding me, right? Sounds to me like April 2 fools joke.

--s_



Re: [dev] [proposal] Suckless Tox-Client as a Skype replacement

2014-03-24 Thread stanio
* hiro 2014-03-24 11:39
  and SIP also has it's complexities 

which is clearly due to S
http://youtu.be/yBkbj_S3etY

(SCNR!) 

--s_



Re: [dev] [proposal] Suckless Tox-Client as a Skype replacement

2014-03-24 Thread stanio
* Nick 2014-03-24 00:01
 Indeed I'm using Jitsi at the moment, despite the fact that it's in 
 Java and has an interface that you'd expect for that. But it works, 
 and is quite secure over the wire, and that counts for a great deal.

Same here. I managed to force the parties I have video chat on regular
basis with to use jitsi. For common use cases it works fine. Behind
company firewalls, still there is way to go: I didn't manage to get STUN
work, and eventually gave up.

Another annoying thing is the interface for which one need to be married
to the mouse. 

Jitsi seems to get the security right -- you don't need tons of quirks
to make it work, it's just built in and is default, and one gets
reasonable feedback what goes wrong, how trustworthy the connection is,
etc.

In general, the XMPP + SIP solution makes sense to me. And since XMPP
will be around for some time, I guess, it does not require people to get
yet another account, i.e. it has the potential to be easily adopted 

cheers
--s_



Re: [dev] [proposal] Suckless Tox-Client as a Skype replacement

2014-03-24 Thread stanio
Just to make two things clear: I'm not an expert in XMPP and SIP. The
video came to my mind as I read the X argument: couldn't resist to post
it.  First time I saw it I spent quite some time to figure out whether
it is fake. Ever since I love it.

* FRIGN 2014-03-24 12:56
 On Mon, 24 Mar 2014 12:36:36 +0100
 Still, XMPP is a centralized protocol-system and that's what makes it
 unusable for me.

While I'd love to see a distributed system which comes with all benefits
of decentralisation -- flexibility, dependability, hard to compromise,
etc. --, I am not aware of any, so one such needs to be first
implemented, then promoted, adopted. So, I'm looking for what I can use
now. 

 Discussing these things we really need to put in regard the ordinary
 user, who would have big troubles setting up XMPP+SIP 

Jitsi does that right: I have less troubles with it than with what I've
tried before, e.g. linphone.

 ---
 To establish a new solution in an already saturated environment (i.e.
 Skype), it has to bring in obvious advantages for the normal user,
 or else it is deemed to fail.
 ---

Exactly. 

 XMPP+SIP brings the privacy we all want, but most people don't care
 about privacy, they care about familiarity and comfort.

Right now, people more and more care about privacy. I think this is the
chance to push things like jitsi (and XMPP, SIP) because they indeed
offer this obvious advantage not present in the saturated environment
(Skype). I must admit, it  became obvious to the masses only recently
and not as obvious as I wish, but still something happens.

I've converged to the policy to promote things which go in the right
direction, although I'm aware they suck in some respect. You can always
say “what sucks, sucks, period,” but also you can look at the gradients
and admit that some suck less and try to improve. Skype sucks big time,
inherently, by the fact it is owned by someone who does not share the
public interest. Give up the hope that it can remotely suck less. 

 On the technical side, you don't need extensions for XMPP (libjingle)
 or separate protocols (SIP) to build up VoIP- or MoIP-connections
 (being integrated into one protocol), dramatically decreasing the
 number of possible attack-vectors because tox-core's developers are
 able to integrate such solutions very well knowing what's used in the
 first place.

Didn't get that. I need some reading about tox before feeling
comfortable with technical discussions.

cheers
--s_



Re: [dev] [proposal] Suckless Tox-Client as a Skype replacement

2014-03-24 Thread stanio
* FRIGN 2014-03-24 12:31
  http://youtu.be/yBkbj_S3etY

 Looks like your mail went through a meat grinder.

why? something wrong with the link? but you got there if you are citing
the video description? sorry, don't get it. It was as offtopic as it
gets anyway.

--s_



Re: [dev] [proposal] Suckless Tox-Client as a Skype replacement

2014-03-24 Thread stanio
* FRIGN 2014-03-24 14:42
 On topic, I would like to know how you would implement a chat client on
 the terminal. Dmitrij D. Czarkoff is all for a ii-like interface, but
 I'd be really glad to hear more opinions on that.

Here you are: I'm fine with ii

 We can definitely look at things only with the technical glasses, but
 other than specialized tools, an instant messaging system stands and
 falls with the amount of users actually using the system at the end of
 the day.

Yes. And, sadly, to win, you need social engineering of some sort.
Either an incredibly charismatic person, or (like fb) fake accounts,
fake figures, or probably both. 

--s_



Re: [dev] [proposal] Suckless Tox-Client as a Skype replacement

2014-03-24 Thread stanio
* Christoph Lohmann 2014-03-24 14:59
 I’m  waiting  for  bitlbee implementing tox. We already have really good
 IRC clients.

+1

then you don't impose a particular interaction scheme on everyone.

--s_



Re: [dev] What is bad with Python

2014-03-04 Thread stanio
* Szabolcs Nagy 2014-03-04 20:57
 […]

thanks you cared to explain
--s.



Re: [dev] [dwm] Why fullscreen at all?

2014-02-23 Thread stanio
* Michael Hauser 2014-02-23 20:39
 Why let applications that have their own fullscreen settings take away
 control from the window manager?
 [...]
 
I may be missing something, but for most applications, unfloating them
works just fine to return control, in your terms, to the dwm: they get
managed while they think they are full screen. (Here at least. I should
admit I didn't try with a recent dwm)

If these few more keystrokes bug you, probably adding a rule which makes
the fullscreen windows managed could do the job for you. 
--s.



Re: [dev] [dwm] Why fullscreen at all?

2014-02-23 Thread stanio
* Michael Hauser 2014-02-24 01:13
 sta...@cs.tu-berlin.de writes:
  I may be missing something, but for most applications, unfloating them
  works just fine to return control, in your terms, to the dwm: they get
  managed while they think they are full screen. (Here at least. I should
  admit I didn't try with a recent dwm)
 
 I am using dwm-git, version number says 6.1;  and no, they do not become
 floating clients.
 
 I tried it with feh, FBRreader and just fired up Firefox and hit F11 to
 toggle it to fullscreen.

After they get fullscreen, they float, I guess. If you now toggle
floating (Mod-Shift-Space here) they should get managed, shouldn't they?
My binding:

{ MODKEY|ShiftMask, XK_space,  togglefloating, {0} },   
   

  If these few more keystrokes bug you, probably adding a rule which makes
  the fullscreen windows managed could do the job for you. 
 
 Elaborate, please.  How would you do this?

In the Rule array in config.h, e.g. (untested):

static Rule rules[] = { 
/* class  instancetitle   tags mask isfloating  
 monitor */  
{fullscrean,  NULL,   NULL,   NULL,   False, -1},  
[...]

You need to figure out what class, title, etc. your windows have.

--s.



Re: [dev] [dwm] Why fullscreen at all?

2014-02-23 Thread stanio
* Michael Hauser 2014-02-24 02:04
 No, they do not float.  If they did, I would be able to move or resize
 them.  Also they cannot be toggled to float, as long in fullscreen mode.
 Try it and see.

Don't have feh, ffx here; can't find how to go fullscreen in FBReader.
I tried with midori, zathura, xpdf. They do fload. I can move them with
themouse. I can toggle float. They can get managed.

--s.



Re: [dev] XML vs HTML (was: Article about suckless on root.cz)

2014-02-22 Thread stanio
* Hadrian Węgrzynowski 2014-02-21 22:16
 Even if it would work, I think that web shouldn't be pixel-perfect,
 because we could just use some glorified-PDFs. It's utter nonsense
 that correct rendering of page is depending on some specific font and
 specific font size. It's utter nonsense to not restrict paragraph
 length (at 80 characters or something). It's utter nonsense to assume
 that everyone is using maximised browser window at 1080p.
 

+1

and it's utter nonsense to force specific view on given content (in
case you need this, the presentation IS the content and you probably
need ps, pdf or whatever)

--s.



Re: [dev] XML vs HTML (was: Article about suckless on root.cz)

2014-02-22 Thread stanio
* Charlie Kester 2014-02-21 23:54
 Or is the trend to create a separate, mobile version of the page,
 which simply changes the assumption to some smaller screen size?
 
 Or are people just ignoring the problem altogether?

When they don't do and build a mobile version, it is often more usable
than the full one. (Unless they decide to split the content in small
chunks to “better” fit one's screen, so that one need to click `next'
all the time.)

Printable versions are often more enjoyable than the normal ones, too.

--s.



Re: [dev] Re: Article about suckless on root.cz

2014-02-20 Thread stanio
Hi,

Late reply, but surfing around reminded me you were about to write about
surf. 

* Martin Kopta 2014-02-17 07:58
 Next, the forth article will be about surf, so if you have any suggestion on
 what to include, please share.

Looks like your audience has high technical pawareness. Still, I feel,
one can't emphasize enough how insane the web has become. 

For example, consider the mere fact http is called http. The first /t/
in it is for text. Now it is used to embed and transfer whatnots. Worse:
often, where could and should be text, the text is obfuscated in binary
containers. 

That said, suckless web browser is an oxymoron: it sucks either at
design or at the amount of content accessible.

Surf is a particular trade-off of what is worth caring about and giving
the user interface to. Uzbl is another one, w3m another one, dillo,
netsurf, etc.

Surf is a sane interface to a web and web-viewer that do inevitably
suck big time.

2ct
--s_



tabs (was [dev] Re: Article about suckless on root.cz)

2014-02-17 Thread stanio
Hi,

This answer by Christoph reminds me of something I wanted to ask:

* Christoph Lohmann 2014-02-17 17:47
 For surf you should mention the following points:
 
 * Integration with tabbed.

I like the generality of the approach -- everithing should be embeddable
the same way in a container with uniform bindings etc. Sounds great. But
I've been entirely missing the point of tabbed ever since.

I mean wmii (later dwm, tiling WMs in general) relieved me of thinking
in terms of tabs because it managed what was unmanagable before. I've
never touched anything with tabs for years now.  

Can you guys describe some life-changing use cases? (or point me to
RTF*)

thanks

cheers
--s_




Re: [dev] portable photoshop-like lite application based on C?

2013-12-02 Thread stanio
Hi,

I've been envisioning a *very simple* GUI for doing 
- pointing,
- selection,
- moving a slider,

which can be linked genericaly with most netpbm tools (I prefer netpbm
to imagemagick). The command window would be simple a terminal. Some
tools mostly just don't need gui (e.g. pnmtojpeg). Launching a GUI would
link it to a specific tool (say `pnmcrop', which needs selection; or
`ppmdither' with slider ) and file(s).

Besides the obvious need to interact with the image in order to do
selection (of points or areas), for me a GUI can accelerate the process
of doing a transformation and seeing result, so one can try out
different parameters/tools.

Clearly, this is far behind GIMP, but I don't need more.

Most suckless interaction experience I've got is from macos' preview --
and I do ocasionally borrow my gf's box for cropping and simple color
adjustments. Everithing else I've encountered so far is way too heavy on
resources and dependencies or  crashes every minute. 

I haven't written anything like that, obviously. But is my wishlist and
TODO for quite some time. Probably I could rip off sth of your suckless
GIMP replacement for my needs.

I guess sth like this is how I imagine the workflow:

$ jpegtopnm bla.jpg | gui pnmcrop |  gui ppmbrighten \
| pamscale -xysize 512 512 \
| pnmtojpeg  bla-crop-bright-small.jpeg



cheers

--s.



Re: Tags as tags (Was: [dev] Desktop warping for DWM?)

2013-11-17 Thread stanio
* FRIGN 2013-11-17 13:51
 However, I already had gotten used to the workflow in a tiling
 manager. Having to use the mouse to scale the windows and rely on those
 few workspaces just showed me how much better it is to be able to
 assign tags to specific windows. This flexibility is just impossible in
 normal wm's, just for the reason, because tiling isn't the way to go
 for beginners.

huh. What's got tiling to do with tagging?

It's not about noobs, beginners, experts whatsoever. It's about
willingness to try out different workflows and paradigms and see what is
efficient for you. And for each user the mileage varies.

That said, a while ago I read the post with the key binding suggestions,
gave them a try, and have lived with them happily ever since. 

2ct

--s.



Re: [dev] tmux export buffer to pastebin

2013-07-19 Thread stanio
* Kai Hendry 2013-07-13 07:50
 Since hopefully most of you are running http://st.suckless.org/ and
 tmux, perhaps you'll find this bind interesting:
 
 bind-key p capture-pane -S -32768 \; save-buffer /tmp/tmux-buffer \;
 run cat /tmp/tmux-buffer | curl -F 'sprunge=-' http://sprunge.us
 | tmux load-buffer -; tmux show-buffer

not sure I find it useful as a binding in tmux -- never had this use
case.

But I have already piped some stuff to sprunge from a file since you
posted it. It was very helpful. So, thank you for sharing.

--s_



Re: [dev] lynx?

2013-05-29 Thread stanio
* Thorsten Glaser 2013-05-28 20:25
 Is there anyone on earth having figured out how to *use* that,
 as in navigate?

with sth like this in your ~/.w3m/keymap it feels for me like surf (to
be precise, surf feels like w3m).

   keymap C-u  PREV_PAGE
   keymap C-d  NEXT_PAGE
   keymap SPC  NEXT_PAGE
   keymap C-e  DOWN
   keymap C-y  UP
   keymap ^LINE_BEGIN
   keymap $LINE_END
   keymap DOWN MOVE_DOWN
   keymap jMOVE_DOWN
   keymap kMOVE_UP
   keymap lMOVE_RIGHT
   keymap hMOVE_LEFT1
   keymap  Z   CENTER_H
   keymap  z   CENTER_V
   keymap  ESC-g   GOTO_LINE
   keymap  gg  BEGIN
   keymap  G   END
   keymap  w   NEXT_WORD
   keymap  b   PREV_WORD
   keymap  [   LINK_BEGIN
   keymap  ]   LINK_END
   keymap  TAB NEXT_LINK
   keymap  f   MOVE_LIST_MENU
   keymap  C-o UNDO
   keymap  CTRL-i  REDO
   keymap  C-m GOTO_LINK
   keymap  C-SHIFT-H   BACK
   keymap  L   NEXT
   keymap  H   PREV
   keymap  s   SELECT_MENU
   keymap  v   VIEW

--s.



Re: [dev] lynx?

2013-05-28 Thread stanio
* markus schnalke 2013-05-28 13:07
 these days, lynx was often mentioned when a text browser was meant.
 Is there really someone (apart from mirabilos) who uses lynx? Don't
 you rather use w3m?

me.

rarely intereactively, though. More with -dump. I do query dictionaries
or similar which happen to have stable structure over time and one can
do things like:

$ lynx -dump foo.bla | sed -n /^Your query/,/^Similar words/ p

Mostly I have this wrapped in a script or shell alias and often invoke
it from within vim.

For interactive browsing in the terminal, I indeed use w3m more often --
it renders often better. But, well not always, especially when menu and
content are not sequential. 

compare
$ w3m -dump -cols 60 \
http://odict.leo.org/ende?lang=desearch=suck; \
| sed -n /[0-9]\s*Treffer/,/Suchfilter einstellen close/ p

$ lynx -dump -nonumbers -nolist -nolog 
http://odict.leo.org/ende?lang=desearch=suck; \
| sed -n /[0-9]\s*Treffer/,/Suchfilter einstellen close/ p 

$ lynx -dump -nonumbers -nolist -nolog 
http://odict.leo.org/ende?lang=desearch=suck; \
| sed -n /[0-9]\s*Treffer/,/Suchfilter einstellen close/ { 
s/\[_\]\s*//; p} 

In the end, it's a matter of taste, I guess.
--s.



Re: [dev][surf]Some questions about surf.

2013-04-14 Thread stanio
* Hugues Moretto-Viry 2013-04-14 13:42
 - Is there a way to define a default font as we do with dwm or tabbed?
 After looking the sources, I guess we can't for now.

No.

You probably are aware that you can put sth like this in
.surf/style.css, but for the sake of completeness:

* {font-family:Linux Libertine O;}

--s.



Re: [dev] [surf] introduce .gitignore

2013-03-15 Thread stanio
Hi,

* Alexander Huemer 2013-03-15 09:55
 On Fri, Mar 15, 2013 at 04:16:01AM +0800, Chris Down wrote:
 
 Not adding file to the index has nothing to do with git knowing what to 
 do. In a more complex directory structure like the following you want to 
 be able to do 'git add dir1' and then have .o files not in the index.
 
 dir1
  file1.c
  file1.o
  file2.c
  file2.o
  file3.c
  file3.o

Your point is good, in general, and I use .gitignore for some of my
projects, where I indeed have similar directory structure. But do you
expect surf to get that far that you need to add subdirectories and
multiple obj files (and probably latex auxilary files of the pdf
documentation?). I don't. And thus I consider .gitignore bloat.

cheers
--s.



Re: [dev][surf] [PATCH] Fixed keys handling for multilayout environments.

2013-03-15 Thread stanio
* Alexander Sedov 2013-03-15 16:13
 There is a bug in GTK+ that does not allow capturing shortcuts using
 letter keys on layouts other than us. The bug is there for ages and
 there is probably no hope that it will get fixed. This patch switches
 shortcut handling method to GtkAccelGroup, which handles this case
 correctly. Enjoy!

Does this mean that with cyrillic layout, mappings defined as GDK_r
would work?

If this is the case -- thank youvery much for hounding down and fixing!
This has annoyed me for a long time. This will cause me to put some work
in updating my ancient heavily patched surf in the next days. 

cheers
--s_



Re: [dev] web browsers

2013-03-10 Thread stanio
* hiro 2013-03-10 14:26
 default? is there a list of features not supported so I can check if
 my issues are not covered?

no, of course. this is an ill posed problem. it would take infinite time
and space to write or read. 

but feel free to start one. It might turn out to be fun to see what
people consider to be features. 

--s.



Re: [dev] web browsers

2013-03-10 Thread stanio
* Nick 2013-03-10 16:56
 triggered, no popup blockers seem to work on them (I'd guess adblock 
 disables the appropriate .js, though privoxy doesn't out of the 
 box.)

same frustration here.
--s.



Re: [dev] Makefile/markdown based static site generator

2013-02-21 Thread stanio
* Sam Watkins 2013-02-21 06:21
 or other tools with simpler regexps:
 
   html_split | grep '^!--' | sed 's/!-- *//; s/ *--$//'

Yeah, I find this more readable.
I'd even get rid of grep, sed is perfect for the job

sed -n  '/\s*^!--/{
s/!-- *//;
s/ *--$//;
p;
q;
}'

--s.



Re: [dev] Makefile/markdown based static site generator

2013-02-21 Thread stanio
* sta...@cs.tu-berlin.de 2013-02-21 10:16
   sed -n  '/\s*^!--/{

shit.

of course:
sed -n '/^\s*!--/{
   s/!-- *//;
   s/ *--$//;
   p;
   q;
   }'

--s.



Re: [dev][surf] disable scrollbars patch

2013-02-21 Thread stanio
* Carlos Torres 2013-02-21 16:34
 Attached you'll find a patch that adds the -b flag to disable scroll_b_ars,
 they can also be disabled with config.h

Great.

Currently I'm using a gtk hack to make bars less annoying and got
accustomed to having a non-intrusive indication about the pane size and
where I am, rather than not having one at all.

$ cat .gtkrc-2.0
style bla {
GtkRange::slider-width = 3
bg[NORMAL] = #464646
fg[NORMAL] = #99
}
class GtkWidget style bla


--s.



Re: [dev] surf 0.6 issues

2013-02-17 Thread stanio
* Jens Nyberg 2013-02-17 16:14
 2013/2/17 Donald Allen donaldcal...@gmail.com:
  1. Attempting to play youtube videos frequently results in youtube
  reporting that This video is currently unavailable. after briefly
 Remove your cookie file. ~/.surf/cookies.txt probably. That will solve
 that problem.

Man, works indeed!

Thanks.

What is the reason? 

(I must admit, I considered this a feature to keep me on topic: Big Surf
is watching you.)
--s.



Re: [dev] [surf] patch for style toggling

2013-02-17 Thread stanio
* Christoph Lohmann 2013-02-16 16:30
 The toggling has a relevance, but your »code.txt« should be a  patch  on

yeah, sorry for not sending proper patch, my surf is ancient. I have to
update it next days. 

But still, I think it doesn't hurt to have the function as I do. Then,
you can have a trivial toggle function to toggle, but you can bind
it directly for setting more styles.

Anyway, user style vs. page's own style switching is a must. Happy it is
in tip.

cheers
--s.



Re: [dev] [surf] patch for style toggling

2013-02-16 Thread stanio
* Nick 2013-02-16 15:12
 +static void
 +togglestyle(Client *c, const Arg *arg) {
 + WebKitWebSettings *settings;
 + char *uri;
 +
 + settings = webkit_web_view_get_settings(c-view);
 + g_object_get(G_OBJECT(settings), user-stylesheet-uri, uri, NULL);
 + uri = uri[0] ? g_strdup() : g_strconcat(file://, stylefile, NULL);
 + g_object_set(G_OBJECT(settings), user-stylesheet-uri, uri, NULL);
 +
 + update(c);
 +}

I use this all the time, slightly differently though. I have text
styles for day and night since the light conditions make difference
for convinient reading. You seem to ignore the Arg function argument,
which I use for saying which stylw. In combination with a modified
simplyread() Javascript heurisic someone posted here a while ago,
browsing is ok.

Attached the relevant code.

cheers
--s.
{MODKEY,   GDK_t, setstyle, { .v = 
/home/stanio/.surf/text_style.css } },
{MODKEY|GDK_SHIFT_MASK,GDK_t, setstyle, { .v = 
/home/stanio/.surf/text_style_day.css } },
{MODKEY,   GDK_w, setstyle, { .v = (const char *)NULL} },

setstyle(Client *c, const Arg *arg){
WebKitWebSettings *settings;
char *uri, *customstylefile;

customstylefile = arg-v==NULL?stylefile:(char *)arg-v;
settings = webkit_web_view_get_settings(c-view);
uri = g_strconcat(file://, customstylefile, NULL);
g_object_set(G_OBJECT(settings), user-stylesheet-uri, uri, NULL);
}


Re: [dev] Find window with dmenu

2013-02-12 Thread stanio
* markus schnalke 2013-02-12 16:39
 The following is NOT portable:
 
  sed -E 's/\s\+// ; /(vim|surf):/d'
 
 http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html
 
 If you want sed with Extended Regular Expressions, take awk. :-)

For the particular case of emulating these multiple grep pipes sed
should work fine. Something along the lines of if line doesn't match a,
then if line doesn't match b, then if line doesn't match c then print
line:

sed -n /a/ ! {
/b/ ! {
/c/ ! { p }}}  

--s_





Re: [dev] [dwmstatus] Mail counter

2012-12-21 Thread stanio
* s...@alternametz.org 2012-12-21 19:20
 To me the less in suckless was nearer to the german suffix los than to 
 german weniger
 but it's maybe a bit idealistic.

It is.

“suckless.org software that sucks less”
http://suckless.org/philosophy

best
--s_



Re: [dev] I'm back

2012-11-22 Thread stanio
* Sam Watkins [2012-11-22 04:58]:
 On Wed, Nov 21, 2012 at 12:45:35PM +0100, sta...@cs.tu-berlin.de wrote:
  - borders are useful

means yes to borders

 configuration
 
 border-width: 0

means no borders.

 
 problem solved

how???

Either me or you misunderstood the other one.

cheers
--s_



Re: [dev] I'm back

2012-11-21 Thread stanio

- borders are useful

- the information in the bar is quite useful, too. Don't mind if it is
  provided separately. But isn't it too much ofa hassle to interface it
  with dwm then?

- never used mouse in the bar, and don't plan to. 

cheers
--s_



Re: [dev] [surf] Disable javascript

2012-11-15 Thread stanio

* s...@alternametz.org [2012-11-15 12:56]:
 As a side note, I wonder how difficult would it be to create
 a generic toggle function for surf which could be called with
 any WebKitWebSettings boolean parameter in config.h such as
 auto-load-images, enable-scripts and so on ...

look for 20120602113939.GA26438 in your mailbox or 
http://permalink.gmane.org/gmane.comp.misc.suckless/9458

--s_



Re: [dev] [surf] Disable javascript

2012-11-15 Thread stanio
* sta...@cs.tu-berlin.de [2012-11-15 14:34]:
 * s...@alternametz.org [2012-11-15 12:56]:
  As a side note, I wonder how difficult would it be to create
  a generic toggle function for surf which could be called with
 
 look for 20120602113939.GA26438 in your mailbox or 
 http://permalink.gmane.org/gmane.comp.misc.suckless/9458

If you use that you might be interested in the following to keep track
of the status. 
http://permalink.gmane.org/gmane.comp.misc.suckless/9461

--s_



Re: [dev] [surf] Disable javascript

2012-11-15 Thread stanio
* Nick suckless-...@njw.me.uk [2012-11-15 15:47]:
 Insert mode? Since when did surf become modal? Why is this needed
 (except for people who like to pretend they're using vim)?

I agree, insert mode is quite special and maybe is worth having it as a
patch rather than in mainline surf. It makes character handling less
readable. 

If you want it, you will know that and will know how to get it working. 

cheers
--s_



Re: [dev] [st] toggle font

2012-10-11 Thread stanio
Hi,

* Stephen Paul Weber singpol...@singpolyma.net [2012-10-11 15:56]:
 Somebody claiming to be sta...@cs.tu-berlin.de wrote:
 This patch (against tip) introduces an array of font names in the config
 instead FONT and allows to cycle through them with Ctrl-PgUp at runtime.
 
 I also need multiple fonts, but I find keeping several builds of st
 around works fine for me.

I have 5 of them. Works fine: they live in separate dirs with only
Makefile an config.h not symlinked to the master-st dir.

Some features are fun to implement, but then you use them a day or two
and forget. But since some days ago, every day I like this font
switching on the fly more and more. And it comes effectively at no cost
-- neither conceptual, nor syntactical.

cheers
--s_



[dev] [st] toggle font

2012-10-09 Thread stanio
Hi,

This patch (against tip) introduces an array of font names in the config
instead FONT and allows to cycle through them with Ctrl-PgUp at runtime.

I missed this feature a lot when light conditions and distance to
display change, often so with a notebook, even more when different
displays plugged. Of course, tmux helps -- kill, start new st, attach to
the right session --, but I like this approach more.

Someone might find it useful.

cheers,
--s_
diff -r ba208156a8af config.def.h
--- a/config.def.h  Tue Oct 09 19:40:37 2012 +0200
+++ b/config.def.h  Tue Oct 09 22:33:55 2012 +0200
@@ -1,5 +1,9 @@
 
-#define FONT Liberation Mono:pixelsize=12:antialias=false:autohint=false
+static char* fonts[] = {
+   Liberation Mono:pixelsize=12:antialias=false:autohint=false,
+   Liberation Mono:pixelsize=14:antialias=false:autohint=false,
+   Liberation Mono:pixelsize=24:antialias=false:autohint=false
+};
 
 /* Space in pixels around the terminal buffer */
 #define BORDER 2
diff -r ba208156a8af st.c
--- a/st.c  Tue Oct 09 19:40:37 2012 +0200
+++ b/st.c  Tue Oct 09 22:33:55 2012 +0200
@@ -73,6 +73,7 @@
 #define Y2ROW(y) (((y) - BORDER)/xw.ch)
 
 #define VT102ID \033[?6c
+#define FONT   fonts[currfont]
 
 enum glyph_attribute {
ATTR_NULL  = 0,
@@ -335,6 +336,8 @@
 static void selpaste(void);
 static void selscroll(int, int);
 
+static void togglefont(void);
+
 static int utf8decode(char *, long *);
 static int utf8encode(long *, char *);
 static int utf8size(char *);
@@ -378,6 +381,7 @@
 static char *opt_embed = NULL;
 static char *opt_class = NULL;
 static char *opt_font = NULL;
+static unsigned int currfont = 0;
 
 void *
 xmalloc(size_t len) {
@@ -2566,6 +2570,20 @@
 }
 
 void
+togglefont(){
+   int col, row;
+
+   currfont = (++currfont) % LEN(fonts);
+   initfonts(FONT);
+   col = (xw.w - 2*BORDER) / xw.cw;
+   row = (xw.h - 2*BORDER) / xw.ch;
+   tresize(col, row);
+   xresize(col, row);
+   ttyresize();
+   draw();
+}
+
+void
 kpress(XEvent *ev) {
XKeyEvent *e = ev-xkey;
KeySym ksym;
@@ -2574,11 +2592,13 @@
int len;
int meta;
int shift;
+   int ctrl;
Status status;
 
if (IS_SET(MODE_KBDLOCK))
return;
 
+   ctrl = e-state  ControlMask;
meta = e-state  Mod1Mask;
shift = e-state  ShiftMask;
len = XmbLookupString(xw.xic, e, buf, sizeof(buf), ksym, status);
@@ -2589,6 +2609,11 @@
/* 2. hardcoded (overrides X lookup) */
} else {
switch(ksym) {
+   case XK_Prior:
+   case XK_Next:
+   if(ctrl)
+   togglefont();
+   break;
case XK_Up:
case XK_Down:
case XK_Left:


Re: [dev] [st] Removing timeouts in main loop

2012-09-16 Thread stanio
* Roberto E. Vargas Caballero k...@shike2.com [2012-09-16 09:48]:
 The main loop waits until there is some data to read in file descriptors of
 the X server or the pseudo tty. But it uses a timeout in select(), which
 causes that st awake each 20 ms, even it doesn't have something to do. This
 patch removes this problem removing the timeout, which is not needed.

I think this was supposed to make st faster, since it doesn't need to
draw things you'll never be able to read, i.e. anything faster than
20ms. 

--s_



Re: [dev] [surf] eval() not needed?

2012-07-07 Thread stanio
 { CTRL, GDK_c,  eval,   STRING(removeHints())

eval expects arg-v to be char**, so your STRING resolves to sth like

{ .v = (const char *[]){simplyread(false, false) } }

right?

cheers
--s_



Re: [dev] [surf] eval() not needed?

2012-07-06 Thread stanio
* Troels Henriksen at...@sigkill.dk [2012-07-06 09:31]:
 eval() was never needed per se.  I put it in because you need it if you
 want robust keybindings to functions defined in script.js, and you need

Ok. Didn't know. And still don't really get it... Can you give a hint?

search of 'eval'  within surf.suckless.org yields the Link hints page.
The js code invokes eval. Is this the same eval?

some time ago someone shared some js code to extract the important
textual part of a page based on counting number of paragraphs, called
simplyread. I use this quite often but to activate it I neeed to go into
insert mode to let surf not eat the keys, then press the key which the
script bound itself to (FWIW F3). 

I found myself binding some xdotool magic to a regular surf keybinding
as in
xdotool key -window $0 i key -window $0 F3 key -window $0 Esc 

which is sommewhat ugly. Is eval somehow related to that? 

--s_



Re: [dev] [surf] eval() not needed?

2012-07-06 Thread stanio
* Troels Henriksen at...@sigkill.dk [2012-07-06 12:06]:
 sta...@cs.tu-berlin.de writes:
 
  * Troels Henriksen at...@sigkill.dk [2012-07-06 09:31]:
 I'm not sure what you mean by insert mode. 

the insert mode patch would let you have 2 modes of ui:
- in normal mode, keystrokes are interpreted as if you were holding
  MODKEY pressed, even if you don't, i.e. are not passed through, and
  you can't type in to text fields, for instance, but you can use
  j,k,l,h,p without MODKEY;
- in insert mode, your keystrokes are passed through unless you
  explicitly hold MODKEY, i.e. for navigation you need to hold MODKEY
  before typing hjkl.

 I use eval() for
 Conkeror-style numbered link navigation.  The actual logic is defined in
 Javascript in my script.js, and I have the following bindings in my
 config.h:
 
 { CTRL, GDK_f,  eval,   STRING(hintMode()) },
 { CTRL|SHIFT,   GDK_f,  eval,   STRING(hintMode(true)) },
 { CTRL, GDK_c,  eval,   STRING(removeHints())
 },

That's great, thank you.

--s_



[dev] [surf] eval() not needed?

2012-07-05 Thread stanio
Seems like eval() is not needed for some time now.

The trivial patch against tip to remove it is attached.

--s_
diff -r e59e78e072e1 surf.c
--- a/surf.cFri Jul 06 00:59:17 2012 +0200
+++ b/surf.cFri Jul 06 01:04:04 2012 +0200
@@ -827,12 +827,6 @@
 }
 
 void
-eval(Client *c, const Arg *arg) {
-   WebKitWebFrame *frame = webkit_web_view_get_main_frame(c-view);
-   evalscript(webkit_web_frame_get_global_context(frame), ((char 
**)arg-v)[0], );
-}
-
-void
 stop(Client *c, const Arg *arg) {
webkit_web_view_stop_loading(c-view);
 }


Re: [dev] dwm tip changes

2012-06-24 Thread stanio
* Arian Kuschki arian.kusc...@googlemail.com [2012-06-23 23:52]:
 half/half editor/pdf file), it makes sense to put an app into full
 screen and then make it smaller again.

+1

fullscreen often just happens to be the window mode which provides the
best view. It is helpful to be able to tile the window in this mode just
as in any other. 

fullscreen windows *are* floating, aren't they? so the question is
whether you allow to tile/monocle them, right?

--s_



Re: [dev] dwm tip changes

2012-06-24 Thread stanio
* Anselm R Garbe garb...@gmail.com [2012-06-24 11:06]:
 The problem with floating is that it toggles the client state. If
 initially treated as floating window, it will toggle to the
 tiled/monocle/.. layout. If then toggled back to floating, it won't be
 resized to fullscreen mode. This sucks more imho.

I see your point. Thanks for clarifying. 

From your answer to Arian I see you mean mouse resize only. This doesn't
bother me at all. I just want to be able to tile/monocle fullscreen
windows, ant that seems to stay as is. 

thanks
--s_



Re: [dev] [surf] crash when leaving a page containing java

2012-06-16 Thread stanio
* pancake panc...@youterm.com [2012-06-15 18:07]:
 it is possible to disable all plugins (flash/java..) in surf?

That't how I browse around most of the time.

I posted a toggle patch a week or two ago; search for message id
20120602113939.GA26438 or look here
http://lists.suckless.org/dev/1206/11716.html

the relevant webkit settings are called enable-plugins and enable-scripts 

g_object_set(G_OBJECT(settings), name, false, NULL);

--s_



[dev] [surf] generic toggle patch

2012-06-02 Thread stanio
Hi,

Here is a simple patch to toggle binary webkit features by name.

--s_
diff -r 51a6d05c2c84 config.def.h
--- a/config.def.h  Mon Mar 26 09:33:42 2012 +0200
+++ b/config.def.h  Thu May 31 09:31:38 2012 +0200
@@ -42,4 +42,8 @@
 { MODKEY,   GDK_f,  spawn,  SETPROP(_SURF_FIND, 
_SURF_FIND) },
 { MODKEY,   GDK_n,  find,   { .b = TRUE } },
 { MODKEY|GDK_SHIFT_MASK,GDK_n,  find,   { .b = FALSE } },
+{ MODKEY,   GDK_v,  toggle, { .v = enable-plugins } 
},
+{ MODKEY|GDK_SHIFT_MASK,GDK_i,  toggle, { .v = auto-load-images 
} },
+{ MODKEY,   GDK_c,  toggle, { .v = 
enable-caret-browsing } },
+{ MODKEY|GDK_SHIFT_MASK,GDK_s,  toggle, { .v = enable-scripts } 
},
 };
diff -r 51a6d05c2c84 surf.c
--- a/surf.cMon Mar 26 09:33:42 2012 +0200
+++ b/surf.cThu May 31 09:31:38 2012 +0200
@@ -106,6 +106,7 @@
 static void eval(Client *c, const Arg *arg);
 static void stop(Client *c, const Arg *arg);
 static void titlechange(WebKitWebView *v, WebKitWebFrame* frame, const char* 
title, Client *c);
+static void toggle(Client *c, const Arg *arg);
 static void update(Client *c);
 static void updatewinid(Client *c);
 static void usage(void);
@@ -796,6 +797,20 @@
 }
 
 void
+toggle(Client *c, const Arg *arg) { 
+  WebKitWebSettings *settings;
+  char *name = (char *)arg-v;
+  gboolean value;
+  Arg a = { .b = FALSE };
+
+  settings = webkit_web_view_get_settings(c-view);
+  g_object_get(G_OBJECT(settings), name, value, NULL);
+  g_object_set(G_OBJECT(settings), name, !value, NULL);
+
+  reload(c,a);
+}
+
+void
 update(Client *c) {
char *t;
 


[dev] [surf] alternate style patch

2012-06-02 Thread stanio
I use this as a simple heuristic to make some broken web pages more
readable. It's proven very useful for reading news, docs, all sorts of
long text, where the content is more important than what the author
assumes is the best appearance.

The patch just alternates the default and text_style css. For longer
readings I prefer, as evident in text_style.css, reading light on dark
with modest contrast

--s_
diff -r 51a6d05c2c84 config.def.h
--- a/config.def.h  Mon Mar 26 09:33:42 2012 +0200
+++ b/config.def.h  Thu May 31 19:18:35 2012 +0200
@@ -42,4 +42,6 @@
 { MODKEY,   GDK_f,  spawn,  SETPROP(_SURF_FIND, 
_SURF_FIND) },
 { MODKEY,   GDK_n,  find,   { .b = TRUE } },
 { MODKEY|GDK_SHIFT_MASK,GDK_n,  find,   { .b = FALSE } },
+{ MODKEY,   GDK_t,   setstyle,   { .v = 
.surf/text_style.css } },
+{ MODKEY|GDK_SHIFT_MASK,GDK_t,   setstyle,   { .v = (const char 
*)NULL} },
 };
diff -r 51a6d05c2c84 surf.c
--- a/surf.cMon Mar 26 09:33:42 2012 +0200
+++ b/surf.cThu May 31 19:18:35 2012 +0200
@@ -99,6 +99,7 @@
 static void scroll(Client *c, const Arg *arg);
 static void setatom(Client *c, int a, const char *v);
 static void setcookie(SoupCookie *c);
+static void setstyle(Client *c, const Arg *v);
 static void setup(void);
 static void sigchld(int unused);
 static void source(Client *c, const Arg *arg);
@@ -702,6 +703,17 @@
 }
 
 void
+setstyle(Client *c, const Arg *arg){
+   WebKitWebSettings *settings;
+   char *uri, *customstylefile;
+
+   customstylefile = arg-v==NULL?stylefile:(char *)arg-v;
+   settings = webkit_web_view_get_settings(c-view);
+   uri = g_strconcat(file://, customstylefile, NULL);
+   g_object_set(G_OBJECT(settings), user-stylesheet-uri, uri, NULL);
+}
+
+void
 setup(void) {
char *proxy;
char *new_proxy;
body{
width:98% !important;
}

/*   
.navigation, .nav {
display:none !important;
}

#navigation, #nav {
display:none !important;
}
*8 */

*   {
max-width:100% !important;
 background-color:#3f3f3f !important;
 text:#acac8c !important;
 color:#acac8c !important;
 /*font-weight:bold !important;*/
 /*font-family:Ubuntu, Calibri, Helvetica, sans-serif !important;*/
 font-family:serif !important;
 text-align:justify;
}

code {
 font-family:monospace !important;
}

h1,h2,h3,h4 {
text:#efefdf !important;
color:#efefdf !important;
}

a {
text:#bfbfdc !important;
color:#bfbfdc !important;
text-decoration:none !important;
/*border-bottom:dashed 1px !important;  */
}
a:hover {
text:#dcdcff !important;
color:#dccdff !important;
text-decoration:none !important;
}

/* fnally! color of highlighted search matches*/
*::selection { background:#56 !important; color:#343434 !important; }


[dev] [surf] insert mode patch

2012-06-02 Thread stanio

Most of this code is certainly not by me, but I couldn't find such
patch, and I tought it could be useful to have around. 

Surf starts in 'normal' mode, where all your keybindings have effect
with and without pressing the modkey, e.g. both 'j' and '^j' scroll down
a line. 

Pressing 'i' in 'normal mode' brings you to 'insert mode', where your
keybindings take effect only when modkey is pressed. Without modkey,
keypress come through and are being processed by the engine (by the
website), so you can write to text elements or control an web
application.

'Esc' brings you again to 'normal mode'.

--s_
diff -r 51a6d05c2c84 config.def.h
--- a/config.def.h  Mon Mar 26 09:33:42 2012 +0200
+++ b/config.def.h  Thu May 31 19:39:00 2012 +0200
@@ -42,4 +42,5 @@
 { MODKEY,   GDK_f,  spawn,  SETPROP(_SURF_FIND, 
_SURF_FIND) },
 { MODKEY,   GDK_n,  find,   { .b = TRUE } },
 { MODKEY|GDK_SHIFT_MASK,GDK_n,  find,   { .b = FALSE } },
+{ 0,GDK_i,  insert, { 0 } },
 };
diff -r 51a6d05c2c84 surf.c
--- a/surf.cMon Mar 26 09:33:42 2012 +0200
+++ b/surf.cThu May 31 19:39:00 2012 +0200
@@ -63,7 +63,9 @@
 static char winid[64];
 static char *progname;
 static gboolean loadimage = 1, plugin = 1, script = 1;
+static gboolean insert_mode = FALSE;
 
+static void insert(Client *c, const Arg *arg);
 static char *buildpath(const char *path);
 static void cleanup(void);
 static void clipboard(Client *c, const Arg *arg);
@@ -353,21 +355,49 @@
return FALSE;
 }
 
+void
+insert(Client *c, const Arg *arg) {
+   insert_mode = TRUE;
+   update(clients);
+}
+
 gboolean
 keypress(GtkWidget* w, GdkEventKey *ev, Client *c) {
guint i;
gboolean processed = FALSE;
+   guint state;
 
updatewinid(c);
+
+   /* turn off insert mode */
+   if (insert_mode  (ev-keyval == GDK_Escape)) {
+   insert_mode = FALSE;
+   update(c);
+   return TRUE;
+   }
+   
+   if (insert_mode  ( ((ev-state  MODKEY) != MODKEY) || !MODKEY ) ) {
+   return FALSE;
+   }
+   
+   if (ev-keyval == GDK_Escape) {
+   webkit_web_view_set_highlight_text_matches(c-view, FALSE);
+   return TRUE;
+   }
+
for(i = 0; i  LENGTH(keys); i++) {
-   if(gdk_keyval_to_lower(ev-keyval) == keys[i].keyval
-(ev-state  keys[i].mod) == keys[i].mod
-keys[i].func) {
-   keys[i].func(c, (keys[i].arg));
-   processed = TRUE;
-   }
+   if(!insert_mode  (MODKEY  keys[i].mod) )
+   state = ev-state | MODKEY;
+   else
+   state = ev-state;
+
+   if(gdk_keyval_to_lower(ev-keyval) == keys[i].keyval  
keys[i].func)
+   if(state  == keys[i].mod){
+   keys[i].func(c, (keys[i].arg));
+   processed = TRUE;
+   }
}
-   return processed;
+   return processed; 
 }
 
 void


[dev] [surf] zoom text patch

2012-06-02 Thread stanio
This patch enables zooming text only, i.e. increase/decrease font size
and preserve other elements' sizes.

--s_
diff -r 51a6d05c2c84 config.def.h
--- a/config.def.h  Mon Mar 26 09:33:42 2012 +0200
+++ b/config.def.h  Thu May 31 19:30:14 2012 +0200
@@ -32,6 +32,9 @@
 { MODKEY|GDK_SHIFT_MASK,GDK_j,  zoom,   { .i = -1 } },
 { MODKEY|GDK_SHIFT_MASK,GDK_k,  zoom,   { .i = +1 } },
 { MODKEY|GDK_SHIFT_MASK,GDK_i,  zoom,   { .i = 0  } },
+{ MODKEY,   GDK_underscore,  zoomtext,   { .i = -1 } },
+{ MODKEY,   GDK_plus,zoomtext,   { .i = +1 } },
+{ MODKEY,   GDK_parenright,  zoomtext,   { .i = 0 } },
 { MODKEY,   GDK_l,  navigate,   { .i = +1 } },
 { MODKEY,   GDK_h,  navigate,   { .i = -1 } },
 { MODKEY,   GDK_j,  scroll, { .i = +1 } },
diff -r 51a6d05c2c84 surf.c
--- a/surf.cMon Mar 26 09:33:42 2012 +0200
+++ b/surf.cThu May 31 19:30:14 2012 +0200
@@ -111,6 +111,7 @@
 static void usage(void);
 static void windowobjectcleared(GtkWidget *w, WebKitWebFrame *frame, 
JSContextRef js, JSObjectRef win, Client *c);
 static void zoom(Client *c, const Arg *arg);
+static void zoomtext(Client *c, const Arg *arg);
 
 /* configuration, allows nested code to access above variables */
 #include config.h
@@ -828,6 +829,19 @@
 }
 
 void
+zoomtext(Client *c, const Arg *arg) {
+   WebKitWebSettings *settings;
+   gint fontsize;
+
+   settings = webkit_web_view_get_settings(c-view);
+   g_object_get(G_OBJECT(settings), default-font-size, fontsize, NULL);
+   //default size according to webkit docs is 12;
+   //FIXME: figure out how to get setting defaults
+   fontsize = (arg-i == 0 ?  12 : fontsize + arg-i);
+   g_object_set(G_OBJECT(settings), default-font-size, fontsize, NULL);
+}
+
+void
 zoom(Client *c, const Arg *arg) {
c-zoomed = TRUE;
if(arg-i  0)  /* zoom out */


Re: [dev] [surf] status area patch

2012-06-02 Thread stanio
* Kurt Van Dijck kurt.van.di...@eia.be [2012-06-02 19:48]:
 Have you tought on indicating the normal/insert mode of your earlier patch?
 Kurt

yes. 

but then the patch depends on the insert mode patch. I would avoid
dependencies where not needed.

It is straightforward to add, though.

togglestat[5] = '\0';
togglestat[4] = insert_mode?'+':'-';

--s_



Re: [dev] [surf]keybind to scroll left/right

2012-05-24 Thread stanio
* Thuban thu...@singularity.fr [2012-05-24 07:53]:
 I was wondering if there is any way to have a keybind to scroll left or
 right, just like you can scroll up and down with C-k and C-j?

sure. Here an example:
- config.h -
{ MODKEY,   GDK_j,   scroll_v,   { .i = +1 } },
{ MODKEY,   GDK_k,   scroll_v,   { .i = -1 } },
{ MODKEY,   GDK_g,   scroll_v,   { .i = -2 } },
{ MODKEY|GDK_SHIFT_MASK,GDK_g,   scroll_v,   { .i = +2 } },
{ MODKEY,   GDK_b,   scroll_v,   { .i = -1 } },
{ MODKEY,   GDK_space,   scroll_v,   { .i = +1 } },
{ MODKEY,   GDK_l,   scroll_h,   { .i = +1 } },
{ MODKEY,   GDK_h,   scroll_h,   { .i = -1 } },
-  -


-- surf.c --
void
scroll_h(Client *c, const Arg *arg) {
 scroll(gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(c-scroll)), 
arg);
}

void
scroll_v(Client *c, const Arg *arg) {
 scroll(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(c-scroll)), 
arg);
}

void
scroll(GtkAdjustment *a, const Arg *arg) {
 gdouble v;

 v = gtk_adjustment_get_value(a);
 switch (arg-i){
 case +1:
 case -1:
 v += gtk_adjustment_get_page_increment(a) * (arg-i / 1); break;
 case +2:
 case -2:
 default:
 v += gtk_adjustment_get_step_increment(a) * arg-i;
 }
 v = MAX(v, 0.0);
 v = MIN(v, gtk_adjustment_get_upper(a) - gtk_adjustment_get_page_size(a));
 gtk_adjustment_set_value(a, v);
}
-  -

--s_



[dev] recommend suckless mail server

2012-04-20 Thread stanio
Hi,

Can anyone suggest a suckless mail server?

We need encrypted IMAP and SMTP. Or a suckless tool chain which achieves
the above (e.g. instead SSL aware IMAP server, rsync a maildir from
server machine to local machine)

Thanks for any suggestions where to look into or if you share your
experience..

cheers
--s_



Re: [dev] regarding surf and cookie handling

2012-02-22 Thread stanio
 userbase of  5 ;)

the age of understatement...

-- s.



Re: mouse tag switching with alternative keyboard layout (was [dev] Re: skype gui interface)

2012-02-04 Thread stanio
 What versions of dwm are you using?

Patched dwm based on changeset 64eb02a74f2b (Tip from end of September 2010).

Wouldn't bother to apply the fix anyway, but thanks for replying -- I
couldn't remember discussing such bug on the list.

-- s.



Re: [dev] [dwm] Fullscreen programs in tile mode

2011-11-23 Thread stanio
In my setup and experience fullscreen brings programs to floating, e.g.
xpdf, xzgv, flash player. If you then toggle floating for that window
(Mod-Shift-Space), they get tiled. Isn't that what you want?

* Manolo Martínez man...@austrohungaro.com [2011-11-23 10:11]:
 The question is, is there any way to convince a program to deploy its
 fullscreen mode inside a window which I can then tile or monocle as I see fit?
-- 
 stanio_



Re: [dev] Suckless Desktop Environment

2011-11-07 Thread stanio
* Christoph Lohmann 2...@r-36.net [2011-11-07 20:23]:
 terminology to make suckless more usable for the press.  [...] Instead
 a whole environment could be promoted, which is usable across
 platforms.

Why?

Promote to whom? 

What is your final goal: to educate the masses in order to get better
web, better software, better user habits, sth. else? Do you believe it
is worth trying?

 This will lower the user selection we are used to, but it gives us an
 identity, that can be referred to and used for spreading propaganda /
 the idea.

This suggests, there exists some user selection by making things
obscure, hard to find, by hiding something. I rather see the conceptual
clarity and cleanness of the suckless concepts to attract people. 

cheers.
-- 
 stanio_



Re: [dev] [surf] downloads

2011-11-05 Thread stanio
* Nick suckless-...@njw.me.uk [2011-11-04 19:30]:
 I'll look myself, but if anyone else finds 
 one, please let us know. 

I've rarely had troubles downloading anything, maybe beacause I rarely do so
from crappy places; Untl recently when I repeatedly got this on arxiv.org
trying to download a pdf (dillo and others handle it correctly):

--2011-11-05 10:48:47--  http://arxiv.org/pdf/nlin/0408040
Resolving arxiv.org... 128.84.158.119
Connecting to arxiv.org|128.84.158.119|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2011-11-05 10:48:49 ERROR 403: Forbidden.

my DOWNLOAD looks like this:

#define DOWNLOAD(d) { \
.v = (char *[]){ /bin/sh, -c, \
st -e sh -c  \wget  \
--no-check-certificate --load-cookies ~/.surf/cookies.txt 
'$0';  \
pwd; exec ${SHELL}\, d, NULL } }

Hm, writing this, I figured out the arxiv folks are afraid of mass deonloads
and DoS and just look into the user agent. So adding --user-agent foo solved
the problem.

I post this anyway, someone might find it useful.  Of course, something like
Mozilla/5.0 (X11; U; Linux; en-us) AppleWebKit/531.2+ (KHTML, like Gecko,
surf-VERSION) Safari/531.2+ would make more sense. Don't know how to use the
static char useragent in the macro.

Thanks for leading me to that :o)

cheers,
-- 
 stanio_



Re: [dev] [surf] downloads

2011-11-05 Thread stanio
* sta...@cs.tu-berlin.de 
 I post this anyway, someone might find it useful.  Of course, something like
 Mozilla/5.0 (X11; U; Linux; en-us) AppleWebKit/531.2+ (KHTML, like Gecko,
 surf-VERSION) Safari/531.2+ would make more sense. Don't know how to use 
 the
 static char useragent in the macro.

well, works with:

#define DOWNLOAD(d) { \
.v = (char *[]){ /bin/sh, -c, \
st -e sh -c  \wget  \
+   --user-agent '$1'  \
--no-check-certificate --load-cookies ~/.surf/cookies.txt '$0';  \
-   pwd; exec ${SHELL}\, d, NULL } }
+   pwd; exec ${SHELL}\, d, useragent,  NULL } }

-- 
 stanio_



Re: [dev] [surf] downloads

2011-11-05 Thread stanio
* Troels Henriksen at...@sigkill.dk [2011-11-05 12:51]:
 There is a fix for this that involves using the
 webkit_download_get_suggested_filename function and passing it to wget's
 -O option, but I can't figure out how to prevent clobbering of an

that might work?
fn=$result_of_webkit_download_get_suggested_filename;
while test -e $fn; do fn=$fn.1; done;
wget -O $fn ...

-- 
 stanio_



Re: [dev] [surf] downloads

2011-11-05 Thread stanio
* Étienne Faure tinou...@gmail.com [2011-11-05 14:29]:
 I'm afraid not. I tested it quickly for the same vim.org issue:
 
 webkit_download_get_suggested_filename(o)
 returned download_script.php instead of, in this case, 
 TagmaBufMgr.zip.

I'm afraid, then curl won't do either.

To be honest, while I admit it is not beautiful, I never cared about
that. I land in a ${SHELL} after download finishes, see which file has
been downloaded, and can immediately rename it to what I consider sane.
File type is usually known from context, so ... it doesn't bother me
actually.

-- 
 stanio_



Re: [dev] [surf] downloads

2011-11-05 Thread stanio
* Étienne Faure tinou...@gmail.com [2011-11-05 14:59]:
 On Sat, Nov 5, 2011 at 14:40,  sta...@cs.tu-berlin.de wrote:
 
  I'm afraid, then curl won't do either.
 
 As a matter of fact, it does:
 

great. then use curl. It's acceptable dependence, just as much as wget
is. 

 Renaming the file afterwards can lead to failure: if the list of
 arguments after the .php is too long, the file won't be created, and
 the rename will fail.
 In such cases wget returns:
 
 Cannot write to `...' (File name too long).

Never encountered that myself. And I'm not sure I understand correctly.
I would see whether the file was created -- on the last line of wget
output:

2011-11-05 15:14:18 (340 KB/s) - `foobar.php?flsjffd' saved 
[521549/521549]

And, of course, rename only if it was downloaded successfully. 
-- 
 stanio_



Re: [dev] [dwm] 2000 SLOC

2011-11-02 Thread stanio
* hiro 23h...@googlemail.com [2011-11-02 10:11]:
  I once envisioned a Plugin to directly go to Print Views of websites,
  since they tend to have considerably less suck on them.
 
 I used to do the same thing, also I processed these pages with a few
 scripts and htmlfmt.

Do you mean, you plug somehow a script in surf (or whatever), before it
renders the page? How?

Or you process them for offline reading, printing, etc., losing links?

I find myself very often spawn a w3m or lynx when I encounter lengthly
content worth reading, with one of those 3+ columns layout, without
print version, which, to make it more ridiculous, are defined with
static width of left and right columns, so that zooming just makes it
worse.

This doesn't help when there are meaningful images, e.g. formulas, in
the text, though.

cheers,
-- 
 stanio_



  1   2   >