guest@dotshare [~/groups/wms/subtle] $ ls Blue-Touch/ | cat

Blue Touch (scrot)

Alexis Aug 04, 2013 (wms/subtle)

subtle.rb(raw, dl)

SCROT

  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
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
### Alexis V.'s Subtle configuration "Blue Touch"
### Based on Graawr's Classy Touch
### Last updated 27/08/2013

## General options
    
    set :step,              10 
    set :border_snap,       10

    set :gravity,           :ct66
    set :tiling,            false
    set :honor_size_hints,  false
    set :urgent,            false
    set :urgent_dialogs,    false

    set :click_to_focus,    false
    set :skip_pointer_warp, false
    set :skip_urgent_warp,  false 


## Panels

    screen 1 do
      top     [ :views, :separator, :title, :spacer, :mpd, :clock2 ]
      bottom  [ ]
     
    end

## Addons

    # No addons for now
    
## Colors

    background_1 =   "#151515"
    background_2 =   "#353535"    

    color_above =    "#ebebeb"
    color_light =    "#0077bb"
    color_medium =   "#545454"
    color_dark =     "#303030"

## Styles
    
    style :all do
      padding      2, 2, 2, 2
      margin       0, 0, 0, 0
      icon         color_light
      font         "xft:Ohsnap:pixelsize=12:antialias=false"
    end

    style :subtle do
      padding      0, 0, 0, 0
      margin       0, 0, 0, 0 
      panel_top    background_1
      panel_bottom background_1
    end

    style :clients do
      padding      0, 0, 0, 0
      margin       4, 4, 4, 4
      active       color_above, 1
      inactive     background_2, 1
      width        75
    end
     
    style :title do
      padding      1, 4, 2, 4
      margin       0, 0, 0, 0 
      foreground   color_above
      background   background_1
      font         "xft:Ohsnap:pixelsize=12:antialias=false"
    end
    
    style :sublets do
      padding      1, 4, 2, 4
      margin       0, 0, 0, 0
      foreground   color_medium
      background   background_1
      icon         color_light
      font         "xft:Ohsnap:pixelsize=12:antialias=false"
    end

    style :separator do
      padding      1, 2, 2, 2
      margin       0, 0, 0, 0
      foreground   color_light
      background   background_1
      separator    "|"
      font         "xft:Ohsnap:pixelsize=10:antialias=false"
    end
     
    style :views do
      padding      1, 5, 2, 5
      margin       0, 0, 0, 0
      foreground   color_medium
      background   background_1
      icon         color_dark
      font         "xft:Ohsnap:pixelsize=10:antialias=false"

        style :urgent do
          padding       1, 5, 2, 5
          margin        0, 0, 0, 0
          foreground    color_above
          background    background_1
          icon          color_above
          font          "xft:Ohsnap:pixelsize=12:antialias=false"
        end
         
        style :occupied do
          padding       1, 5, 2, 5
          margin        0, 0, 0, 0
          foreground    color_above
          background    background_1
          icon          color_medium
          font          "xft:Ohsnap:pixelsize=10:antialias=false"
        end
    
        style :focus do
          padding       1, 5, 2, 5
          margin        0, 0, 0, 0
          foreground    color_above
          background    color_light
          icon          color_light
          font          "xft:Ohsnap:pixelsize=10:antialias=false"
        end
    end     
   
