]> git.draconx.ca Git - fvwmconf.git/commitdiff
Merge branch 'master' of git://git.draconx.ca/fvwmconf
authorNick Bowler <draconx@gmail.com>
Sun, 31 Aug 2008 18:27:27 +0000 (14:27 -0400)
committerNick Bowler <draconx@gmail.com>
Sun, 31 Aug 2008 18:27:27 +0000 (14:27 -0400)
artemis/config
common/nickstheme
config
finial/config
global/alttab [new file with mode: 0644]
global/appspecific
scripts/mpdmenu.pl

index 3e69f0c6c12036bde653af5997defb3bdc58a560..c0849d9f1286ac9f1336379ec8371b38d4d479b2 100644 (file)
@@ -3,10 +3,10 @@ Read common/bindings
 Read common/nickstheme
 
 # Bigger fonts must be set before including rootmenu
-Style * Font 'xft:M+1P+IPAG:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
-Style * IconFont 'xft:M+1P+IPAG:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
-MenuStyle * Font 'xft:M+1P+IPAG:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
-MenuStyle * TitleFont 'xft:M+1P+IPAG:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+Style * Font 'xft:Meiryo Short:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+Style * IconFont 'xft:Meiryo Short:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+MenuStyle * Font 'xft:Meiryo Short:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+MenuStyle * TitleFont 'xft:Meiryo Short:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
 
 Read artemis/rootmenu
 Read common/wallpaper
index 817a5a0509c410dfab651f8542494f28b277c857..e465331013bb8db8eebab3957d6c393302db7d8f 100644 (file)
@@ -54,22 +54,23 @@ Colorset 4 fg white, bg #567ea2
 Style * ColorSet 1
 Style * HilightColorSet 2
 
-# Fonts.  Probably need to patch FVWM to support proper selection of Japanese
-# fonts...
-Style * Font 'xft:M+1P+IPAG:Bold:size=8:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
-Style * IconFont 'xft:M+1P+IPAG:Bold:size=8:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
-MenuStyle * Font 'xft:M+1P+IPAG:size=8:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
-MenuStyle * TitleFont 'xft:M+1P+IPAG:Bold:size=8:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+# "Meiryo Short" is a modified version of a font from Windows Vista.
+# Previous configs used M+1P+IPAG with reasonable results.
+# If FVWM supported multiple font selection, this would be nicer.
+Style * Font 'xft:Meiryo Short:Bold:size=8:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+Style * IconFont 'xft:Meiryo Short:Bold:size=8:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+MenuStyle * Font 'xft:Meiryo Short:size=8:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+MenuStyle * TitleFont 'xft:Meiryo Short:Bold:size=8:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
 
 MenuStyle * HilightBack, HilightTitleBack, Hilight3DOff
 MenuStyle * TrianglesSolid, TrianglesUseFore, TitleUnderlines1
 MenuStyle * SeparatorsLong, BorderWidth 1
 MenuStyle * ItemFormat "%.3s%.2|%2.4i%.5l%.5l%.5r%.5i%2.3>%1|"
 MenuStyle * MenuColorset 3, ActiveColorset 4, TitleColorset 8
-MenuStyle * VerticalTitleSpacing 3 2, VerticalItemSpacing 2 2
+MenuStyle * VerticalTitleSpacing 1 1, VerticalItemSpacing 1 2
 
 # Buttons: menu iconify maximize --title-- shade close
-Mouse 1 1 N Menu MenuWindow
+Mouse 1 1 N Menu MenuWindow Interior 0 0
 
 Mouse 1 3 N DoIconify
 
diff --git a/config b/config
index d436df7fc72867d41aa7d534388654a293b05902..5a3f26e3d2d2c853527d7797fa71de6cc397830d 100644 (file)
--- a/config
+++ b/config
@@ -20,7 +20,6 @@ SetEnv GTK2_RC_FILES $[FVWM_USERDIR]/gtk2rc
 # Global Features
 Read global/multiscreen
 Read global/fullscreen
-Read global/windowmenu
 Read global/appspecific
 
 # Machine-specific features
@@ -28,6 +27,10 @@ PipeRead "[ -f '$[FVWM_USERDIR]/$[HOST]/config' ] \
           && echo Read $[HOST]/config \
          || echo Read default/config"
 
+# Menus (must be loaded after themes)
+Read global/windowmenu
+Read global/alttab
+
 # Virtual Desktops
 DesktopSize 6x1
 EdgeThickness 1
