Inheritance: DrawingArea
Exemplo n.º 1
0
Arquivo: panel.cs Projeto: kig/filezoo
    public FilezooPanel(Filezoo fz)
        : base("Filezoo Panel")
    {
        Fz = fz;
        Decorated = false;
        Resizable = false;
        SkipPagerHint = true;
        SkipTaskbarHint = true;

        FilezooWindow = new Window ("Filezoo");
        Gdk.Colormap cm = FilezooWindow.Screen.RgbaColormap;
        if (cm != null && FilezooWindow.Screen.IsComposited) {
          Widget.DefaultColormap = cm;
          FilezooWindow.Colormap = cm;
        }
        FilezooWindow.Decorated = false;
        FilezooWindow.Add (Fz);
        byte r, g, b;
        r = (byte)(Fz.Renderer.BackgroundColor.R * 255);
        g = (byte)(Fz.Renderer.BackgroundColor.G * 255);
        b = (byte)(Fz.Renderer.BackgroundColor.B * 255);
        FilezooWindow.ModifyBg (StateType.Normal, new Gdk.Color(r,g,b));

        Controls = new FilezooPanelControls(Fz, FilezooWindow);

        Add (Controls);
        Stick ();

        Fz.Width = 400;
        Fz.Height = 1000;
    }
Exemplo n.º 2
0
    public void Apply(Filezoo fz)
    {
        string[] args = Args;

        fz.QuitAfterFirstFrame = (Array.IndexOf(args, "--quit") > -1);
        args = Helpers.Without(args, "--quit");

        if (args.Length > 0) fz.SetCurrentDir (args[args.Length - 1]);

        fz.Prefixes = Prefixes;

        fz.BreadcrumbFontFamily = "URW Gothic L";
        fz.ToolbarTitleFontFamily = "Sans";
        fz.ToolbarLabelFontFamily = "Sans";

        fz.FileNameFontFamily = "URW Gothic L";
        fz.FileInfoFontFamily = "Sans";

        Style s = Widget.DefaultStyle;

        fz.ActiveColor = ToColor(s.Foreground(StateType.Normal));

        //     fz.Renderer.BackgroundColor = ToColor(s.Background(StateType.Normal));
        fz.Renderer.BackgroundColor = new Color (0.2, 0.2, 0.2);

        //     fz.Renderer.DirectoryFGColor = ToColor(s.Foreground(StateType.Normal));
        //     fz.Renderer.DirectoryBGColor = new Color (0.8, 0.95, 1.0);

        fz.Renderer.DirectoryBGColor = new Color (0.6, 0.65, 0.7);
        fz.Renderer.DirectoryFGColor = new Color (0.6, 0.65, 0.7);
        fz.Renderer.UnfinishedDirectoryColor = new Color (0.455, 0.4, 1);

        fz.Renderer.RegularFileColor = new Color (0.188, 0.755, 1);
        fz.Renderer.SymlinkColor = new Color (0.655, 0.588, 0.855);
        fz.Renderer.ExecutableColor = new Color (0.4, 0.855, 0.3);
        fz.Renderer.BlockDeviceColor = new Color (0.855,0.655,0);
        fz.Renderer.CharacterDeviceColor = new Color (0.75,0.5,0);
        fz.Renderer.FifoColor = new Color (0.75,0.1,0.32);
        fz.Renderer.SocketColor = new Color (0.95,0.2,0.52);

        fz.ActiveColor = fz.Renderer.RegularFileColor;
        fz.InActiveColor = fz.ActiveColor;
        fz.InActiveColor.A = 0.5;
    }