## Gravities
     
    # Top left
    gravity :tl_a1,     [   0,   0,  33,  33 ]
    gravity :tl_a2,     [   0,   0,  50,  33 ]
    gravity :tl_a3,     [   0,   0,  67,  33 ]
     
    gravity :tl_b1,     [   0,   0,  33,  50 ]
    gravity :tl_b2,     [   0,   0,  50,  50 ]
    gravity :tl_b3,     [   0,   0,  67,  50 ]
     
    gravity :tl_c1,     [   0,   0,  33,  67 ]
    gravity :tl_c2,     [   0,   0,  50,  67 ]
    gravity :tl_c3,     [   0,   0,  67,  67 ]
     
    # Top center
    gravity :tc_a1,     [   0,   0, 100,  50 ]
    gravity :tc_a2,     [   0,   0, 100,  67 ]
    gravity :tc_a3,     [   0,   0, 100,  33 ]
     
    gravity :tc_b1,     [  33,   0,  34,  33 ]
    gravity :tc_b2,     [  33,   0,  34,  50 ]
    gravity :tc_b3,     [  33,   0,  34,  67 ]
     
    # Top right
    gravity :tr_a1,     [  67,   0,  33,  33 ]
    gravity :tr_a2,     [  50,   0,  50,  33 ]
    gravity :tr_a3,     [  33,   0,  67,  33 ]
     
    gravity :tr_b1,     [  67,   0,  33,  50 ]
    gravity :tr_b2,     [  50,   0,  50,  50 ]
    gravity :tr_b3,     [  33,   0,  67,  50 ]
     
    gravity :tr_c1,     [  67,   0,  33,  67 ]
    gravity :tr_c2,     [  50,   0,  50,  67 ]
    gravity :tr_c3,     [  33,   0,  67,  67 ]
     
    # Left
    gravity :l_a1,      [   0,  33,  33,  34 ]
    gravity :l_a2,      [   0,  33,  50,  34 ]
    gravity :l_a3,      [   0,  33,  67,  34 ]
     
    gravity :l_b1,      [   0,   0,  33, 100 ]
    gravity :l_b2,      [   0,   0,  50, 100 ]
    gravity :l_b3,      [   0,   0,  67, 100 ]
     
    # Center
    gravity :ct,        [   0,   0, 100, 100 ]
    gravity :ct33,      [  33,  33,  34,  34 ] 
    gravity :ct66,      [  25,  25,  50,  50 ], :vert
    gravity :ct40,      [  0,  33,  100,  34 ]
 
    # Right
    gravity :r_a1,      [  67,  33,  33,  34 ]
    gravity :r_a2,      [  50,  33,  50,  34 ]
    gravity :r_a3,      [  33,  33,  67,  34 ]
     
    gravity :r_b1,      [  67,   0,  33, 100 ]
    gravity :r_b2,      [  50,   0,  50, 100 ]
    gravity :r_b3,      [  33,   0,  67, 100 ]
     
    # Bottom left
    gravity :bl_a1,     [   0,  67,  33,  33 ]
    gravity :bl_a2,     [   0,  67,  50,  33 ]
    gravity :bl_a3,     [   0,  67,  67,  33 ]
     
    gravity :bl_b1,     [   0,  50,  33,  50 ]
    gravity :bl_b2,     [   0,  50,  50,  50 ]
    gravity :bl_b3,     [   0,  50,  67,  50 ]
     
    gravity :bl_c1,     [   0,  33,  33,  67 ]
    gravity :bl_c2,     [   0,  33,  50,  67 ]
    gravity :bl_c3,     [   0,  33,  67,  67 ]
     
    # Bottom center
    gravity :bc_a1,     [   0,  50, 100,  50 ]
    gravity :bc_a2,     [   0,  33, 100,  67 ]
    gravity :bc_a3,     [   0,  67, 100,  33 ]

    gravity :bc_b1,     [  33,  67,  34,  33 ]
    gravity :bc_b2,     [  33,  50,  34,  50 ]
    gravity :bc_b3,     [  33,  33,  34,  67 ]
     
    # Bottom right
    gravity :br_a1,     [  67,  67,  33,  33 ]
    gravity :br_a2,     [  50,  67,  50,  33 ]
    gravity :br_a3,     [  33,  67,  67,  33 ]
     
    gravity :br_b1,     [  67,  50,  33,  50 ]
    gravity :br_b2,     [  50,  50,  50,  50 ]
    gravity :br_b3,     [  33,  50,  67,  50 ]
     
    gravity :br_c1,     [  67,  33,  33,  67 ]
    gravity :br_c2,     [  50,  33,  50,  67 ]
    gravity :br_c3,     [  33,  33,  67,  67 ]

    # Special
    gravity :sp_br,     [  70,  85,  30,  15 ]
    gravity :sp_bl,     [   0,  85,  30,  15 ]
    gravity :sp_tr,     [  70,   0,  30,  15 ]
    gravity :sp_tl,     [   0,   0,  30,  15 ]

    # Gimp
    gravity :gimp_i,    [  10,   0,  80, 100 ]
    gravity :gimp_t,    [   0,   0,  10, 100 ]
    gravity :gimp_d,    [  90,   0,  10, 100 ]
      