@@ -49,7 +52,7 @@ CursorStyle Menu left_ptr
 # Global Styles and Options
 HideGeometryWindow Move
 OpaqueMoveSize -1
-Style * TileCascadePlacement, GrabFocusOff
+Style * MinOverlapPlacement, GrabFocusOff
 Style * ResizeOpaque
 Style * EWMHUseStrutHints, MwmButtons
 
index 75f9f7db885218d4119dc734e63d4041b10a1bac..1b32a61e5acfe2a4bdc7826c03ed99224ae081a5 100644 (file)
@@ -6,10 +6,10 @@ Read common/bindings
 Read common/nickstheme
 
 # Bigger fonts must be set before including rootmenu
-Style * Font 'xft:M+1P+IPAG:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
-Style * IconFont 'xft:M+1P+IPAG:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
-MenuStyle * Font 'xft:M+1P+IPAG:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
-MenuStyle * TitleFont 'xft:M+1P+IPAG:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+Style * Font 'xft:Meiryo Short:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+Style * IconFont 'xft:Meiryo Short:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+MenuStyle * Font 'xft:Meiryo Short:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
+MenuStyle * TitleFont 'xft:Meiryo Short:Bold:size=9:minspace=true:rgba=rgb:antialias=true:encoding=iso10646-1'
 
 Read finial/rootmenu
 Read common/wallpaper
diff --git a/global/alttab b/global/alttab
new file mode 100644 (file)
index 0000000..cc01944
--- /dev/null
@@ -0,0 +1,24 @@
+CopyMenuStyle * MenuWindowSelect
+MenuStyle MenuWindowSelect SelectOnRelease Alt_L
+
+# Window Selector
+DestroyMenu MenuWindowSelect
+AddToMenu   MenuWindowSelect
++ DynamicPopupAction MakeMenuWindowSelect
+ChangeMenuStyle MenuWindowSelect MenuWindowSelect
+
+DestroyFunc MakeMenuWindowSelect
+AddToFunc   MakeMenuWindowSelect
++ I DestroyMenu recreate MenuWindowSelect
++ I AddToMenu MenuWindowSelect "Page $[page.nx]" Title
++ I All (CurrentPage, !CirculateHit) AddToMenu MenuWindowSelect $[w.name]%$[w.miniiconfile]$[w.miniiconfile.svgopts]% WindowId $[w.id] WindowSelect
+
+DestroyFunc WindowSelect
+AddToFunc   WindowSelect
++ I Iconify off
++ I FlipFocus
++ I Raise
++ I WarpToWindow 5p 5p
+
+Key Tab A M NoWindow Popup MenuWindowSelect Root c c
+Mouse 2 R A Menu MenuWindowSelect
index c96079b4033d1f898dc2ddd0b0abf4f5f3fbde7e..3fc45343b4e68be15124b8ce44c59932d9631aec 100644 (file)
@@ -1 +1,3 @@
 Style "Guild Wars" StaysOnTop
