Custom tabs for JTabbedPane?

Is there no way to customize the contents of a tab for a JTabbedPane? I mean, sure, icon and label are nice. But say I want a "X" button on it to close the tab. Is there no way to do something like that?
It would seem like a useful thing to have a JTab component that is a container which displays the tab itself. The default contents could be a JLabel for the icon/label, but then if I wanted to add a button, I could do so.
Maybe I'm missing something, but I don't think so. I've searched around and don't see any way (I'm not even sure that a customized TabbedPaneUI would even work here)...

Check this out: http://www.infonode.net/index.html?itp
This JTabbedPane alternative is designed just as you described: each tab is a separate component, containing the label, icon, etc., plus the "content" component. Adding a button that removes the tab is trivial, as shown below. Another feature I'm particularly fond of is the "compression" layout policy, which squeezes the tabs to fit the available width. I much prefer that scheme to scrolling tabs, and they've implemented it very nicely.
The only quibble I have with it is the way it handles keyboard focus. Either I'm missing something, or it just doesn't work sensibly. The sample code includes a workaround that forces the selected content component to always have the focus.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import net.infonode.tabbedpanel.*;
import net.infonode.tabbedpanel.titledtab.*;
public class TabbedPanelDemo
  public static void main(String[] args)
    // Reduce padding around tabs, especially to the right of the
    // the "remove" button.  If there's a way to do this through
    // the TabbedPanel API, I haven't found it.
    UIManager.put("TabbedPane.tabInsets", new Insets(0, 5, 1, 1));
    JFrame frame = new JFrame("TabbedPanelDemo");
    frame.addWindowListener(
      new WindowAdapter()
        public void windowClosing(WindowEvent e)
          System.exit(0);
    final TabbedPanel tp = new TabbedPanel();
    tp.getProperties().setTabLayoutPolicy(TabLayoutPolicy.COMPRESSION);
    tp.addTab(makeTab("First Panel",  "Panel 1"));
    tp.addTab(makeTab("Second Panel", "Panel 2"));
    tp.addTab(makeTab("Third Panel",  "Panel 3"));
    tp.addTab(makeTab("Fourth Panel", "Panel 4"));
    tp.addTab(makeTab("Fifth Panel",  "Panel 5"));
    // Keep the focus in the selected textarea.  If you comment out
    // this statement, the focus will shift to the the Close button
    // every time you select a different tab.
    tp.addTabListener(
      new TabAdapter()
        public void tabSelected(TabStateChangedEvent evt)
          tp.getSelectedTab().getContentComponent().requestFocus();
        public void tabRemoved(TabRemovedEvent evt)
          tp.getSelectedTab().getContentComponent().requestFocus();
    frame.add(tp, BorderLayout.CENTER);
    Box box = Box.createHorizontalBox();
    box.add(Box.createHorizontalGlue());
    JButton btn = new JButton("Close");
    btn.addActionListener(
      new ActionListener()
        public void actionPerformed(ActionEvent evt)
          System.exit(0);
    box.add(btn);
    frame.add(box, BorderLayout.SOUTH);
    frame.setSize(400, 150);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
  private static Icon removeIcon = UIManager.getIcon(
      "InternalFrame.paletteCloseIcon");
  private static Insets zeroInsets = new Insets(0,0,0,0);
  static Tab makeTab(String label, String text)
    JTextArea content = new JTextArea(text);
    final TitledTab tab = new TitledTab(label, null, content, null);
    // This is all you have to do to add a "remove" button to a tab
    JButton b = new JButton(removeIcon);
    b.setMargin(zeroInsets);
    b.addActionListener(
      new ActionListener()
        public void actionPerformed(ActionEvent evt)
          tab.getTabbedPanel().removeTab(tab);
    b.setFocusable(false);
    tab.setTitleComponent(b);
    return tab;
}

Similar Messages

  • Adding new custom field in already existing custom tab for MM01

    Hello Guru,
    I have a requirement that add a custom field in already existing custom view of MM01. I did the following steps :
    1. I have cerated a new field in MARA using APPEND structure.
    2. I have found the function group(Y_FE_MARA) that already there other subscreens, so that I have added another subscreen in that function group and created a field from MARA in the screen.
    3. in SPRO went for the path Logistics General->Material Master->Configuring the Material->Define Structure of Data screens for Each Screen sequence
    In the 3rd step, I have choosen already existing screen sequence(Y1) and went for Data Screens and choosen for Custom tab and double click on subscreens and then I have added the program as SAPLY_FE_MARA and subscreen number(011) and saved it.
    After all the above steps, I have run MM02/MM03 then the field is not getting displayed in the screen of custom view.
    Did I miss any steps here? Please suggest me if I did something wrong.
    Thanks and Regards,
    Muralikrishna Peravali

    Hi Raymond,
    Thank you for the reply. As per the note some one already implemented the Screen Enhancement with 2 custom views. I need to add the field in any one of existing custom view. So for this I have created a Subscreen in copied function group of MGD1(Y_FE_MARA). But in the function group already 10 Subscreens were created. Is this is the problem? or else copy the FG MGD1 into another FG and create the subscreen will be feasible to my scenario?
    Please suggest me.
    Thanks and Regards,
    Muralikrishna Peravali

  • Custom tab for page propertis- basic in sidekick

    Anybody knows how to customize the page properties tab in sidekick based on the template..

    See example under /libs/foundation/components/page. In this case you have to create a template that will extend  /libs/foundation/components/page in resourceType section this template is pointing to. Your main component will have dialog that will override page properties. For example something like this
    <items jcr:primaryType="cq:WidgetCollection"> 
    <tabs jcr:primaryType="cq:TabPanel"> 
    <items jcr:primaryType="cq:WidgetCollection"> 
    <advanced jcr:primaryType="cq:Widget" path="/libs/foundation/components/page/basePage/tab_advanced.infinity.json" xtype="cqinclude"/>
    <basic jcr:primaryType="cq:Widget" path="/libs/foundation/components/page/basePage/tab_basic.infinity.json" xtype="cqinclude"/>
    <bgimage jcr:primaryType="cq:Widget" allowUpload="false" cropParameter="./bgmage/imageCrop" fileNameParameter="./bgimage/fileName"fileReferenceParameter="./bgimage/fileReference" mapParameter="./bgimage/imageMap" name="./bgimage/file" requestSuffix="/bgimage.img.png"rotateParameter="./bgimage/imageRotate" title="Background image" uploadText="Drag and drop images from DAM" uploadUrl="/tmp/upload/*"xtype="html5smartimage"/>
    <blueprint jcr:primaryType="cq:Widget" path="/libs/foundation/components/page/tab_blueprint.infinity.json" xtype="cqinclude"/>
    <cloudservices jcr:primaryType="cq:Widget" path="/libs/foundation/components/page/tab_cloudservices.infinity.json" xtype="cqinclude"/>
    <image jcr:primaryType="cq:Widget" path="/libs/foundation/components/page/tab_image.infinity.json" xtype="cqinclude"/>
    <livecopy jcr:primaryType="cq:Widget" path="/libs/foundation/components/page/tab_livecopy.infinity.json" xtype="cqinclude"/>
    <YOURTABNAME jcr:primaryType="cq:Widget" title="SOMETHING" xtype="panel"> 
    <items jcr:primaryType="cq:WidgetCollection"> 
    <rtetext jcr:primaryType="cq:Widget" fieldLabel="test" height="100" name="./test" xtype="richtext"> 
    <rtePlugins jcr:primaryType="nt:unstructured"> 
    <format jcr:primaryType="nt:unstructured"/> 
    <links jcr:primaryType="nt:unstructured"/>
    <justify jcr:primaryType="nt:unstructured"/>
    <lists jcr:primaryType="nt:unstructured"/>
    </rtePlugins>
    </rtetext>
    </items>
    </YOURTABNAME>
    </items>
    </tabs>
    </items>
    </dialog>
    You can also extend individual tabs based on your need.
    Yogesh
    www.wemblog.com

  • Change the name of custom tab in me51n / me52n / me53n

    Hi,
    I have to add a few custom fields in PR item of  transactions me51n / me52n / me53n. I have used the enhancement MEREQ001 for adding the custom fields. The sytem automatically creates a custom tab with the name Customer Tab for the additional fields that I have added using the enhancement MEREQ001 while displaying in me51n / me52n / me53n.
    Now I have a requirement to change the name of the custom tab created for transactions me51n / me52n / me53n from Customer Data to Others.
    Can anyone suggest me how to go about doing this???
    Thanks in advance.
    Abhisek.
    P.S.:- Points will be be duly awarded 4 helpfull answers.

    Hi,
    I tried doing whatever you had suggested but it seems that it is not working.
    Could you suggest some other way to do this?
    Thanks and regards.
    Abhisek.

  • How to handle a custom tab in PCUI??

    Hi everyone...
    I have added a custom tab for the standard pcui opportunity application. If i click on that custom tab I want a new view or page to be dispalyed. Can anyone please let me know how to get this done or how to configure this.
    This is a bit urgent.
    Thanks and Regards,
    Bhargava

    Hello,
    you can find details about what Shailaja Gandam  described in my Blog:
    <a href="/people/gregor.wolf3/blog/2005/05/27/use-crm-pcui-html-viewer-to-call-a-custom-url CRM PCUI HTML viewer to call a custom URL</a>.
    Regards
    Gregor

  • How to make reference wbs custom data carried to new wbs when using custom tab and custom table

    I created a custom tab for WBS elements by using user exit CNEX0007 and custom screen and put a table control in it.
    As table control's data has to be stored in a table I could not use append structure of PRPS.
    When I used reference wbs, PRPS custom fields were carried also but I could not find any solution to fill table control data with reference table.
    I need to get correspondence between reference number's and new id's key data. Is there any exit, enh. that I can store the relationship.

    Solved...
    I've used an enhancement point in include LCNPB_MF38.  CJWB_SUBTREE_COPY exports a table called newnumbers. Here you can find correspondances between copied WBS and new WBS.
    Exported table to memory id.
    And imported it in another user-exit. You can use proper user exit for your need.  ( EXIT_SAPLCNAU_002)

  • Ribbon Custom tab won't appear on custom list

    Hi all! If anyone could be so kind and help me with the following.
    I have created a custom list in Visual Studio 2012 and i am trying to add a custom tab to that list.
    Below is the content of the elements file for the custom tab and respective controls:
    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction
    Id="MyCustomRibbonTab"
    Location="CommandUI.Ribbon"
    RegistrationId="10000"
    RegistrationType="List">
    <CommandUIExtension>
    <CommandUIDefinitions>
    <CommandUIDefinition
    Location="Ribbon.Tabs._children">
    <Tab
    Id="Ribbon.AnnualLeaveTab"
    Title="Annual Leave"
    Description="Annual LEave requests!"
    Sequence="301">
    <Scaling
    Id="Ribbon.AnnualLeaveTab.Scaling">
    <MaxSize
    Id="Ribbon.AnnualLeaveTab.MaxSize"
    GroupId="Ribbon.AnnualLeaveTab.CustomGroupExample"
    Size="OneLargeTwoMedium"/>
    <Scale
    Id="Ribbon.AnnualLeaveTab.Scaling.CustomTabScaling"
    GroupId="Ribbon.AnnualLeaveTab.CustomGroupExample"
    Size="OneLargeTwoMedium" />
    </Scaling>
    <Groups Id="Ribbon.AnnualLeaveTab.Groups">
    <Group
    Id="Ribbon.AnnualLeaveTab.CustomGroupExample"
    Description="This is the Annual Leave request custom group!"
    Title="Annual Leave Request"
    Sequence="52"
    Template="Ribbon.Templates.CustomTemplateExample">
    <Controls Id="Ribbon.AnnualLeaveTab.CustomGroupExample.Controls">
    <Button
    Id="Ribbon.AnnualLeaveTab.CustomGroupExample.New"
    Command="AnnualLeaveTab.New"
    Sequence="15"
    Image16by16="/_layouts/15/1033/images/formatmap16x16.png"
    Image32by32="/_layouts/15/1033/images/formatmap32x32.png"
    Image32by32Class="CSS Class Selector"
    Image32by32Top="-205"
    Image32by32Left="-341"
    Description="Create new Annual Leave Request"
    LabelText="Create New"
    TemplateAlias="cust1"/>
    <Button
    Id="Ribbon.AnnualLeaveTab.CustomGroupExample.Approve"
    Command="AnnualLeaveTab.Approve"
    Sequence="17"
    Image16by16="/_layouts/15/1033/images/formatmap16x16.png"
    Image32by32="/_layouts/15/1033/images/formatmap32x32.png"
    Image16by16Class="CSS Class Selector"
    Image16by16Top="-198"
    Image16by16Left="-290"
    Description="Approve selected request"
    LabelText="Approve"
    TemplateAlias="cust2"/>
    <Button
    Id="Ribbon.AnnualLeaveTab.CustomGroupExample.Reject"
    Command="AnnualLeaveTab.Reject"
    Sequence="19"
    Image16by16="/_layouts/15/1033/images/formatmap16x16.png"
    Image32by32="/_layouts/15/1033/images/formatmap32x32.png"
    Image16by16Class="CSS Class Selector"
    Image16by16Top="-181"
    Image16by16Left="-290"
    Description="Reject selected Request"
    LabelText="Reject"
    TemplateAlias="cust3"/>
    </Controls>
    </Group>
    </Groups>
    </Tab>
    </CommandUIDefinition>
    <CommandUIDefinition Location="Ribbon.Templates._children">
    <GroupTemplate Id="Ribbon.Templates.CustomTemplateExample">
    <Layout
    Title="OneLargeTwoMedium"
    LayoutTitle="OneLargeTwoMedium">
    <Section Alignment="Top" Type="OneRow">
    <Row>
    <ControlRef DisplayMode="Large" TemplateAlias="cust1" />
    </Row>
    </Section>
    <Section Alignment="Top" Type="TwoRow">
    <Row>
    <ControlRef DisplayMode="Medium" TemplateAlias="cust2" />
    </Row>
    <Row>
    <ControlRef DisplayMode="Medium" TemplateAlias="cust3" />
    </Row>
    </Section>
    </Layout>
    </GroupTemplate>
    </CommandUIDefinition>
    </CommandUIDefinitions>
    <CommandUIHandlers>
    <CommandUIHandler
    Command="AnnualLeaveTab.New"
    CommandAction="javascript:SP.UI.ModalDialog.ShowPopupDialog('/SitePages/Leave%20Request.aspx?isDlg=1','_blank');" />
    <CommandUIHandler
    Command="AnnualLeaveTab.Approve"
    CommandAction="javascript:alert('Approved');" />
    <CommandUIHandler
    Command="AnnualLeaveTab.Reject"
    CommandAction="javascript:alert('Rejected');" />
    </CommandUIHandlers>
    </CommandUIExtension>
    </CustomAction>
    </Elements>
    The contents of the element file for the list is as below:
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <!-- Do not change the value of the Name attribute below. If it does not match the folder name of the List project item, an error will occur when the project is run. -->
    <ListTemplate
    Name="IFX_Leave"
    Type="10000"
    BaseType="0"
    OnQuickLaunch="TRUE"
    SecurityBits="11"
    Sequence="410"
    DisplayName="IFX_Leave"
    Description="My List Definition"
    Image="/_layouts/15/images/itgen.png"/>
    </Elements>
    As seen, the RegistrationID and list Type ID are the same so in theory this should work. Also, for other lists deployed through the same solution with the same Type ID, the ribbon tab and controls render perfectly fine.
    Any ideas what may be the issue here?
    Appreciate your input!

    Hi,
    According to your post, my understanding is that you had an issue about the custom tab for list.
    As you had said, the other tabs for other lists in the same solution worked well, the code would have no issues.
    I recommend you create a new clean project with only one list and the tab to check whether it works.
    What’s more, you can also change the list template type ID(such as 100), then check whether it works.
    Thanks & Regards,
    Jason
    Jason Guo
    TechNet Community Support

  • Screen Exit Custom Tab Title Change

    I have enabled the screen exit PPCO0012 ( Production Order CO03, CO02, CO01  ) custom tab for additional fields. After enabling the screen
    SAPLCOKO1                      0900 SSCR115  SAPLXCO1                       0100
    I am getting the custom tab.
    But it showing the tab title as "Customer Screen" I wanted to change to my own name.
    How ? any info ?

    Resolved.
    We need to change in under menu exit
    SAPLCOCU                       +COI

  • Project template: custom tab / field group

    Hello!
    We set-up an additional custom tab for some object types (DPO, PPO, TTO...), thanks to the field group customizing.
    However, it seems not possible to display these fields in the templates: DPT, PPT, TTT. The field groups are defined per project type, so why don't we see these fields in the templates when we select a project type? The more strange is that we see the tabs, but not the fields...
    Does anyone have an idea to perform this?
    Thank you.
    Matthias

    Hi Matthias,
    If you can see the tabs and not the fields, pl check if you have covered field control for these newly created custom fields.
    To have field control for these fields, you will have to copy the standard SAP provided field control, include the structure that has you custom fields and give it authorizations etc as per your requirement.
    Pl read carefully the documentation provided with field control.
    Regards,
    Reema.
    Edited by: Reema Shahbazkar on Jun 11, 2008 7:42 PM
    Refer note 947963 - Setting up field control

  • I want to set Firefox to never remember history. When I do this using the tools tab and click okay, it goes right back to "Use Custom Settings for History". I don't want that.

    I know how to manage privacy using the tools tab at the top of the address bar, or so I thought. I want to choose "Never Remember History". When I do that, and click "OK", the next time I check the privacy settings, the history is right back to "Use custom settings for history". I don't want this. Also, I don't want to use autocomplete for forms, but I can't get those settings to stay, either. I basically don't want info. stored on this computer. My system was hacked several months ago, by some joker who named all my system folders a racist slur (I reported it to Norton, and a technician had a look at it). Anyway, I want to keep things as safe as possible. Please allow me to delete all my history when I close Firefox. I don't really like Google, either, because they have a reputation for not respecting people's privacy. I don't like that I didn't have an option to uncheck google's toolbar when I installed Firefox.
    Thank you.

    That is probably OK.<br />
    You may have changed one of the other history or cookie settings.
    If Firefox shows the "Use custom settings for history" setting then that is an indication that at least one of the history and cookie settings are not the default to make you aware that changes were made.

  • How to add custom action for Publishing Tab on Pages?

    I am able to add a custom action for libraries tab on document library , but i am unable to add it on Publishing tab on Pages.
    Below is the code , what i am trying.
    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction
    Id="Ribbon.PublishTab.Publishing.CheckLinkedPageItems"
    Location="CommandUI.Ribbon"
    RegistrationType="List"
    RegistrationId="850"
    Sequence="40"
    Title="Move Documents">
    <CommandUIExtension>
    <CommandUIDefinitions>
    <CommandUIDefinition Location="Ribbon.PublishTab.Publishing.Controls._children">
    <Button
    Id="Ribbon.PublishTab.Publishing.CheckLinkedPageItemsButton"
    Alt="Check Linked Page Assets"
    Sequence="40"
    Command="CheckLinkedPageItems"
    Image32by32="/_layouts/images/centraladmin_systemsettings_email_32x32.png"
    LabelText="Check Assets"
    TemplateAlias="o1"
    ToolTipTitle="Check Linked Page Assets"
    ToolTipDescription="Checks each image, document and page linked to from this page and verified if the asset is both working (not a broken link) and published. You may also use that page to publish all unpublished assets at once."
    />
    </CommandUIDefinition>
    </CommandUIDefinitions>
    <CommandUIHandlers>
    <CommandUIHandler Command="CheckLinkedPageItems" CommandAction="javascript:alert('button clicked!);" />
    </CommandUIHandlers>
    </CommandUIExtension>
    </CustomAction>
    </Elements>
    any thoughts?

    Hi,
    Check the secquence number . I don't see any issue in your code. Try with different sequence numbers.
    Did you find this Helpful? Please Mark it So! Thank you. Sachin Kumar

  • Cannot change setting in privacy from remember history to use custom settings for history. I can set in to change but on closing with the ok button thus closing the privacy tab, it then reverts back to remember history.

    I have been by a web sit that the cookies are disabled in the browser. on looking at the help on firefox help the instuction as i understand was to change the setting under the privacy tab ref history fromthe default setting of rember hhistory to use custom settings for history. I change the setting click ok but it reverts back to rember history. I just cannot change the setting.This also happend in the prevous version.

    To see History and Cookie settings in Tools > Options > Privacy, choose the setting <b>Firefox will: Use custom settings for history</b>
    You need to make at least one change to make "Use Custom settings" stay selected.
    If all history settings are the default then the History and Cookie setting revert to "Remember history" the next time you open Tools > Options > Privacy.
    So it looks that your cookie setting are already correct.
    * http://kb.mozillazine.org/Cookies
    * http://kb.mozillazine.org/Websites_report_cookies_are_disabled

  • Customized tabstip for CV01N in Object link tab like customer ,material

    Hi Friends,
    Can anybody help me out in Customizing Object Links tab for Transaction CV01N.
    I want to know exactly how could we add a customized tabstip in object link other than SAP Standards like  Material Master, WBS element and etc.
    I want to know whether do we have any SAP Note or any Badi  to get the tab strip in Object Link tab.
    Thanks in advance.
    Satish Raju

    Hey,
    Material master is standard object to link to
    Go to IMG ->Cross-Application Components->Document Management->Control Data->Define Document Types
    choose the document type and double click at  Define object links and "New Entries"
    and enter
    Document Type: Your document type
    Object: MARA
    Screen no.: 201
    When New Version: Decide what you want
    Create Document: Decide what you want
    Document Version:Decide what you want
    BR/Håkan

  • "No entry in the table T589A for P" in PPOME's custom Tab

    Hello,
    <u>requisites:</u><b> Add one custom Tab to transaction PPOME relative to Position (Object type S)</b>
    <u>problem:</u><b>"No entry in the table T589A for P" </b> when entering the transaction PPOME, and choose my new added Tab.</b>
    I get this error message <b>"No entry in the table T589A for P" </b> when entering the transaction PPOME, and choose my new added Tab.
    The thing is, if I comment the line "MODULE BEFORE_OUTPUT" in subscreen 7000 of the infotype (the tab is infotype specific) this error disappear. But then the data entered in the tab, which should be relative to one position (type S), is now displayed for all positions. When leaving the transaction, and entering again, in the same tab, the data has disappeared.
    I think I should not comment this:  "MODULE BEFORE_OUTPUT"
    Why is this error being raised, and what must I do do stop it?
    Thank you.

    Hi,
    The table T589A is a configuration table pertaining to the pf status of the infotype. I changed the pf status of the infotype i.e. added my own buttons on application tool bar. May be cos of that it is giving error. Not sure.......

  • Inspection lot with stock tab for sale return from customer.

    Dear,
    In our organization there are two scenarios,
    1)     Make to order- Strategy group -20
    2)     Make to stock- Strategy group -10
    I have maintained 05 inspection types in QM view for sale return inspection from customer.
    1) In make to order scenario Inspection lot created with inspection stock tab which is OK.
    2) But in make stock scenario no inspection lot is generated.
        Remember I donu2019t want inspection lot without inspection stock tab as per insp. type-06
    So please suggest me, what can I do for getting inspection lot with stock tab for make to stock scenario.
    Regards
    Shabbir Kureshi

    Hi
    QCC0>Quality inspection>Inspection lot creation>Inspection for shipping>Assign Inspection Lot Origin to Delivery Type-->aganist delivery type Enter 05 inspection lot origine
    Also in OMJJ check whether QM in active for mnt type 651
    Regards
    Sujit