## Grabs

    # Cycle between given gravities
    grab "W-KP_7",      [ :tl_a1, :tl_a2, :tl_a3, :tl_b1, :tl_b2, :tl_b3, :tl_c1, :tl_c2, :tl_c3 ]
    grab "W-KP_8",      [ :tc_b1, :tc_b2, :tc_b3, :tc_a3, :tc_a1, :tc_a2                         ]
    grab "W-KP_9",      [ :tr_a1, :tr_a2, :tr_a3, :tr_b1, :tr_b2, :tr_b3, :tr_c1, :tr_c2, :tr_c3 ]
     
    grab "W-KP_4",      [ :l_a1,  :l_a2,  :l_a3,  :l_b1,  :l_b2,  :l_b3 ]
    grab "W-KP_5",      [ :ct33  ,  :ct66,  :ct, :ct40 ]
    grab "W-KP_6",      [ :r_a1,  :r_a2,  :r_a3,  :r_b1,  :r_b2,  :r_b3 ]
     
    grab "W-KP_1",      [ :bl_a1, :bl_a2, :bl_a3, :bl_b1, :bl_b2, :bl_b3, :bl_c1, :bl_c2, :bl_c3 ]
    grab "W-KP_2",      [ :bc_b1, :bc_b2, :bc_b3, :bc_a3, :bc_a1, :bc_a2                         ]
    grab "W-KP_3",      [ :br_a1, :br_a2, :br_a3, :br_b1, :br_b2, :br_b3, :br_c1, :br_c2, :br_c3 ]
     
    grab "W-KP_0",      [ :sp_br, :sp_bl, :sp_tr, :sp_tl ]

    # Naviguate through clients 
    grab "A-Tab" do
        clients = Subtlext::Client.visible
        clients.last.instance_eval do
            focus
            raise
        end
    end

    # Go to next non-empty view
    grab "C-F8" do
        vArr = Subtlext::View[:all];
        cindx = vArr.index(Subtlext::View.current);
        for i in 1..vArr.size do
            cV = vArr[(i + cindx) % vArr.size];
            if (!cV.clients.empty? && Subtlext::View.visible.index(cV) == nil) then
                cV.jump;
                break;
            end
        end
    end
 
    # Go to previous non-empty view
    grab "C-F9" do
        vArr = Subtlext::View[:all].reverse;
        cindx = vArr.index(Subtlext::View.current);
        for i in 1..vArr.size do
            cV = vArr[(i + cindx) % vArr.size];
            if (!cV.clients.empty? && Subtlext::View.visible.index(cV) == nil) then
                cV.jump;
                break;
            end
        end
    end
    
    # Subtle actions 
    grab "W-C-r",   :SubtleReload
    grab "W-A-r",   :SubtleRestart
    grab "W-C-q",   :SubtleQuit
     
    # Window actions
    grab "W-B1",    :WindowMove
    grab "W-Up",    :WindowMoveUp
    grab "W-Right", :WindowMoveRight
    grab "W-Down",  :WindowMoveDown
    grab "W-Left",  :WindowMoveLeft

    grab "W-B3",    :WindowResize
    grab "W-C-Up",  :WindowResizeUp
    grab "W-C-Right", :WindowResizeRight
    grab "W-C-Down",:WindowResizeDown
    grab "W-C-Left",:WindowResizeLeft

    grab "W-h",     :WindowLeft
    grab "W-j",     :WindowDown
    grab "W-k",     :WindowUp
    grab "W-l",     :WindowRight
    grab "W-r",     :WindowRaise
    grab "W-s",     :WindowLower
    grab "W-q",     :WindowKill
    grab "W-S-f",   :WindowFloat
    grab "W-S-d",   :WindowFull
    grab "W-S-s",   :WindowStick
     
    # Shortcuts
    grab "W-Return",             "urxvtc -name terminal"
    grab "W-w",                  "firefox"
    grab "W-v",                  "urxvtc -name vim -e vim"
    grab "W-g",                  "steam"
    grab "W-m",                  "thunderbird"
    grab "W-i",                  "gimp"
    grab "W-a",                  "skype"
    grab "W-e",                  "ekiga"
    grab "W-z",                  "filezilla"

    # Screen capture
    grab "Print",		 "cd ~/Pictures && scrot && cd ~"