Exemplo n.º 3
0
Arquivo: main.cs Projeto: kig/filezoo
    /**
    The Main method inits the Gtk application and creates a Filezoo instance
    to run.
      */
    static void Main(string[] args)
    {
        Window win;
        Profiler p = Helpers.StartupProfiler;
        p.Restart ();
        p.MinTime = 0;
        Profiler.GlobalPrintProfile = true;
        Helpers.ShowTextExtents = false;

        Catalog.Init("i18n","./locale");
        Application.Init ();

        p.Time ("Init done");

        bool panelMode = (Array.IndexOf (args, "--panel") > -1);
        args = Helpers.Without(args, "--panel");

        int panelBgIdx = Array.IndexOf(args, "--panel-bg");
        string panelBg = "";
        if (panelBgIdx > -1 && panelBgIdx != args.Length-1) {
          panelBg = args[panelBgIdx + 1];
          args = Helpers.Without (args, panelBg);
        }
        args = Helpers.Without (args, "--panel-bg");

        string dir = panelMode ? Helpers.HomeDir : ".";
        Filezoo fz = new Filezoo (dir);
        new FilezooConfig (args).Apply(fz);

        p.Time ("Created Filezoo");

        byte r, g, b;
        r = (byte)(fz.Renderer.BackgroundColor.R * 255);
        g = (byte)(fz.Renderer.BackgroundColor.G * 255);
        b = (byte)(fz.Renderer.BackgroundColor.B * 255);
        fz.ModifyBg (StateType.Normal, new Gdk.Color(r,g,b));

        if (panelMode) {
          win = new FilezooPanel (fz);
        //       Gnome.PanelApplet applet = new Gnome.PanelApplet ();
        //       applet.Add (win);
        //       applet.ShowAll ();
          if (panelBg.Length > 0) {
        Gdk.Color c = new Gdk.Color(0,0,0);
        if (Gdk.Color.Parse(panelBg, ref c)) {
          win.ModifyBg (StateType.Normal, c);
        } else {
          Helpers.LogError("Failed to parse panel bg color: {0}", panelBg);
        }
          }
        } else {
          win = new Window ("Filezoo");
          win.SetDefaultSize (420, 800);
          Gdk.Colormap cm = win.Screen.RgbaColormap;
          if (cm != null && win.Screen.IsComposited) {
        Widget.DefaultColormap = cm;
        win.Colormap = cm;
          }
          VBox vbox = new VBox (false, 0);
          FilezooControls controls = new FilezooControls(fz);
          vbox.PackStart (fz, true, true, 0);
          vbox.PackEnd (controls, false, false, 0);
          win.Add (vbox);
          win.ModifyBg (StateType.Normal, new Gdk.Color(r,g,b));
        }

        win.DeleteEvent += new DeleteEventHandler (OnQuit);
        win.ShowAll ();

        Application.Run ();
    }
Exemplo n.º 4
0
Arquivo: panel.cs Projeto: kig/filezoo
    //   string ToggleDown = "<span size=\"small\">∇</span>";
    public FilezooPanelControls(Filezoo fz, Window fzw)
        : base(fz)
    {
        FilezooWindow = fzw;

        Toggle = new ToggleButton (ToggleUp);
        ((Label)(Toggle.Children[0])).UseMarkup = true;
        Toggle.CanFocus = false;
        Toggle.Clicked += delegate { ToggleFilezoo (); };

        PackEnd(Toggle, false, false, 0);

        FilezooWindow.DeleteEvent += delegate (object o, DeleteEventArgs e) {
          Toggle.Active = false;
          e.RetVal = true;
        };

        KeyReleaseEvent += delegate (object o, KeyReleaseEventArgs args) {
          if (args.Event.Key == Gdk.Key.Escape) {
        Fz.Cancelled = true;
        if (Fz.Selection.Count > 0)
          Fz.ClearSelection ();
        else
          Toggle.Active = false;
          }
        };

        FilezooWindow.KeyReleaseEvent += delegate (object o, KeyReleaseEventArgs args) {
          if (args.Event.Key == Gdk.Key.Escape) {
        Fz.Cancelled = true;
        if (Fz.Selection.Count > 0)
          Fz.ClearSelection ();
        else
          Toggle.Active = false;
          }
        };
    }