Maybe you are looking for

  • Multiple iPods on Windows

    Hello, I work at a Primary School and we've been working on getting a full set of iPods working so the kids can use them. One of the problems I've been having is with trying to get them all to charge. We use Windows PC's at our school and I typically

  • Can't load BB Link on Windows 7 Laptop

    Hi: I have a Lenovo T410 Laptop running Windows 7 Pro. When I try to run BB Link, it gives an error message that the install failed. It indicates that Link requires the following items to be installed: MS Visual C++ 2010 SP 1 Redistributable Package

  • Contacts on iPhone do not sync to iCloud

    I use Outlook on Windows7 and iPhone 4 to sync thru iCloud. Calendar, Photostream and Contacts sync successfully, but Contacts sync only for the first time. Added contacts or edited contacts do not sync between iPhone and iCloud, but they sync betwee

  • IPhone (unhacked) and rigtone issue

    Saturday evening, I decided to buy three additional ringtones for my iPhone, so I picked the songs and purchased ringtones. They show in iTunes just fine, and when I synced, they were put into ringtones in iTunes just fine. But when I look at my iPho

  • Remove unicode control character

    hey, so i've asked this around a few places and recieved no answers, but the arch community seems like a bunch of smart people and i've recently switched over from ubuntu. is there a way to remove input methods and unicode control characters from the