## Tags
     
    # Simple tags
    tag "web",      "chromium|firefox|filezilla"
    tag "msg",      "skype|ekiga|thunderbird"
    tag "steam",    "steam"
    tag "media",    "easytag|sonata|audacity|gimp|feh" 

    # Placement
    tag "web_full" do
      match "chromium|firefox"
      gravity :ct
    end

    tag "msg_full" do
      match "thunderbird"
      gravity :ct
    end

    tag "media_full" do
      match "libreoffice|audacity|easytag" 
      gravity :ct
    end

    # Apps definition
    tag "terms" do
      match :instance => "terminal"
    end

    tag "vim" do 
      match :instance => "vim"
      gravity :ct
    end

    tag "minecraft" do
      match :name => "Minecraft*|minecraft*"
    end

    tag "flash" do
      match "<unknown>|plugin-container|exe|operapluginwrapper|npviewer.bin"
    end

    # Modes
    tag "stick" do
      match "mplayer"
      stick true
    end
     
    tag "float" do
      match "mplayer|display"
      float true
    end

    tag "fixed" do
      match "display|gimp_*"
      fixed true
    end

    tag "borderless" do
      match "display|feh"
      borderless true
    end

    tag "urgent" do
      match "display"
      urgent true
    end

    tag "resize" do
      match "mplayer"
      resize true
    end

    # Gimp
    tag "gimp_image" do
      match   :role => "gimp-image-window"
      gravity :gimp_i
    end
     
    tag "gimp_toolbox" do
      match   :role => "gimp-toolbox$"
      gravity :gimp_t
    end
     
    tag "gimp_dock" do
      match   :role => "gimp-dock"
      gravity :gimp_d
    end

    tag "gimp_scum" do
      match   :role => "gimp-.*|screenshot"
    end

    # Autostarted stuff positionning
    tag "starttwitter" do
      match :instance => "starttwitter"
      gravity :r_b1
    end 

    tag "startmusic" do
      match :instance => "startmusic"
      gravity :tl_a3
    end 

    tag "startterminal" do
      match :instance => "startterminal"
      gravity :bl_c1
    end

    tag "startfiles" do
      match :instance => "startfiles"
      gravity :ct33
    end

    tag "startmixer" do
      match :instance => "startmixer"
      gravity :bc_b1
    end

## Views
     
    view "main" do
      match "terms|starttwitter|startmusic|startterminal|startfiles|startmixer"
    end

    view "vim" do
      match "vim"
      dynamic true
    end
     
    view "web" do
      match "web|web_full|flash"
    end

    view "msg" do
      match "msg|msg_full|mail"
    end
     
    view "media" do
      match "media|media_full|gimp_*|steam|minecraft"
    end

    view "other" do
      match "default|<unknown>"
      dynamic true
    end
     
## Sublets

    sublet :mpd do
      format_string "%artist% %title%"
      show_icons    false
      show_colors   true
      show_pause    true
      artist_color  color_medium
      title_color   color_light
      pause_color   color_medium
      stop_color    color_medium
      stop_text     "Stop"
      pause_text    "Pause"
      not_running_text ""
    end
      
    sublet :clock2 do
      interval       30
      time_format    "%H:%M"
      time_color     color_above
      date_format    ""
    end
 
## Hooks

    # Autostart
    on :start do
      Subtlext::Subtle.spawn "subtler -r"
      Subtlext::Subtle.spawn "numlockx" 
      Subtlext::Subtle.spawn "urxvtd"
      Subtlext::Subtle.spawn "compton -i 0.9 --focus-exclude 'height = 17 --vsync opengl'"
      Subtlext::Subtle.spawn "feh --bg-center Pictures/wallpaper.jpg"
      Subtlext::Subtle.spawn "sleep 5s && urxvtc -name starttwitter -e ttytter -ansi"
      Subtlext::Subtle.spawn "sleep 1s && urxvtc -name startmusic -e ncmpcpp"
      Subtlext::Subtle.spawn "sleep 1s && urxvtc -name startterminal"
      Subtlext::Subtle.spawn "sleep 1s && urxvtc -name startfiles -e ranger"
      Subtlext::Subtle.spawn "sleep 1s && urxvtc -name startmixer -e alsamixer"
    end 

    # Client autofocus
    on :client_create do |c|
      c.views.first.jump
      c.focus
      c.raise
    end
  
### End of configuration file
### Please feel free about telling me if you like it and getting me notified of your using and eventual editings :)

CLICK TO VIEW

x