+Style "Warcraft III" StaysOnTop
+Style "GQview full screen" StaysOnTop
index 94ec8d5088ab1fdc9475b4595dbe4bfc7f34a6cf..25a56b30eaa15725d5a1f4952fdd9c0d67856751 100755 (executable)
@@ -67,27 +67,27 @@ if (defined $album) {
        my $entry;
 
        $menu = "MenuMPDAlbum" unless defined $menu;
-       
+
        $album =~ s/"/\\"/g;
        print $sock "playlistfind album \"$album\"\n";
        while (<$sock>) {
                last if (/^OK/);
                die($_) if (/^ACK/);
-       
+
                if (/^(\w+): (.*)$/) {
                        if ($1 eq "file") {
                                if (keys(%$entry) > 0) {
                                        addalbumentry(\@playlist, $entry)
                                }
-       
+
                                $entry = {};
                        }
-       
+
                        $entry->{$1} = $2;
                }
        }
        addalbumentry(\@playlist, $entry) if (keys(%$entry) > 0);
-       
+
        die("No tracks found.\n") if (!@playlist);
        foreach (sort albumsort @playlist) {
                my ($t_file, $t_trackno, $t_artist, $t_title, $t_id) = (
@@ -97,16 +97,16 @@ if (defined $album) {
                        $_->{Title},
                        $_->{Id},
                );
-       
+
                next if (defined $artist && !$accept{albumdir($t_file)});
-       
-               $t_artist = sanitise($t_artist);
-               $t_title  = sanitise($t_title);
-               
+
+               $t_artist = sanitise($t_artist, 0);
+               $t_title  = sanitise($t_title, 0);
+
                my $cmd = sprintf "AddToMenu $menu \"%d\t%s - %s\""
                                  ." Exec mpc playid %d",
                                  $t_trackno, $t_artist, $t_title, $t_id;
-       
+
                cmd($cmd);
        }
 } elsif (defined $artist) {
@@ -122,7 +122,7 @@ if (defined $album) {
        while (<$sock>) {
                last if (/^OK/);
                die($_) if (/^ACK/);
-       
+
                if (/^(\w+): (.*)$/) {
                        $file       = $2    if ($1 eq "file");
                        $albums{$2} = $file if ($1 eq "Album");
@@ -136,7 +136,7 @@ if (defined $album) {
        use locale;
        foreach (sort keys(%albums)) {
                my $key      = $_;
-               my $a_album  = sanitise($key);
+               my $a_album  = sanitise($key, 1);
 
                open THUMB, "-|", "$FVWM/scripts/thumbnail.zsh",
                                         "--small", "--music", $albums{$key};
@@ -173,7 +173,7 @@ if (defined $album) {
        $menu = "MenuMPDTitle" unless defined $menu;
 
        # Open and close brackets.
-       my ($ob, $cb) = ("[\[~〜<(ー−-]", "[\]~〜>)ー−-]");
+       my ($ob, $cb) = ("[\[~〜<〈(ー−-]", "[\]~〜>〉)ー−-]");
 
        $_ = $title;
 
@@ -186,17 +186,18 @@ if (defined $album) {
        s/ -Practice Track-//;                        # Fair Heaven
        s/〜世界で一番アナタが好き〜//;               # Pure Heart
        s/〜彼方への哀歌//;                           # 十二幻夢
+       s/ sora no uta ver.//;                       # 美しい星
 
        s/\s*-remix-$//; # Otherwise "D-THREAD -remix-" doesn't work right.
 
        # Deal with titles like "blah (ABC version)".
-       s/\s*$ob.*(style|mix|edit|edition|ver\.?|version|カラオケ)$cb?$//i;
+       s/\s*$ob.*(style|mix|edit|edition|ver\.?|version|melody|カラオケ)$cb?$//i;
 
        # Deal with titles like "blah (without XYZ)".
-       s/\s*$ob((e\.)?piano|english|japanese|inst|tv|without|w\/o|off|back|short|karaoke|game).*//i;
+       s/\s*$ob\s*((e\.)?piano|english|japanese|inst|tv|without|w\/o|off|back|short|karaoke|game).*//i;
 
        # Deal with titles like "blah instrumental".
-       s/\s+(instrumental|off vocal|short)(\s+(size|version|s))?$//i;
+       s/\s+(instrumental|off vocal|short|tv)([\s-]+(mix|size|version))?$//i;
        s/\s+without\s+\w+$//i;
 
        my $basetitle  = $_;
@@ -207,13 +208,13 @@ if (defined $album) {
        while (<$sock>) {
                last if (/^OK/);
                die($_) if (/^ACK/);
-       
+
                if (/^(\w+): (.*)$/) {
                        if ($1 eq "file") {
                                push @titles, $entry if (keys(%$entry) > 0);
                                $entry = {};
                        }
-       
+
                        $entry->{$1} = $2;
                }
        }
@@ -230,9 +231,10 @@ if (defined $album) {
                );
 
                # MPD searches are case-insensitive.
-               next if (!($t_title =~ m/(\P{Latin}|^)\Q$basetitle\E(\P{Latin}|$)/));
-               $t_artist = sanitise($t_artist);
-               $t_title  = sanitise($t_title);
+               next if (!($t_title =~ m/(\P{Latin}|^)\Q$basetitle\E(\P{Latin}|$)/ || $t_title =~ m/\Q$basetitle\E/i));
+
+               $t_artist = sanitise($t_artist, 1);
+               $t_title  = sanitise($t_title, 1);
 
                open THUMB, "-|", "$FVWM/scripts/thumbnail.zsh",
                                         "--small", "--music", $t_file;
@@ -263,43 +265,49 @@ if (defined $album) {
                        $songid = $2 if ($1 eq "songid");
                }
        }
-       die("Failed status query\n") unless (defined $state && defined $songid);
+       die("Failed status query\n") unless (defined $state);
 
-       print $sock "playlistid $songid\n";
-       while (<$sock>) {
-               last if (/^OK/);
-               die($_) if (/^ACK/);
+       cmd("AddToMenu $menu Playing Title") if ($state eq "play");
+       cmd("AddToMenu $menu Paused Title")  if ($state eq "pause");
+       cmd("AddToMenu $menu Stopped Title") if ($state eq "stop");
 
-               if (/^(\w+): (.*)$/) {
-                       $entry{$1} = $2;
+       if (defined $songid) {
+               print $sock "playlistid $songid\n";
+               while (<$sock>) {
+                       last if (/^OK/);
+                       die($_) if (/^ACK/);
+
+                       if (/^(\w+): (.*)$/) {
+                               $entry{$1} = $2;
+                       }
                }
-       }
-       die("Failed data query\n") unless (keys(%entry) > 0);
+               die("Failed data query\n") unless (keys(%entry) > 0);
 
-       open THUMB, "-|", "$FVWM/scripts/thumbnail.zsh",
-                                "--image", "--music",  $entry{file};
-       my $thumb = <THUMB>;
-       my $scan  = <THUMB>;
-       close(THUMB);
-       die("Incompetent use of thumbnail.zsh") if ($?);
+               open THUMB, "-|", "$FVWM/scripts/thumbnail.zsh",
+                                        "--image", "--music",  $entry{file};
+               my $thumb = <THUMB>;
+               my $scan  = <THUMB>;
+               close(THUMB);
+               die("Incompetent use of thumbnail.sh") if ($?);
 
-       $thumb =~ s/\n//sg;
-       $scan  =~ s/\n//sg;
+               $thumb =~ s/\n//sg;
+               $scan  =~ s/\n//sg;
 
-       cmd("AddToMenu $menu Playing Title") if ($state eq "play");
-       cmd("AddToMenu $menu Paused Title")  if ($state eq "pause");
-       cmd("AddToMenu $menu Stopped Title") if ($state eq "stop");
-       if (-f $thumb) {
-               cmd("AddToMenu $menu \"*$thumb*\" "
-                       ."Exec exec gqview ".shellify($scan, 0));
+               if (-f $thumb) {
+                       cmd("AddToMenu $menu \"*$thumb*\" "
+                               ."Exec exec gqview ".shellify($scan, 0));
+               }
+               cmd("AddToMenu $menu \"Title:   ".sanitise($entry{Title}, 0)
+                       ."\" Popup MenuMPDTitle");
+               cmd("AddToMenu $menu \"Artist:  ".sanitise($entry{Artist}, 0)
+                       ."\" Popup MenuMPDArtist");
+               cmd("AddToMenu $menu \"Album:   ".sanitise($entry{Album}, 0)
+                       ."\" Popup MenuMPDAlbum");
+               cmd("AddToMenu $menu \"\" Nop");
+       } else {
+               cmd("AddToMenu $menu \"<Song info unavailable>\"");
+               cmd("AddToMenu $menu \"\" Nop");
        }
-       cmd("AddToMenu $menu \"Title:   ".sanitise($entry{Title})."\" "
-               ."Popup MenuMPDTitle");
-       cmd("AddToMenu $menu \"Artist:  ".sanitise($entry{Artist})."\" "
-               ."Popup MenuMPDArtist");
-       cmd("AddToMenu $menu \"Album:   ".sanitise($entry{Album})."\" "
-               ."Popup MenuMPDAlbum");
-       cmd("AddToMenu $menu \"\" Nop");
 
        if ($state eq "play" || $state eq "pause") {
                cmd("AddToMenu $menu \"\t\tNext%$icons/next.svg:16x16%\" "
@@ -344,7 +352,7 @@ if (defined $album) {
                           ."--menu MenuMPDAlbum "
                           ."--album  ".shellify($entry{Album}, 1)." "
                           ."--artist ".shellify($entry{Artist}, 1)."\"");
-       
+
        cmd("DestroyFunc MakeMenuMPDArtist");
        cmd("AddToFunc   MakeMenuMPDArtist
             + I DestroyMenu MenuMPDArtist
@@ -362,7 +370,8 @@ print $sock "close\n";
 sub sanitise
 {
        $_ = $_[0];
-       s/([\$&@%^*])/\1\1/g;
+       s/&/&&/g if ($_[1]);
+       s/([\$@%^*])/\1\1/g;
        s/"/\\"/g;
        return $_;
 }