.Xdefaults(raw, dl)

  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
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
!------------------------------------------------------------------------------
! XFT Settings
     
Xft.dpi:                                        96
Xft.antialias:                                  true
Xft.rgba:                                       rgb
Xft.hinting:                                    true
Xft.hintstyle:                                  hintslight
     

!------------------------------------------------------------------------------
! URXVT - Settings

URxvt*geometry:                                 80x25
URxvt*foreground:                               white
URxvt*background:                               #151515
URxvt*borderLess:                               false
URxvt*scrollBar:                                false
URxvt*cursorBlink:                              true
URxvt*cursorUnderline:                          true
URxvt*cursorColor:                              #ffffff
URxvt*scrollColor:                              #151515
URxvt*perl-ext-common:                          default,clipboard,url-select,keyboard-select,vtwheel
URxvt*font:                                     xft:Ohsnap:hinting=true:pixelsize=10:antialias=false
URxvt*boldFont:                                 xft:Ohsnap:style=bold:hinting=true:pixelsize=10:antialias=false
URxvt*italicFont:                               xft:Ohsnap:style=italic:hinting=true:pixelsize=10:antialias=false
URxvt*boldItalicFont:                           xft:Ohsnap:style=bolditalic:hinting=true:pixelsize=10:antialias=false
URxvt.underlineURLs:                            true
URxvt.url-select.launcher:                      /usr/bin/firefox
URxvt.url-select.underline:                     true

URxvt.keysym.C-c:   perl:clipboard:copy
URxvt.keysym.C-v:   perl:clipboard:paste
!URxvt.keysym.M-C-v: perl:clipboard:paste_escaped
URxvt.keysym.M-Escape: perl:keyboard-select:activate
URxvt.keysym.M-u: perl:url-select:select_next

 
!------------------------------------------------------------------------------
! URxvt Colors

!black
URxvt*color0:                                   #303030
URxvt*color8:                                   #474747
!red
URxvt*color1:                                   #0077bb
URxvt*color9:                                   #1984c1
!green
URxvt*color2:                                   #D7D7D7
URxvt*color10:                                  #E6E6E6
!yellow
URxvt*color3:                                   #666666
URxvt*color11:                                  #808080
!blue
URxvt*color4:                                   #FFFFFF
URxvt*color12:                                  #ebebeb
!magenta
URxvt*color5:                                   #0077bb
URxvt*color13:                                  #4c9fcf
!cyan
URxvt*color6:                                   #D4D4D4
URxvt*color14:                                  #EDEDED
!white
URxvt*color7:                                   #ebebeb
URxvt*color15:                                  #cccccc
 
URxvt.colorIT:                                  #87af5f
URxvt.colorBD:                                  #d7d7d7
URxvt.colorUL:                                  #006ba8


!------------------------------------------------------------------------------
! General Colors

*foreground:                               #ebebeb
*background:                               #151515

!black
*color0:                                   #303030
*color8:                                   #474747
!red
*color1:                                   #0077bb
*color9:                                   #1984c1
!green
*color2:                                   #D7D7D7
*color10:                                  #E6E6E6
!yellow
*color3:                                   #666666
*color11:                                  #808080
!blue
*color4:                                   #FFFFFF
*color12:                                  #ebebeb
!magenta
*color5:                                   #0077bb
*color13:                                  #4c9fcf
!cyan
*color6:                                   #D4D4D4
*color14:                                  #EDEDED
!white
*color7:                                   #ebebeb
*color15:                                  #cccccc


!------------------------------------------------------------------------------
! Man pages colors

*VT100.colorBDMode:                             true
*VT100.colorBD:                                 red
*VT100.colorULMode:                             true
*VT100.colorUL:                                 magenta
*VT100.veryBoldColors:                          6
 

x

.xbindkeysrc(raw, dl)

1
2
3
4
"xvkbd  -text "\[Control_R]\[F8]""
       m:0x0 + b:7
"xvkbd  -text "\[Control_R]\[F9]""
       m:0x0 + b:6
 

x

Notes

Based on Graawr’s Classy Touch : http://dotshare.it/dots/576/ Many thanks to him for having initiated me to Subtle and helping me to build this congiguration file.

Gravities are left intact. Everything else is kinda customized to fit my use.
Button 6 and 7, which are side buttons on my mouse, are binded to view changing.

Please feel free to tell me if you like it and if getting me notified of your using and eventual editings :)